diff --git a/.github/workflows/changelog_generation.yml b/.github/workflows/changelog_generation.yml
index 36dccbf9e66..f5a79a52a19 100644
--- a/.github/workflows/changelog_generation.yml
+++ b/.github/workflows/changelog_generation.yml
@@ -11,13 +11,13 @@ jobs:
if: github.repository == 'NebulaSS13/Nebula' # to prevent this running on forks
steps:
- name: Checkout
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
+ uses: actions/checkout@v3
with:
fetch-depth: 0 # Otherwise, we will fail to push refs
ref: dev
token: ${{ secrets.BOT_TOKEN }}
- name: Python setup
- uses: actions/setup-python@3105fb18c05ddd93efea5f9e0bef7a03a6e9e7df
+ uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install depends
diff --git a/.github/workflows/generate_documentation.yml b/.github/workflows/generate_documentation.yml
index ea7386f69a2..e0ee0b12d0c 100644
--- a/.github/workflows/generate_documentation.yml
+++ b/.github/workflows/generate_documentation.yml
@@ -15,9 +15,9 @@ jobs:
runs-on: ubuntu-latest
concurrency: gen-docs
steps:
- - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
+ - uses: actions/checkout@v3
- name: Setup Cache
- uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6
+ uses: actions/cache@v3
with:
path: $HOME/spaceman_dmm/$SPACEMAN_DMM_VERSION
key: ${{ runner.os }}-spacemandmm-${{ env.SPACEMAN_DMM_VERSION }}
@@ -28,7 +28,7 @@ jobs:
~/dmdoc
touch dmdoc/.nojekyll
- name: Deploy
- uses: JamesIves/github-pages-deploy-action@da91e735be5cabb471a4b8afe367d10606da4683
+ uses: JamesIves/github-pages-deploy-action@3.7.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages-dmdoc
diff --git a/.github/workflows/make_changelogs.yml b/.github/workflows/make_changelogs.yml
index dd4ebbc4096..b6057154e28 100644
--- a/.github/workflows/make_changelogs.yml
+++ b/.github/workflows/make_changelogs.yml
@@ -12,11 +12,11 @@ jobs:
if: github.repository == 'NebulaSS13/Nebula' # to prevent this running on forks
steps:
- name: Checkout
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
+ uses: actions/checkout@v3
with:
fetch-depth: 25
- name: Python setup
- uses: actions/setup-python@3105fb18c05ddd93efea5f9e0bef7a03a6e9e7df
+ uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install depends
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 434ef0c0587..a6b75c422d2 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -22,9 +22,9 @@ jobs:
DreamChecker:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
+ - uses: actions/checkout@v3
- name: Setup Cache
- uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6
+ uses: actions/cache@v3
with:
path: $HOME/spaceman_dmm/$SPACEMAN_DMM_VERSION
key: ${{ runner.os }}-spacemandmm-${{ env.SPACEMAN_DMM_VERSION }}
@@ -35,7 +35,7 @@ jobs:
set -o pipefail
~/dreamchecker 2>&1 | tee ${GITHUB_WORKSPACE}/output-annotations.txt
- name: Annotate Lints
- uses: yogstation13/DreamAnnotate@34029606cd7c22a08a589e084f860c1cc287363c
+ uses: yogstation13/DreamAnnotate@v2
if: always()
with:
outputFile: output-annotations.txt
@@ -53,9 +53,9 @@ jobs:
Code:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
+ - uses: actions/checkout@v3
- name: Setup Cache
- uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6
+ uses: actions/cache@v3
with:
path: $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
@@ -82,9 +82,9 @@ jobs:
matrix:
map_path: [example, tradeship, nexus, exodus, ministation, away_sites_testing, modpack_testing, outreach, kleibkhar]
steps:
- - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
+ - uses: actions/checkout@v3
- name: Setup Cache
- uses: actions/cache@26968a09c0ea4f3e233fdddbafd1166051a095f6
+ uses: actions/cache@v3
with:
path: $HOME/BYOND-${BYOND_MAJOR}.${BYOND_MINOR}
key: ${{ runner.os }}-byond-${{ env.BYOND_MAJOR }}-${{ env.BYOND_MINOR }}
diff --git a/code/__datastructures/priority_queue.dm b/code/__datastructures/priority_queue.dm
index 380db428fd2..8625b858015 100644
--- a/code/__datastructures/priority_queue.dm
+++ b/code/__datastructures/priority_queue.dm
@@ -1,63 +1,68 @@
+/// An automatically ordered list, using the cmp proc to weight the list items
+/datum/priority_queue
+ /// The actual queue
+ var/list/L
+ /// The weight function used to order the queue
+ var/cmp
-//////////////////////
-//PriorityQueue object
-//////////////////////
-
-//an ordered list, using the cmp proc to weight the list elements
-/PriorityQueue
- var/list/L //the actual queue
- var/cmp //the weight function used to order the queue
-
-/PriorityQueue/New(compare)
+/// Takes a proc `comparer` that will be used to compare the items inserted
+/// * Param `comparer` take two arguments and return the difference in their weight
+/// * For example: /proc/CompareItems(atom/A, atom/B) return A.size - B.size
+/datum/priority_queue/New(comparer)
L = new()
- cmp = compare
+ cmp = comparer
-/PriorityQueue/proc/IsEmpty()
+/// * Returns: `TRUE` if the queue is empty, otherwise `FALSE`
+/datum/priority_queue/proc/IsEmpty()
return !L.len
-//add an element in the list,
-//immediatly ordering it to its position using dichotomic search
-/PriorityQueue/proc/Enqueue(atom/A)
- ADD_SORTED(L, A, cmp)
+/// Add an `item` to the list, immediatly ordering it to its position using dichotomic search
+/datum/priority_queue/proc/Enqueue(item)
+ ADD_SORTED(L, item, cmp)
-//removes and returns the first element in the queue
-/PriorityQueue/proc/Dequeue()
+/// Removes and returns the first item in the queue
+/// * Returns: The first `item` in the queue, otherwise `FALSE`
+/datum/priority_queue/proc/Dequeue()
if(!L.len)
- return 0
+ return FALSE
. = L[1]
Remove(.)
-//removes an element
-/PriorityQueue/proc/Remove(atom/A)
- . = L.Remove(A)
+/// Removes an `item` from the list
+/// * Returns: `TRUE` if succesfully removed, otherwise `FALSE`
+/datum/priority_queue/proc/Remove(item)
+ . = L.Remove(item)
-//returns a copy of the elements list
-/PriorityQueue/proc/List()
+/// * Returns: A copy of the item list
+/datum/priority_queue/proc/List()
. = L.Copy()
-//return the position of an element or 0 if not found
-/PriorityQueue/proc/Seek(atom/A)
- . = L.Find(A)
+/// Finds an `item` in the list
+/// * Returns: The position of the `item`, or `0` if not found
+/datum/priority_queue/proc/Seek(item)
+ . = L.Find(item)
-//return the element at the i_th position
-/PriorityQueue/proc/Get(i)
- if(i > L.len || i < 1)
+/// Gets the item at the positon `index`
+/// * Returns: The `item` at the index, or `0` if outside the range of the queue
+/datum/priority_queue/proc/Get(index)
+ if(index > L.len || index < 1)
return 0
- return L[i]
+ return L[index]
-//return the length of the queue
-/PriorityQueue/proc/Length()
+/// * Returns: The length of the queue
+/datum/priority_queue/proc/Length()
. = L.len
-//replace the passed element at it's right position using the cmp proc
-/PriorityQueue/proc/ReSort(atom/A)
- var/i = Seek(A)
+/// Resorts the `item` to it's correct position in the queue.
+/// * For example: The queue is sorted based on weight and atom A changes weight after being added
+/datum/priority_queue/proc/ReSort(item)
+ var/i = Seek(item)
if(i == 0)
return
while(i < L.len && call(cmp)(L[i],L[i+1]) > 0)
L.Swap(i,i+1)
i++
- while(i > 1 && call(cmp)(L[i],L[i-1]) <= 0) //last inserted element being first in case of ties (optimization)
+ while(i > 1 && call(cmp)(L[i],L[i-1]) <= 0) // Last inserted element being first in case of ties (optimization)
L.Swap(i,i-1)
i--
diff --git a/code/__defines/atmos.dm b/code/__defines/atmos.dm
index 3872d214b27..f4e47fd1f16 100644
--- a/code/__defines/atmos.dm
+++ b/code/__defines/atmos.dm
@@ -21,7 +21,7 @@
#define SOUND_MINIMUM_PRESSURE 10
#define PRESSURE_DAMAGE_COEFFICIENT 4 // The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE.
-#define MAX_HIGH_PRESSURE_DAMAGE 4 // This used to be 20... I got this much random rage for some retarded decision by polymorph?! Polymorph now lies in a pool of blood with a katana jammed in his spleen. ~Errorage --PS: The katana did less than 20 damage to him :(
+#define MAX_HIGH_PRESSURE_DAMAGE 4 // Caps the amount of pressure damage taken in one tick from a high pressure area.
#define LOW_PRESSURE_DAMAGE 0.6 // The amount of damage someone takes when in a low pressure area. (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).
#define MINIMUM_PRESSURE_DIFFERENCE_TO_SUSPEND (MINIMUM_AIR_TO_SUSPEND*R_IDEAL_GAS_EQUATION*T20C)/CELL_VOLUME // Minimum pressure difference between zones to suspend
diff --git a/code/__defines/flags.dm b/code/__defines/flags.dm
index 2e2a738150d..950e4dc9af1 100644
--- a/code/__defines/flags.dm
+++ b/code/__defines/flags.dm
@@ -53,7 +53,7 @@ The latter will result in a linter warning and will not work correctly.
// Movable-level flags (/atom/movable/movable_flags)
#define MOVABLE_FLAG_PROXMOVE BITFLAG(0) // Does this object require proximity checking in Enter()?
#define MOVABLE_FLAG_Z_INTERACT BITFLAG(1) // Should attackby and attack_hand be relayed through ladders and open spaces?
-#define MOVABLE_FLAG_EFFECTMOVE BITFLAG(2) // Is this an effect that should move?
+#define MOVABLE_FLAG_ALWAYS_SHUTTLEMOVE BITFLAG(2) // Is this an effect that should move?
#define MOVABLE_FLAG_DEL_SHUTTLE BITFLAG(3) // Shuttle transistion will delete this.
#define MOVABLE_FLAG_WHEELED BITFLAG(4) // Movable has reduced stamina cost/speed reduction when pulled.
diff --git a/code/__defines/holomap.dm b/code/__defines/holomap.dm
new file mode 100644
index 00000000000..76517fb8f11
--- /dev/null
+++ b/code/__defines/holomap.dm
@@ -0,0 +1,37 @@
+//
+// Constants and standard colors for the holomap
+//
+
+#define HOLOMAP_ICON 'icons/480x480.dmi' // Icon file to start with when drawing holomaps (to get a 480x480 canvas).
+#define HOLOMAP_ICON_SIZE 480 // Pixel width & height of the holomap icon. Used for auto-centering etc.
+#define HOLOMAP_MARGIN 100 // minimum marging on sides when combining maps
+#define UI_HOLOMAP "CENTER-7, CENTER-7" // Screen location of the holomap "hud"
+
+// Holomap colors
+#define COLOR_HOLOMAP_OBSTACLE "#ffffffdd" // Color of walls and barriers
+#define COLOR_HOLOMAP_PATH "#66666699" // Color of floors
+#define COLOR_HOLOMAP_HOLOFIER "#79ff79" // Whole map is multiplied by this to give it a green holoish look
+
+#define HOLOMAP_AREACOLOR_BASE "#ffffffff"
+#define HOLOMAP_AREACOLOR_COMMAND "#386d8099"
+#define HOLOMAP_AREACOLOR_SECURITY "#ae121299"
+#define HOLOMAP_AREACOLOR_MEDICAL "#ffffffa5"
+#define HOLOMAP_AREACOLOR_SCIENCE "#f45dff99"
+#define HOLOMAP_AREACOLOR_EXPLORATION "#a154a699"
+#define HOLOMAP_AREACOLOR_ENGINEERING "#f1c23199"
+#define HOLOMAP_AREACOLOR_CARGO "#e06f0099"
+#define HOLOMAP_AREACOLOR_HALLWAYS "#ffffff66"
+#define HOLOMAP_AREACOLOR_AIRLOCK "#0000ffcc"
+#define HOLOMAP_AREACOLOR_ESCAPE "#ff0000cc"
+#define HOLOMAP_AREACOLOR_CREW "#5bc1c199"
+#define HOLOMAP_AREACOLOR_MAINTENANCE "#9c895066"
+// If someone can come up with a non-conflicting color for the lifts, please update this.
+#define HOLOMAP_AREACOLOR_LIFTS null
+
+// Handy defines to lookup the pixel offsets for holomap
+// Currently set to 0, left here in case of need for per map offsets
+#define HOLOMAP_PIXEL_OFFSET_X (0)
+#define HOLOMAP_PIXEL_OFFSET_Y (0)
+
+#define HOLOMAP_LEGEND_X 96
+#define HOLOMAP_LEGEND_Y 156
\ No newline at end of file
diff --git a/code/__defines/items_clothing.dm b/code/__defines/items_clothing.dm
index 56cade96b67..bff34bc69d7 100644
--- a/code/__defines/items_clothing.dm
+++ b/code/__defines/items_clothing.dm
@@ -27,13 +27,14 @@
#define HIDETAIL BITFLAG(4)
// WARNING: The following flags apply only to the helmets and masks!
-#define HIDEMASK BITFLAG(0)
-#define HIDEEARS BITFLAG(1) // Headsets and such.
-#define HIDEEYES BITFLAG(2) // Glasses.
-#define HIDEFACE BITFLAG(3) // Dictates whether we appear as "Unknown".
-#define BLOCK_HEAD_HAIR BITFLAG(4) // Hides the user's hair overlay, and replace it with short hairs. Leaves facial hair.
-#define BLOCK_FACIAL_HAIR BITFLAG(5) // Hides the user's hair, facial and otherwise.
+#define HIDEMASK BITFLAG(5)
+#define HIDEEARS BITFLAG(6) // Headsets and such.
+#define HIDEEYES BITFLAG(7) // Glasses.
+#define HIDEFACE BITFLAG(8) // Dictates whether we appear as "Unknown".
+#define BLOCK_HEAD_HAIR BITFLAG(9) // Hides the user's hair overlay, and replace it with short hairs. Leaves facial hair.
+#define BLOCK_FACIAL_HAIR BITFLAG(10) // Hides the user's hair, facial and otherwise.
#define BLOCK_ALL_HAIR (BLOCK_HEAD_HAIR | BLOCK_FACIAL_HAIR)
+#define EQUIPMENT_VISIBILITY_FLAGS (HIDEGLOVES|HIDESUITSTORAGE|HIDEJUMPSUIT|HIDESHOES|HIDEMASK|HIDEEYES|HIDEEARS|HIDEFACE)
// Inventory slot strings.
// since numbers cannot be used as associative list keys.
@@ -176,18 +177,21 @@
#define HUD_JANITOR BITFLAG(3)
// Limbs.
-#define BP_L_FOOT "l_foot"
-#define BP_R_FOOT "r_foot"
-#define BP_L_LEG "l_leg"
-#define BP_R_LEG "r_leg"
-#define BP_L_HAND "l_hand"
-#define BP_R_HAND "r_hand"
-#define BP_L_ARM "l_arm"
-#define BP_R_ARM "r_arm"
-#define BP_HEAD "head"
-#define BP_CHEST "chest"
-#define BP_GROIN "groin"
-#define BP_TAIL "tail"
+#define BP_L_FOOT "l_foot"
+#define BP_R_FOOT "r_foot"
+#define BP_L_LEG "l_leg"
+#define BP_R_LEG "r_leg"
+#define BP_L_HAND "l_hand"
+#define BP_R_HAND "r_hand"
+#define BP_L_ARM "l_arm"
+#define BP_R_ARM "r_arm"
+#define BP_HEAD "head"
+#define BP_CHEST "chest"
+#define BP_GROIN "groin"
+#define BP_TAIL "tail"
+
+// Other inventory-related slots (also organs).
+#define BP_MOUTH "mouth"
var/global/list/all_limb_tags = list(BP_CHEST, BP_GROIN, BP_TAIL, BP_HEAD, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)
var/global/list/all_limb_tags_by_depth = list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TAIL, BP_CHEST)
@@ -197,25 +201,26 @@ var/global/list/default_onmob_icons = list(
BP_R_HAND = 'icons/mob/onmob/items/righthand.dmi'
)
+// This list should be sorted by display priority/order for mob examine to look nice.
var/global/list/all_inventory_slots = list(
- slot_back_str,
BP_L_HAND,
BP_R_HAND,
+ BP_MOUTH,
slot_w_uniform_str,
slot_head_str,
slot_wear_suit_str,
- slot_l_ear_str,
- slot_r_ear_str,
+ slot_s_store_str,
+ slot_back_str,
+ slot_gloves_str,
slot_belt_str,
slot_shoes_str,
slot_wear_mask_str,
- slot_handcuffed_str,
- slot_wear_id_str,
- slot_gloves_str,
slot_glasses_str,
- slot_s_store_str,
+ slot_l_ear_str,
+ slot_r_ear_str,
+ slot_wear_id_str,
+ slot_handcuffed_str,
slot_tie_str,
slot_l_store_str,
slot_r_store_str
)
-
diff --git a/code/__defines/level_data.dm b/code/__defines/level_data.dm
new file mode 100644
index 00000000000..31d2e1cbe82
--- /dev/null
+++ b/code/__defines/level_data.dm
@@ -0,0 +1,7 @@
+#define ZLEVEL_STATION BITFLAG(0)
+#define ZLEVEL_ADMIN BITFLAG(1)
+#define ZLEVEL_CONTACT BITFLAG(2)
+#define ZLEVEL_PLAYER BITFLAG(3)
+#define ZLEVEL_SEALED BITFLAG(4)
+#define ZLEVEL_SAVED BITFLAG(5)
+#define ZLEVEL_MINING BITFLAG(6)
\ No newline at end of file
diff --git a/code/__defines/mapping.dm b/code/__defines/mapping.dm
index 984868d134c..5cf7407fb5e 100644
--- a/code/__defines/mapping.dm
+++ b/code/__defines/mapping.dm
@@ -1,3 +1,5 @@
+#define LEVELS_ARE_Z_CONNECTED(ZA, ZB) ((ZA > 0 && ZB > 0 && ZA <= world.maxz && ZB <= world.maxz) && ((ZA == ZB) || ((length(SSmapping.connected_z_cache) >= ZA && SSmapping.connected_z_cache[ZA] && length(SSmapping.connected_z_cache[ZA]) >= ZB) ? SSmapping.connected_z_cache[ZA][ZB] : SSmapping.are_connected_levels(ZA, ZB))))
+
// Maploader bounds indices
#define MAP_MINX 1
#define MAP_MINY 2
diff --git a/code/__defines/misc.dm b/code/__defines/misc.dm
index bac4ed8b814..07f7005f433 100644
--- a/code/__defines/misc.dm
+++ b/code/__defines/misc.dm
@@ -3,6 +3,9 @@
#define TURF_FLAG_NOJAUNT BITFLAG(0) // This is used in literally one place, turf.dm, to block ethereal jaunt.
#define TURF_FLAG_NORUINS BITFLAG(1) // Used by the ruin generator to skip placing loaded ruins on this turf.
#define TURF_FLAG_BACKGROUND BITFLAG(2) // Used by shuttle movement to determine if it should be ignored by turf translation.
+#define TURF_IS_HOLOMAP_OBSTACLE BITFLAG(3)
+#define TURF_IS_HOLOMAP_PATH BITFLAG(4)
+#define TURF_IS_HOLOMAP_ROCK BITFLAG(5)
#define TRANSITIONEDGE 7 // Distance from edge to move to another z-level.
#define RUIN_MAP_EDGE_PAD 15
@@ -86,6 +89,7 @@
#define AREA_FLAG_PRISON BITFLAG(9) // Area is a prison for the purposes of brigging objectives.
#define AREA_FLAG_HOLY BITFLAG(10) // Area is holy for the purposes of marking turfs as cult-resistant.
#define AREA_FLAG_SECURITY BITFLAG(11) // Area is security for the purposes of newscaster init.
+#define AREA_FLAG_HIDE_FROM_HOLOMAP BITFLAG(12) // if we shouldn't be drawn on station holomaps
//Map template flags
#define TEMPLATE_FLAG_ALLOW_DUPLICATES BITFLAG(0) // Lets multiple copies of the template to be spawned
@@ -238,9 +242,6 @@
#define SOULSTONE_EMPTY 0
#define SOULSTONE_ESSENCE 1
-#define INCREMENT_WORLD_Z_SIZE world.maxz++; global.connected_z_cache.Cut(); if (SSzcopy.zlev_maximums.len) { SSzcopy.calculate_zstack_limits() }
-#define ARE_Z_CONNECTED(ZA, ZB) (ZA > 0 && ZB > 0 && ZA <= world.maxz && ZB <= world.maxz && ((ZA == ZB) || ((length(global.connected_z_cache) >= ZA && global.connected_z_cache[ZA] && length(global.connected_z_cache[ZA]) >= ZB) ? global.connected_z_cache[ZA][ZB] : AreConnectedZLevels(ZA, ZB))))
-
//Request Console Department Types
#define RC_ASSIST 1 //Request Assistance
#define RC_SUPPLY 2 //Request Supplies
diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm
index 33289c36e45..b51f860e251 100644
--- a/code/__defines/mobs.dm
+++ b/code/__defines/mobs.dm
@@ -158,7 +158,6 @@
#define INCAPACITATION_ALL (~INCAPACITATION_NONE)
// Organs.
-#define BP_MOUTH "mouth"
#define BP_EYES "eyes"
#define BP_HEART "heart"
#define BP_LUNGS "lungs"
diff --git a/code/__defines/radio.dm b/code/__defines/radio.dm
new file mode 100644
index 00000000000..1fec306b409
--- /dev/null
+++ b/code/__defines/radio.dm
@@ -0,0 +1,7 @@
+#define MESSAGE_MODE_LEFT "left"
+#define MESSAGE_MODE_RIGHT "right"
+#define MESSAGE_MODE_INTERCOM "intercom"
+#define MESSAGE_MODE_DEFAULT "default"
+#define MESSAGE_MODE_WHISPER "whisper"
+#define MESSAGE_MODE_DEPARTMENT "department"
+#define MESSAGE_MODE_SPECIAL "special"
\ No newline at end of file
diff --git a/code/__defines/subsystems.dm b/code/__defines/subsystems.dm
index 66233d9a88d..2828c1d5c4b 100644
--- a/code/__defines/subsystems.dm
+++ b/code/__defines/subsystems.dm
@@ -52,12 +52,12 @@
#define SS_INIT_LIGHTING -6
#define SS_INIT_WEATHER -7
#define SS_INIT_ZCOPY -8
+#define SS_INIT_HOLOMAP -9
#define SS_INIT_XENOARCH -10
#define SS_INIT_TICKER -20
#define SS_INIT_UNIT_TESTS -100
// SS runlevels
-
#define RUNLEVEL_INIT 0
#define RUNLEVEL_LOBBY 1
#define RUNLEVEL_SETUP 2
diff --git a/code/__defines/turfs.dm b/code/__defines/turfs.dm
index a710b7d0e2b..450199ca4e5 100644
--- a/code/__defines/turfs.dm
+++ b/code/__defines/turfs.dm
@@ -19,6 +19,7 @@
#define SMOOTH_BLACKLIST 3 //Smooth with all but a blacklist of subtypes
#define RANGE_TURFS(CENTER, RADIUS) block(locate(max(CENTER.x-(RADIUS), 1), max(CENTER.y-(RADIUS),1), CENTER.z), locate(min(CENTER.x+(RADIUS), world.maxx), min(CENTER.y+(RADIUS), world.maxy), CENTER.z))
+#define BLOCK_TURFS(X1, Y1, X2, Y2, Z) block(locate(X1, Y1, Z), locate(X2, Y2, Z))
#define EXT_LAYER_CONSTANT 0.001
#define EXT_EDGE_OCEAN (10 * EXT_LAYER_CONSTANT)
diff --git a/code/_global_vars/lists/clothing.dm b/code/_global_vars/lists/clothing.dm
index b0582b896ef..412d83e527c 100644
--- a/code/_global_vars/lists/clothing.dm
+++ b/code/_global_vars/lists/clothing.dm
@@ -41,11 +41,31 @@ var/global/list/equipped_slots = list(
slot_w_uniform_str
)
+//The list of slots by priority. equip_to_appropriate_slot() uses this list. Doesn't matter if a mob type doesn't have a slot.
+var/global/list/slot_equipment_priority = list(
+ slot_back_str,
+ slot_wear_id_str,
+ slot_w_uniform_str,
+ slot_wear_suit_str,
+ slot_wear_mask_str,
+ slot_head_str,
+ slot_shoes_str,
+ slot_gloves_str,
+ slot_l_ear_str,
+ slot_r_ear_str,
+ slot_glasses_str,
+ slot_belt_str,
+ slot_s_store_str,
+ slot_tie_str,
+ slot_l_store_str,
+ slot_r_store_str
+)
+
var/global/list/carried_slots = list(
slot_l_store_str,
slot_r_store_str,
slot_handcuffed_str,
- slot_s_store_str
+ slot_s_store_str
)
var/global/list/persistent_inventory_slots = list(
@@ -67,4 +87,4 @@ var/global/list/hidden_inventory_slots = list(
slot_w_uniform_str,
slot_wear_suit_str,
slot_wear_mask_str
-)
\ No newline at end of file
+)
diff --git a/code/_helpers/animations.dm b/code/_helpers/animations.dm
index c3ba7d48996..65932553d9a 100644
--- a/code/_helpers/animations.dm
+++ b/code/_helpers/animations.dm
@@ -67,4 +67,35 @@
// And animate the attack!
animate(I, alpha = 175, transform = matrix() * 0.75, pixel_x = 0, pixel_y = 0, pixel_z = 0, time = 3)
animate(time = 1)
- animate(alpha = 0, time = 3, easing = CIRCULAR_EASING|EASE_OUT)
\ No newline at end of file
+ animate(alpha = 0, time = 3, easing = CIRCULAR_EASING|EASE_OUT)
+
+/atom/proc/shake_animation(var/intensity = 8)
+ var/init_px = pixel_x
+ var/shake_dir = pick(-1, 1)
+ animate(src, transform=turn(matrix(), intensity*shake_dir), pixel_x=init_px + 2*shake_dir, time=1)
+ animate(transform=null, pixel_x=init_px, time=6, easing=ELASTIC_EASING)
+
+/atom/proc/SpinAnimation(speed = 10, loops = -1, clockwise = 1, segments = 3, parallel = TRUE)
+ if(!segments)
+ return
+ var/segment = 360/segments
+ if(!clockwise)
+ segment = -segment
+ var/list/matrices = list()
+ for(var/i in 1 to segments-1)
+ var/matrix/M = matrix(transform)
+ M.Turn(segment*i)
+ matrices += M
+ var/matrix/last = matrix(transform)
+ matrices += last
+
+ speed /= segments
+
+ if(parallel)
+ animate(src, transform = matrices[1], time = speed, loops , flags = ANIMATION_PARALLEL)
+ else
+ animate(src, transform = matrices[1], time = speed, loops)
+ for(var/i in 2 to segments) //2 because 1 is covered above
+ animate(transform = matrices[i], time = speed)
+ //doesn't have an object argument because this is "Stacking" with the animate call above
+ //3 billion% intentional
\ No newline at end of file
diff --git a/code/_helpers/areas.dm b/code/_helpers/areas.dm
index f6208274336..b252f96b537 100644
--- a/code/_helpers/areas.dm
+++ b/code/_helpers/areas.dm
@@ -69,7 +69,7 @@
/proc/pick_area_turf_in_connected_z_levels(var/list/area_predicates, var/list/turf_predicates, var/z_level)
area_predicates = area_predicates.Copy()
- var/z_levels = GetConnectedZlevels(z_level)
+ var/z_levels = SSmapping.get_connected_levels(z_level)
area_predicates[/proc/area_belongs_to_zlevels] = z_levels
return pick_area_and_turf(area_predicates, turf_predicates)
diff --git a/code/_helpers/atom_movables.dm b/code/_helpers/atom_movables.dm
index 3d47bd768f1..87ed5bc08a1 100644
--- a/code/_helpers/atom_movables.dm
+++ b/code/_helpers/atom_movables.dm
@@ -28,12 +28,13 @@
return locate(final_x, final_y, T.z)
/atom/movable/proc/throw_at_random(var/include_own_turf, var/maxrange, var/speed)
- var/list/turfs = RANGE_TURFS(src, maxrange)
+ var/turf/own_turf = get_turf(src)
+ var/list/turfs = RANGE_TURFS(own_turf, maxrange)
if(!maxrange)
maxrange = 1
if(!include_own_turf)
- turfs -= get_turf(src)
+ turfs -= own_turf
src.throw_at(pick(turfs), maxrange, speed)
/atom/movable/proc/do_simple_ranged_interaction(var/mob/user)
diff --git a/code/_helpers/game.dm b/code/_helpers/game.dm
index c704ab64ca6..804e79275d7 100644
--- a/code/_helpers/game.dm
+++ b/code/_helpers/game.dm
@@ -51,28 +51,28 @@
// These are procs rather than macros so they can be used as predicates, I think(?)
/proc/isSealedLevel(var/level)
- return level in global.using_map.sealed_levels
+ return level in SSmapping.sealed_levels
/proc/isMapLevel(var/level)
- return level in global.using_map.map_levels
+ return level in SSmapping.map_levels
/proc/isStationLevel(var/level)
- return level in global.using_map.station_levels
+ return level in SSmapping.station_levels
/proc/isNotStationLevel(var/level)
return !isStationLevel(level)
/proc/isPlayerLevel(var/level)
- return level in global.using_map.player_levels
+ return level in SSmapping.player_levels
/proc/isAdminLevel(var/level)
- return level in global.using_map.admin_levels
+ return level in SSmapping.admin_levels
/proc/isNotAdminLevel(var/level)
return !isAdminLevel(level)
/proc/isContactLevel(var/level)
- return level in global.using_map.contact_levels
+ return level in SSmapping.contact_levels
/proc/circlerange(center=usr,radius=3)
diff --git a/code/_helpers/logging.dm b/code/_helpers/logging.dm
index 94a4bc41388..b67971ebb86 100644
--- a/code/_helpers/logging.dm
+++ b/code/_helpers/logging.dm
@@ -197,7 +197,7 @@ var/global/log_end= world.system_type == UNIX ? ascii2text(13) : ""
return "[..()] ([isnum(z) ? "[x],[y],[z]" : "0,0,0"])"
/turf/get_log_info_line()
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(z)]
if(istype(O))
return "[..()] ([x],[y],[z] - [O.name]) ([loc ? loc.type : "NULL"])"
else
@@ -206,7 +206,7 @@ var/global/log_end= world.system_type == UNIX ? ascii2text(13) : ""
/atom/movable/get_log_info_line()
var/turf/t = get_turf(src)
if(t)
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[t.z]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(t.z)]
if(istype(O))
return "[..()] ([t]) ([t.x],[t.y],[t.z] - [O.name]) ([t.type])"
return "[..()] ([t]) ([t.x],[t.y],[t.z]) ([t.type])"
diff --git a/code/_helpers/matrices.dm b/code/_helpers/matrices.dm
index c211ec41a1c..7eaf04da437 100644
--- a/code/_helpers/matrices.dm
+++ b/code/_helpers/matrices.dm
@@ -1,121 +1,208 @@
+// Luma coefficients suggested for HDTVs. If you change these, make sure they add up to 1.
+#define LUMA_R 0.213
+#define LUMA_G 0.715
+#define LUMA_B 0.072
+
+/// Datum which stores information about a matrix decomposed with decompose().
+/datum/decompose_matrix
+ var/scale_x = 1
+ var/scale_y = 1
+ var/rotation = 0
+ var/shift_x = 0
+ var/shift_y = 0
+
+
+/// Decomposes a matrix into scale, shift and rotation.
+/// * If other operations were applied on the matrix, such as shearing, the result will not be precise.
+/matrix/proc/decompose()
+ var/datum/decompose_matrix/decompose_matrix = new
+ . = decompose_matrix
+ var/flip_sign = (a*e - b*d < 0)? -1 : 1 // Det < 0 => only 1 axis is flipped - start doing some sign flipping
+ // If both axis are flipped, nothing bad happens and Det >= 0, it just treats it like a 180° rotation
+ // If only 1 axis is flipped, we need to flip one direction - in this case X, so we flip a, b and the x scaling
+ decompose_matrix.scale_x = sqrt(a * a + d * d) * flip_sign
+ decompose_matrix.scale_y = sqrt(b * b + e * e)
+ decompose_matrix.shift_x = c
+ decompose_matrix.shift_y = f
+ if(!decompose_matrix.scale_x || !decompose_matrix.scale_y)
+ return
+ // If only translated, scaled and rotated, a/xs == e/ys and -d/xs == b/xy
+ var/cossine = (a/decompose_matrix.scale_x + e/decompose_matrix.scale_y) / 2
+ var/sine = (b/decompose_matrix.scale_y - d/decompose_matrix.scale_x) / 2 * flip_sign
+ decompose_matrix.rotation = arctan(cossine, sine) * flip_sign
+
+
/matrix/proc/TurnTo(old_angle, new_angle)
. = new_angle - old_angle
Turn(.) //BYOND handles cases such as -270, 360, 540 etc. DOES NOT HANDLE 180 TURNS WELL, THEY TWEEN AND LOOK LIKE SHIT
-/atom/proc/SpinAnimation(speed = 10, loops = -1)
- var/matrix/m120 = matrix(transform)
- m120.Turn(120)
- var/matrix/m240 = matrix(transform)
- m240.Turn(240)
- var/matrix/m360 = matrix(transform)
- speed /= 3 //Gives us 3 equal time segments for our three turns.
- //Why not one turn? Because byond will see that the start and finish are the same place and do nothing
- //Why not two turns? Because byond will do a flip instead of a turn
- animate(src, transform = m120, time = speed, loops)
- animate(transform = m240, time = speed)
- animate(transform = m360, time = speed)
-
-/atom/proc/shake_animation(var/intensity = 8)
- var/init_px = pixel_x
- var/shake_dir = pick(-1, 1)
- animate(src, transform=turn(matrix(), intensity*shake_dir), pixel_x=init_px + 2*shake_dir, time=1)
- animate(transform=null, pixel_x=init_px, time=6, easing=ELASTIC_EASING)
-
-//The X pixel offset of this matrix
+/// Shear the transform on either or both axes.
+/// * x - X axis shearing
+/// * y - Y axis shearing
+/matrix/proc/Shear(x, y)
+ return Multiply(matrix(1, x, 0, y, 1, 0))
+
+
+/// Dumps the matrix data in format a-f
+/matrix/proc/tolist()
+ . = list()
+ . += a
+ . += b
+ . += c
+ . += d
+ . += e
+ . += f
+
+/// Dumps the matrix data in a matrix-grid format
+/// * a d 0
+/// * b e 0
+/// * c f 1
+/matrix/proc/togrid()
+ . = list()
+ . += a
+ . += d
+ . += 0
+ . += b
+ . += e
+ . += 0
+ . += c
+ . += f
+ . += 1
+
+/// The X pixel offset of this matrix
/matrix/proc/get_x_shift()
. = c
-//The Y pixel offset of this matrix
+/// The Y pixel offset of this matrix
/matrix/proc/get_y_shift()
. = f
-// Color matrices:
-
-//Luma coefficients suggested for HDTVs. If you change these, make sure they add up to 1.
-#define LUMR 0.2126
-#define LUMG 0.7152
-#define LUMB 0.0722
-
-//Still need color matrix addition, negation, and multiplication.
-
-//Returns an identity color matrix which does nothing
-/proc/color_identity()
- return list(1,0,0, 0,1,0, 0,0,1)
-//Moves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting whites
-//TODO: Need a version that only affects one color (ie shift red to blue but leave greens and blues alone)
-/proc/color_rotation(angle)
- if(angle == 0)
- return color_identity()
- angle = clamp(angle, -180, 180)
- var/cos = cos(angle)
+/// Returns the matrix identity
+/// * 1 0 0 0
+/// * 0 1 0 0
+/// * 0 0 1 0
+/// * 0 0 0 0
+/proc/color_matrix_identity()
+ return list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0,0,0,0)
+
+/// Adds/subtracts overall lightness
+/// * 0 is identity, 1 makes everything white, -1 makes everything black
+/proc/color_matrix_lightness(power)
+ return list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, power,power,power,0)
+
+/// Changes distance hues have from grey while maintaining the overall lightness. Greys are unaffected.
+/// * 1 is identity, 0 is greyscale, >1 oversaturates colors
+/proc/color_matrix_saturation(value)
+ var/inv = 1 - value
+ var/R = round(LUMA_R * inv, 0.001)
+ var/G = round(LUMA_G * inv, 0.001)
+ var/B = round(LUMA_B * inv, 0.001)
+
+ return list(R + value,R,R,0, G,G + value,G,0, B,B,B + value,0, 0,0,0,1, 0,0,0,0)
+
+/// Changes distance colors have from rgb(127,127,127) grey
+/// * 1 is identity. 0 makes everything grey >1 blows out colors and greys
+/proc/color_matrix_contrast(value)
+ var/add = (1 - value) / 2
+ return list(value,0,0,0, 0,value,0,0, 0,0,value,0, 0,0,0,1, add,add,add,0)
+
+/// Moves all colors angle degrees around the color wheel while maintaining intensity of the color and not affecting greys
+/// * 0 is identity, 120 moves reds to greens, 240 moves reds to blues
+/proc/color_matrix_rotate_hue(angle)
var/sin = sin(angle)
-
- var/constA = 0.143
- var/constB = 0.140
- var/constC = -0.283
+ var/cos = cos(angle)
+ var/cos_inv_third = 0.333*(1-cos)
+ var/sqrt3_sin = sqrt(3)*sin
return list(
- LUMR + cos * (1-LUMR) + sin * -LUMR, LUMR + cos * -LUMR + sin * constA, LUMR + cos * -LUMR + sin * -(1-LUMR),
- LUMG + cos * -LUMG + sin * -LUMG, LUMG + cos * (1-LUMG) + sin * constB, LUMG + cos * -LUMG + sin * LUMG,
- LUMB + cos * -LUMB + sin * (1-LUMB), LUMB + cos * -LUMB + sin * constC, LUMB + cos * (1-LUMB) + sin * LUMB
+ round(cos+cos_inv_third, 0.001), round(cos_inv_third+sqrt3_sin, 0.001), round(cos_inv_third-sqrt3_sin, 0.001), 0,
+ round(cos_inv_third-sqrt3_sin, 0.001), round(cos+cos_inv_third, 0.001), round(cos_inv_third+sqrt3_sin, 0.001), 0,
+ round(cos_inv_third+sqrt3_sin, 0.001), round(cos_inv_third-sqrt3_sin, 0.001), round(cos+cos_inv_third, 0.001), 0,
+ 0,0,0,1,
+ 0,0,0,0
)
-//Makes everything brighter or darker without regard to existing color or brightness
-/proc/color_brightness(power)
- power = clamp(power, -255, 255)
- power = power/255
-
- return list(1,0,0, 0,1,0, 0,0,1, power,power,power)
-
-var/global/list/delta_index = list(
- 0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11,
- 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.20, 0.21, 0.22, 0.24,
- 0.25, 0.27, 0.28, 0.30, 0.32, 0.34, 0.36, 0.38, 0.40, 0.42,
- 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68,
- 0.71, 0.74, 0.77, 0.80, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98,
- 1.0, 1.06, 1.12, 1.18, 1.24, 1.30, 1.36, 1.42, 1.48, 1.54,
- 1.60, 1.66, 1.72, 1.78, 1.84, 1.90, 1.96, 2.0, 2.12, 2.25,
- 2.37, 2.50, 2.62, 2.75, 2.87, 3.0, 3.2, 3.4, 3.6, 3.8,
- 4.0, 4.3, 4.7, 4.9, 5.0, 5.5, 6.0, 6.5, 6.8, 7.0,
- 7.3, 7.5, 7.8, 8.0, 8.4, 8.7, 9.0, 9.4, 9.6, 9.8,
- 10.0)
-
-//Exxagerates or removes brightness
-/proc/color_contrast(value)
- value = clamp(value, -100, 100)
- if(value == 0)
- return color_identity()
-
- var/x = 0
- if (value < 0)
- x = 127 + value / 100 * 127;
- else
- x = value % 1
- if(x == 0)
- x = delta_index[value]
+/// Rotates around the red axis
+/proc/color_matrix_rotate_x(angle)
+ var/sinval = round(sin(angle), 0.001); var/cosval = round(cos(angle), 0.001)
+ return list(1,0,0,0, 0,cosval,sinval,0, 0,-sinval,cosval,0, 0,0,0,1, 0,0,0,0)
+
+/// Rotates around the green axis
+/proc/color_matrix_rotate_y(angle)
+ var/sinval = round(sin(angle), 0.001); var/cosval = round(cos(angle), 0.001)
+ return list(cosval,0,-sinval,0, 0,1,0,0, sinval,0,cosval,0, 0,0,0,1, 0,0,0,0)
+
+/// Rotates around the blue axis
+/proc/color_matrix_rotate_z(angle)
+ var/sinval = round(sin(angle), 0.001); var/cosval = round(cos(angle), 0.001)
+ return list(cosval,sinval,0,0, -sinval,cosval,0,0, 0,0,1,0, 0,0,0,1, 0,0,0,0)
+
+
+/// Returns a matrix addition of A with B
+/proc/color_matrix_add(list/A, list/B)
+ if(!istype(A) || !istype(B))
+ return color_matrix_identity()
+ if(A.len != 20 || B.len != 20)
+ return color_matrix_identity()
+ var/list/output = list()
+ output.len = 20
+ for(var/value in 1 to 20)
+ output[value] = A[value] + B[value]
+ return output
+
+/// Returns a matrix multiplication of A with B
+/proc/color_matrix_multiply(list/A, list/B)
+ if(!istype(A) || !istype(B))
+ return color_matrix_identity()
+ if(A.len != 20 || B.len != 20)
+ return color_matrix_identity()
+ var/list/output = list()
+ output.len = 20
+ var/x = 1
+ var/y = 1
+ var/offset = 0
+ for(y in 1 to 5)
+ offset = (y-1)*4
+ for(x in 1 to 4)
+ output[offset+x] = round(A[offset+1]*B[x] + A[offset+2]*B[x+4] + A[offset+3]*B[x+8] + A[offset+4]*B[x+12]+(y == 5?B[x+16]:0), 0.001)
+ return output
+
+/// Converts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond).
+/proc/color_to_full_rgba_matrix(color)
+ if(istext(color))
+ var/list/L = ReadRGB(color)
+ if(!L)
+ CRASH("Invalid/unsupported color format argument in color_to_full_rgba_matrix()")
+ return list(L[1]/255,0,0,0, 0,L[2]/255,0,0, 0,0,L[3]/255,0, 0,0,0,L.len>3?L[4]/255:1, 0,0,0,0)
+ else if(!islist(color)) //invalid format
+ return color_matrix_identity()
+ var/list/L = color
+ switch(L.len)
+ if(3 to 5) // row-by-row hexadecimals
+ . = list()
+ for(var/a in 1 to L.len)
+ var/list/rgb = ReadRGB(L[a])
+ for(var/b in rgb)
+ . += b/255
+ if(length(rgb) % 4) // RGB has no alpha instruction
+ . += a != 4 ? 0 : 1
+ if(L.len < 4) //missing both alphas and constants rows
+ . += list(0,0,0,1, 0,0,0,0)
+ else if(L.len < 5) //missing constants row
+ . += list(0,0,0,0)
+ if(9 to 12) //RGB
+ . = list(L[1],L[2],L[3],0, L[4],L[5],L[6],0, L[7],L[8],L[9],0, 0,0,0,1)
+ for(var/b in 1 to 3) //missing constants row
+ . += L.len < 9+b ? 0 : L[9+b]
+ . += 0
+ if(16 to 20) // RGBA
+ . = L.Copy()
+ if(L.len < 20) //missing constants row
+ for(var/b in 1 to 20-L.len)
+ . += 0
else
- x = delta_index[value] * (1-x) + delta_index[value+1] * x//use linear interpolation for more granularity.
- x = x * 127 + 127
-
- var/mult = x / 127
- var/add = 0.5 * (127-x) / 255
- return list(mult,0,0, 0,mult,0, 0,0,mult, add,add,add)
-
-//Exxagerates or removes colors
-/proc/color_saturation(value as num)
- if(value == 0)
- return color_identity()
- value = clamp(value, -100, 100)
- if(value > 0)
- value *= 3
- var/x = 1 + value / 100
- var/inv = 1 - x
- var/R = LUMR * inv
- var/G = LUMG * inv
- var/B = LUMB * inv
-
- return list(R + x,R,R, G,G + x,G, B,B,B + x)
-
-#undef LUMR
-#undef LUMG
-#undef LUMB
\ No newline at end of file
+ CRASH("Invalid/unsupported color format argument in color_to_full_rgba_matrix()")
+
+#undef LUMA_R
+#undef LUMA_G
+#undef LUMA_B
\ No newline at end of file
diff --git a/code/_helpers/overmap.dm b/code/_helpers/overmap.dm
index 67258663860..186d028083a 100644
--- a/code/_helpers/overmap.dm
+++ b/code/_helpers/overmap.dm
@@ -1,10 +1,3 @@
var/global/list/overmap_sectors = list()
var/global/list/overmaps_by_name = list()
var/global/list/overmaps_by_z = list()
-
-/proc/get_empty_zlevel(var/base_turf_type)
- INCREMENT_WORLD_Z_SIZE
- if(base_turf_type && base_turf_type != world.turf)
- for(var/turf/T as anything in block(locate(1, 1, .),locate(world.maxx, world.maxy, .)))
- T.ChangeTurf(base_turf_type)
- return world.maxz
diff --git a/code/_helpers/text.dm b/code/_helpers/text.dm
index 43aec53f30c..9894c4a2675 100644
--- a/code/_helpers/text.dm
+++ b/code/_helpers/text.dm
@@ -22,6 +22,12 @@
* Text sanitization
*/
+/**
+ * Strip out the special beyond characters for \proper and \improper
+ * from text that will be sent to the browser.
+ */
+#define strip_improper(input_text) replacetext(replacetext(input_text, "\proper", ""), "\improper", "")
+
//Used for preprocessing entered text
//Added in an additional check to alert players if input is too long
/proc/sanitize(input, max_length = MAX_MESSAGE_LEN, encode = TRUE, trim = TRUE, extra = TRUE, ascii_only = FALSE)
@@ -35,6 +41,8 @@
return
input = copytext_char(input, 1, max_length + 1)
+ input = strip_improper(input)
+
if(extra)
input = replace_characters(input, list("\n"=" ","\t"=" "))
@@ -502,12 +510,6 @@
#define starts_with(string, substring) (copytext(string,1,1+length(substring)) == substring)
-/**
- * Strip out the special beyond characters for \proper and \improper
- * from text that will be sent to the browser.
- */
-#define strip_improper(input_text) replacetext(replacetext(input_text, "\proper", ""), "\improper", "")
-
/proc/pencode2html(t)
t = replacetext(t, "\n", " ")
t = replacetext(t, "\[center\]", "
")
diff --git a/code/_helpers/turfs.dm b/code/_helpers/turfs.dm
index e8f466e6179..385edc0c61f 100644
--- a/code/_helpers/turfs.dm
+++ b/code/_helpers/turfs.dm
@@ -133,7 +133,7 @@
var/supported = FALSE // Whether or not there's an object in the turf which can support other objects.
if(is_background)
new_turf = target
- else
+ else
new_turf = target.ChangeTurf(source.type, 1, 1)
new_turf.transport_properties_from(source)
new_turf.prev_type = target_type
@@ -144,12 +144,8 @@
break
for(var/obj/O in source)
- if(O.simulated && (!is_background || supported || O.obj_flags & OBJ_FLAG_MOVES_UNSUPPORTED))
+ if((O.movable_flags & MOVABLE_FLAG_ALWAYS_SHUTTLEMOVE) || (O.simulated && (!is_background || supported || (O.obj_flags & OBJ_FLAG_MOVES_UNSUPPORTED))))
O.forceMove(new_turf)
- else if(istype(O,/obj/effect)) // This is used for non-game objects like spawnpoints, so ignore the background check.
- var/obj/effect/E = O
- if(E.movable_flags & MOVABLE_FLAG_EFFECTMOVE)
- E.forceMove(new_turf)
for(var/mob/M in source)
if(is_background && !supported)
@@ -160,5 +156,5 @@
if(is_background)
return list(new_turf, source)
-
+
return new_turf
diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index d0b3fb80089..0a39a96585e 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -364,7 +364,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
/proc/get_valid_silicon_zs(z)
if(z)
- return GetConnectedZlevels(z)
+ return SSmapping.get_connected_levels(z)
return list() //We return an empty list, because we are apparently in nullspace
//Returns a list of all mobs with their name
@@ -672,19 +672,23 @@ Turf and target are seperate in case you want to teleport some distance from a t
/proc/parse_zone(zone)
- if(zone == BP_R_HAND) return "right hand"
- else if (zone == BP_L_HAND) return "left hand"
- else if (zone == BP_L_ARM) return "left arm"
- else if (zone == BP_R_ARM) return "right arm"
- else if (zone == BP_L_LEG) return "left leg"
- else if (zone == BP_R_LEG) return "right leg"
- else if (zone == BP_L_FOOT) return "left foot"
- else if (zone == BP_R_FOOT) return "right foot"
- else if (zone == BP_L_HAND) return "left hand"
- else if (zone == BP_R_HAND) return "right hand"
- else if (zone == BP_L_FOOT) return "left foot"
- else if (zone == BP_R_FOOT) return "right foot"
- else return zone
+ var/static/list/zone_to_descriptor_mapping = list(
+ BP_R_HAND = "right hand",
+ BP_L_HAND = "left hand",
+ BP_L_ARM = "left arm",
+ BP_R_ARM = "right arm",
+ BP_L_LEG = "left leg",
+ BP_R_LEG = "right leg",
+ BP_L_FOOT = "left foot",
+ BP_R_FOOT = "right foot",
+ BP_L_HAND = "left hand",
+ BP_R_HAND = "right hand",
+ BP_L_FOOT = "left foot",
+ BP_R_FOOT = "right foot",
+ BP_MOUTH = "mouth",
+ BP_EYES = "eyes"
+ )
+ return zone_to_descriptor_mapping[zone] || zone
//Whether or not the given item counts as sharp in terms of dealing damage
/proc/is_sharp(obj/O)
diff --git a/code/_macros.dm b/code/_macros.dm
index fcd6e78a2b7..c061b77bbf7 100644
--- a/code/_macros.dm
+++ b/code/_macros.dm
@@ -130,7 +130,7 @@
#define ARGS_DEBUG log_debug("[__FILE__] - [__LINE__]") ; for(var/arg in args) { log_debug("\t[log_info_line(arg)]") }
-// Insert an object A into a sorted list using cmp_proc (/code/_helpers/cmp.dm) for comparison.
+/// Insert an object A into a sorted list using cmp_proc (/code/_helpers/cmp.dm) for comparison.
#define ADD_SORTED(list, A, cmp_proc) if(!list.len) {list.Add(A)} else {list.Insert(FindElementIndex(A, list, cmp_proc), A)}
//Currently used in SDQL2 stuff
diff --git a/code/_onclick/MouseDrag.dm b/code/_onclick/MouseDrag.dm
index 4d971e86b69..daf6a09accb 100644
--- a/code/_onclick/MouseDrag.dm
+++ b/code/_onclick/MouseDrag.dm
@@ -1,9 +1,15 @@
//If we intercept it return true else return false
-/atom/proc/RelayMouseDrag(atom/src_object, atom/over_object, src_location, over_location, src_control, over_control, params, var/mob/user)
+/atom/proc/RelayMouseDrag(atom/src_object, atom/over_object, src_location, over_location, src_control, over_control, params, mob/user)
+ return FALSE
+
+/atom/proc/RelayMouseDown(atom/object, location, control, params, mob/user)
+ return FALSE
+
+/atom/proc/RelayMouseUp(atom/object, location, control, params, mob/user)
return FALSE
/mob/proc/OnMouseDrag(atom/src_object, atom/over_object, src_location, over_location, src_control, over_control, params)
- if(istype(loc, /atom))
+ if(loc)
var/atom/A = loc
if(A.RelayMouseDrag(src_object, over_object, src_location, over_location, src_control, over_control, params, src))
return
@@ -13,11 +19,21 @@
gun.set_autofire(over_object, src)
/mob/proc/OnMouseDown(atom/object, location, control, params)
+ if(loc)
+ var/atom/A = loc
+ if(A.RelayMouseDown(object, location, control, params, src))
+ return
+
var/obj/item/gun/gun = get_active_hand()
if(a_intent == I_HURT && istype(object) && (isturf(object) || isturf(object.loc)) && !incapacitated() && istype(gun))
gun.set_autofire(object, src)
/mob/proc/OnMouseUp(atom/object, location, control, params)
+ if(loc)
+ var/atom/A = loc
+ if(A.RelayMouseUp(object, location, control, params, src))
+ return
+
var/obj/item/gun/gun = get_active_hand()
if(istype(gun))
gun.clear_autofire()
diff --git a/code/_onclick/hud/animal.dm b/code/_onclick/hud/animal.dm
index 07c6495c4a8..129d39f259a 100644
--- a/code/_onclick/hud/animal.dm
+++ b/code/_onclick/hud/animal.dm
@@ -2,7 +2,7 @@
/mob/living/simple_animal
hud_type = /datum/hud/animal
-/datum/hud/animal/FinalizeInstantiation(var/ui_style='icons/mob/screen/white.dmi', var/ui_color = "#ffffff", var/ui_alpha = 255)
+/datum/hud/animal/FinalizeInstantiation()
mymob.client.screen = list()
action_intent = new /obj/screen/intent()
mymob.client.screen |= action_intent
\ No newline at end of file
diff --git a/code/_onclick/hud/global_hud.dm b/code/_onclick/hud/global_hud.dm
index a1d067535f5..70e7aa2f7df 100644
--- a/code/_onclick/hud/global_hud.dm
+++ b/code/_onclick/hud/global_hud.dm
@@ -14,6 +14,7 @@ var/global/datum/global_hud/hud
var/obj/screen/thermal
var/obj/screen/meson
var/obj/screen/science
+ var/obj/screen/holomap
// makes custom colored overlay, can also generate scanline
/datum/global_hud/proc/setup_overlay(icon_state, color)
@@ -36,3 +37,13 @@ var/global/datum/global_hud/hud
thermal = setup_overlay("scanline", "#ff0000")
meson = setup_overlay("scanline", "#9fd800")
science = setup_overlay("scanline", "#d600d6")
+
+ //Holomap screen object is invisible and work
+ //By setting it as n images location, without icon changes
+ //Make it part of global hud since it's inmutable
+ holomap = new /obj/screen()
+ holomap.name = "holomap"
+ holomap.icon = null
+ holomap.layer = HUD_BASE_LAYER
+ holomap.screen_loc = UI_HOLOMAP
+ holomap.mouse_opacity = 0
\ No newline at end of file
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index 81ee062cd61..ba40d9b4e53 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -15,6 +15,7 @@
hud_used = new hud_type(src)
else
hud_used = new /datum/hud(src)
+ refresh_lighting_master()
/datum/hud
var/mob/mymob
@@ -26,6 +27,7 @@
var/obj/screen/lingchemdisplay
var/list/hand_hud_objects
+ var/list/swaphand_hud_objects
var/obj/screen/action_intent
var/obj/screen/move_intent
var/obj/screen/stamina/stamina_bar
@@ -53,6 +55,7 @@
hotkeybuttons = null
mymob = null
QDEL_NULL_LIST(hand_hud_objects)
+ QDEL_NULL_LIST(swaphand_hud_objects)
/datum/hud/proc/update_stamina()
if(mymob && stamina_bar)
@@ -106,70 +109,201 @@
gear.screen_loc = hud_data["loc"]
/datum/hud/proc/instantiate()
- if(!ismob(mymob)) return 0
- if(!mymob.client) return 0
- var/ui_style = ui_style2icon(mymob.client.prefs.UI_style)
- var/ui_color = mymob.client.prefs.UI_style_color
- var/ui_alpha = mymob.client.prefs.UI_style_alpha
- FinalizeInstantiation(ui_style, ui_color, ui_alpha)
-
-/datum/hud/proc/FinalizeInstantiation(var/ui_style, var/ui_color, var/ui_alpha)
+ if(ismob(mymob) && mymob.client)
+ FinalizeInstantiation()
+ return TRUE
+ return FALSE
+
+/datum/hud/proc/FinalizeInstantiation()
return
-/datum/hud/proc/rebuild_hands(list/adding, list/removing, skip_client_update = FALSE)
+/datum/hud/proc/get_ui_style()
+ return ui_style2icon(mymob?.client?.prefs?.UI_style) || 'icons/mob/screen/white.dmi'
- if(isnull(removing))
- if(!skip_client_update)
- mymob?.client?.screen -= hand_hud_objects
- QDEL_NULL_LIST(hand_hud_objects)
- else
- for(var/bp in removing)
- for(var/obj/screen/inventory/inv_box in hand_hud_objects)
- if(inv_box.slot_id == bp)
- if(mymob.client)
- mymob.client.screen -= inv_box
- hand_hud_objects -= inv_box
- qdel(inv_box)
+/datum/hud/proc/get_ui_color()
+ return mymob?.client?.prefs?.UI_style_color || COLOR_WHITE
+
+/datum/hud/proc/get_ui_alpha()
+ return mymob?.client?.prefs?.UI_style_alpha || 255
+
+/datum/hud/proc/rebuild_hands()
var/mob/living/target = mymob
if(!istype(target))
return
- if(isnull(adding))
- adding = target.held_item_slots
+ var/ui_style = get_ui_style()
+ var/ui_color = get_ui_color()
+ var/ui_alpha = get_ui_alpha()
- var/ui_style = ui_style2icon(mymob.client?.prefs.UI_style)
- var/ui_color = mymob.client?.prefs?.UI_style_color
- var/ui_alpha = mymob.client?.prefs?.UI_style_alpha || 255
- for(var/bp in adding)
+ // Build held item boxes for missing slots.
+ var/list/held_slots = mymob.get_held_item_slots()
+ for(var/hand_tag in held_slots)
var/obj/screen/inventory/inv_box
for(var/obj/screen/inventory/existing_box in hand_hud_objects)
- if(existing_box.slot_id == bp)
+ if(existing_box.slot_id == hand_tag)
inv_box = existing_box
break
if(!inv_box)
inv_box = new /obj/screen/inventory()
- var/datum/inventory_slot/inv_slot = target.held_item_slots[bp]
- inv_box.SetName(bp)
+ var/datum/inventory_slot/inv_slot = target.held_item_slots[hand_tag]
+ inv_box.SetName(hand_tag)
inv_box.icon = ui_style
inv_box.icon_state = "hand_base"
inv_box.cut_overlays()
- inv_box.add_overlay("hand_[bp]")
- inv_box.add_overlay("hand_[inv_slot.ui_label]")
- if(target.get_active_held_item_slot() == bp)
+ inv_box.add_overlay("hand_[hand_tag]")
+ if(inv_slot.ui_label)
+ inv_box.add_overlay("hand_[inv_slot.ui_label]")
+ if(target.get_active_held_item_slot() == hand_tag)
inv_box.add_overlay("hand_selected")
inv_box.compile_overlays()
- inv_box.screen_loc = inv_slot.ui_loc
- inv_box.slot_id = bp
+ inv_box.slot_id = hand_tag
inv_box.color = ui_color
inv_box.alpha = ui_alpha
inv_box.appearance_flags |= KEEP_TOGETHER
- LAZYADD(hand_hud_objects, inv_box)
- if(!skip_client_update)
- mymob.client?.screen |= inv_box
+ LAZYDISTINCTADD(hand_hud_objects, inv_box)
+
+ // Clear held item boxes with no held slot.
+ for(var/obj/screen/inventory/inv_box in hand_hud_objects)
+ if(!(inv_box.slot_id in held_slots))
+ if(mymob.client)
+ mymob.client.screen -= inv_box
+ LAZYREMOVE(hand_hud_objects, inv_box)
+ qdel(inv_box)
+
+ // Rebuild offsets for the hand elements.
+ var/hand_y_offset = 5
+ var/list/elements = hand_hud_objects?.Copy()
+ while(length(elements))
+ var/copy_index = min(length(elements), 2)+1
+ var/list/sublist = elements.Copy(1, copy_index)
+ elements.Cut(1, copy_index)
+ var/obj/screen/inventory/inv_box
+ if(length(sublist) == 1)
+ inv_box = sublist[1]
+ inv_box.screen_loc = "CENTER,BOTTOM:[hand_y_offset]"
+ else
+ inv_box = sublist[1]
+ inv_box.screen_loc = "CENTER:-[world.icon_size/2],BOTTOM:[hand_y_offset]"
+ inv_box = sublist[2]
+ inv_box.screen_loc = "CENTER:[world.icon_size/2],BOTTOM:[hand_y_offset]"
+ hand_y_offset += world.icon_size
+ if(mymob.client)
+ mymob.client.screen |= inv_box
+
+ // Make sure all held items are on the screen and set to the correct screen loc.
+ var/datum/inventory_slot/inv_slot
+ for(var/obj/inv_elem in hand_hud_objects)
+ inv_slot = target.get_inventory_slot_datum(inv_elem.name)
+ if(inv_slot)
+ inv_slot.ui_loc = inv_elem.screen_loc
+ if(inv_slot.holding)
+ inv_slot.holding.screen_loc = inv_slot.ui_loc
+ if(mymob.client)
+ mymob.client.screen |= inv_slot.holding // just to make sure it's visible post-login
+
+ var/hand_x_offset = -(world.icon_size/2)
+ for(var/i = 1 to length(swaphand_hud_objects))
+ var/obj/swap_elem = swaphand_hud_objects[i]
+ swap_elem.screen_loc = "CENTER:[hand_x_offset],BOTTOM:[hand_y_offset]"
+ if(i > 1) // first two elems share a slot
+ hand_x_offset += world.icon_size
+ if(mymob.client)
+ mymob.client.screen |= swap_elem
+
+/datum/hud/proc/BuildInventoryUI()
+
+ var/ui_style = get_ui_style()
+ var/ui_color = get_ui_color()
+ var/ui_alpha = get_ui_alpha()
+
+ var/has_hidden_gear = FALSE
+
+ var/mob/living/carbon/human/target = mymob
+ var/datum/hud_data/hud_data = istype(target) ? target.species.hud : new()
+ var/list/held_slots = mymob.get_held_item_slots()
+
+ // Draw the various inventory equipment slots.
+ var/obj/screen/inventory/inv_box
+ for(var/gear_slot in hud_data.gear) // inventory_slots)
+
+ if(gear_slot in held_slots)
+ continue
+
+ inv_box = new /obj/screen/inventory()
+ inv_box.icon = ui_style
+ inv_box.color = ui_color
+ inv_box.alpha = ui_alpha
+
+ var/list/slot_data = hud_data.gear[gear_slot]
+ inv_box.screen_loc = slot_data["loc"]
+ inv_box.slot_id = slot_data["slot"]
+ inv_box.icon_state = slot_data["state"]
+ inv_box.SetName(gear_slot)
+
+ if(slot_data["dir"])
+ inv_box.set_dir(slot_data["dir"])
+
+ if(slot_data["toggle"])
+ other += inv_box
+ has_hidden_gear = TRUE
+ else
+ adding += inv_box
+
+ if(has_hidden_gear)
+ var/obj/screen/using = new /obj/screen()
+ using.SetName("toggle")
+ using.icon = ui_style
+ using.icon_state = "other"
+ using.screen_loc = ui_inventory
+ using.color = ui_color
+ using.alpha = ui_alpha
+ adding += using
+
+/datum/hud/proc/BuildHandsUI()
+
+ var/ui_style = get_ui_style()
+ var/ui_color = get_ui_color()
+ var/ui_alpha = get_ui_alpha()
+
+ var/obj/screen/using
+
+ // Swap hand and quick equip screen elems.
+ using = new /obj/screen()
+ using.SetName("equip")
+ using.icon = ui_style
+ using.icon_state = "act_equip"
+ using.color = ui_color
+ using.alpha = ui_alpha
+ src.adding += using
+ LAZYADD(swaphand_hud_objects, using)
+
+ var/list/held_slots = mymob.get_held_item_slots()
+ if(length(held_slots) > 1)
+
+ using = new /obj/screen/inventory()
+ using.SetName("hand")
+ using.icon = ui_style
+ using.icon_state = "hand1"
+ using.color = ui_color
+ using.alpha = ui_alpha
+ src.adding += using
+ LAZYADD(swaphand_hud_objects, using)
+
+ using = new /obj/screen/inventory()
+ using.SetName("hand")
+ using.icon = ui_style
+ using.icon_state = "hand2"
+ using.color = ui_color
+ using.alpha = ui_alpha
+ src.adding += using
+ LAZYADD(swaphand_hud_objects, using)
+
+ // Actual hand elems.
+ rebuild_hands()
/mob/verb/minimize_hud(full = FALSE as null)
set name = "Minimize Hud"
@@ -198,9 +332,12 @@
//Due to some poor coding some things need special treatment:
//These ones are a part of 'adding', 'other' or 'hotkeybuttons' but we want them to stay
if(!full)
- src.client.screen += src.hud_used.hand_hud_objects //we want the hands to be visible
- src.client.screen += src.hud_used.action_intent //we want the intent swticher visible
- src.hud_used.action_intent.screen_loc = ui_acti_alt //move this to the alternative position, where zone_select usually is.
+ if(LAZYLEN(hud_used.hand_hud_objects))
+ client.screen += hud_used.hand_hud_objects // we want the hands to be visible
+ if(LAZYLEN(hud_used.swaphand_hud_objects))
+ client.screen += hud_used.swaphand_hud_objects // we want the hands swap thingy to be visible
+ src.client.screen += src.hud_used.action_intent // we want the intent swticher visible
+ src.hud_used.action_intent.screen_loc = ui_acti_alt // move this to the alternative position, where zone_select usually is.
else
src.client.screen -= src.healths
src.client.screen -= src.internals
diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm
index 3498abc4fa8..466c5427237 100644
--- a/code/_onclick/hud/human.dm
+++ b/code/_onclick/hud/human.dm
@@ -1,7 +1,12 @@
/mob/living/carbon/human
hud_type = /datum/hud/human
-/datum/hud/human/FinalizeInstantiation(var/ui_style='icons/mob/screen/white.dmi', var/ui_color = "#ffffff", var/ui_alpha = 255)
+/datum/hud/human/FinalizeInstantiation()
+
+ var/ui_style = get_ui_style()
+ var/ui_color = get_ui_color()
+ var/ui_alpha = get_ui_alpha()
+
var/mob/living/carbon/human/target = mymob
var/datum/hud_data/hud_data = istype(target) ? target.species.hud : new()
if(hud_data.icon)
@@ -13,44 +18,11 @@
var/list/hud_elements = list()
var/obj/screen/using
- var/obj/screen/inventory/inv_box
stamina_bar = new
adding += stamina_bar
- // Draw the various inventory equipment slots.
- var/has_hidden_gear
- for(var/gear_slot in hud_data.gear)
-
- inv_box = new /obj/screen/inventory()
- inv_box.icon = ui_style
- inv_box.color = ui_color
- inv_box.alpha = ui_alpha
-
- var/list/slot_data = hud_data.gear[gear_slot]
- inv_box.SetName(gear_slot)
- inv_box.screen_loc = slot_data["loc"]
- inv_box.slot_id = slot_data["slot"]
- inv_box.icon_state = slot_data["state"]
-
- if(slot_data["dir"])
- inv_box.set_dir(slot_data["dir"])
-
- if(slot_data["toggle"])
- src.other += inv_box
- has_hidden_gear = 1
- else
- src.adding += inv_box
-
- if(has_hidden_gear)
- using = new /obj/screen()
- using.SetName("toggle")
- using.icon = ui_style
- using.icon_state = "other"
- using.screen_loc = ui_inventory
- using.color = ui_color
- using.alpha = ui_alpha
- src.adding += using
+ BuildInventoryUI()
// Draw the attack intent dialogue.
if(hud_data.has_a_intent)
@@ -81,35 +53,7 @@
src.hotkeybuttons += using
if(hud_data.has_hands)
-
- using = new /obj/screen()
- using.SetName("equip")
- using.icon = ui_style
- using.icon_state = "act_equip"
- using.screen_loc = ui_equip
- using.color = ui_color
- using.alpha = ui_alpha
- src.adding += using
-
- using = new /obj/screen/inventory()
- using.SetName("hand")
- using.icon = ui_style
- using.icon_state = "hand1"
- using.screen_loc = ui_swaphand1
- using.color = ui_color
- using.alpha = ui_alpha
- src.adding += using
-
- using = new /obj/screen/inventory()
- using.SetName("hand")
- using.icon = ui_style
- using.icon_state = "hand2"
- using.screen_loc = ui_swaphand2
- using.color = ui_color
- using.alpha = ui_alpha
- src.adding += using
-
- rebuild_hands(skip_client_update = TRUE)
+ BuildHandsUI()
if(hud_data.has_resist)
using = new /obj/screen()
@@ -261,6 +205,8 @@
mymob.client.screen = list()
if(length(hand_hud_objects))
mymob.client.screen += hand_hud_objects
+ if(length(swaphand_hud_objects))
+ mymob.client.screen += swaphand_hud_objects
if(length(hud_elements))
mymob.client.screen += hud_elements
mymob.client.screen += src.adding + src.hotkeybuttons
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index bce2e800065..f6495821fd0 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -236,6 +236,7 @@
/obj/screen/Click(location, control, params)
if(!usr) return 1
+
switch(name)
if("toggle")
if(usr.hud_used.inventory_shown)
@@ -264,7 +265,9 @@
L.lookup()
if("internal")
- usr.ui_toggle_internals()
+ if(isliving(usr))
+ var/mob/living/M = usr
+ M.ui_toggle_internals()
if("act_intent")
usr.a_intent_change("right")
@@ -373,3 +376,15 @@
if(pref)
pref.bgstate = next_in_list(pref.bgstate, pref.bgstate_options)
pref.update_preview_icon()
+
+/obj/screen/lighting_plane_master
+ screen_loc = "CENTER"
+ appearance_flags = PLANE_MASTER
+ mouse_opacity = 0
+ plane = LIGHTING_PLANE
+ blend_mode = BLEND_MULTIPLY
+ alpha = 255
+
+/obj/screen/lighting_plane_master/proc/set_alpha(var/newalpha)
+ if(alpha != newalpha)
+ animate(src, alpha = newalpha, time = SSmobs.wait)
diff --git a/code/controllers/communications.dm b/code/controllers/communications.dm
index 3fc2b77bf74..1e5e679530e 100644
--- a/code/controllers/communications.dm
+++ b/code/controllers/communications.dm
@@ -324,7 +324,7 @@ var/global/datum/controller/radio/radio_controller
/datum/radio_frequency/proc/send_to_filter(obj/source, datum/signal/signal, var/radio_filter, var/turf/start_point = null, var/range = null)
var/list/z_levels
if(start_point)
- z_levels = GetConnectedZlevels(start_point.z)
+ z_levels = SSmapping.get_connected_levels(start_point.z)
for(var/obj/device in devices[radio_filter])
if(device == source)
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index b4bf0921fd4..88e5450eb9c 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -203,7 +203,7 @@ var/global/list/gamemode_cache = list()
var/dsay_allowed = 1
var/aooc_allowed = 1
- var/starlight = 0 // Whether space turfs have ambient light or not
+ var/exterior_ambient_light = 0 // The strength of ambient light applied to outside turfs
var/law_zero = "ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'ALL LAWS OVERRIDDEN#*?&110010"
@@ -253,6 +253,9 @@ var/global/list/gamemode_cache = list()
var/no_throttle_localhost
var/dex_malus_brainloss_threshold = 30 //The threshold of when brainloss begins to affect dexterity.
+ var/grant_default_darksight = FALSE
+ var/default_darksight_range = 2
+ var/default_darksight_effectiveness = 0.05
// Economy variables
var/withdraw_period = 1 DAY
@@ -751,9 +754,9 @@ var/global/list/gamemode_cache = list()
config.event_delay_upper[EVENT_LEVEL_MODERATE] = MinutesToTicks(values[2])
config.event_delay_upper[EVENT_LEVEL_MAJOR] = MinutesToTicks(values[3])
- if("starlight")
+ if("exterior_ambient_light")
value = text2num(value)
- config.starlight = value >= 0 ? value : 0
+ config.exterior_ambient_light = value >= 0 ? value : 0
if("law_zero")
law_zero = value
@@ -914,7 +917,12 @@ var/global/list/gamemode_cache = list()
config.use_loyalty_implants = 1
if("dexterity_malus_brainloss_threshold")
config.dex_malus_brainloss_threshold = text2num(value)
-
+ if("grant_default_darksight")
+ config.grant_default_darksight = TRUE
+ if("default_darksight_range")
+ config.default_darksight_range = max(text2num(value), 0)
+ if("default_darksight_effectiveness")
+ config.default_darksight_effectiveness = clamp(text2num(value), 0, 1)
// Economy config.
if("withdraw_period")
config.withdraw_period = value DAYS
diff --git a/code/controllers/evacuation/evacuation_pods.dm b/code/controllers/evacuation/evacuation_pods.dm
index 3f5047db7b8..76e91690c19 100644
--- a/code/controllers/evacuation/evacuation_pods.dm
+++ b/code/controllers/evacuation/evacuation_pods.dm
@@ -46,7 +46,7 @@
else
// FTL Jump
priority_announcement.Announce(replacetext(replacetext(global.using_map.shuttle_leaving_dock, "%dock_name%", "[global.using_map.dock_name]"), "%ETA%", "[round(get_eta()/60,1)] minute\s"))
- SetUniversalState(/datum/universal_state/jump, arguments=list(global.using_map.station_levels))
+ SetUniversalState(/datum/universal_state/jump, arguments=list(SSmapping.station_levels))
/datum/evacuation_controller/starship/finish_evacuation()
..()
diff --git a/code/controllers/master.dm b/code/controllers/master.dm
index 49a05a04af1..0072bd2612a 100644
--- a/code/controllers/master.dm
+++ b/code/controllers/master.dm
@@ -259,7 +259,7 @@ var/global/datum/controller/master/Master = new
SS.state = SS_IDLE
if (SS.flags & SS_TICKER)
tickersubsystems += SS
- timer += world.tick_lag * rand(1, 5)
+ timer += world.tick_lag * rand(0,1)
SS.next_fire = timer
continue
@@ -334,14 +334,16 @@ var/global/datum/controller/master/Master = new
var/checking_runlevel = current_runlevel
if(cached_runlevel != checking_runlevel)
//resechedule subsystems
+ var/list/old_subsystems = current_runlevel_subsystems
cached_runlevel = checking_runlevel
current_runlevel_subsystems = runlevel_sorted_subsystems[cached_runlevel]
- var/stagger = world.time
- for(var/I in current_runlevel_subsystems)
- var/datum/controller/subsystem/SS = I
- if(SS.next_fire <= world.time)
- stagger += world.tick_lag * rand(1, 5)
- SS.next_fire = stagger
+
+ //now we'll go through all the subsystems we want to offset and give them a next_fire
+ for(var/datum/controller/subsystem/SS as anything in current_runlevel_subsystems)
+ //we only want to offset it if it's new and also behind
+ if(SS.next_fire > world.time || (SS in old_subsystems))
+ continue
+ SS.next_fire = world.time + world.tick_lag * rand(0, DS2TICKS(min(SS.wait, 2 SECONDS)))
subsystems_to_check = current_runlevel_subsystems
else
diff --git a/code/controllers/subsystems/ambience.dm b/code/controllers/subsystems/ambience.dm
index 1f615731f18..6bbe3b27fea 100644
--- a/code/controllers/subsystems/ambience.dm
+++ b/code/controllers/subsystems/ambience.dm
@@ -30,27 +30,21 @@ SUBSYSTEM_DEF(ambience)
return FALSE
// If we're dynamically lit, we want ambient light regardless of neighbors.
- . = TURF_IS_DYNAMICALLY_LIT_UNSAFE(src)
+ var/lit = TURF_IS_DYNAMICALLY_LIT_UNSAFE(src)
// If we're not, we want ambient light if one of our neighbors needs to show spillover from corners.
- if(!.)
+ if(!lit)
for(var/turf/T in RANGE_TURFS(src, 1))
// Fuck if I know how these turfs are located in an area that is not an area.
if(isloc(T.loc) && TURF_IS_DYNAMICALLY_LIT_UNSAFE(T))
- . = TRUE
+ lit = TRUE
break
- if(.)
- // Grab what we need to set ambient light.
- // TODO: z-level data handlers should store this information in a cheaply accessible way.
- var/obj/effect/overmap/visitable/sector/exoplanet/planet = global.overmap_sectors["[z]"]
- if(istype(planet))
- if(planet.lightlevel)
- set_ambient_light(COLOR_WHITE, planet.lightlevel)
- return TRUE
- else
- if(config.starlight)
- set_ambient_light(SSskybox.background_color, config.starlight)
- return TRUE
+ if(lit)
+ // Grab what we need to set ambient light from our level handler.
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[z]
+ if(level_data?.ambient_light_level)
+ set_ambient_light(level_data.ambient_light_color, level_data.ambient_light_level)
+ return TRUE
clear_ambient_light()
return FALSE
diff --git a/code/controllers/subsystems/holomap.dm b/code/controllers/subsystems/holomap.dm
new file mode 100644
index 00000000000..dd544596c29
--- /dev/null
+++ b/code/controllers/subsystems/holomap.dm
@@ -0,0 +1,112 @@
+// Minimap generation system adapted from vorestation, adapted from /vg/.
+// Seems to be much simpler/saner than /vg/'s implementation.
+
+//The structure holding a given map
+/datum/holomapdata
+ var/icon/holomap_base
+ var/list/icon/holomap_areas = list()
+ var/icon/holomap_combined
+ var/icon/holomap_areas_combined
+ var/icon/holomap_small
+
+SUBSYSTEM_DEF(minimap)
+ name = "Holomap"
+ flags = SS_NO_FIRE
+ init_order = SS_INIT_HOLOMAP
+
+ var/list/datum/holomapdata/holomaps = list()
+ var/list/station_holomaps = list()
+
+/datum/controller/subsystem/minimap/Initialize()
+ holomaps.len = world.maxz
+ for (var/z = 1 to world.maxz)
+ generateHolomap(z)
+
+ //Update machinery if it has not been
+ for(var/obj/machinery/holomap/M in station_holomaps)
+ M.update_map_data()
+
+ ..()
+
+/datum/controller/subsystem/minimap/proc/generateHolomap(zlevel)
+ var/datum/holomapdata/data = new()
+ data.holomap_base = generateBaseHolomap(zlevel)
+ data.holomap_areas = generateHolomapAreaOverlays(zlevel)
+
+ var/icon/combinedareas = icon(HOLOMAP_ICON, "blank")
+
+ for(var/area/A in data.holomap_areas)
+ var/icon/single = data.holomap_areas[A]
+ if(A.holomap_color)
+ single.Blend(A.holomap_color, ICON_MULTIPLY)
+ combinedareas.Blend(single, ICON_OVERLAY)
+
+ data.holomap_areas_combined = combinedareas
+
+ var/icon/map_base = icon(data.holomap_base)
+
+ // Generate the full sized map by blending the base and areas onto the backdrop
+ var/icon/big_map = icon(HOLOMAP_ICON, "stationmap")
+ big_map.Blend(map_base, ICON_OVERLAY)
+ big_map.Blend(combinedareas, ICON_OVERLAY)
+ data.holomap_combined = big_map
+
+ // Generate the "small" map
+ var/icon/small_map = icon(HOLOMAP_ICON, "blank")
+ //Make it green.
+ small_map.Blend(map_base, ICON_OVERLAY)
+ small_map.Blend(COLOR_HOLOMAP_HOLOFIER, ICON_MULTIPLY)
+ small_map.Blend(combinedareas, ICON_OVERLAY)
+ small_map.Scale(WORLD_ICON_SIZE, WORLD_ICON_SIZE)
+
+ // And rotate it in every direction of course!
+ var/icon/actual_small_map = icon(small_map)
+ actual_small_map.Insert(new_icon = small_map, dir = SOUTH)
+ actual_small_map.Insert(new_icon = turn(small_map, 90), dir = WEST)
+ actual_small_map.Insert(new_icon = turn(small_map, 180), dir = NORTH)
+ actual_small_map.Insert(new_icon = turn(small_map, 270), dir = EAST)
+ data.holomap_small = actual_small_map
+
+ holomaps[zlevel] = data
+
+// Generates the "base" holomap for one z-level, showing only the physical structure of walls and paths.
+/datum/controller/subsystem/minimap/proc/generateBaseHolomap(zlevel = 1)
+ // Save these values now to avoid a bazillion array lookups
+ var/offset_x = HOLOMAP_PIXEL_OFFSET_X
+ var/offset_y = HOLOMAP_PIXEL_OFFSET_Y
+
+ // Sanity checks - Better to generate a helpful error message now than have DrawBox() runtime
+ var/icon/canvas = icon(HOLOMAP_ICON, "blank")
+ if(world.maxx + offset_x > canvas.Width())
+ CRASH("Minimap for z=[zlevel] : world.maxx ([world.maxx]) + holomap_offset_x ([offset_x]) must be <= [canvas.Width()]")
+ if(world.maxy + offset_y > canvas.Height())
+ CRASH("Minimap for z=[zlevel] : world.maxy ([world.maxy]) + holomap_offset_y ([offset_y]) must be <= [canvas.Height()]")
+
+ for(var/turf/tile as anything in BLOCK_TURFS(1,1,world.maxx,world.maxy,zlevel))
+ var/area/A = get_area(tile)
+ if ((A && (A.area_flags & AREA_FLAG_HIDE_FROM_HOLOMAP)) || (tile.turf_flags & TURF_IS_HOLOMAP_ROCK))
+ continue
+ if((tile.turf_flags & TURF_IS_HOLOMAP_OBSTACLE) || (locate(/obj/structure/grille) in tile))
+ canvas.DrawBox(COLOR_HOLOMAP_OBSTACLE, tile.x + offset_x, tile.y + offset_y)
+ else if((tile.turf_flags & TURF_IS_HOLOMAP_PATH) || (locate(/obj/structure/catwalk) in tile))
+ canvas.DrawBox(COLOR_HOLOMAP_PATH, tile.x + offset_x, tile.y + offset_y)
+ CHECK_TICK
+ return canvas
+
+// Generate overlays based on areas
+/datum/controller/subsystem/minimap/proc/generateHolomapAreaOverlays(zlevel)
+ var/list/icon/areas = list()
+
+ var/offset_x = HOLOMAP_PIXEL_OFFSET_X
+ var/offset_y = HOLOMAP_PIXEL_OFFSET_Y
+
+ for(var/x = 1 to world.maxx)
+ for(var/y = 1 to world.maxy)
+ var/turf/tile = locate(x, y, zlevel)
+ if(tile && tile.loc)
+ var/area/areaToPaint = tile.loc
+ if(areaToPaint.holomap_color)
+ if(!areas[areaToPaint])
+ areas[areaToPaint] = icon(HOLOMAP_ICON, "blank")
+ areas[areaToPaint].DrawBox(HOLOMAP_AREACOLOR_BASE, x + offset_x, y + offset_y) //We draw white because we want a generic version to use later. However if there is no colour we ignore it
+ return areas
\ No newline at end of file
diff --git a/code/controllers/subsystems/initialization/codex.dm b/code/controllers/subsystems/initialization/codex.dm
index 6c409ca3e63..0437bac3503 100644
--- a/code/controllers/subsystems/initialization/codex.dm
+++ b/code/controllers/subsystems/initialization/codex.dm
@@ -65,8 +65,9 @@ SUBSYSTEM_DEF(codex)
/datum/controller/subsystem/codex/proc/get_codex_entry(var/entry)
if(istype(entry, /atom))
var/atom/entity = entry
- if(entity.get_specific_codex_entry())
- return entity.get_specific_codex_entry()
+ var/specific_codex_entry = entity.get_specific_codex_entry()
+ if(specific_codex_entry)
+ return specific_codex_entry
return get_entry_by_string(entity.name) || entries_by_path[entity.type]
if(ispath(entry))
return entries_by_path[entry]
diff --git a/code/controllers/subsystems/initialization/materials.dm b/code/controllers/subsystems/initialization/materials.dm
index cfe07bcfe10..f1adb69ed9b 100644
--- a/code/controllers/subsystems/initialization/materials.dm
+++ b/code/controllers/subsystems/initialization/materials.dm
@@ -136,7 +136,7 @@ SUBSYSTEM_DEF(materials)
/datum/controller/subsystem/materials/proc/get_strata(var/turf/exterior/wall/location)
if(!istype(location))
return
- var/obj/effect/overmap/visitable/sector/exoplanet/planet = global.overmap_sectors["[location.z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/planet = global.overmap_sectors[num2text(location.z)]
if(istype(planet))
return planet.get_strata(location)
var/s_key = "[location.z]"
diff --git a/code/controllers/subsystems/initialization/misc.dm b/code/controllers/subsystems/initialization/misc.dm
index 88ac5d9f5ca..09025757cdf 100644
--- a/code/controllers/subsystems/initialization/misc.dm
+++ b/code/controllers/subsystems/initialization/misc.dm
@@ -4,16 +4,6 @@ SUBSYSTEM_DEF(misc)
flags = SS_NO_FIRE
/datum/controller/subsystem/misc/Initialize()
-
-#ifdef UNIT_TEST
- config.generate_map = TRUE
-#endif
-
- if(config.generate_map)
- global.using_map.perform_map_generation()
- global.using_map.build_exterior_atmosphere()
-
setupgenetics()
-
transfer_controller = new
- . = ..()
\ No newline at end of file
+ . = ..()
diff --git a/code/controllers/subsystems/managed_instance.dm b/code/controllers/subsystems/managed_instance.dm
new file mode 100644
index 00000000000..fe80e262a84
--- /dev/null
+++ b/code/controllers/subsystems/managed_instance.dm
@@ -0,0 +1,47 @@
+SUBSYSTEM_DEF(managed_instances)
+ name = "Managed Instances"
+ flags = SS_NO_FIRE | SS_NO_INIT
+ var/list/_managed_instance_cache = list()
+
+/datum/controller/subsystem/managed_instances/proc/get(var/instance_type, var/cache_id, var/cache_category = "default", var/list/instance_args)
+ if(!cache_id)
+ cache_id = instance_type
+ if(isnull(cache_id)) // No type and no id supplied, no point going further.
+ CRASH("Attempted to retrieve a managed instance with no supplied type or ID.")
+ if(isnum(cache_id)) // The cache is an assoc list of id to instance, so numerical IDs are out.
+ CRASH("Attempted to retrieve a managed instance with numerical ID ([cache_id]).")
+
+ var/category_list = _managed_instance_cache[cache_category]
+ if(category_list)
+ . = category_list[cache_id]
+ else
+ category_list = list()
+ _managed_instance_cache[cache_category] = category_list
+
+ if(!.)
+ var/datum/managed_instance
+ LAZYINITLIST(instance_args)
+ managed_instance = new instance_type(arglist(instance_args))
+ category_list[cache_id] = managed_instance
+ instance_args.Insert(1, cache_id)
+ managed_instance.ManagedInstanceInitialize(arglist(instance_args)) // We do this after storing to avoid circular creation loops.
+ if(QDELETED(managed_instance))
+ PRINT_STACK_TRACE("Managed instance was queued for deletion during init! [managed_instance]")
+ category_list[cache_id] -= managed_instance
+ else
+ events_repository.register(/decl/observ/destroyed, managed_instance, src, /datum/controller/subsystem/managed_instances/proc/clear)
+ . = managed_instance
+
+// This is costly, but it also shouldn't be common for managed instances to get qdeleted post-storage.
+/datum/controller/subsystem/managed_instances/proc/clear(var/datum/destroyed_instance)
+ if(!destroyed_instance)
+ return
+ PRINT_STACK_TRACE("Managed instance was destroyed! [destroyed_instance]")
+ for(var/category in _managed_instance_cache)
+ var/list/category_data = _managed_instance_cache[category]
+ for(var/cache_id in category_data)
+ if(category_data[cache_id] == destroyed_instance)
+ category_data -= cache_id
+
+/datum/proc/ManagedInstanceInitialize(var/cache_id, ...)
+ return
diff --git a/code/controllers/subsystems/mapping.dm b/code/controllers/subsystems/mapping.dm
index e5173d352a8..2aac24ed7eb 100644
--- a/code/controllers/subsystems/mapping.dm
+++ b/code/controllers/subsystems/mapping.dm
@@ -3,6 +3,9 @@ SUBSYSTEM_DEF(mapping)
init_order = SS_INIT_MAPPING
flags = SS_NO_FIRE
+ /*
+ * General map, submap and template handling
+ */
var/list/map_templates = list()
var/list/submaps = list()
var/list/map_templates_by_category = list()
@@ -12,9 +15,41 @@ SUBSYSTEM_DEF(mapping)
// Listing .dmm filenames in the file at this location will blacklist any templates that include them from being used.
// Maps must be the full file path to be properly included. ex. "maps/random_ruins/away_sites/example.dmm"
var/banned_dmm_location = "config/banned_map_paths.json"
-
var/decl/overmap_event_handler/overmap_event_handler
+ /*
+ * Z-Level Handling Stuff
+ */
+ /// Associative list of levels by strict z-level
+ var/list/levels_by_z = list()
+ /// Associative list of levels by string ID
+ var/list/levels_by_id = list()
+ /// List of z-levels containing the 'main map'
+ var/list/station_levels = list()
+ /// List of z-levels for admin functionality (Centcom, shuttle transit, etc)
+ var/list/admin_levels = list()
+ /// List of z-levels that can be contacted from the station, for eg announcements
+ var/list/contact_levels = list()
+ /// List of z-levels a character can typically reach
+ var/list/player_levels = list()
+ /// List of z-levels that don't allow random transit at edge
+ var/list/sealed_levels = list()
+ /// Custom base turf by Z-level. Defaults to world.turf for unlisted Z-levels
+ var/list/base_turf_by_z = list()
+ /// This list contains the z-level numbers which can be accessed via space travel and the percentile chances to get there.
+ var/list/accessible_z_levels = list()
+ /// Z-levels available to various consoles, such as the crew monitor. Defaults to station_levels if unset.
+ var/list/map_levels
+ /// The turf type used when generating floors between Z-levels at startup.
+ var/base_floor_type = /turf/simulated/floor/airless
+ /// Replacement area, if a base_floor_type is generated. Leave blank to skip.
+ var/base_floor_area
+ /// A list of connected z-levels to avoid repeatedly rebuilding connections
+ var/list/connected_z_cache = list()
+
+/datum/controller/subsystem/mapping/PreInit()
+ reindex_lists()
+
/datum/controller/subsystem/mapping/Initialize(timeofday)
// Load our banned map list, if we have one.
@@ -49,6 +84,17 @@ SUBSYSTEM_DEF(mapping)
// Build away sites.
global.using_map.build_away_sites()
+ // Initialize z-level objects.
+#ifdef UNIT_TEST
+ config.generate_map = TRUE
+#endif
+ for(var/z = 1 to world.maxz)
+ var/obj/abstract/level_data/level = levels_by_z[z]
+ if(!istype(level))
+ level = new /obj/abstract/level_data/space(locate(round(world.maxx*0.5), round(world.maxy*0.5), z))
+ PRINT_STACK_TRACE("Missing z-level data object for z[num2text(z)]!")
+ level.setup_level_data()
+
. = ..()
/datum/controller/subsystem/mapping/Recover()
@@ -91,3 +137,62 @@ SUBSYSTEM_DEF(mapping)
/datum/controller/subsystem/mapping/proc/get_templates_by_category(var/temple_cat) // :33
return map_templates_by_category[temple_cat]
+
+// Z-Level procs after this point.
+/datum/controller/subsystem/mapping/proc/get_gps_level_name(var/z)
+ if(z)
+ var/obj/abstract/level_data/level = levels_by_z[z]
+ if(level?.name)
+ return level.get_gps_level_name()
+ return "Unknown Sector"
+
+/datum/controller/subsystem/mapping/proc/reindex_lists()
+ levels_by_z.len = world.maxz // Populate with nulls so we don't get index errors later.
+ base_turf_by_z.len = world.maxz
+ connected_z_cache.Cut()
+
+/datum/controller/subsystem/mapping/proc/increment_world_z_size(var/new_level_type, var/defer_setup = FALSE)
+
+ world.maxz++
+ reindex_lists()
+
+ if(SSzcopy.zlev_maximums.len)
+ SSzcopy.calculate_zstack_limits()
+ if(!new_level_type)
+ PRINT_STACK_TRACE("Missing z-level data type for z["[world.maxz]"]!")
+ return
+
+ var/obj/abstract/level_data/level = new new_level_type(locate(round(world.maxx*0.5), round(world.maxy*0.5), world.maxz), defer_setup)
+ level.initialize_level()
+ return level
+
+/datum/controller/subsystem/mapping/proc/get_connected_levels(z)
+ if(z <= 0 || z > length(levels_by_z))
+ CRASH("Invalid z-level supplied to get_connected_levels: [isnull(z) ? "NULL" : z]")
+ . = list(z)
+ // Traverse up and down to get the multiz stack.
+ for(var/level = z, HasBelow(level), level--)
+ . |= level-1
+ for(var/level = z, HasAbove(level), level++)
+ . |= level+1
+ // Check stack for any laterally connected neighbors.
+ for(var/tz in .)
+ var/obj/abstract/level_data/level = levels_by_z[tz]
+ if(level)
+ level.find_connected_levels(.)
+
+/datum/controller/subsystem/mapping/proc/are_connected_levels(var/zA, var/zB)
+ if (zA <= 0 || zB <= 0 || zA > world.maxz || zB > world.maxz)
+ return FALSE
+ if (zA == zB)
+ return TRUE
+ if (length(connected_z_cache) >= zA && length(connected_z_cache[zA]) >= zB)
+ return connected_z_cache[zA][zB]
+ var/list/levels = get_connected_levels(zA)
+ var/list/new_entry = new(world.maxz)
+ for (var/entry in levels)
+ new_entry[entry] = TRUE
+ if (connected_z_cache.len < zA)
+ connected_z_cache.len = zA
+ connected_z_cache[zA] = new_entry
+ return new_entry[zB]
diff --git a/code/controllers/subsystems/processing/nano.dm b/code/controllers/subsystems/processing/nano.dm
index 44b05e8326b..a7d531e8679 100644
--- a/code/controllers/subsystems/processing/nano.dm
+++ b/code/controllers/subsystems/processing/nano.dm
@@ -75,6 +75,9 @@ PROCESSING_SUBSYSTEM_DEF(nano)
*/
/datum/controller/subsystem/processing/nano/proc/close_uis(src_object)
. = 0
+ if (!length(open_uis))
+ return
+
var/src_object_key = "\ref[src_object]"
if (!open_uis[src_object_key])
return
diff --git a/code/controllers/subsystems/shuttle.dm b/code/controllers/subsystems/shuttle.dm
index 29c07237d7b..f8e5f2063e8 100644
--- a/code/controllers/subsystems/shuttle.dm
+++ b/code/controllers/subsystems/shuttle.dm
@@ -80,7 +80,7 @@ SUBSYSTEM_DEF(shuttle)
try_add_landmark_tag(shuttle_landmark_tag, O)
landmarks_still_needed -= shuttle_landmark_tag
else if(istype(shuttle_landmark, /obj/effect/shuttle_landmark/automatic)) //These find their sector automatically
- O = global.overmap_sectors["[shuttle_landmark.z]"]
+ O = global.overmap_sectors[num2text(shuttle_landmark.z)]
O ? O.add_landmark(shuttle_landmark, shuttle_landmark.shuttle_restricted) : (landmarks_awaiting_sector += shuttle_landmark)
/datum/controller/subsystem/shuttle/proc/unregister_landmark(shuttle_landmark_tag)
diff --git a/code/controllers/subsystems/skybox.dm b/code/controllers/subsystems/skybox.dm
index b07694ae7b1..6846f2308c2 100644
--- a/code/controllers/subsystems/skybox.dm
+++ b/code/controllers/subsystems/skybox.dm
@@ -102,13 +102,13 @@ SUBSYSTEM_DEF(skybox)
mapedge_cache["[dir]"] = MA
/datum/controller/subsystem/skybox/proc/get_skybox(z)
- if(!skybox_cache["[z]"])
- skybox_cache["[z]"] = generate_skybox(z)
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
+ if(!skybox_cache[num2text(z)])
+ skybox_cache[num2text(z)] = generate_skybox(z)
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(z)]
if(istype(O))
for(var/zlevel in O.map_z)
- skybox_cache["[zlevel]"] = skybox_cache["[z]"]
- return skybox_cache["[z]"]
+ skybox_cache["[zlevel]"] = skybox_cache[num2text(z)]
+ return skybox_cache[num2text(z)]
/datum/controller/subsystem/skybox/proc/generate_skybox(z)
var/image/res = image(skybox_icon)
@@ -123,7 +123,7 @@ SUBSYSTEM_DEF(skybox)
res.overlays += base
if(use_overmap_details)
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(z)]
if(istype(O))
var/image/overmap = image(skybox_icon)
overmap.overlays += O.generate_skybox()
@@ -141,7 +141,7 @@ SUBSYSTEM_DEF(skybox)
/datum/controller/subsystem/skybox/proc/rebuild_skyboxes(var/list/zlevels)
for(var/z in zlevels)
- skybox_cache["[z]"] = generate_skybox(z)
+ skybox_cache[num2text(z)] = generate_skybox(z)
for(var/client/C)
C.update_skybox(1)
diff --git a/code/controllers/subsystems/statistics.dm b/code/controllers/subsystems/statistics.dm
index 7c031e71a1c..c41945144fa 100644
--- a/code/controllers/subsystems/statistics.dm
+++ b/code/controllers/subsystems/statistics.dm
@@ -162,7 +162,7 @@ SUBSYSTEM_DEF(statistics)
death.brainloss = dead.getBrainLoss()
death.oxyloss = dead.getOxyLoss()
death.using_map_name = global.using_map.full_name
- var/obj/effect/overmap/visitable/cell = global.overmap_sectors["[dead.z]"]
+ var/obj/effect/overmap/visitable/cell = global.overmap_sectors[num2text(dead.z)]
death.overmap_location_name = cell?.name || "Unknown"
LAZYADD(deaths, death)
diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index 670d6c73e45..7bd02bedd58 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -28,8 +28,7 @@ SUBSYSTEM_DEF(ticker)
var/looking_for_antags = 0
/datum/controller/subsystem/ticker/Initialize()
- to_world("[SPAN_BLUE("Welcome to the pre-game lobby!")] ")
- to_world("Please, setup your character and select ready. Game will start in [round(pregame_timeleft/10)] seconds")
+ print_lobby_message()
return ..()
/datum/controller/subsystem/ticker/fire(resumed = 0)
@@ -464,3 +463,7 @@ Helpers
bypass_gamemode_vote = 1
Master.SetRunLevel(RUNLEVEL_SETUP)
return 1
+
+/datum/controller/subsystem/ticker/proc/print_lobby_message()
+ to_world("[SPAN_BLUE("Welcome to the pre-game lobby!")] ")
+ to_world("Please, setup your character and select ready. Game will start in [round(pregame_timeleft/10)] seconds")
\ No newline at end of file
diff --git a/code/controllers/subsystems/timer.dm b/code/controllers/subsystems/timer.dm
index 03d0ccd3ca1..298d4e28dd6 100644
--- a/code/controllers/subsystems/timer.dm
+++ b/code/controllers/subsystems/timer.dm
@@ -1,7 +1,7 @@
/// Controls how many buckets should be kept, each representing a tick. (1 minutes worth)
#define BUCKET_LEN (world.fps*1*60)
/// Helper for getting the correct bucket for a given timer
-#define BUCKET_POS(timer) (((round((timer.timeToRun - timer.timer_subsystem.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN)
+#define BUCKET_POS(timer) (((CEILING((timer.timeToRun - timer.timer_subsystem.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN)
/// Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue
#define TIMER_MAX(timer_ss) (timer_ss.head_offset + TICKS2DS(BUCKET_LEN + timer_ss.practical_offset - 1))
/// Max float with integer precision
diff --git a/code/controllers/subsystems/typing.dm b/code/controllers/subsystems/typing.dm
index a844669f5a1..c6ac9dce6a1 100644
--- a/code/controllers/subsystems/typing.dm
+++ b/code/controllers/subsystems/typing.dm
@@ -129,7 +129,7 @@ SUBSYSTEM_DEF(typing)
return
if(display)
if(!target.typing_indicator)
- target.typing_indicator = new(target)
+ target.typing_indicator = new(null, target)
target.is_typing = TRUE
target.typing_indicator.show_typing_indicator()
else if(target.typing_indicator)
@@ -143,26 +143,30 @@ I IS TYPIN'!'
Updated 09/10/2022 to include chatbar using Spookerton's SStyping system from Polaris.
*/
-/atom/movable/overlay/typing_indicator
- expected_master_type = /atom/movable
- follow_proc = /atom/movable/proc/move_to_turf_or_null
+/atom/movable/typing_indicator
icon = 'icons/mob/talk.dmi'
icon_state = "typing"
mouse_opacity = 0
vis_flags = VIS_INHERIT_ID
- follow_proc = null // Sits in vis_contents instead.
+ var/atom/movable/master
-/atom/movable/overlay/typing_indicator/Destroy()
- if(ismovable(master))
- var/atom/movable/AM = master
- remove_vis_contents(AM, src)
+/atom/movable/typing_indicator/Initialize(ml, _master)
+ . = ..()
+ master = _master
+ if(!ismovable(master))
+ PRINT_STACK_TRACE("Typing indicator initialized with [isnull(master) ? "null" : master] as master.")
+ return INITIALIZE_HINT_QDEL
+
+/atom/movable/typing_indicator/Destroy()
+ if(master)
+ remove_vis_contents(master, src)
if(ismob(master))
var/mob/owner = master
if(owner.typing_indicator == src)
owner.typing_indicator = null
return ..()
-/atom/movable/overlay/typing_indicator/proc/hide_typing_indicator()
+/atom/movable/typing_indicator/proc/hide_typing_indicator()
set waitfor = FALSE
if(ismob(master))
var/mob/owner = master
@@ -175,7 +179,7 @@ Updated 09/10/2022 to include chatbar using Spookerton's SStyping system from Po
var/atom/movable/owner = master
remove_vis_contents(owner, src)
-/atom/movable/overlay/typing_indicator/proc/show_typing_indicator()
+/atom/movable/typing_indicator/proc/show_typing_indicator()
// Make it visible after being hidden.
set_invisibility(0)
@@ -199,6 +203,3 @@ Updated 09/10/2022 to include chatbar using Spookerton's SStyping system from Po
transform = M
alpha = 0
animate(src, transform = 0, alpha = 255, time = 0.2 SECONDS, easing = EASE_IN)
-
-/atom/movable/overlay/typing_indicator/SetInitLoc()
- forceMove(null)
diff --git a/code/datums/appearances/appearance_manager.dm b/code/datums/appearances/appearance_manager.dm
index 93462f28a3b..52fd23a1534 100644
--- a/code/datums/appearances/appearance_manager.dm
+++ b/code/datums/appearances/appearance_manager.dm
@@ -6,9 +6,9 @@
return appearance_handlers[handler_type]
/decl/appearance_manager/proc/add_appearance(var/mob/viewer, var/datum/appearance_data/ad)
- var/PriorityQueue/pq = appearances_[viewer]
+ var/datum/priority_queue/pq = appearances_[viewer]
if(!pq)
- pq = new/PriorityQueue(/proc/cmp_appearance_data)
+ pq = new /datum/priority_queue(/proc/cmp_appearance_data)
appearances_[viewer] = pq
events_repository.register(/decl/observ/logged_in, viewer, src, /decl/appearance_manager/proc/apply_appearance_images)
events_repository.register(/decl/observ/destroyed, viewer, src, /decl/appearance_manager/proc/remove_appearances)
@@ -16,7 +16,7 @@
reset_appearance_images(viewer)
/decl/appearance_manager/proc/remove_appearance(var/mob/viewer, var/datum/appearance_data/ad, var/refresh_images)
- var/PriorityQueue/pq = appearances_[viewer]
+ var/datum/priority_queue/pq = appearances_[viewer]
pq.Remove(ad)
if(viewer.client)
viewer.client.images -= ad.images
@@ -26,7 +26,7 @@
appearances_ -= viewer
/decl/appearance_manager/proc/remove_appearances(var/mob/viewer)
- var/PriorityQueue/pq = appearances_[viewer]
+ var/datum/priority_queue/pq = appearances_[viewer]
for(var/entry in pq.L)
var/datum/appearance_data/ad = entry
ad.RemoveViewer(viewer, FALSE)
@@ -40,7 +40,7 @@
/decl/appearance_manager/proc/clear_appearance_images(var/mob/viewer)
if(!viewer.client)
return
- var/PriorityQueue/pq = appearances_[viewer]
+ var/datum/priority_queue/pq = appearances_[viewer]
if(!pq)
return
for(var/entry in pq.L)
@@ -50,7 +50,7 @@
/decl/appearance_manager/proc/apply_appearance_images(var/mob/viewer)
if(!viewer.client)
return
- var/PriorityQueue/pq = appearances_[viewer]
+ var/datum/priority_queue/pq = appearances_[viewer]
if(!pq)
return
for(var/entry in pq.L)
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index 58e9f056c18..df3678803fe 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -47,7 +47,7 @@
add_stylesheet("common", common_stylesheet)
/datum/browser/proc/set_title(ntitle)
- title = replacetext(replacetext(ntitle,"\proper ",""),"\improper ","")
+ title = sanitize(ntitle)
/datum/browser/proc/add_head_content(nhead_content)
head_content = nhead_content
diff --git a/code/datums/extensions/deity_be_near.dm b/code/datums/extensions/deity_be_near.dm
index a77ac227513..ad95104e24a 100644
--- a/code/datums/extensions/deity_be_near.dm
+++ b/code/datums/extensions/deity_be_near.dm
@@ -51,7 +51,7 @@
if(!ishuman(I.loc))
return FALSE
var/mob/living/carbon/human/H = I.loc
- if(H.get_inventory_slot(I) != slot_wear_suit_str)
+ if(H.get_equipped_slot_for_item(I) != slot_wear_suit_str)
return FALSE
if(expected_helmet && !istype(H.get_equipped_item(slot_head_str), expected_helmet))
return FALSE
diff --git a/code/datums/extensions/hattable.dm b/code/datums/extensions/hattable.dm
index 5dc91aa4b93..a12f3fc2916 100644
--- a/code/datums/extensions/hattable.dm
+++ b/code/datums/extensions/hattable.dm
@@ -11,7 +11,7 @@
..()
/datum/extension/hattable/proc/wear_hat(var/mob/wearer, var/obj/item/clothing/head/new_hat)
- if(hat || !new_hat)
+ if(hat || !istype(new_hat))
return FALSE
hat = new_hat
hat.forceMove(wearer)
diff --git a/code/datums/helper_datums/dist_check.dm b/code/datums/helper_datums/dist_check.dm
index 121b4b1d2f6..47aa457f49e 100644
--- a/code/datums/helper_datums/dist_check.dm
+++ b/code/datums/helper_datums/dist_check.dm
@@ -18,7 +18,7 @@
/decl/dist_check/connected_z_level/within_dist(var/atom/a, var/atom/b)
var/turf/turf_a = get_turf(a)
var/turf/turf_b = get_turf(b)
- return turf_a && turf_b && ARE_Z_CONNECTED(turf_a.z, turf_b.z)
+ return turf_a && turf_b && LEVELS_ARE_Z_CONNECTED(turf_a.z, turf_b.z)
/decl/dist_check/omni/within_dist()
return TRUE
diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index b63645e0430..f0118d55832 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -24,8 +24,8 @@
if(isAdminLevel(oz))
return isAdminLevel(tz) || isStationLevel(tz) || isContactLevel(tz)
- var/list/accessible_z_levels = GetConnectedZlevels(oz)
- var/obj/effect/overmap/sector = global.overmap_sectors["[oz]"]
+ var/list/accessible_z_levels = SSmapping.get_connected_levels(oz)
+ var/obj/effect/overmap/sector = global.overmap_sectors[num2text(oz)]
if(sector)
var/list/neighbors_to_add = list()
diff --git a/code/datums/local_network.dm b/code/datums/local_network.dm
index 8a343b1c557..8ecefba9f94 100644
--- a/code/datums/local_network.dm
+++ b/code/datums/local_network.dm
@@ -72,6 +72,6 @@ var/global/list/multilevel_local_networks = list()
/datum/local_network/multilevel/within_radius(var/atom/checking)
for(var/entity_list in network_entities)
for(var/atom/entity in entity_list)
- if(!(get_z(entity) in GetConnectedZlevels(get_z(checking))))
+ if(!(get_z(entity) in SSmapping.get_connected_levels(get_z(checking))))
return FALSE
return TRUE
\ No newline at end of file
diff --git a/code/datums/repositories/cameras.dm b/code/datums/repositories/cameras.dm
index fc8f961d8d6..b0d1ab40bdc 100644
--- a/code/datums/repositories/cameras.dm
+++ b/code/datums/repositories/cameras.dm
@@ -26,6 +26,8 @@ var/global/repository/cameras/camera_repository = new()
devices_by_channel[channel] |= added
/repository/cameras/proc/remove_camera_from_channels(var/datum/extension/network_device/camera/removed, var/list/channels)
+ if(!length(devices_by_channel))
+ return
if(!islist(channels))
channels = list(channels)
for(var/channel in channels)
diff --git a/code/datums/repositories/crew/crew.dm b/code/datums/repositories/crew/crew.dm
index 32c94c7b070..c12e23e918a 100644
--- a/code/datums/repositories/crew/crew.dm
+++ b/code/datums/repositories/crew/crew.dm
@@ -10,10 +10,10 @@ var/global/datum/repository/crew/crew_repository = new()
cache_data = list()
cache_data_alert = list()
- var/PriorityQueue/general_modifiers = new/PriorityQueue(/proc/cmp_crew_sensor_modifier)
- var/PriorityQueue/binary_modifiers = new/PriorityQueue(/proc/cmp_crew_sensor_modifier)
- var/PriorityQueue/vital_modifiers = new/PriorityQueue(/proc/cmp_crew_sensor_modifier)
- var/PriorityQueue/tracking_modifiers = new/PriorityQueue(/proc/cmp_crew_sensor_modifier)
+ var/datum/priority_queue/general_modifiers = new /datum/priority_queue(/proc/cmp_crew_sensor_modifier)
+ var/datum/priority_queue/binary_modifiers = new /datum/priority_queue(/proc/cmp_crew_sensor_modifier)
+ var/datum/priority_queue/vital_modifiers = new /datum/priority_queue(/proc/cmp_crew_sensor_modifier)
+ var/datum/priority_queue/tracking_modifiers = new /datum/priority_queue(/proc/cmp_crew_sensor_modifier)
general_modifiers.Enqueue(new/crew_sensor_modifier/general())
binary_modifiers.Enqueue(new/crew_sensor_modifier/binary())
@@ -94,7 +94,7 @@ var/global/datum/repository/crew/crew_repository = new()
if(. & MOD_SUIT_SENSORS_REJECTED)
return
-/datum/repository/crew/proc/process_crew_data(var/PriorityQueue/modifiers, var/mob/living/carbon/human/H, var/obj/item/clothing/under/C, var/turf/pos, var/list/crew_data)
+/datum/repository/crew/proc/process_crew_data(var/datum/priority_queue/modifiers, var/mob/living/carbon/human/H, var/obj/item/clothing/under/C, var/turf/pos, var/list/crew_data)
var/current_priority = INFINITY
var/list/modifiers_of_this_priority = list()
@@ -120,7 +120,7 @@ var/global/datum/repository/crew/crew_repository = new()
/datum/repository/crew/proc/add_modifier(var/base_type, var/crew_sensor_modifier/csm)
if(!istype(csm, base_type))
CRASH("The given crew sensor modifier was not of the given base type.")
- var/PriorityQueue/pq = modifier_queues_by_type[base_type]
+ var/datum/priority_queue/pq = modifier_queues_by_type[base_type]
if(!pq)
CRASH("The given base type was not a valid base type.")
if(csm in pq.L)
@@ -131,7 +131,7 @@ var/global/datum/repository/crew/crew_repository = new()
/datum/repository/crew/proc/remove_modifier(var/base_type, var/crew_sensor_modifier/csm)
if(!istype(csm, base_type))
CRASH("The given crew sensor modifier was not of the given base type.")
- var/PriorityQueue/pq = modifier_queues_by_type[base_type]
+ var/datum/priority_queue/pq = modifier_queues_by_type[base_type]
if(!pq)
CRASH("The given base type was not a valid base type.")
return pq.Remove(csm)
diff --git a/code/datums/trading/trade_hub_overmap.dm b/code/datums/trading/trade_hub_overmap.dm
index 2afa99d5576..16096eac4eb 100644
--- a/code/datums/trading/trade_hub_overmap.dm
+++ b/code/datums/trading/trade_hub_overmap.dm
@@ -15,7 +15,7 @@ var/global/list/trading_hub_names = list()
update_hub_datum(hub_datum)
. = ..()
-/obj/effect/overmap/trade_hub/proc/update_hub_datum(var/datum/trade_hub/overmap/hub)
+/obj/effect/overmap/trade_hub/proc/update_hub_datum(var/datum/trade_hub/overmap/hub)
hub.owner = src
/obj/effect/overmap/trade_hub/Destroy()
@@ -66,7 +66,7 @@ var/global/list/trading_hub_names = list()
/datum/trade_hub/overmap/is_accessible_from(var/turf/check)
if(istype(check))
- var/obj/effect/overmap/customer = global.overmap_sectors["[check.z]"]
+ var/obj/effect/overmap/customer = global.overmap_sectors[num2text(check.z)]
return customer && owner && get_turf(customer) == get_turf(owner)
/datum/trade_hub/overmap/proc/update_hub(var/obj/effect/overmap/trade_hub/hub)
diff --git a/code/datums/uplink/services.dm b/code/datums/uplink/services.dm
index 9d75d392724..87492d97334 100644
--- a/code/datums/uplink/services.dm
+++ b/code/datums/uplink/services.dm
@@ -86,7 +86,7 @@
if(state != AWAITING_ACTIVATION)
to_chat(user, "\The [src] won't activate again. ")
return
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[get_z(src)]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(get_z(src))]
var/choice = alert(user, "This will only affect your current location[istype(O) ? " ([O])" : ""]. Proceed?","Confirmation", "Yes", "No")
if(choice != "Yes")
return
@@ -161,7 +161,7 @@
service_label = "Ion Storm Announcement"
/obj/item/uplink_service/fake_ion_storm/enable(var/mob/user = usr)
- ion_storm_announcement(GetConnectedZlevels(get_z(src)))
+ ion_storm_announcement(SSmapping.get_connected_levels(get_z(src)))
. = ..()
/*****************
@@ -191,7 +191,7 @@
if(CanUseTopic(user, global.hands_topic_state) != STATUS_INTERACTIVE)
return FALSE
- command_announcement.Announce(message, title, msg_sanitized = 1, zlevels = GetConnectedZlevels(get_z(src)))
+ command_announcement.Announce(message, title, msg_sanitized = 1, zlevels = SSmapping.get_connected_levels(get_z(src)))
return TRUE
/*********************************
diff --git a/code/game/area/area_abstract.dm b/code/game/area/area_abstract.dm
index c0ee630d75c..a7cad4fbd60 100644
--- a/code/game/area/area_abstract.dm
+++ b/code/game/area/area_abstract.dm
@@ -1,5 +1,6 @@
/area/hallway
name = "hallway"
+ holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
/area/maintenance
area_flags = AREA_FLAG_RAD_SHIELDED
@@ -7,13 +8,16 @@
turf_initializer = /decl/turf_initializer/maintenance
forced_ambience = list('sound/ambience/maintambience.ogg')
req_access = list(access_maint_tunnels)
+ holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
/area/shuttle
requires_power = 0
sound_env = SMALL_ENCLOSED
base_turf = /turf/space
area_flags = AREA_FLAG_SHUTTLE | AREA_FLAG_RAD_SHIELDED
+ holomap_color = HOLOMAP_AREACOLOR_CREW
/area/ship
name = "\improper Generic Ship"
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg')
+ holomap_color = HOLOMAP_AREACOLOR_CREW
diff --git a/code/game/area/area_space.dm b/code/game/area/area_space.dm
index 0ec6cb45f9d..c4bc55dbe31 100644
--- a/code/game/area/area_space.dm
+++ b/code/game/area/area_space.dm
@@ -10,7 +10,7 @@ var/global/area/space_area
power_equip = 0
power_environ = 0
has_gravity = 0
- area_flags = AREA_FLAG_EXTERNAL | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FLAG_IS_BACKGROUND
+ area_flags = AREA_FLAG_EXTERNAL | AREA_FLAG_IS_NOT_PERSISTENT | AREA_FLAG_IS_BACKGROUND | AREA_FLAG_HIDE_FROM_HOLOMAP
ambience = list('sound/ambience/ambispace1.ogg','sound/ambience/ambispace2.ogg','sound/ambience/ambispace3.ogg','sound/ambience/ambispace4.ogg','sound/ambience/ambispace5.ogg')
is_outside = OUTSIDE_YES
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 233426aff38..bb86b91f607 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -12,6 +12,7 @@ var/global/list/areas = list()
mouse_opacity = 0
var/proper_name /// Automatically set by SetName and Initialize; cached result of strip_improper(name).
+ var/holomap_color // Color of this area on the holomap. Must be a hex color (as string) or null.
var/fire
var/party
@@ -319,24 +320,20 @@ var/global/list/areas = list()
var/global/list/mob/living/forced_ambiance_list = new
/area/Entered(A)
- if(!istype(A,/mob/living)) return
-
+ if(!istype(A,/mob/living))
+ return
var/mob/living/L = A
-
if(!L.lastarea)
L.lastarea = get_area(L.loc)
- var/area/newarea = get_area(L.loc)
var/area/oldarea = L.lastarea
- if(oldarea.has_gravity != newarea.has_gravity)
- if(newarea.has_gravity == 1 && !MOVING_DELIBERATELY(L)) // Being ready when you change areas allows you to avoid falling.
+ if(!oldarea || oldarea.has_gravity != has_gravity)
+ if(has_gravity == 1 && !MOVING_DELIBERATELY(L)) // Being ready when you change areas allows you to avoid falling.
thunk(L)
L.update_floating()
-
if(L.ckey)
play_ambience(L)
do_area_blurb(L)
-
- L.lastarea = newarea
+ L.lastarea = src
/area/Exited(A)
@@ -364,7 +361,7 @@ var/global/list/mob/living/forced_ambiance_list = new
if(LAZYLEN(forced_ambience) && !(L in forced_ambiance_list))
forced_ambiance_list += L
L.playsound_local(T,sound(pick(forced_ambience), repeat = 1, wait = 0, volume = 25, channel = sound_channels.lobby_channel))
- if(length(ambience) && prob(5) && (world.time >= L.client.played + 3 MINUTES))
+ if(LAZYLEN(ambience) && prob(5) && (world.time >= L.client.played + 3 MINUTES))
L.playsound_local(T, sound(pick(ambience), repeat = 0, wait = 0, volume = 15, channel = sound_channels.ambience_channel))
L.client.played = world.time
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 6b0f547f948..4d001a66a5c 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -231,12 +231,12 @@
/atom/proc/explosion_act(var/severity)
SHOULD_CALL_PARENT(TRUE)
- if(!currently_exploding)
+ . = !currently_exploding && severity > 0 && severity <= 3
+ if(.)
currently_exploding = TRUE
- . = (severity <= 3)
- if(.)
+ if(severity < 3)
for(var/atom/movable/AM in get_contained_external_atoms())
- AM.explosion_act(severity++)
+ AM.explosion_act(severity + 1)
try_detonate_reagents(severity)
currently_exploding = FALSE
diff --git a/code/game/atoms_init.dm b/code/game/atoms_init.dm
index 73ae77e3761..345aec10d2b 100644
--- a/code/game/atoms_init.dm
+++ b/code/game/atoms_init.dm
@@ -83,7 +83,8 @@
if(opacity)
updateVisibility(src)
-
+ if(atom_codex_ref && atom_codex_ref != TRUE) // may be null, TRUE or a datum instance
+ QDEL_NULL(atom_codex_ref)
return ..()
// Called if an atom is deleted before it initializes. Only call Destroy in this if you know what you're doing.
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 5a2c6375587..a220144a3b0 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -521,6 +521,9 @@
expected_target_type = /atom/movable
interaction_flags = INTERACTION_NEEDS_PHYSICAL_INTERACTION | INTERACTION_NEEDS_TURF
+/decl/interaction_handler/grab/is_possible(atom/movable/target, mob/user, obj/item/prop)
+ return ..() && !target.anchored
+
/decl/interaction_handler/grab/invoked(atom/target, mob/user, obj/item/prop)
var/atom/movable/AM = target
AM.try_make_grab(user, defer_hand = TRUE)
diff --git a/code/game/base_turf.dm b/code/game/base_turf.dm
index 7807cbf6b22..edb7d1006f7 100644
--- a/code/game/base_turf.dm
+++ b/code/game/base_turf.dm
@@ -1,10 +1,9 @@
// Returns the lowest turf available on a given Z-level
/proc/get_base_turf(var/z_num)
- var/z = num2text(z_num)
- if(!global.using_map.base_turf_by_z[z])
- global.using_map.base_turf_by_z[z] = world.turf
- return global.using_map.base_turf_by_z[z]
+ if(!SSmapping.base_turf_by_z[z_num])
+ SSmapping.base_turf_by_z[z_num] = world.turf
+ return SSmapping.base_turf_by_z[z_num]
//An area can override the z-level base turf, so our solar array areas etc. can be space-based.
/proc/get_base_turf_by_area(var/turf/T)
@@ -25,13 +24,13 @@
if(!check_rights(R_DEBUG)) return
- var/choice = input("Which Z-level do you wish to set the base turf for?") as num|null
+ var/choice = clamp(input("Which Z-level do you wish to set the base turf for?") as num|null, 0, length(SSmapping.base_turf_by_z))
if(!choice)
return
var/new_base_path = input("Please select a turf path (cancel to reset to /turf/space).") as null|anything in typesof(/turf)
if(!new_base_path)
new_base_path = /turf/space
- global.using_map.base_turf_by_z["[choice]"] = new_base_path
+ SSmapping.base_turf_by_z[choice] = new_base_path
message_admins("[key_name_admin(usr)] has set the base turf for z-level [choice] to [get_base_turf(choice)].")
log_admin("[key_name(usr)] has set the base turf for z-level [choice] to [get_base_turf(choice)].")
diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm
index eee59e383a1..ec1b5161781 100644
--- a/code/game/dna/dna2.dm
+++ b/code/game/dna/dna2.dm
@@ -141,15 +141,10 @@ var/global/list/datum/dna/gene/dna_genes[0]
SetUIState(DNA_UI_GENDER, character.gender!=MALE, 1)
// Hair
- // FIXME: Species-specific defaults pls
- if(!character.h_style)
- character.h_style = /decl/sprite_accessory/hair/bald
var/list/hair_types = decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/hair)
SetUIValueRange(DNA_UI_HAIR_STYLE, hair_types.Find(character.h_style), length(hair_types), 1)
// Facial Hair
- if(!character.f_style)
- character.f_style = /decl/sprite_accessory/facial_hair/shaved
var/list/beard_types = decls_repository.get_decl_paths_of_subtype(/decl/sprite_accessory/facial_hair)
SetUIValueRange(DNA_UI_BEARD_STYLE, beard_types.Find(character.f_style), length(beard_types), 1)
@@ -158,6 +153,8 @@ var/global/list/datum/dna/gene/dna_genes[0]
if(LAZYLEN(E.markings))
body_markings[E.organ_tag] = E.markings.Copy()
+ b_type = character.b_type
+
UpdateUI()
// Set a DNA UI block's raw value.
diff --git a/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm b/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm
index 1b24c48325b..fae76f7aadc 100644
--- a/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm
+++ b/code/game/gamemodes/endgame/ftl_jump/ftl_jump.dm
@@ -9,12 +9,12 @@
affected_levels = zlevels
/datum/universal_state/jump/OnEnter()
- var/space_zlevel = get_empty_zlevel(/turf/space) //get a place for stragglers
+ var/obj/abstract/level_data/space_zlevel = SSmapping.increment_world_z_size(/obj/abstract/level_data/space) //get a place for stragglers
for(var/mob/living/M in SSmobs.mob_list)
if(M.z in affected_levels)
var/area/A = get_area(M)
if(istype(A,/area/space)) //straggler
- var/turf/T = locate(M.x, M.y, space_zlevel)
+ var/turf/T = locate(M.x, M.y, space_zlevel.my_z)
if(T)
M.forceMove(T)
else
@@ -23,9 +23,9 @@
goast.mouse_opacity = 0 //can't let you click that Dave
goast.set_invisibility(SEE_INVISIBLE_LIVING)
goast.alpha = 255
- old_accessible_z_levels = global.using_map.accessible_z_levels.Copy()
+ old_accessible_z_levels = SSmapping.accessible_z_levels.Copy()
for(var/z in affected_levels)
- global.using_map.accessible_z_levels -= "[z]" //not accessible during the jump
+ SSmapping.accessible_z_levels -= num2text(z) //not accessible during the jump
/datum/universal_state/jump/OnExit()
for(var/mob/M in duplicated)
@@ -33,7 +33,7 @@
clear_duplicated(M)
duplicated.Cut()
- global.using_map.accessible_z_levels = old_accessible_z_levels
+ SSmapping.accessible_z_levels = old_accessible_z_levels
old_accessible_z_levels = null
/datum/universal_state/jump/OnPlayerLatejoin(var/mob/living/M)
diff --git a/code/game/gamemodes/endgame/nuclear_explosion/nuclear_explosion.dm b/code/game/gamemodes/endgame/nuclear_explosion/nuclear_explosion.dm
index 15ba769b733..b8c6afdaf28 100644
--- a/code/game/gamemodes/endgame/nuclear_explosion/nuclear_explosion.dm
+++ b/code/game/gamemodes/endgame/nuclear_explosion/nuclear_explosion.dm
@@ -26,12 +26,12 @@
if(isStationLevel(T.z))
to_world("The [station_name()] was destoyed by the nuclear blast! ")
- dust_mobs(GetConnectedZlevels(T.z))
+ dust_mobs(SSmapping.get_connected_levels(T.z))
play_cinematic_station_destroyed()
else
to_world("A nuclear device was set off, but the explosion was out of reach of the [station_name()]! ")
- dust_mobs(GetConnectedZlevels(T.z))
+ dust_mobs(SSmapping.get_connected_levels(T.z))
play_cinematic_station_unaffected()
sleep(100)
diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm
index dc57d857391..00d60dbf8cd 100644
--- a/code/game/gamemodes/meteor/meteor.dm
+++ b/code/game/gamemodes/meteor/meteor.dm
@@ -86,7 +86,7 @@
next_wave = round_duration_in_ticks + meteor_wave_delay
// Starts as barely noticeable dust impact, ends as barrage of most severe meteor types the code has to offer. Have fun.
spawn()
- spawn_meteors(meteor_severity, get_meteor_types(), pick(global.cardinal), pick(global.using_map.station_levels))
+ spawn_meteors(meteor_severity, get_meteor_types(), pick(global.cardinal), pick(SSmapping.station_levels))
var/escalated = FALSE
if(prob(escalation_probability) && (meteor_severity < maximal_severity))
meteor_severity++
diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm
index 70191556cf9..356f13022f1 100644
--- a/code/game/machinery/computer/message.dm
+++ b/code/game/machinery/computer/message.dm
@@ -240,7 +240,7 @@
//Find a server
if (href_list["find"])
var/list/local_message_servers = list()
- var/list/local_zs = GetConnectedZlevels(z)
+ var/list/local_zs = SSmapping.get_connected_levels(z)
for(var/obj/machinery/network/message_server/MS in SSmachines.machinery)
if((MS.z in local_zs) && !(MS.stat & (BROKEN|NOPOWER)))
local_message_servers += MS
@@ -331,7 +331,7 @@
var/turf/T = get_turf(src)
if(!T)
return
- var/list/our_z = GetConnectedZlevels(T.z)
+ var/list/our_z = SSmapping.get_connected_levels(T.z)
for(var/obj/machinery/network/message_server/server in SSmachines.machinery)
if((server.z in our_z) && !(server.stat & (BROKEN|NOPOWER)) && !isnull(server.decryptkey))
info = "Daily Key Reset The new message monitor key is '[server.decryptkey]'. This key is only intended for personnel granted access to the messaging server. Keep it safe. If necessary, change the password to a more secure one."
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index b81a1108780..7d4c202b05c 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -23,7 +23,7 @@
var/turf/Tr = null
for(var/obj/item/implant/chem/C in global.chem_implants)
Tr = get_turf(C)
- if((Tr) && !ARE_Z_CONNECTED(Tr.z, src.z)) continue // Out of range
+ if((Tr) && !LEVELS_ARE_Z_CONNECTED(Tr.z, src.z)) continue // Out of range
if(!C.implanted) continue
dat += "[C.imp_in.name] | Remaining Units: [C.reagents.total_volume] | Inject: "
dat += "((1) ) "
@@ -33,7 +33,7 @@
dat += " Tracking Implants "
for(var/obj/item/implant/tracking/T in global.tracking_implants)
Tr = get_turf(T)
- if((Tr) && !ARE_Z_CONNECTED(Tr.z, src.z)) continue // Out of range
+ if((Tr) && !LEVELS_ARE_Z_CONNECTED(Tr.z, src.z)) continue // Out of range
if(!T.implanted) continue
var/loc_display = "Space"
var/mob/living/carbon/M = T.imp_in
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index bb4e20d6cfd..912119325ee 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -16,7 +16,7 @@
density = 0
interact_offline = 1
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
- directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':32}, 'EAST':{'x':-24}, 'WEST':{'x':-24}}"
+ directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':32}, 'EAST':{'x':24}, 'WEST':{'x':-24}}"
//Used for logging people entering cryosleep and important items they are carrying.
var/list/frozen_crew = list()
@@ -85,7 +85,7 @@
if(!allow_items) return
if(frozen_items.len == 0)
- to_chat(user, "There is nothing to recover from storage. ")
+ to_chat(user, SPAN_NOTICE("There is nothing to recover from storage."))
return TOPIC_HANDLED
var/obj/item/I = input(user, "Please choose which object to retrieve.","Object recovery",null) as null|anything in frozen_items
@@ -93,10 +93,10 @@
return TOPIC_HANDLED
if(!(I in frozen_items))
- to_chat(user, "\The [I] is no longer in storage. ")
+ to_chat(user, SPAN_NOTICE("\The [I] is no longer in storage."))
return TOPIC_HANDLED
- visible_message("The console beeps happily as it disgorges \the [I]. ", range = 3)
+ visible_message(SPAN_NOTICE("The console beeps happily as it disgorges \the [I]."), range = 3)
I.dropInto(loc)
frozen_items -= I
@@ -106,10 +106,10 @@
if(!allow_items) return TOPIC_HANDLED
if(frozen_items.len == 0)
- to_chat(user, "There is nothing to recover from storage. ")
+ to_chat(user, SPAN_NOTICE("There is nothing to recover from storage."))
return TOPIC_HANDLED
- visible_message("The console beeps happily as it disgorges the desired objects. ", range = 3)
+ visible_message(SPAN_NOTICE("The console beeps happily as it disgorges the desired objects."), range = 3)
for(var/obj/item/I in frozen_items)
I.dropInto(loc)
@@ -211,21 +211,26 @@
B.force_open()
break
- var/list/possible_locations = list()
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
- if(istype(O))
- for(var/obj/effect/overmap/visitable/OO in range(O,2))
- if((OO.sector_flags & OVERMAP_SECTOR_IN_SPACE) || istype(OO,/obj/effect/overmap/visitable/sector/exoplanet))
- possible_locations |= text2num(level)
-
- var/newz = get_empty_zlevel(/turf/space)
- if(possible_locations.len && prob(10))
- newz = pick(possible_locations)
- var/turf/nloc = locate(rand(TRANSITIONEDGE, world.maxx-TRANSITIONEDGE), rand(TRANSITIONEDGE, world.maxy-TRANSITIONEDGE),newz)
- if(!isspaceturf(nloc))
- explosion(nloc, 1, 2, 3)
- playsound(loc,'sound/effects/rocket.ogg',100)
- forceMove(nloc)
+ var/newz
+ if(prob(10))
+ var/list/possible_locations
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(z)]
+ if(istype(O))
+ for(var/obj/effect/overmap/visitable/OO in range(O,2))
+ if((OO.sector_flags & OVERMAP_SECTOR_IN_SPACE) || istype(OO,/obj/effect/overmap/visitable/sector/exoplanet))
+ LAZYDISTINCTADD(possible_locations, text2num(level))
+ if(length(possible_locations))
+ newz = pick(possible_locations)
+ if(!newz)
+ var/obj/abstract/level_data/level = SSmapping.increment_world_z_size(/obj/abstract/level_data/space)
+ newz = level?.my_z
+
+ if(newz)
+ var/turf/nloc = locate(rand(TRANSITIONEDGE, world.maxx-TRANSITIONEDGE), rand(TRANSITIONEDGE, world.maxy-TRANSITIONEDGE), newz)
+ if(!isspaceturf(nloc))
+ explosion(nloc, 1, 2, 3)
+ playsound(loc,'sound/effects/rocket.ogg',100)
+ forceMove(nloc)
//Don't use these for in-round leaving
// don't tell me what to do chinsky
@@ -435,7 +440,7 @@
if(istype(G, /obj/item/grab))
var/obj/item/grab/grab = G
if(occupant)
- to_chat(user, "\The [src] is in use. ")
+ to_chat(user, SPAN_NOTICE("\The [src] is in use."))
return
if(!ismob(grab.affecting))
@@ -492,7 +497,7 @@
return
if(src.occupant)
- to_chat(usr, "\The [src] is in use. ")
+ to_chat(usr, SPAN_NOTICE("\The [src] is in use. "))
return
set_occupant(usr)
@@ -527,8 +532,8 @@
if(occupant.client)
if(!silent)
- to_chat(occupant, "[on_enter_occupant_message] ")
- to_chat(occupant, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round. ")
+ to_chat(occupant, SPAN_NOTICE("[on_enter_occupant_message]"))
+ to_chat(occupant, SPAN_NOTICE("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round. "))
occupant.client.perspective = EYE_PERSPECTIVE
occupant.client.eye = src
occupant.forceMove(src)
@@ -556,13 +561,13 @@
/obj/structure/broken_cryo/attack_hand(mob/user)
..()
if (closed)
- to_chat(user, "You tug at the glass but can't open it with your hands alone. ")
+ to_chat(user, SPAN_NOTICE("You tug at the glass but can't open it with your hands alone."))
else
- to_chat(user, "The glass is already open. ")
+ to_chat(user, SPAN_NOTICE("The glass is already open."))
/obj/structure/broken_cryo/attackby(obj/item/W, mob/user)
if (busy)
- to_chat(user, "Someone else is attempting to open this. ")
+ to_chat(user, SPAN_NOTICE("Someone else is attempting to open this."))
return
if (closed)
if (IS_CROWBAR(W))
@@ -578,7 +583,7 @@
var/obj/dead = new remains_type(loc)
dead.set_dir(dir) //skeleton is oriented as cryo
else
- to_chat(user, "The glass cover is already open. ")
+ to_chat(user, SPAN_NOTICE("The glass cover is already open."))
/obj/machinery/cryopod/proc/on_mob_spawn()
playsound(src, 'sound/machines/ding.ogg', 30, 1)
\ No newline at end of file
diff --git a/code/game/machinery/doors/_door.dm b/code/game/machinery/doors/_door.dm
index 5e13b1cf78d..0247544b7fa 100644
--- a/code/game/machinery/doors/_door.dm
+++ b/code/game/machinery/doors/_door.dm
@@ -325,20 +325,36 @@
return FALSE
/obj/machinery/door/take_damage(var/damage, damtype=BRUTE)
- var/initialhealth = src.health
- src.health = max(0, src.health - damage)
- if(src.health <= 0 && initialhealth > 0)
+ if(!health)
+ ..(damage, damtype)
+ update_icon()
+ return
+
+ var/component_damage = get_damage_leakthrough(damage, BRUTE)
+ damage -= component_damage
+
+ //Part of damage is soaked by our own health
+ var/initialhealth = health
+ health = max(0, health - damage)
+ if(health <= 0 && initialhealth > 0)
visible_message(SPAN_WARNING("\The [src] breaks down!"))
- src.set_broken(TRUE)
- else if(src.health < src.maxhealth / 4 && initialhealth >= src.maxhealth / 4)
+ set_broken(TRUE)
+ else if(health < maxhealth / 4 && initialhealth >= maxhealth / 4)
visible_message(SPAN_WARNING("\The [src] looks like it's about to break!"))
- else if(src.health < src.maxhealth / 2 && initialhealth >= src.maxhealth / 2)
+ else if(health < maxhealth / 2 && initialhealth >= maxhealth / 2)
visible_message(SPAN_WARNING("\The [src] looks seriously damaged!"))
- else if(src.health < src.maxhealth * 3/4 && initialhealth >= src.maxhealth * 3/4)
+ else if(health < maxhealth * 3/4 && initialhealth >= maxhealth * 3/4)
visible_message(SPAN_WARNING("\The [src] shows signs of damage!"))
- ..(max(0, damage - initialhealth), damtype)
+
+ ..(component_damage, damtype)
update_icon()
+//How much damage should be passed to components inside even when door health is non zero
+/obj/machinery/door/proc/get_damage_leakthrough(var/damage, damtype=BRUTE)
+ if(health > 0.75 * maxhealth && damage < 10)
+ return 0
+ . = round((1 - health/maxhealth) * damage)
+
/obj/machinery/door/examine(mob/user)
. = ..()
if(src.health <= 0)
diff --git a/code/game/machinery/doors/airlock_subtypes.dm b/code/game/machinery/doors/airlock_subtypes.dm
index 5b1f2722c9f..9be22784a4e 100644
--- a/code/game/machinery/doors/airlock_subtypes.dm
+++ b/code/game/machinery/doors/airlock_subtypes.dm
@@ -217,6 +217,8 @@
frame_type = /obj/structure/door_assembly/door_assembly_highsecurity
paintable = 0
+/obj/machinery/door/airlock/highsecurity/get_damage_leakthrough(var/damage, damtype=BRUTE)
+ return 0
/obj/machinery/door/airlock/highsecurity/bolted
locked = TRUE
@@ -256,5 +258,7 @@
frame_type = /obj/structure/door_assembly/door_assembly_highsecurity //Until somebody makes better sprites.
paintable = PAINT_PAINTABLE|PAINT_STRIPABLE
+/obj/machinery/door/airlock/vault/get_damage_leakthrough(var/damage, damtype=BRUTE)
+ return 0
/obj/machinery/door/airlock/vault/bolted
locked = TRUE
diff --git a/code/game/machinery/embedded_controller/airlock_controllers.dm b/code/game/machinery/embedded_controller/airlock_controllers.dm
index c13901f9d71..346dfab73c3 100644
--- a/code/game/machinery/embedded_controller/airlock_controllers.dm
+++ b/code/game/machinery/embedded_controller/airlock_controllers.dm
@@ -13,6 +13,8 @@
var/tag_air_alarm
var/list/dummy_terminals = list() // Internal use only; set id_tag on the dummy terminal to be added.
var/cycle_to_external_air = 0
+ var/tag_pump_out_external
+ var/tag_pump_out_internal
/obj/machinery/embedded_controller/radio/airlock/modify_mapped_vars(map_hash)
..()
@@ -23,6 +25,8 @@
ADJUST_TAG_VAR(tag_exterior_sensor, map_hash)
ADJUST_TAG_VAR(tag_interior_sensor, map_hash)
ADJUST_TAG_VAR(tag_air_alarm, map_hash)
+ ADJUST_TAG_VAR(tag_pump_out_external, map_hash)
+ ADJUST_TAG_VAR(tag_pump_out_internal, map_hash)
/obj/machinery/embedded_controller/radio/airlock/Destroy()
for(var/obj/machinery/dummy_airlock_controller/terminal in dummy_terminals)
diff --git a/code/game/machinery/embedded_controller/airlock_program.dm b/code/game/machinery/embedded_controller/airlock_program.dm
index 98d6da3bd30..4eb4b321fe0 100644
--- a/code/game/machinery/embedded_controller/airlock_program.dm
+++ b/code/game/machinery/embedded_controller/airlock_program.dm
@@ -48,11 +48,11 @@
/datum/computer/file/embedded_program/airlock/reset_id_tags(base_tag)
. = ..()
- if(cycle_to_external_air)
- tag_pump_out_external = "[id_tag]_pump_out_external"
- tag_pump_out_internal = "[id_tag]_pump_out_internal"
if(istype(master, /obj/machinery/embedded_controller/radio/airlock)) //if our controller is an airlock controller than we can auto-init our tags
var/obj/machinery/embedded_controller/radio/airlock/controller = master
+ if(cycle_to_external_air)
+ tag_pump_out_external = SET_AIRLOCK_TAG(controller.tag_pump_out_external, "[id_tag]_pump_out_external")
+ tag_pump_out_internal = SET_AIRLOCK_TAG(controller.tag_pump_out_internal, "[id_tag]_pump_out_internal")
tag_exterior_door = SET_AIRLOCK_TAG(controller.tag_exterior_door, "[id_tag]_outer")
tag_interior_door = SET_AIRLOCK_TAG(controller.tag_interior_door, "[id_tag]_inner")
tag_airpump = SET_AIRLOCK_TAG(controller.tag_airpump, "[id_tag]_pump")
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 6ff3659a291..9b211dbfce8 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -95,7 +95,7 @@ var/global/const/HOLOPAD_MODE = RANGE_BASED
var/area/area = get_area(src)
for(var/mob/living/silicon/ai/AI in global.living_mob_list_)
if(!AI.client) continue
- if (holopadType != HOLOPAD_LONG_RANGE && !AreConnectedZLevels(AI.z, src.z))
+ if (holopadType != HOLOPAD_LONG_RANGE && !SSmapping.are_connected_levels(AI.z, src.z))
continue
to_chat(AI, "Your presence is requested at \the [area.proper_name] . ")
else
@@ -107,11 +107,11 @@ var/global/const/HOLOPAD_MODE = RANGE_BASED
if(last_request + 200 < world.time) //don't spam other people with requests either, you jerk!
last_request = world.time
var/list/holopadlist = list()
- var/zlevels = GetConnectedZlevels(z)
+ var/zlevels = SSmapping.get_connected_levels(z)
var/zlevels_long = list()
if(holopadType == HOLOPAD_LONG_RANGE && length(reachable_overmaps))
for(var/zlevel in global.overmap_sectors)
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[zlevel]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(zlevel)]
if(!isnull(O) && (O.overmap_id in reachable_overmaps))
zlevels_long |= O.map_z
for(var/obj/machinery/hologram/holopad/H in SSmachines.machinery)
@@ -180,7 +180,7 @@ var/global/const/HOLOPAD_MODE = RANGE_BASED
user.eyeobj.setLoc(get_turf(src))
else if (!allow_ai)
to_chat(user, SPAN_WARNING("Access denied."))
- else if (holopadType != HOLOPAD_LONG_RANGE && !AreConnectedZLevels(user.z, src.z))
+ else if (holopadType != HOLOPAD_LONG_RANGE && !SSmapping.are_connected_levels(user.z, src.z))
to_chat(user, SPAN_WARNING("Out of range."))
else if(!masters[user])//If there is no hologram, possibly make one.
activate_holo(user)
diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm
index 82d7fd2d4a0..0a3fb1b0a73 100644
--- a/code/game/machinery/oxygen_pump.dm
+++ b/code/game/machinery/oxygen_pump.dm
@@ -21,6 +21,7 @@
power_channel = ENVIRON
idle_power_usage = 10
active_power_usage = 120 // No idea what the realistic amount would be.
+ directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':28}, 'EAST':{'x':24}, 'WEST':{'x':-24}}"
/obj/machinery/oxygen_pump/Initialize()
. = ..()
@@ -34,7 +35,7 @@
qdel(tank)
if(breather)
breather.drop_from_inventory(contained)
- src.visible_message("The mask rapidly retracts just before /the [src] is destroyed! ")
+ src.visible_message(SPAN_NOTICE("The mask rapidly retracts just before /the [src] is destroyed!"))
qdel(contained)
contained = null
breather = null
@@ -52,7 +53,7 @@
/obj/machinery/oxygen_pump/physical_attack_hand(mob/user)
if((stat & MAINT) && tank)
- user.visible_message("\The [user] removes \the [tank] from \the [src]. ", "You remove \the [tank] from \the [src]. ")
+ user.visible_message(SPAN_NOTICE("\The [user] removes \the [tank] from \the [src]."), SPAN_NOTICE("You remove \the [tank] from \the [src]."))
user.put_in_hands(tank)
src.add_fingerprint(user)
tank.add_fingerprint(user)
@@ -85,9 +86,9 @@
tank.forceMove(src)
breather.drop_from_inventory(contained, src)
if(user)
- visible_message("\The [user] detaches \the [contained] and it rapidly retracts back into \the [src]! ")
+ visible_message(SPAN_NOTICE("\The [user] detaches \the [contained] and it rapidly retracts back into \the [src]!"))
else
- visible_message("\The [contained] rapidly retracts back into \the [src]! ")
+ visible_message(SPAN_NOTICE("\The [contained] rapidly retracts back into \the [src]!"))
if(breather.internals)
breather.internals.icon_state = "internal0"
breather = null
@@ -98,44 +99,44 @@
user = target
// Check target validity
if(!GET_EXTERNAL_ORGAN(target, BP_HEAD))
- to_chat(user, "\The [target] doesn't have a head. ")
+ to_chat(user, SPAN_WARNING("\The [target] doesn't have a head."))
return
if(!target.check_has_mouth())
- to_chat(user, "\The [target] doesn't have a mouth. ")
+ to_chat(user, SPAN_WARNING("\The [target] doesn't have a mouth."))
return
var/obj/item/mask = target.get_equipped_item(slot_wear_mask_str)
if(mask && target != breather)
- to_chat(user, "\The [target] is already wearing a mask. ")
+ to_chat(user, SPAN_WARNING("\The [target] is already wearing a mask."))
return
var/obj/item/head = target.get_equipped_item(slot_head_str)
if(head && (head.body_parts_covered & SLOT_FACE))
- to_chat(user, "Remove their [head] first. ")
+ to_chat(user, SPAN_WARNING("Remove their [head] first."))
return
if(!tank)
- to_chat(user, "There is no tank in \the [src]. ")
+ to_chat(user, SPAN_WARNING("There is no tank in \the [src]."))
return
if(stat & MAINT)
- to_chat(user, "Please close \the maintenance hatch first. ")
+ to_chat(user, SPAN_WARNING("Please close the maintenance hatch first."))
return
if(!Adjacent(target))
- to_chat(user, "Please stay close to \the [src]. ")
+ to_chat(user, SPAN_WARNING("Please stay close to \the [src]."))
return
//when there is a breather:
if(breather && target != breather)
- to_chat(user, "\The pump is already in use. ")
+ to_chat(user, SPAN_WARNING("The pump is already in use."))
return
//Checking if breather is still valid
mask = target.get_equipped_item(slot_wear_mask_str)
if(target == breather && (!mask || mask != contained))
- to_chat(user, "\The [target] is not using the supplied mask. ")
+ to_chat(user, SPAN_WARNING("\The [target] is not using the supplied mask."))
return
return 1
/obj/machinery/oxygen_pump/attackby(obj/item/W, mob/user)
if(IS_SCREWDRIVER(W))
stat ^= MAINT
- user.visible_message("\The [user] [stat & MAINT ? "opens" : "closes"] \the [src]. ", "You [stat & MAINT ? "open" : "close"] \the [src]. ")
+ user.visible_message(SPAN_NOTICE("\The [user] [stat & MAINT ? "opens" : "closes"] \the [src]."), SPAN_NOTICE("You [stat & MAINT ? "open" : "close"] \the [src]."))
if(stat & MAINT)
icon_state = icon_state_open
if(!stat)
@@ -143,22 +144,22 @@
//TO-DO: Open icon
if(istype(W, /obj/item/tank) && (stat & MAINT))
if(tank)
- to_chat(user, "\The [src] already has a tank installed! ")
+ to_chat(user, SPAN_WARNING("\The [src] already has a tank installed!"))
else
if(!user.unEquip(W, src))
return
tank = W
- user.visible_message("\The [user] installs \the [tank] into \the [src]. ", "You install \the [tank] into \the [src]. ")
+ user.visible_message(SPAN_NOTICE("\The [user] installs \the [tank] into \the [src]."), SPAN_NOTICE("You install \the [tank] into \the [src]."))
src.add_fingerprint(user)
if(istype(W, /obj/item/tank) && !stat)
- to_chat(user, "Please open the maintenance hatch first. ")
+ to_chat(user, SPAN_WARNING("Please open the maintenance hatch first."))
/obj/machinery/oxygen_pump/examine(mob/user)
. = ..()
if(tank)
to_chat(user, "The meter shows [round(tank.air_contents.return_pressure())].")
else
- to_chat(user, "It is missing a tank! ")
+ to_chat(user, SPAN_WARNING("It is missing a tank!"))
/obj/machinery/oxygen_pump/Process()
@@ -180,7 +181,7 @@
/obj/machinery/oxygen_pump/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/data[0]
if(!tank)
- to_chat(usr, "It is missing a tank! ")
+ to_chat(usr, SPAN_WARNING("It is missing a tank!"))
data["tankPressure"] = 0
data["releasePressure"] = 0
data["defaultReleasePressure"] = 0
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index e5111e5dd54..ddcf0287161 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -118,7 +118,7 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
if(!listening_levels)
//Defaults to our Z level!
var/turf/position = get_turf(src)
- listening_levels = GetConnectedZlevels(position.z)
+ listening_levels = SSmapping.get_connected_levels(position.z)
if(autolinkers.len)
// Links nearby machines
@@ -162,12 +162,12 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list()
/obj/machinery/telecomms/Move()
. = ..()
- listening_levels = GetConnectedZlevels(z)
+ listening_levels = (z ? SSmapping.get_connected_levels(z) : list())
update_power()
/obj/machinery/telecomms/forceMove(var/newloc)
. = ..(newloc)
- listening_levels = GetConnectedZlevels(z)
+ listening_levels = (z ? SSmapping.get_connected_levels(z) : list())
update_power()
/obj/machinery/telecomms/proc/update_power()
diff --git a/code/game/machinery/vending/medical.dm b/code/game/machinery/vending/medical.dm
index 89cb52abf9c..fe21b91e4f4 100644
--- a/code/game/machinery/vending/medical.dm
+++ b/code/game/machinery/vending/medical.dm
@@ -53,7 +53,7 @@
/obj/item/storage/med_pouch/toxin
)
contraband = list(/obj/item/chems/syringe/antitoxin = 4,/obj/item/chems/syringe/antibiotic = 4,/obj/item/chems/pill/bromide = 1)
- directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}"
+ directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':24}, 'EAST':{'x':-24}, 'WEST':{'x':24}}"
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
/obj/machinery/vending/wallmed2
@@ -76,5 +76,5 @@
/obj/item/storage/med_pouch/radiation
)
contraband = list(/obj/item/chems/pill/bromide = 3, /obj/item/chems/hypospray/autoinjector/pain = 2)
- directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}"
+ directional_offset = "{'NORTH':{'y':-24}, 'SOUTH':{'y':24}, 'EAST':{'x':-24}, 'WEST':{'x':24}}"
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
diff --git a/code/game/objects/compass/compass_holder.dm b/code/game/objects/compass/compass_holder.dm
index 0c27fe176cb..f557d013c31 100644
--- a/code/game/objects/compass/compass_holder.dm
+++ b/code/game/objects/compass/compass_holder.dm
@@ -65,7 +65,8 @@ var/global/list/angle_step_to_dir = list(
return global.angle_step_to_dir[clamp(round(angle/45)+1, 1, length(global.angle_step_to_dir))]
/obj/compass_holder/Destroy()
- QDEL_NULL_LIST(compass_waypoints)
+ QDEL_LIST_ASSOC_VAL(compass_waypoints)
+ compass_waypoints = null
. = ..()
/obj/compass_holder/proc/get_heading_strength()
diff --git a/code/game/objects/effects/chem/chemsmoke.dm b/code/game/objects/effects/chem/chemsmoke.dm
index 0a9894fb4b1..793495489c4 100644
--- a/code/game/objects/effects/chem/chemsmoke.dm
+++ b/code/game/objects/effects/chem/chemsmoke.dm
@@ -34,8 +34,7 @@
/obj/effect/effect/smoke/chem/Destroy()
walk(src, 0) // Because we might have called walk_to, we must stop the walk loop or BYOND keeps an internal reference to us forever.
set_opacity(0)
- // TODO - fadeOut() sleeps. Sleeping in /Destroy is Bad, this needs to be fixed.
- fadeOut()
+ set_density(0)
return ..()
/obj/effect/effect/smoke/chem/Move()
@@ -62,14 +61,15 @@
reagents.splash(AM, splash_amount, copy = 1)
// Fades out the smoke smoothly using it's alpha variable.
-/obj/effect/effect/smoke/chem/proc/fadeOut(var/frames = 16)
- if(!alpha) return //already transparent
-
- frames = max(frames, 1) //We will just assume that by 0 frames, the coder meant "during one frame".
- var/alpha_step = round(alpha / frames)
- while(alpha > 0)
- alpha = max(0, alpha - alpha_step)
- sleep(world.tick_lag)
+/obj/effect/effect/smoke/chem/end_of_life()
+ if(QDELETED(src))
+ return
+ walk(src, 0) // Because we might have called walk_to, we must stop the walk loop or BYOND keeps an internal reference to us forever.
+ set_opacity(0)
+ set_density(0)
+ animate(src, alpha = 0, time = 0.5 SECONDS)
+ sleep(0.5 SECONDS)
+ ..()
/////////////////////////////////////////////
// Chem Smoke Effect System
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index a7f89209c25..631699a672f 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -182,7 +182,11 @@ steam.start() -- spawns the effect
. = ..()
if(smoke_duration)
time_to_live = smoke_duration
- QDEL_IN(src, time_to_live)
+ addtimer(CALLBACK(src, .proc/end_of_life), time_to_live)
+
+/obj/effect/effect/smoke/proc/end_of_life()
+ if(!QDELETED(src))
+ qdel(src)
/obj/effect/effect/smoke/Crossed(mob/living/carbon/M)
..()
diff --git a/code/game/objects/effects/fluids.dm b/code/game/objects/effects/fluids.dm
index 283205e971a..4009776528a 100644
--- a/code/game/objects/effects/fluids.dm
+++ b/code/game/objects/effects/fluids.dm
@@ -125,7 +125,8 @@ var/global/obj/abstract/flood/flood_object = new
color = COLOR_LIQUID_WATER
icon = 'icons/effects/liquids.dmi'
icon_state = "ocean"
- alpha = FLUID_MAX_ALPHA
+ alpha = 140
+ invisibility = 0
/obj/effect/fluid/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)
. = ..()
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 32395698f16..e3a2cedd855 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -198,7 +198,7 @@
CHECK_TICK
continue
- if (!ARE_Z_CONNECTED(T.z, epicenter.z))
+ if (!LEVELS_ARE_Z_CONNECTED(T.z, epicenter.z))
CHECK_TICK
continue
diff --git a/code/game/objects/item.dm b/code/game/objects/item.dm
index 10803edb7c7..a95cdcb5280 100644
--- a/code/game/objects/item.dm
+++ b/code/game/objects/item.dm
@@ -102,7 +102,7 @@
/obj/item/proc/dropped_sound_callback()
if(!ismob(loc) && drop_sound)
- playsound(src, drop_sound, 25, 0)
+ playsound(src, pick(drop_sound), 25, 0)
/obj/item/proc/get_origin_tech()
return origin_tech
@@ -208,7 +208,7 @@
var/desc_comp = "" //For "description composite"
desc_comp += "It is a [w_class_description()] item."
- var/desc_damage = get_examined_damage_string()
+ var/desc_damage = get_examined_damage_string(health / max_health)
if(length(desc_damage))
desc_comp += " [desc_damage]"
@@ -675,20 +675,21 @@ var/global/list/slot_flags_enumeration = list(
return TRUE
-var/global/list/blood_overlay_cache = list()
-
+var/global/list/_blood_overlay_cache = list()
+var/global/list/_item_blood_mask = icon('icons/effects/blood.dmi', "itemblood")
/obj/item/proc/generate_blood_overlay(force = FALSE)
if(blood_overlay && !force)
return
- if(global.blood_overlay_cache["[icon]" + icon_state])
- blood_overlay = global.blood_overlay_cache["[icon]" + icon_state]
+ var/cache_key = "[icon]-[icon_state]"
+ if(global._blood_overlay_cache[cache_key])
+ blood_overlay = global._blood_overlay_cache[cache_key]
return
var/icon/I = new /icon(icon, icon_state)
- I.Blend(new /icon('icons/effects/blood.dmi', rgb(255,255,255)),ICON_ADD) //fills the icon_state with white (except where it's transparent)
- I.Blend(new /icon('icons/effects/blood.dmi', "itemblood"),ICON_MULTIPLY) //adds blood and the remaining white areas become transparant
+ I.MapColors(0,0,0, 0,0,0, 0,0,0, 1,1,1) // Sets the icon RGB channel to pure white.
+ I.Blend(global._item_blood_mask, ICON_MULTIPLY) // Masks the blood overlay against the generated mask.
blood_overlay = image(I)
blood_overlay.appearance_flags |= NO_CLIENT_COLOR|RESET_COLOR
- global.blood_overlay_cache["[icon]" + icon_state] = blood_overlay
+ global._blood_overlay_cache[cache_key] = blood_overlay
/obj/item/proc/showoff(mob/user)
for(var/mob/M in view(user))
@@ -900,7 +901,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
screen_loc = null
else if(client)
client.screen |= src
- if(!client.mob || !client.mob.hud_used || !slot || (!client.mob.hud_used.inventory_shown && (slot in global.hidden_inventory_slots)))
+ if(!client.mob?.item_should_have_screen_presence(src, slot))
screen_loc = null
/obj/item/proc/gives_weather_protection()
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index b009d4b8d5c..f23ad7ee1c7 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -43,7 +43,7 @@
var/turf/T = get_turf(src)
if(istype(T) && length(global.using_map.overmap_ids))
- var/obj/effect/overmap/visitable/sector/S = global.overmap_sectors["[T.z]"]
+ var/obj/effect/overmap/visitable/sector/S = global.overmap_sectors[num2text(T.z)]
if(!S) // The blueprints are useless now, but keep them around for fluff.
desc = "Some dusty old blueprints. The markings are old, and seem entirely irrelevant for your wherabouts."
return FALSE
@@ -56,7 +56,7 @@
desc = "Blueprints of the [station_name()]. There is a \"Classified\" stamp and several coffee stains on it."
area_prefix = station_name()
- valid_z_levels += global.using_map.station_levels
+ valid_z_levels += SSmapping.station_levels
return TRUE
//For use on exoplanets
@@ -65,14 +65,14 @@
icon_state = "blueprints2"
/obj/item/blueprints/outpost/attack_self(mob/user)
- var/obj/effect/overmap/visitable/sector/S = global.overmap_sectors["[get_z(user)]"]
+ var/obj/effect/overmap/visitable/sector/S = global.overmap_sectors[num2text(get_z(user))]
area_prefix = S.name
. = ..()
/obj/item/blueprints/outpost/set_valid_z_levels()
var/turf/T = get_turf(src)
if(istype(T) && length(global.using_map.overmap_ids))
- var/obj/effect/overmap/visitable/sector/S = global.overmap_sectors["[T.z]"]
+ var/obj/effect/overmap/visitable/sector/S = global.overmap_sectors[num2text(T.z)]
if(istype(S))
T = locate(1, 1, S.z)
var/area/overmap/map = T && get_area(T)
diff --git a/code/game/objects/items/cryobag.dm b/code/game/objects/items/cryobag.dm
index 9d7ed58d5aa..fd0650c3fd6 100644
--- a/code/game/objects/items/cryobag.dm
+++ b/code/game/objects/items/cryobag.dm
@@ -72,13 +72,13 @@
add_overlay(I)
/obj/structure/closet/body_bag/cryobag/proc/get_saturation()
- return -155 * (1 - stasis_power/initial(stasis_power))
+ return stasis_power / initial(stasis_power)
/obj/structure/closet/body_bag/cryobag/fold(var/user)
var/obj/item/bodybag/cryobag/folded = ..()
if(istype(folded))
folded.stasis_power = stasis_power
- folded.color = color_saturation(get_saturation())
+ folded.color = color_matrix_saturation(get_saturation())
/obj/structure/closet/body_bag/cryobag/Process()
if(stasis_power < 2)
@@ -90,7 +90,7 @@
if(degradation_time < 0)
degradation_time = initial(degradation_time)
stasis_power = round(0.75 * stasis_power)
- animate(src, color = color_saturation(get_saturation()), time = 10)
+ animate(src, color = color_matrix_saturation(get_saturation()), time = 10)
update_icon()
if(H.stasis_sources[STASIS_CRYOBAG] != stasis_power)
diff --git a/code/game/objects/items/devices/auto_cpr.dm b/code/game/objects/items/devices/auto_cpr.dm
index d953237cb7e..081a72d57b7 100644
--- a/code/game/objects/items/devices/auto_cpr.dm
+++ b/code/game/objects/items/devices/auto_cpr.dm
@@ -57,7 +57,7 @@
return PROCESS_KILL
var/mob/living/carbon/human/H = loc
- if(H.get_inventory_slot(src) != slot_wear_suit_str)
+ if(H.get_equipped_slot_for_item(src) != slot_wear_suit_str)
return PROCESS_KILL
if(world.time > last_pump + 15 SECONDS)
diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm
index f663969ba86..7057b445d5f 100644
--- a/code/game/objects/items/devices/gps.dm
+++ b/code/game/objects/items/devices/gps.dm
@@ -123,9 +123,9 @@ var/global/list/all_gps_units = list()
var/list/adding_sites
if(long_range)
- adding_sites = (global.using_map.station_levels|global.using_map.contact_levels|global.using_map.player_levels)
+ adding_sites = (SSmapping.station_levels|SSmapping.contact_levels|SSmapping.player_levels)
else
- adding_sites = GetConnectedZlevels(origin.z)
+ adding_sites = SSmapping.get_connected_levels(origin.z)
if(LAZYLEN(adding_sites))
LAZYDISTINCTADD(reachable_z_levels, adding_sites)
@@ -247,14 +247,14 @@ var/global/list/all_gps_units = list()
.["curr_x"] = curr.x
.["curr_y"] = curr.y
.["curr_z"] = curr.z
- .["curr_z_name"] = strip_improper(using_map.get_zlevel_name(curr.z))
+ .["curr_z_name"] = strip_improper(SSmapping.get_gps_level_name(curr.z))
.["local_mode"] = local_mode
var/z_level_detection
if(long_range)
- z_level_detection = (global.using_map.station_levels|global.using_map.contact_levels|global.using_map.player_levels)
+ z_level_detection = (SSmapping.station_levels|SSmapping.contact_levels|SSmapping.player_levels)
else
- z_level_detection = GetConnectedZlevels(curr.z)
+ z_level_detection = SSmapping.get_connected_levels(curr.z)
.["z_level_detection"] = z_level_detection
var/list/gps_list = list()
@@ -276,7 +276,7 @@ var/global/list/all_gps_units = list()
gps_data["area_name"] = strip_improper(A.name)
var/turf/T = get_turf(G)
- gps_data["z_name"] = strip_improper(using_map.get_zlevel_name(T.z))
+ gps_data["z_name"] = strip_improper(SSmapping.get_gps_level_name(T.z))
gps_data["direction"] = get_compass_direction_string(curr, T)
gps_data["degrees"] = round(Get_Angle(curr,T))
gps_data["distX"] = T.x - curr.x
diff --git a/code/game/objects/items/devices/pinpointer.dm b/code/game/objects/items/devices/pinpointer.dm
index fe2895786f1..39ccf373f68 100644
--- a/code/game/objects/items/devices/pinpointer.dm
+++ b/code/game/objects/items/devices/pinpointer.dm
@@ -93,7 +93,7 @@
add_overlay("[icon_state]-here")
return
- if(!(there.z in GetConnectedZlevels(here.z)))
+ if(!(there.z in SSmapping.get_connected_levels(here.z)))
add_overlay("[icon_state]-invalid")
return
if(here.z > there.z)
@@ -124,7 +124,7 @@
/obj/item/pinpointer/radio/acquire_target()
var/turf/T = get_turf(src)
- var/zlevels = GetConnectedZlevels(T.z)
+ var/zlevels = SSmapping.get_connected_levels(T.z)
var/cur_dist = world.maxx+world.maxy
for(var/obj/item/radio/beacon/R in global.radio_beacons)
if(!R.functioning)
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index f6116a8eb48..2814ffd302a 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -49,12 +49,11 @@
to_chat(user, radio_desc)
/obj/item/radio/headset/get_connection_from_message_mode(mob/living/M, message, message_mode)
- if (message_mode == "special")
- if (translate_binary)
- var/decl/language/binary = GET_DECL(/decl/language/binary)
- binary.broadcast(M, message)
- return null
- return ..()
+ if(message_mode == MESSAGE_MODE_SPECIAL && translate_binary)
+ var/decl/language/binary = GET_DECL(/decl/language/binary)
+ binary.broadcast(M, message)
+ else
+ return ..()
/obj/item/radio/headset/receive_range(freq, level, aiOverride = 0)
if (aiOverride)
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index fb825fe0147..05c95800f1b 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -238,7 +238,7 @@
/obj/item/radio/proc/autosay(var/message, var/from, var/channel, var/sayverb = "states") //BS12 EDIT
var/datum/radio_frequency/connection = null
if(channel && channels && channels.len > 0)
- if (channel == "department")
+ if (channel == MESSAGE_MODE_DEPARTMENT)
channel = channels[1]
connection = secure_radio_connections[channel]
else
@@ -254,12 +254,12 @@
// Interprets the message mode when talking into a radio, possibly returning a connection datum
/obj/item/radio/proc/get_connection_from_message_mode(mob/living/M, message, message_mode)
// If a channel isn't specified, send to common.
- if(!message_mode || message_mode == "headset")
+ if(!message_mode || global.nondepartmental_message_modes[message_mode])
return radio_connection
// Otherwise, if a channel is specified, look for it.
if(channels && channels.len > 0)
- if (message_mode == "department") // Department radio shortcut
+ if (message_mode == MESSAGE_MODE_DEPARTMENT) // Department radio shortcut
message_mode = channels[1]
if (channels[message_mode]) // only broadcast if the channel is set on
@@ -287,7 +287,8 @@
to_chat(M, SPAN_WARNING("You're disrupted as you reach for \the [src]."))
return 0
- if(istype(M)) M.trigger_aiming(TARGET_CAN_RADIO)
+ if(istype(M))
+ M.trigger_aiming(TARGET_CAN_RADIO)
// Uncommenting this. To the above comment:
// The permacell radios aren't suppose to be able to transmit, this isn't a bug and this "fix" is just making radio wires useless. -Giacom
@@ -297,7 +298,6 @@
if(!radio_connection)
set_frequency(frequency)
-
if(power_usage)
var/obj/item/cell/has_cell = get_cell()
if(!has_cell)
@@ -498,7 +498,7 @@
if(!connection) return 0 //~Carn
return Broadcast_Message(connection, M, voicemask, pick(M.speak_emote),
src, message, displayname, jobname, real_name, M.voice_name,
- filter_type, signal.data["compression"], GetConnectedZlevels(position.z), connection.frequency, verb, speaking,
+ filter_type, signal.data["compression"], SSmapping.get_connected_levels(position.z), connection.frequency, verb, speaking,
"[connection.frequency]", channel_color_presets["Menacing Maroon"])
@@ -811,7 +811,7 @@
/obj/item/radio/announcer/Initialize()
. = ..()
- forceMove(locate(1,1,global.using_map.contact_levels.len ? global.using_map.contact_levels[1] : 1))
+ forceMove(locate(1,1,SSmapping.contact_levels.len ? SSmapping.contact_levels[1] : 1))
/obj/item/radio/announcer/subspace
subspace_transmission = 1
diff --git a/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm b/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm
new file mode 100644
index 00000000000..8365797b46c
--- /dev/null
+++ b/code/game/objects/items/weapons/circuitboards/machinery/holomap.dm
@@ -0,0 +1,11 @@
+/obj/item/stock_parts/circuitboard/holomap
+ name = "circuitboard (holomap)"
+ board_type = "machine"
+ build_path = /obj/machinery/holomap
+ origin_tech = "{'engineering':1}"
+ req_components = list()
+ additional_spawn_components = list(
+ /obj/item/stock_parts/console_screen = 1,
+ /obj/item/stock_parts/keyboard = 1,
+ /obj/item/stock_parts/power/apc/buildable = 1
+ )
diff --git a/code/game/objects/items/weapons/circuitboards/machinery/research.dm b/code/game/objects/items/weapons/circuitboards/machinery/research.dm
index 7b833138f4e..1d820de80f3 100644
--- a/code/game/objects/items/weapons/circuitboards/machinery/research.dm
+++ b/code/game/objects/items/weapons/circuitboards/machinery/research.dm
@@ -239,4 +239,16 @@
/obj/item/stock_parts/console_screen = 1,
/obj/item/stock_parts/keyboard = 1,
/obj/item/stock_parts/power/apc/buildable = 1,
+ )
+
+/obj/item/stock_parts/circuitboard/design_database
+ name = "circuitboard (design database)"
+ build_path = /obj/machinery/design_database
+ board_type = "machine"
+ origin_tech = "{'programming':2, 'engineering':2}"
+ req_components = list()
+ additional_spawn_components = list(
+ /obj/item/stock_parts/power/apc/buildable = 1,
+ /obj/item/stock_parts/console_screen = 1,
+ /obj/item/stock_parts/keyboard = 1
)
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm b/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm
index 04a418a9b3a..a3df680001e 100644
--- a/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm
+++ b/code/game/objects/items/weapons/circuitboards/machinery/shipsensors.dm
@@ -10,5 +10,6 @@
/obj/item/stock_parts/subspace/transmitter = 1
)
additional_spawn_components = list(
- /obj/item/stock_parts/shielding/heat = 1
- )
\ No newline at end of file
+ /obj/item/stock_parts/shielding/heat = 1,
+ /obj/item/stock_parts/power/terminal = 1
+ )
diff --git a/code/game/objects/items/weapons/lighter.dm b/code/game/objects/items/weapons/lighter.dm
index fc578b8d1e9..675b954604d 100644
--- a/code/game/objects/items/weapons/lighter.dm
+++ b/code/game/objects/items/weapons/lighter.dm
@@ -26,7 +26,7 @@
if(!reagents)
create_reagents(max_fuel)
. = ..()
-
+
/obj/item/flame/lighter/populate_reagents()
reagents.add_reagent(/decl/material/liquid/fuel, max_fuel)
@@ -45,11 +45,9 @@
user.visible_message("After a few attempts, [user] manages to light the [src]. ")
else
to_chat(user, "You burn yourself while lighting the lighter. ")
- for(var/bp in user.held_item_slots)
- var/datum/inventory_slot/inv_slot = user.held_item_slots[bp]
- if(inv_slot.holding == src)
- user.apply_damage(2, BURN, bp)
- break
+ var/hand_tag = user.get_held_slot_for_item(src)
+ if(hand_tag)
+ user.apply_damage(2, BURN, hand_tag)
user.visible_message("After a few attempts, [user] manages to light the [src], burning their finger in the process. ")
playsound(src.loc, "light_bic", 100, 1, -4)
diff --git a/code/game/objects/items/weapons/material/swords.dm b/code/game/objects/items/weapons/material/swords.dm
index 6440c29f55a..32ee7ae427a 100644
--- a/code/game/objects/items/weapons/material/swords.dm
+++ b/code/game/objects/items/weapons/material/swords.dm
@@ -19,9 +19,12 @@
pickup_sound = 'sound/foley/knife1.ogg'
drop_sound = 'sound/foley/knifedrop3.ogg'
- var/draw_handle
+ var/draw_handle = TRUE
/obj/item/sword/update_force()
+ sharp = initial(sharp)
+ edge = initial(edge)
+ hitsound = initial(hitsound)
if(material?.hardness < MAT_VALUE_HARD)
edge = 0
attack_verb = list("attacked", "stabbed", "jabbed", "smacked", "prodded")
diff --git a/code/game/objects/items/weapons/weldbackpack.dm b/code/game/objects/items/weapons/weldbackpack.dm
index 68d8309be14..e022606e27b 100644
--- a/code/game/objects/items/weapons/weldbackpack.dm
+++ b/code/game/objects/items/weapons/weldbackpack.dm
@@ -131,8 +131,11 @@
/obj/item/chems/weldpack/attack_hand(mob/user)
if(is_welder_attached())
- var/curslot = user.get_inventory_slot(src)
- if(curslot == slot_back_str || curslot == slot_s_store_str || user.is_holding_offhand(src))
+ if(user.is_holding_offhand(src))
+ detach_gun(user)
+ return TRUE
+ var/curslot = user.get_equipped_slot_for_item(src)
+ if(curslot == slot_back_str || curslot == slot_s_store_str)
detach_gun(user)
return TRUE
return ..()
diff --git a/code/game/objects/random/subtypes/misc.dm b/code/game/objects/random/subtypes/misc.dm
index d3f51fc1845..f654fd0fae6 100644
--- a/code/game/objects/random/subtypes/misc.dm
+++ b/code/game/objects/random/subtypes/misc.dm
@@ -350,7 +350,6 @@
/obj/item/storage/firstaid/surgery = 4,
/obj/item/cell/infinite = 1,
/obj/random/archaeological_find = 2,
- /obj/structure/artifact = 1,
/obj/item/multitool/hacktool = 2,
/obj/item/surgicaldrill = 7,
/obj/item/sutures = 7,
diff --git a/code/game/objects/structures/crates_lockers/closets/__closet.dm b/code/game/objects/structures/crates_lockers/closets/__closet.dm
index 6c87eecaad8..9d625cfb377 100644
--- a/code/game/objects/structures/crates_lockers/closets/__closet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/__closet.dm
@@ -50,7 +50,7 @@ var/global/list/closets = list()
/obj/structure/closet/LateInitialize(mapload, ...)
var/list/will_contain = WillContain()
if(will_contain)
- create_objects_in_loc(src, will_contain)
+ create_objects_in_loc(opened ? loc : src, will_contain)
if(!opened && mapload) // if closed and it's the map loading phase, relevant items at the crate's loc are put in the contents
store_contents()
@@ -103,7 +103,7 @@ var/global/list/closets = list()
stored_units += store_mobs(stored_units)
if(storage_types & CLOSET_STORAGE_STRUCTURES)
stored_units += store_structures(stored_units)
-
+
/obj/structure/closet/proc/open()
if(src.opened)
return 0
@@ -234,7 +234,7 @@ var/global/list/closets = list()
take_damage(proj_damage)
/obj/structure/closet/attackby(obj/item/W, mob/user)
-
+
if(user.a_intent == I_HURT && W.force)
return ..()
@@ -421,7 +421,7 @@ var/global/list/closets = list()
open()
/obj/structure/closet/onDropInto(var/atom/movable/AM)
- return
+ return opened ? loc : null
// If we use the /obj/structure/closet/proc/togglelock variant BYOND asks the user to select an input for id_card, which is then mostly irrelevant.
/obj/structure/closet/proc/togglelock_verb()
diff --git a/code/game/objects/structures/crates_lockers/closets/_closet_appearance_definitions.dm b/code/game/objects/structures/crates_lockers/closets/_closet_appearance_definitions.dm
index 9af8a975df7..1e13e508629 100644
--- a/code/game/objects/structures/crates_lockers/closets/_closet_appearance_definitions.dm
+++ b/code/game/objects/structures/crates_lockers/closets/_closet_appearance_definitions.dm
@@ -658,6 +658,11 @@
"glass" = COLOR_WHITE
)
+/decl/closet_appearance/wall/suit
+ color = COLOR_LIGHT_CYAN
+ extra_decals = list(
+ "stripe_outer" = COLOR_OFF_WHITE
+ )
/decl/closet_appearance/wall/medical
decals = null
color = COLOR_OFF_WHITE
diff --git a/code/game/objects/structures/crates_lockers/closets/walllocker.dm b/code/game/objects/structures/crates_lockers/closets/walllocker.dm
index bc59a87d328..0e85e4b1a80 100644
--- a/code/game/objects/structures/crates_lockers/closets/walllocker.dm
+++ b/code/game/objects/structures/crates_lockers/closets/walllocker.dm
@@ -17,3 +17,15 @@
/obj/structure/closet/walllocker/Initialize()
. = ..()
tool_interaction_flags &= ~TOOL_INTERACTION_ANCHOR
+
+/obj/structure/closet/walllocker/suit
+ name = "wall suit storage"
+ desc = "A nook in the wall storing a couple of space suits."
+ closet_appearance = /decl/closet_appearance/wall/suit
+
+/obj/structure/closet/walllocker/suit/WillContain()
+ return list(
+ /obj/item/clothing/head/helmet/space = 2,
+ /obj/item/clothing/suit/space = 2,
+ /obj/item/tank/oxygen = 2
+ )
\ No newline at end of file
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index 371be257ced..6782fb158c0 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -160,7 +160,6 @@
if(signs)
add_overlay("cart_sign[signs]")
-//old style retardo-cart
/datum/movement_handler/move_relay_self/janicart/MayMove(mob/mover, is_external)
. = ..()
if(. == MOVEMENT_PROCEED && !is_external && !(locate(/obj/item/janicart_key) in mover.get_held_items()))
@@ -168,6 +167,7 @@
to_chat(mover, SPAN_WARNING("You'll need the keys in one of your hands to drive this [istype(janicart) ? janicart.callme : host.name]."))
return MOVEMENT_STOP
+//old style cart
/obj/structure/bed/chair/janicart
name = "janicart"
icon = 'icons/obj/vehicles.dmi'
diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm
index 3e3dd61a511..51bedbcb6c1 100644
--- a/code/game/objects/structures/transit_tubes.dm
+++ b/code/game/objects/structures/transit_tubes.dm
@@ -74,17 +74,17 @@
/obj/structure/transit_tube/Bumped(mob/AM)
var/obj/structure/transit_tube/T = locate() in AM.loc
if(T)
- to_chat(AM, "The tube's support pylons block your way. ")
+ to_chat(AM, SPAN_WARNING("The tube's support pylons block your way."))
return ..()
else
AM.dropInto(loc)
- to_chat(AM, "You slip under the tube. ")
+ to_chat(AM, SPAN_INFO("You slip under the tube."))
/obj/structure/transit_tube/station/Bumped(mob/AM)
if(!pod_moving && icon_state == "open" && istype(AM, /mob))
for(var/obj/structure/transit_tube_pod/pod in loc)
if(pod.contents.len)
- to_chat(AM, "The pod is already occupied. ")
+ to_chat(AM, SPAN_NOTICE("The pod is already occupied."))
return
else if(!pod.moving && (pod.dir in directions()))
AM.forceMove(pod)
@@ -545,7 +545,7 @@
if("SOUTHWEST", "SW")
return 10
else
- return 0
+ return 0
@@ -570,4 +570,4 @@
if(10)
return "SW"
else
- return
+ return
diff --git a/code/game/sound.dm b/code/game/sound.dm
index 3a91c8f67f4..de42f41dc3d 100644
--- a/code/game/sound.dm
+++ b/code/game/sound.dm
@@ -22,7 +22,7 @@
if(get_dist(M, turf_source) <= maxdistance)
var/turf/T = get_turf(M)
- if(T && (T.z == turf_source.z || (zrange && AreConnectedZLevels(T.z, turf_source.z) && abs(T.z - turf_source.z) <= zrange)) && (!is_ambiance || M.get_preference_value(/datum/client_preference/play_ambiance) == PREF_YES))
+ if(T && (T.z == turf_source.z || (zrange && SSmapping.are_connected_levels(T.z, turf_source.z) && abs(T.z - turf_source.z) <= zrange)) && (!is_ambiance || M.get_preference_value(/datum/client_preference/play_ambiance) == PREF_YES))
M.playsound_local(turf_source, soundin, vol, vary, frequency, falloff, is_global, extrarange, override_env, envdry, envwet)
var/global/const/FALLOFF_SOUNDS = 0.5
diff --git a/code/game/turfs/exterior/_exterior.dm b/code/game/turfs/exterior/_exterior.dm
index 5ceffedd623..57812497ba0 100644
--- a/code/game/turfs/exterior/_exterior.dm
+++ b/code/game/turfs/exterior/_exterior.dm
@@ -5,7 +5,7 @@
icon_state = "0"
layer = PLATING_LAYER
open_turf_type = /turf/exterior/open
- turf_flags = TURF_FLAG_BACKGROUND
+ turf_flags = TURF_FLAG_BACKGROUND | TURF_IS_HOLOMAP_PATH
var/base_color
var/diggable = 1
var/dirt_color = "#7c5e42"
@@ -18,9 +18,8 @@
// Bit faster than return_air() for exoplanet exterior turfs
/turf/exterior/get_air_graphic()
- if(owner)
- return owner.atmosphere?.graphic
- return global.using_map.exterior_atmosphere?.graphic
+ var/obj/abstract/level_data/level = SSmapping.levels_by_z[z]
+ return level?.exterior_atmosphere?.graphic
/turf/exterior/Initialize(mapload, no_update_icon = FALSE)
@@ -31,7 +30,7 @@
if(possible_states > 0)
icon_state = "[rand(0, possible_states)]"
- owner = LAZYACCESS(global.overmap_sectors, "[z]")
+ owner = LAZYACCESS(global.overmap_sectors, num2text(z))
if(!istype(owner))
owner = null
else
@@ -83,13 +82,10 @@
. = ..()
/turf/exterior/return_air()
- var/datum/gas_mixture/gas
- if(owner)
- gas = new
- gas.copy_from(owner.atmosphere)
- else
- gas = global.using_map.get_exterior_atmosphere()
-
+ var/obj/abstract/level_data/level = SSmapping.levels_by_z[z]
+ var/datum/gas_mixture/gas = level?.get_exterior_atmosphere()
+ if(!gas)
+ return
var/initial_temperature = gas.temperature
if(weather)
initial_temperature = weather.adjust_temperature(initial_temperature)
diff --git a/code/game/turfs/exterior/exterior_barren.dm b/code/game/turfs/exterior/exterior_barren.dm
index 5e645d85950..795fa140df5 100644
--- a/code/game/turfs/exterior/exterior_barren.dm
+++ b/code/game/turfs/exterior/exterior_barren.dm
@@ -3,11 +3,7 @@
icon = 'icons/turf/exterior/barren.dmi'
icon_edge_layer = EXT_EDGE_BARREN
-/turf/exterior/barren/on_update_icon()
- . = ..()
- if(prob(20))
- add_overlay(image('icons/turf/flooring/decals.dmi', "asteroid[rand(0,9)]"))
-
/turf/exterior/barren/Initialize()
+ if(prob(20))
+ LAZYADD(decals, image('icons/turf/flooring/decals.dmi', "asteroid[rand(0,9)]"))
. = ..()
- update_icon()
\ No newline at end of file
diff --git a/code/game/turfs/exterior/exterior_concrete.dm b/code/game/turfs/exterior/exterior_concrete.dm
index 8f4eb268a5a..4a1fb989f44 100644
--- a/code/game/turfs/exterior/exterior_concrete.dm
+++ b/code/game/turfs/exterior/exterior_concrete.dm
@@ -15,7 +15,7 @@ var/global/exterior_broken_states = icon_states('icons/turf/exterior/broken.dmi'
desc = "A flat expanse of artificial stone-like artificial material."
icon = 'icons/turf/exterior/concrete.dmi'
diggable = FALSE
- var/broken
+ var/broken
var/burned
/turf/exterior/concrete/flooded
@@ -38,11 +38,11 @@ var/global/exterior_broken_states = icon_states('icons/turf/exterior/broken.dmi'
/turf/exterior/concrete/reinforced
name = "reinforced concrete"
- desc = "Stone-like artificial material. It has been reinforced with an unknown compound"
+ desc = "Stone-like artificial material. It has been reinforced with an unknown compound."
-/turf/exterior/concrete/reinforced/on_update_icon()
+/turf/exterior/concrete/reinforced/Initialize(ml)
+ LAZYDISTINCTADD(decals, "hexacrete")
. = ..()
- add_overlay("hexacrete")
/turf/exterior/concrete/reinforced/damaged
broken = TRUE
@@ -50,3 +50,4 @@ var/global/exterior_broken_states = icon_states('icons/turf/exterior/broken.dmi'
/turf/exterior/concrete/reinforced/road
name = "asphalt"
color = COLOR_GRAY40
+ base_color = COLOR_GRAY40
diff --git a/code/game/turfs/exterior/exterior_grass.dm b/code/game/turfs/exterior/exterior_grass.dm
index 259e4ccd83f..e67d485510f 100644
--- a/code/game/turfs/exterior/exterior_grass.dm
+++ b/code/game/turfs/exterior/exterior_grass.dm
@@ -16,7 +16,7 @@
/turf/exterior/wildgrass/Initialize()
. = ..()
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(z)]
if(istype(E) && E.grass_color)
color = E.grass_color
diff --git a/code/game/turfs/exterior/exterior_seafloor.dm b/code/game/turfs/exterior/exterior_seafloor.dm
index 07f84bb27aa..4ab69066acd 100644
--- a/code/game/turfs/exterior/exterior_seafloor.dm
+++ b/code/game/turfs/exterior/exterior_seafloor.dm
@@ -10,13 +10,6 @@
color = COLOR_LIQUID_WATER
/turf/exterior/seafloor/Initialize()
+ if(prob(20))
+ LAZYADD(decals, image("asteroid[rand(0,9)]", 'icons/turf/mining_decals.dmi'))
. = ..()
- color = null
- if(isnull(detail_decal) && prob(20))
- detail_decal = "asteroid[rand(0,9)]"
- update_icon()
-
-/turf/exterior/seafloor/on_update_icon()
- . = ..()
- if(detail_decal)
- add_overlay(image(icon = 'icons/turf/mining_decals.dmi', icon_state = detail_decal))
diff --git a/code/game/turfs/exterior/exterior_wall.dm b/code/game/turfs/exterior/exterior_wall.dm
index 2f03714a9cb..9b51f45f062 100644
--- a/code/game/turfs/exterior/exterior_wall.dm
+++ b/code/game/turfs/exterior/exterior_wall.dm
@@ -12,6 +12,7 @@ var/global/list/natural_walls = list()
opacity = TRUE
density = TRUE
blocks_air = TRUE
+ turf_flags = TURF_FLAG_BACKGROUND | TURF_IS_HOLOMAP_OBSTACLE
var/strata
var/paint_color
@@ -19,6 +20,7 @@ var/global/list/natural_walls = list()
var/decl/material/material
var/decl/material/reinf_material
var/floor_type = /turf/exterior/barren
+ var/static/list/exterior_wall_shine_cache = list()
/turf/exterior/wall/examine(mob/user, distance, infix, suffix)
. = ..()
@@ -178,23 +180,18 @@ var/global/list/natural_walls = list()
var/material_icon_base = material.icon_base_natural || 'icons/turf/walls/natural.dmi'
var/base_color = paint_color ? paint_color : material.color
- var/max_shine
- var/shine
+ var/shine = 0
if(material?.reflectiveness > 0)
- max_shine = 0.6 * ReadHSV(RGBtoHSV(material.color))[3] // patened formula based on color's Value (in HSV)
- shine = clamp((material.reflectiveness * 0.01) * 255, 10, max_shine)
-
- var/image/I
- for(var/i = 1 to 4)
- var/apply_state = "[wall_connections[i]]"
- I = image(material_icon_base, apply_state, dir = BITFLAG(i-1))
- I.color = base_color
- add_overlay(I)
- if(shine)
- I = image(material_icon_base, "shine[wall_connections[i]]", dir = BITFLAG(i-1))
- I.appearance_flags |= RESET_ALPHA
- I.alpha = shine
- add_overlay(I)
+ var/shine_cache_key = "[material.reflectiveness]-[material.color]"
+ shine = exterior_wall_shine_cache[shine_cache_key]
+ if(isnull(shine))
+ // patented formula based on color's value (in HSV)
+ shine = clamp((material.reflectiveness * 0.01) * 255, 10, (0.6 * ReadHSV(RGBtoHSV(material.color))[3]))
+ exterior_wall_shine_cache[shine_cache_key] = shine
+
+ icon = get_combined_wall_icon(wall_connections, null, material_icon_base, base_color, shine_value = shine)
+ icon_state = ""
+ color = null
if(ore_overlay)
add_overlay(ore_overlay)
diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm
index 2616d6d1c6f..561fa7d0b55 100644
--- a/code/game/turfs/flooring/flooring_premade.dm
+++ b/code/game/turfs/flooring/flooring_premade.dm
@@ -347,12 +347,12 @@
name = "coastline"
icon = 'icons/misc/beach2.dmi'
icon_state = "sandwater"
- turf_flags = TURF_IS_WET
+ turf_flags = TURF_IS_WET | TURF_IS_HOLOMAP_PATH
/turf/simulated/floor/beach/water
name = "water"
icon_state = "water"
- turf_flags = TURF_IS_WET
+ turf_flags = TURF_IS_WET | TURF_IS_HOLOMAP_PATH
/turf/simulated/floor/beach/water/is_flooded(lying_mob, absolute)
. = absolute ? ..() : lying_mob
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index 3e7b6923115..a2fd937a87d 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -114,8 +114,8 @@
if(shoes.coating && shoes.coating.total_volume > 1)
source = shoes
else
- for(var/bp in list(BP_L_FOOT, BP_R_FOOT))
- var/obj/item/organ/external/stomper = GET_EXTERNAL_ORGAN(src, bp)
+ for(var/foot_tag in list(BP_L_FOOT, BP_R_FOOT))
+ var/obj/item/organ/external/stomper = GET_EXTERNAL_ORGAN(src, foot_tag)
if(stomper && stomper.coating && stomper.coating.total_volume > 1)
source = stomper
if(!source)
diff --git a/code/game/turfs/simulated/_wall_icon_cache.dm b/code/game/turfs/simulated/_wall_icon_cache.dm
new file mode 100644
index 00000000000..9a113e9f15b
--- /dev/null
+++ b/code/game/turfs/simulated/_wall_icon_cache.dm
@@ -0,0 +1,61 @@
+#define CACHE_BASE_MARKER 1
+#define CACHE_PAINT_MARKER 2
+#define CACHE_STRIPE_MARKER 3
+#define CACHE_EDGE_MARKER 4
+#define CACHE_SHINE_MARKER 5
+
+var/global/const/WALL_PAINT_STATE = "paint"
+var/global/const/WALL_STRIPE_STATE = "stripe"
+var/global/const/WALL_OTHER_STATE = "other"
+var/global/const/WALL_SHINE_STATE = "shine"
+
+var/global/list/cached_wall_icons = list()
+/proc/_get_wall_subicon(var/material_icon_base, var/connections, var/color, var/state, var/alpha, var/cache_marker)
+ var/cache_key = jointext(list(cache_marker, material_icon_base, json_encode(connections), color), "-")
+ if(!global.cached_wall_icons[cache_key])
+ var/icon/subicon = icon('icons/turf/wall_texture.dmi', "blank")
+ for(var/i = 1 to 4)
+ var/check_state = "[state][length(connections) >= i ? connections[i] : null]"
+ if(check_state_in_icon(check_state, material_icon_base))
+ subicon.Blend(icon(material_icon_base, check_state, dir = BITFLAG(i-1)), ICON_OVERLAY)
+ if(color && color != COLOR_WHITE)
+ subicon.Blend(color, ICON_MULTIPLY)
+ if(!isnull(alpha))
+ subicon += rgb(null, null, null, alpha)
+ global.cached_wall_icons[cache_key] = subicon
+ return global.cached_wall_icons[cache_key]
+
+/proc/get_combined_wall_icon(var/list/wall_connections, var/list/other_connections, var/material_icon_base, var/base_color, var/paint_color, var/stripe_color, var/edge_color, var/shine_value)
+
+ var/cache_key = list(material_icon_base, json_encode(wall_connections), json_encode(other_connections))
+ if(base_color)
+ cache_key += CACHE_BASE_MARKER
+ cache_key += base_color
+ if(paint_color)
+ cache_key += CACHE_PAINT_MARKER
+ cache_key += paint_color
+ if(stripe_color)
+ cache_key += CACHE_STRIPE_MARKER
+ cache_key += stripe_color
+ if(edge_color)
+ cache_key += CACHE_EDGE_MARKER
+ cache_key += edge_color
+ if(shine_value)
+ cache_key += CACHE_SHINE_MARKER
+ cache_key += shine_value
+ cache_key = jointext(cache_key, "-")
+
+ if(!global.cached_wall_icons[cache_key])
+ var/icon/wall_icon = icon(_get_wall_subicon(material_icon_base, wall_connections, base_color, cache_marker = CACHE_BASE_MARKER))
+ if(paint_color) wall_icon.Blend(_get_wall_subicon(material_icon_base, wall_connections, paint_color, WALL_PAINT_STATE, cache_marker = CACHE_PAINT_MARKER), ICON_OVERLAY)
+ if(stripe_color) wall_icon.Blend(_get_wall_subicon(material_icon_base, wall_connections, stripe_color, WALL_STRIPE_STATE, cache_marker = CACHE_STRIPE_MARKER), ICON_OVERLAY)
+ if(edge_color) wall_icon.Blend(_get_wall_subicon(material_icon_base, other_connections, edge_color, WALL_OTHER_STATE, cache_marker = CACHE_EDGE_MARKER), ICON_OVERLAY)
+ if(shine_value) wall_icon.Blend(_get_wall_subicon(material_icon_base, other_connections, null, WALL_SHINE_STATE, cache_marker = CACHE_SHINE_MARKER, alpha = shine_value), ICON_OVERLAY)
+ global.cached_wall_icons[cache_key] = wall_icon
+ return global.cached_wall_icons[cache_key]
+
+#undef CACHE_BASE_MARKER
+#undef CACHE_PAINT_MARKER
+#undef CACHE_STRIPE_MARKER
+#undef CACHE_EDGE_MARKER
+#undef CACHE_SHINE_MARKER
\ No newline at end of file
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index dff990701e4..a2b6ac8f336 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -6,6 +6,7 @@
thermal_conductivity = 0.040
heat_capacity = 10000
explosion_resistance = 1
+ turf_flags = TURF_IS_HOLOMAP_PATH
// Damage to flooring.
var/broken
diff --git a/code/game/turfs/simulated/wall_icon.dm b/code/game/turfs/simulated/wall_icon.dm
index 1a686e26afe..e16a4efca9f 100644
--- a/code/game/turfs/simulated/wall_icon.dm
+++ b/code/game/turfs/simulated/wall_icon.dm
@@ -123,28 +123,18 @@
other_connections = dirs_to_corner_states(other_dirs)
var/material_icon_base = get_wall_icon()
- var/image/I
var/base_color = material.color
if(!density)
- I = image(material_icon_base, "fwall_open")
- I.color = base_color
- add_overlay(I)
- return
-
- for(var/i = 1 to 4)
- I = image(material_icon_base, "[wall_connections[i]]", dir = BITFLAG(i-1))
- I.color = base_color
- add_overlay(I)
- if(paint_color)
- I = image(icon, "paint[wall_connections[i]]", dir = BITFLAG(i-1))
- I.color = paint_color
- add_overlay(I)
- if(stripe_color)
- I = image(icon, "stripe[wall_connections[i]]", dir = BITFLAG(i-1))
- I.color = stripe_color
- add_overlay(I)
+ icon = material_icon_base
+ icon_state = "fwall_open"
+ color = base_color
+ else
+ icon = get_combined_wall_icon(wall_connections, other_connections, material_icon_base, base_color, paint_color, stripe_color, (material.wall_flags & WALL_HAS_EDGES) && (stripe_color || base_color))
+ icon_state = ""
+ color = null
if(apply_reinf_overlay())
+ var/image/I
var/reinf_color = paint_color ? paint_color : reinf_material.color
if(construction_stage != null && construction_stage < 6)
I = image('icons/turf/walls/_construction_overlays.dmi', "[construction_stage]")
@@ -154,18 +144,8 @@
if(reinf_material.use_reinf_state)
I = image(reinf_material.icon_reinf, reinf_material.use_reinf_state)
I.color = reinf_color
- add_overlay(I)
else
- // Directional icon
- for(var/i = 1 to 4)
- I = image(reinf_material.icon_reinf, "[wall_connections[i]]", dir = BITFLAG(i-1))
- I.color = reinf_color
- add_overlay(I)
-
- if(material.wall_flags & WALL_HAS_EDGES)
- for(var/i = 1 to 4)
- I = image(material_icon_base, "other[other_connections[i]]", dir = BITFLAG(i-1))
- I.color = stripe_color ? stripe_color : base_color
+ I = image(_get_wall_subicon(reinf_material.icon_reinf, wall_connections, reinf_color))
add_overlay(I)
var/image/texture = material.get_wall_texture()
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index 269e75d0965..3a598173670 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -28,6 +28,7 @@ var/global/list/wall_fullblend_objects = list(
explosion_resistance = 10
color = COLOR_GRAY40
atom_flags = ATOM_FLAG_CAN_BE_PAINTED
+ turf_flags = TURF_IS_HOLOMAP_OBSTACLE
var/damage = 0
var/can_open = 0
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index b4af6d188dc..fde96995a2d 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -83,10 +83,10 @@
return ..()
/turf/space/LateInitialize()
- if(global.using_map.base_floor_area)
- var/area/new_area = locate(global.using_map.base_floor_area) || new global.using_map.base_floor_area
+ if(SSmapping.base_floor_area)
+ var/area/new_area = locate(SSmapping.base_floor_area) || new SSmapping.base_floor_area
ChangeArea(src, new_area)
- ChangeTurf(global.using_map.base_floor_type)
+ ChangeTurf(SSmapping.base_floor_type)
// override for space turfs, since they should never hide anything
/turf/space/levelupdate()
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index cb193e80513..edfd424728f 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -371,7 +371,7 @@
/turf/proc/update_weather(var/obj/abstract/weather_system/new_weather, var/force_update_below = FALSE)
if(isnull(new_weather))
- new_weather = global.weather_by_z["[z]"]
+ new_weather = global.weather_by_z[num2text(z)]
// We have a weather system and we are exposed to it; update our vis contents.
if(istype(new_weather) && is_outside())
@@ -401,26 +401,27 @@
if(density)
return OUTSIDE_NO
- // What would we like to return in an ideal world?
- if(is_outside == OUTSIDE_AREA)
+ // What is our local outside value?
+ // Some turfs can be roofed irrespective of the turf above them in multiz.
+ // I have the feeling this is redundat as a roofed turf below max z will
+ // have a floor above it, but ah well.
+ . = is_outside
+ if(. == OUTSIDE_AREA)
var/area/A = get_area(src)
. = A ? A.is_outside : OUTSIDE_NO
- else
- . = is_outside
-
- // Notes for future self when confused: is_open() on higher
- // turfs must match effective is_outside value if the turf
- // should get to use the is_outside value it wants to. If it
- // doesn't line up, we invert the outside value (roof is not
- // open but turf wants to be outside, invert to OUTSIDE_NO).
- // Do we have a roof over our head? Should we care?
+ // If we are in a multiz volume, we return the outside value of
+ // the highest unenclosed turf in the stack.
if(HasAbove(z))
+ . = OUTSIDE_YES // assume for the moment we're unroofed until we learn otherwise.
var/turf/top_of_stack = src
while(HasAbove(top_of_stack.z))
- top_of_stack = GetAbove(top_of_stack)
- if(top_of_stack.is_open() != . || (top_of_stack.is_outside != OUTSIDE_AREA && top_of_stack.is_outside != .))
- return !.
+ var/turf/next_turf = GetAbove(top_of_stack)
+ if(!next_turf.is_open())
+ return OUTSIDE_NO
+ top_of_stack = next_turf
+ // If we hit the top of the stack without finding a roof, we ask the upmost turf if we're outside.
+ return top_of_stack.is_outside()
/turf/proc/set_outside(var/new_outside, var/skip_weather_update = FALSE)
if(is_outside != new_outside)
diff --git a/code/game/turfs/unsimulated/beach.dm b/code/game/turfs/unsimulated/beach.dm
index f9eabf8a09d..58ec57d520b 100644
--- a/code/game/turfs/unsimulated/beach.dm
+++ b/code/game/turfs/unsimulated/beach.dm
@@ -14,7 +14,7 @@
/turf/unsimulated/beach/water
name = "Water"
icon_state = "water"
- turf_flags = TURF_IS_WET
+ turf_flags = TURF_IS_WET | TURF_IS_HOLOMAP_PATH
/turf/unsimulated/beach/water/Initialize(var/ml)
. = ..()
diff --git a/code/game/turfs/unsimulated/floor.dm b/code/game/turfs/unsimulated/floor.dm
index 76fb3a4cab1..0ef222d431c 100644
--- a/code/game/turfs/unsimulated/floor.dm
+++ b/code/game/turfs/unsimulated/floor.dm
@@ -2,6 +2,7 @@
name = "floor"
icon = 'icons/turf/floors.dmi'
icon_state = "Floor3"
+ turf_flags = TURF_IS_HOLOMAP_PATH
/turf/unsimulated/floor/infinity //non-doomsday version for transit and wizden
name = "\proper infinity"
diff --git a/code/game/turfs/unsimulated/walls.dm b/code/game/turfs/unsimulated/walls.dm
index 776ad29e082..35ae20c3970 100644
--- a/code/game/turfs/unsimulated/walls.dm
+++ b/code/game/turfs/unsimulated/walls.dm
@@ -4,6 +4,7 @@
icon_state = "riveted"
opacity = 1
density = 1
+ turf_flags = TURF_IS_HOLOMAP_OBSTACLE
/turf/unsimulated/wall/fakeglass
name = "window"
diff --git a/code/modules/ZAS/Contaminants.dm b/code/modules/ZAS/Contaminants.dm
index 11fde3937c7..cdd312b95ce 100644
--- a/code/modules/ZAS/Contaminants.dm
+++ b/code/modules/ZAS/Contaminants.dm
@@ -72,7 +72,7 @@ var/global/image/contamination_overlay = image('icons/effects/contamination.dmi'
if(vsc.contaminant_control.CLOTH_CONTAMINATION) contaminate()
//Anything else requires them to not be dead.
- if(stat >= 2 || status_flags & GODMODE)
+ if((stat >= DEAD) || (status_flags & GODMODE))
return
//Burn skin if exposed.
diff --git a/code/modules/admin/view_variables/helpers.dm b/code/modules/admin/view_variables/helpers.dm
index e66b276d3fa..3c5be6f00d8 100644
--- a/code/modules/admin/view_variables/helpers.dm
+++ b/code/modules/admin/view_variables/helpers.dm
@@ -87,6 +87,11 @@
Trigger EM pulse
"}
+/obj/item/get_view_variables_options()
+ return ..() + {"
+ Set material
+ "}
+
/turf/get_view_variables_options()
return ..() + {"
Trigger explosion
diff --git a/code/modules/admin/view_variables/topic.dm b/code/modules/admin/view_variables/topic.dm
index c7eb1ef72a4..b903fde249c 100644
--- a/code/modules/admin/view_variables/topic.dm
+++ b/code/modules/admin/view_variables/topic.dm
@@ -593,6 +593,26 @@
return
log_and_message_admins("removed \the [choice] to \the [L]")
qdel(choice)
+
+ else if(href_list["setmaterial"])
+ if(!check_rights(R_DEBUG)) return
+
+ var/obj/item/I = locate(href_list["setmaterial"])
+ if(!istype(I))
+ to_chat(usr, "This can only be done to instances of type /obj/item")
+ return
+
+ var/new_material = input("Please choose a new material.","Materials",null) as null|anything in SSmaterials.materials_by_name
+ if(!new_material)
+ return
+ if(QDELETED(I))
+ to_chat(usr, "Item doesn't exist anymore")
+ return
+
+ var/decl/material/M = SSmaterials.materials_by_name[new_material]
+ I.set_material(M.type)
+ to_chat(usr, "Set material of [I] to [I.get_material()].")
+
if(href_list["datumrefresh"])
var/datum/DAT = locate(href_list["datumrefresh"])
if(istype(DAT, /datum) || istype(DAT, /client))
diff --git a/code/modules/admin/view_variables/vv_set_handlers.dm b/code/modules/admin/view_variables/vv_set_handlers.dm
index 8aeff484bae..7c81beb725b 100644
--- a/code/modules/admin/view_variables/vv_set_handlers.dm
+++ b/code/modules/admin/view_variables/vv_set_handlers.dm
@@ -181,3 +181,17 @@
var/new_scale_y = variable == "icon_scale_y" ? var_value : A.icon_scale_y
A.set_scale(new_scale_x, new_scale_y)
+
+
+/decl/vv_set_handler/directional_offset_hander
+ handled_type = /obj
+ handled_vars = list("directional_offset")
+
+/decl/vv_set_handler/directional_offset_hander/handle_set_var(var/obj/O, variable, var_value, client)
+ if(!istext(var_value) && !isnull(var_value))
+ to_chat(client, SPAN_WARNING("You can only enter a JSON string, or nothing in this field!"))
+ return
+
+ //Set the offset and force update
+ O.directional_offset = var_value
+ O.update_directional_offset(TRUE)
diff --git a/code/modules/alarm/alarm_handler.dm b/code/modules/alarm/alarm_handler.dm
index 8ef2baf9753..14003e5826a 100644
--- a/code/modules/alarm/alarm_handler.dm
+++ b/code/modules/alarm/alarm_handler.dm
@@ -53,8 +53,8 @@
/datum/alarm_handler/proc/alarms(var/z_level)
if(z_level)
. = list()
- for(var/z in GetConnectedZlevels(z_level))
- . += alarms_by_z["[z]"] || list()
+ for(var/z in SSmapping.get_connected_levels(z_level))
+ . += alarms_by_z[num2text(z)] || list()
else
return alarms
diff --git a/code/modules/atmospherics/components/unary/heat_source.dm b/code/modules/atmospherics/components/unary/heat_source.dm
index 4ccf0c95cce..20b6e32cf45 100644
--- a/code/modules/atmospherics/components/unary/heat_source.dm
+++ b/code/modules/atmospherics/components/unary/heat_source.dm
@@ -15,6 +15,7 @@
construct_state = /decl/machine_construction/default/panel_closed
uncreated_component_parts = null
stat_immune = 0
+ connect_types = CONNECT_TYPE_REGULAR | CONNECT_TYPE_FUEL
var/max_temperature = T20C + 680
var/internal_volume = 600 //L
diff --git a/code/modules/atmospherics/components/unary/vent_scrubber.dm b/code/modules/atmospherics/components/unary/vent_scrubber.dm
index 0d728ecc980..9e210474b83 100644
--- a/code/modules/atmospherics/components/unary/vent_scrubber.dm
+++ b/code/modules/atmospherics/components/unary/vent_scrubber.dm
@@ -249,6 +249,8 @@
to_chat(user, "You are too far away to read the gauge.")
if(welded)
to_chat(user, "It seems welded shut.")
+ if(!(stat & NOPOWER) && use_power && user.skill_check(SKILL_ATMOS,SKILL_BASIC))
+ to_chat(user, "It's running in [scrubbing] mode.")
/obj/machinery/atmospherics/unary/vent_scrubber/refresh()
..()
diff --git a/code/modules/augment/passive/nanoaura.dm b/code/modules/augment/passive/nanoaura.dm
index 713805bff2d..662be61f8eb 100644
--- a/code/modules/augment/passive/nanoaura.dm
+++ b/code/modules/augment/passive/nanoaura.dm
@@ -78,6 +78,6 @@
/obj/aura/nanoaura/Destroy()
- to_chat(user, SPAN_WARNING("\The nanites dissolve!"))
+ to_chat(user, SPAN_WARNING("The nanites dissolve!"))
unit = null
return ..()
diff --git a/code/modules/client/asset_cache.dm b/code/modules/client/asset_cache.dm
index 2fc3dd94988..afdee2dc6bf 100644
--- a/code/modules/client/asset_cache.dm
+++ b/code/modules/client/asset_cache.dm
@@ -188,7 +188,7 @@ var/global/template_file_name = "all_templates.json"
merge_and_register_templates()
var/list/mapnames = list()
- for(var/z in global.using_map.map_levels)
+ for(var/z in SSmapping.map_levels)
mapnames += map_image_file_name(z)
var/list/filenames = flist(MAP_IMAGE_PATH)
diff --git a/code/modules/client/client_color_definitions.dm b/code/modules/client/client_color_definitions.dm
index 86648ee16fa..bb90e887dd7 100644
--- a/code/modules/client/client_color_definitions.dm
+++ b/code/modules/client/client_color_definitions.dm
@@ -4,8 +4,8 @@
/datum/client_color/deuteranopia
priority = 100
client_color = list(
- 0.47,0.38,0.15,
- 0.54,0.31,0.15,
+ 0.47,0.38,0.15,
+ 0.54,0.31,0.15,
0,0.3,0.7
)
wire_colour_substitutions = list(
@@ -13,15 +13,15 @@
"darkred" = "black",
"purple" = "blue",
"orange" = "yellow",
- "brown" = "yellow",
+ "brown" = "yellow",
"green" = "yellow"
)
/datum/client_color/protanopia
priority = 100
client_color = list(
- 0.51,0.4,0.12,
- 0.49,0.41,0.12,
+ 0.51,0.4,0.12,
+ 0.49,0.41,0.12,
0,0.2,0.76
)
wire_colour_substitutions = list(
@@ -29,22 +29,22 @@
"darkred" = "black",
"purple" = "blue",
"orange" = "yellow",
- "brown" = "yellow",
+ "brown" = "yellow",
"green" = "yellow"
)
/datum/client_color/tritanopia
priority = 100
client_color = list(
- 0.95,0.07,0,
- 0,0.44,0.52,
+ 0.95,0.07,0,
+ 0,0.44,0.52,
0.05,0.49,0.48
)
wire_colour_substitutions = list(
- "blue" = "green",
+ "blue" = "green",
"orange" = "pink",
- "brown" = "pink",
- "gold" = "pink",
+ "brown" = "pink",
+ "gold" = "pink",
"yellow" = "pink",
"cyan" = "green",
"navy" = "green",
@@ -54,18 +54,18 @@
/datum/client_color/achromatopsia
priority = 100
client_color = list(
- 0.33,0.33,0.33,
- 0.33,0.33,0.33,
+ 0.33,0.33,0.33,
+ 0.33,0.33,0.33,
0.33,0.33,0.33
)
wire_colour_substitutions = list(
- "red" = "gray",
- "blue" = "black",
- "green" = "gray",
- "darkred" = "black",
+ "red" = "gray",
+ "blue" = "black",
+ "green" = "gray",
+ "darkred" = "black",
"orange" = "gray",
- "brown" = "gray",
- "gold" = "gray",
+ "brown" = "gray",
+ "gold" = "gray",
"cyan" = "gray",
"navy" = "gray",
"purple" = "black",
@@ -87,13 +87,13 @@
priority = INFINITY //This effect sort of exists on its own you /have/ to be seeing RED
override = TRUE //Because multiplying this will inevitably fail
wire_colour_substitutions = list(
- "red" = "red",
- "blue" = "red",
- "green" = "red",
- "darkred" = "red",
+ "red" = "red",
+ "blue" = "red",
+ "green" = "red",
+ "darkred" = "red",
"orange" = "red",
- "brown" = "red",
- "gold" = "red",
+ "brown" = "red",
+ "gold" = "red",
"cyan" = "red",
"navy" = "red",
"purple" = "red",
@@ -103,4 +103,4 @@
)
/datum/client_color/oversaturated/New()
- client_color = color_saturation(40)
+ client_color = color_matrix_saturation(1.4)
diff --git a/code/modules/client/preference_setup/general/01_basic.dm b/code/modules/client/preference_setup/general/01_basic.dm
index 548a88fa022..04fb9537e40 100644
--- a/code/modules/client/preference_setup/general/01_basic.dm
+++ b/code/modules/client/preference_setup/general/01_basic.dm
@@ -33,7 +33,7 @@
W.write("spawnpoint", spawnpoint.name)
/datum/category_item/player_setup_item/physical/basic/sanitize_character()
-
+
var/valid_spawn = FALSE
for(var/decl/spawnpoint/spawnpoint as anything in global.using_map.allowed_spawns)
if(pref.spawnpoint == spawnpoint.type)
diff --git a/code/modules/client/preference_setup/general/02_body.dm b/code/modules/client/preference_setup/general/02_body.dm
index eb0b38a42d4..ddc0ae5b0c2 100644
--- a/code/modules/client/preference_setup/general/02_body.dm
+++ b/code/modules/client/preference_setup/general/02_body.dm
@@ -309,10 +309,10 @@
for(var/M in all_markings)
if(M in pref.body_markings)
continue
- var/decl/sprite_accessory/S = all_markings[M]
- if(is_type_in_list(S, disallowed_markings) || (S.species_allowed && !(mob_species.get_root_species_name() in S.species_allowed)) || (S.subspecies_allowed && !(mob_species.name in S.subspecies_allowed)))
- continue
- usable_markings += S
+ var/decl/sprite_accessory/accessory = all_markings[M]
+ var/decl/bodytype/mob_bodytype = mob_species.get_bodytype_by_name(pref.bodytype)
+ if(!is_type_in_list(accessory, disallowed_markings) && accessory.accessory_is_available(preference_mob(), mob_species, mob_bodytype.bodytype_flag, pref.gender))
+ usable_markings += accessory
var/decl/sprite_accessory/new_marking = input(user, "Choose a body marking:", CHARACTER_PREFERENCE_INPUT_TITLE) as null|anything in usable_markings
if(new_marking && CanUseTopic(user))
diff --git a/code/modules/client/preference_setup/loadout/loadout.dm b/code/modules/client/preference_setup/loadout/loadout.dm
index de20fb7916e..3a8dc7625e3 100644
--- a/code/modules/client/preference_setup/loadout/loadout.dm
+++ b/code/modules/client/preference_setup/loadout/loadout.dm
@@ -417,28 +417,39 @@ var/global/list/gear_datums = list()
if(metadata && !islist(metadata))
PRINT_STACK_TRACE("Loadout spawn_item() proc received non-null non-list metadata: '[json_encode(metadata)]'")
-/decl/loadout_option/proc/spawn_on_mob(var/mob/living/carbon/human/H, var/metadata)
- var/obj/item/item = spawn_and_validate_item(H, metadata)
+/decl/loadout_option/proc/spawn_on_mob(mob/living/carbon/human/wearer, metadata)
+ var/obj/item/item = spawn_and_validate_item(wearer, metadata)
if(!item)
return
- if(H.equip_to_slot_if_possible(item, slot, del_on_fail = 1, force = 1))
+ var/obj/item/old_item = wearer.get_equipped_item(slot)
+ if(wearer.equip_to_slot_if_possible(item, slot, del_on_fail = TRUE, force = TRUE, delete_old_item = FALSE))
. = item
+ if(!old_item)
+ return
+ wearer.u_equip(old_item)
+ if(old_item.type != item.type)
+ place_in_storage_or_drop(wearer, old_item)
+ else
+ qdel(old_item)
-/decl/loadout_option/proc/spawn_in_storage_or_drop(var/mob/living/carbon/human/H, var/metadata)
- var/obj/item/item = spawn_and_validate_item(H, metadata)
+/decl/loadout_option/proc/spawn_in_storage_or_drop(mob/living/carbon/human/wearer, metadata)
+ var/obj/item/item = spawn_and_validate_item(wearer, metadata)
if(!item)
return
- var/atom/placed_in = H.equip_to_storage(item)
+ place_in_storage_or_drop(wearer, item)
+
+/decl/loadout_option/proc/place_in_storage_or_drop(mob/living/carbon/human/wearer, obj/item/item)
+ var/atom/placed_in = wearer.equip_to_storage(item)
if(placed_in)
- to_chat(H, "Placing \the [item] in your [placed_in.name]! ")
- else if(H.equip_to_appropriate_slot(item))
- to_chat(H, "Placing \the [item] in your inventory! ")
- else if(H.put_in_hands(item))
- to_chat(H, "Placing \the [item] in your hands! ")
+ to_chat(wearer, SPAN_NOTICE("Placing \the [item] in your [placed_in.name]!"))
+ else if(wearer.equip_to_appropriate_slot(item))
+ to_chat(wearer, SPAN_NOTICE("Placing \the [item] in your inventory!"))
+ else if(wearer.put_in_hands(item))
+ to_chat(wearer, SPAN_NOTICE("Placing \the [item] in your hands!"))
else
- to_chat(H, "Dropping \the [item] on the ground! ")
+ to_chat(wearer, SPAN_DANGER("Dropping \the [item] on the ground!"))
/decl/loadout_option/proc/spawn_and_validate_item(mob/living/carbon/human/H, metadata)
PRIVATE_PROC(TRUE)
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index cc49385f397..d605f0e83f6 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -237,7 +237,7 @@ var/global/list/time_prefs_fixed = list()
/datum/preferences/proc/update_setup_window(mob/user)
send_output(user, url_encode(get_content(user)), "preferences_browser:update_content")
-/datum/preferences/proc/update_character_previews(mutable_appearance/MA)
+/datum/preferences/proc/update_character_previews(mob/living/mannequin)
if(!client)
return
@@ -258,6 +258,8 @@ var/global/list/time_prefs_fixed = list()
O.pref = src
LAZYSET(char_render_holders, "[D]", O)
client.screen |= O
+ mannequin.set_dir(D) // necessary to update direction-dependent over/underlays like tails.
+ var/mutable_appearance/MA = new /mutable_appearance(mannequin)
O.appearance = MA
O.dir = D
O.screen_loc = preview_screen_locs["[D]"]
@@ -400,8 +402,8 @@ var/global/list/time_prefs_fixed = list()
var/decl/sprite_accessory/marking/mark_datum = GET_DECL(M)
var/mark_color = "[body_markings[M]]"
- for(var/BP in mark_datum.body_parts)
- var/obj/item/organ/external/O = GET_EXTERNAL_ORGAN(character, BP)
+ for(var/bodypart in mark_datum.body_parts)
+ var/obj/item/organ/external/O = GET_EXTERNAL_ORGAN(character, bodypart)
if(O)
LAZYSET(O.markings, M, mark_color)
diff --git a/code/modules/clothing/head/headphones.dm b/code/modules/clothing/head/headphones.dm
index e0020c7d115..4d091f6befe 100644
--- a/code/modules/clothing/head/headphones.dm
+++ b/code/modules/clothing/head/headphones.dm
@@ -68,9 +68,10 @@
stop_music(user)
/obj/item/clothing/head/headphones/proc/play_music(mob/user)
+ var/static/list/allowed_slots = list(slot_l_ear_str, slot_r_ear_str, slot_head_str)
if(!user || !user.client)
return
- if(!(user.get_inventory_slot(src) in list(slot_l_ear_str, slot_r_ear_str)))
+ if(!(user.get_equipped_slot_for_item(src) in allowed_slots))
return
if(current_track)
var/decl/music_track/track = GET_DECL(global.music_tracks[current_track])
diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm
index d079ee11524..071d8d5091a 100644
--- a/code/modules/clothing/spacesuits/void/void.dm
+++ b/code/modules/clothing/spacesuits/void/void.dm
@@ -197,7 +197,7 @@ else if(##equipment_var) {\
if(!istype(H)) return
if(H.incapacitated()) return
- var/slot = H.get_inventory_slot(src)
+ var/slot = H.get_equipped_slot_for_item(src)
if(slot != slot_wear_suit_str && !(slot in H.held_item_slots))
return// let them eject those tanks when they're in hand or stuff for ease of use
@@ -216,7 +216,7 @@ else if(##equipment_var) {\
return ..()
if(IS_SCREWDRIVER(W))
- if(user.get_inventory_slot(src) == slot_wear_suit_str)//maybe I should make this into a proc?
+ if(user.get_equipped_slot_for_item(src) == slot_wear_suit_str)//maybe I should make this into a proc?
to_chat(user, "You cannot modify \the [src] while it is being worn. ")
return
@@ -241,7 +241,7 @@ else if(##equipment_var) {\
to_chat(user, "\The [src] does not have anything installed.")
return
else if(istype(W,/obj/item/clothing/head/helmet/space))
- if(user.get_inventory_slot(src) == slot_wear_suit_str)
+ if(user.get_equipped_slot_for_item(src) == slot_wear_suit_str)
to_chat(user, "You cannot modify \the [src] while it is being worn. ")
return
if(helmet)
@@ -254,7 +254,7 @@ else if(##equipment_var) {\
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
return
else if(istype(W,/obj/item/clothing/shoes/magboots))
- if(user.get_inventory_slot(src) == slot_wear_suit_str)
+ if(user.get_equipped_slot_for_item(src) == slot_wear_suit_str)
to_chat(user, "You cannot modify \the [src] while it is being worn. ")
return
if(boots)
@@ -267,7 +267,7 @@ else if(##equipment_var) {\
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
return
else if(istype(W,/obj/item/tank))
- if(user.get_inventory_slot(src) == slot_wear_suit_str)
+ if(user.get_equipped_slot_for_item(src) == slot_wear_suit_str)
to_chat(user, "You cannot modify \the [src] while it is being worn. ")
return
if(tank)
diff --git a/code/modules/clothing/under/accessories/accessory_toggleable.dm b/code/modules/clothing/under/accessories/accessory_toggleable.dm
index 1c7712c3b0a..0720696be1d 100644
--- a/code/modules/clothing/under/accessories/accessory_toggleable.dm
+++ b/code/modules/clothing/under/accessories/accessory_toggleable.dm
@@ -91,7 +91,7 @@
/obj/item/clothing/accessory/toggleable/hawaii/random/Initialize()
. = ..()
icon = pick('icons/clothing/accessories/clothing/hawaiian.dmi', 'icons/clothing/accessories/clothing/hawaiian_alt.dmi')
- color = color_rotation(rand(-11,12)*15)
+ color = color_matrix_rotate_hue(rand(-11,12)*15)
/obj/item/clothing/accessory/toggleable/zhongshan
name = "zhongshan suit jacket"
diff --git a/code/modules/codex/codex_atom.dm b/code/modules/codex/codex_atom.dm
index 859c6a4491a..531ae62e228 100644
--- a/code/modules/codex/codex_atom.dm
+++ b/code/modules/codex/codex_atom.dm
@@ -1,18 +1,29 @@
+/atom
+ var/atom_codex_ref
+
+/obj
+ atom_codex_ref = TRUE
+
+/mob
+ atom_codex_ref = TRUE
+
+/turf
+ atom_codex_ref = TRUE
+
/atom/proc/get_codex_value()
return src
/atom/proc/get_specific_codex_entry()
- if(SScodex.entries_by_path[type])
- return SScodex.entries_by_path[type]
-
- var/lore = get_lore_info()
- var/mechanics = get_mechanics_info()
- var/antag = get_antag_info()
- if(!lore && !mechanics && !antag)
- return FALSE
-
- var/datum/codex_entry/entry = new(name, list(type), _lore_text = lore, _mechanics_text = mechanics, _antag_text = antag)
- return entry
+ if(!atom_codex_ref)
+ return
+ if(!istype(atom_codex_ref, /datum/codex_entry))
+ var/lore = get_lore_info()
+ var/mechanics = get_mechanics_info()
+ var/antag = get_antag_info()
+ if(!lore && !mechanics && !antag)
+ return
+ atom_codex_ref = new /datum/codex_entry/temporary(name, list(type), _lore_text = lore, _mechanics_text = mechanics, _antag_text = antag)
+ return atom_codex_ref
/atom/proc/get_mechanics_info()
return
diff --git a/code/modules/codex/entries/_codex_entry.dm b/code/modules/codex/entries/_codex_entry.dm
index 34fe9460ace..635e296fd72 100644
--- a/code/modules/codex/entries/_codex_entry.dm
+++ b/code/modules/codex/entries/_codex_entry.dm
@@ -3,6 +3,7 @@
/datum/codex_entry
var/name
+ var/store_codex_entry = TRUE
var/list/associated_strings
var/list/associated_paths
var/lore_text
@@ -11,9 +12,10 @@
var/disambiguator
var/list/categories
-/datum/codex_entry/New(var/_display_name, var/list/_associated_paths, var/list/_associated_strings, var/_lore_text, var/_mechanics_text, var/_antag_text)
+/datum/codex_entry/temporary
+ store_codex_entry = FALSE
- SScodex.all_entries += src
+/datum/codex_entry/New(var/_display_name, var/list/_associated_paths, var/list/_associated_strings, var/_lore_text, var/_mechanics_text, var/_antag_text)
if(_display_name) name = _display_name
if(_associated_paths) associated_paths = _associated_paths
@@ -22,7 +24,7 @@
if(_mechanics_text) mechanics_text = _mechanics_text
if(_antag_text) antag_text = _antag_text
- if(length(associated_paths))
+ if(store_codex_entry && length(associated_paths))
for(var/tpath in associated_paths)
var/atom/thing = tpath
var/thing_name = codex_sanitize(initial(thing.name))
@@ -40,23 +42,37 @@
else
CRASH("Attempted to instantiate unnamed codex entry with no associated strings!")
- LAZYDISTINCTADD(associated_strings, codex_sanitize(name))
- for(var/associated_string in associated_strings)
- var/clean_string = codex_sanitize(associated_string)
- if(!clean_string)
- associated_strings -= associated_string
- continue
- if(clean_string != associated_string)
- associated_strings -= associated_string
- associated_strings |= clean_string
- if(SScodex.entries_by_string[clean_string])
- PRINT_STACK_TRACE("Trying to save codex entry for [name] by string [clean_string] but one already exists!")
- SScodex.entries_by_string[clean_string] = src
+ if(store_codex_entry)
+ SScodex.all_entries += src
+ LAZYDISTINCTADD(associated_strings, codex_sanitize(name))
+ for(var/associated_string in associated_strings)
+ var/clean_string = codex_sanitize(associated_string)
+ if(!clean_string)
+ associated_strings -= associated_string
+ continue
+ if(clean_string != associated_string)
+ associated_strings -= associated_string
+ associated_strings |= clean_string
+ if(SScodex.entries_by_string[clean_string])
+ PRINT_STACK_TRACE("Trying to save codex entry for [name] by string [clean_string] but one already exists!")
+ SScodex.entries_by_string[clean_string] = src
..()
/datum/codex_entry/Destroy(force)
- SScodex.all_entries -= src
+ if(store_codex_entry) // Gating here to avoid unnecessary list checking overhead.
+ SScodex.all_entries -= src
+ for(var/associated_string in associated_strings)
+ SScodex.entries_by_string -= associated_string
+ for(var/associated_path in associated_paths)
+ SScodex.entries_by_path -= associated_path
+ for(var/thing in SScodex.index_file)
+ if(src == SScodex.index_file[thing])
+ SScodex.index_file -= thing
+ for(var/thing in SScodex.search_cache)
+ var/list/cached = SScodex.search_cache[thing]
+ if(src in cached)
+ cached -= src
. = ..()
/datum/codex_entry/proc/get_codex_header(var/mob/presenting_to)
@@ -67,7 +83,7 @@
if(presenting_to.client)
. += "Search Codex "
. += "List All Entries "
- . += " "
+ . += "[name] "
/datum/codex_entry/proc/get_codex_footer(var/mob/presenting_to)
. = list()
diff --git a/code/modules/codex/entries/codex.dm b/code/modules/codex/entries/codex.dm
index 4028038ddb1..e7f621bf40f 100644
--- a/code/modules/codex/entries/codex.dm
+++ b/code/modules/codex/entries/codex.dm
@@ -21,7 +21,7 @@
mechanics_text = "The place to start with The Codex "
/datum/codex_entry/nexus/get_codex_body(mob/presenting_to, include_header, include_footer)
- . = list(get_codex_header(presenting_to))
+ . = get_codex_header(presenting_to)
. += "[mechanics_text]"
. += "Categories "
var/list/category_strings
diff --git a/code/modules/events/carp_migration.dm b/code/modules/events/carp_migration.dm
index 737fb25190c..fde3b27d545 100644
--- a/code/modules/events/carp_migration.dm
+++ b/code/modules/events/carp_migration.dm
@@ -32,7 +32,7 @@ var/global/list/carp_count = list() // a list of Z levels (string), associated w
announcement = "A massive migration of unknown biological entities has been detected in the vicinity of the [location_name()]. Exercise external operations with caution."
else
announcement = "A large migration of unknown biological entities has been detected in the vicinity of the [location_name()]. Caution is advised."
-
+
command_announcement.Announce(announcement, "[location_name()] Sensor Array", zlevels = affecting_z)
/datum/event/carp_migration/tick()
@@ -66,7 +66,7 @@ var/global/list/carp_count = list() // a list of Z levels (string), associated w
I += 3
events_repository.register(/decl/observ/death, M,src,/datum/event/carp_migration/proc/reduce_carp_count)
events_repository.register(/decl/observ/destroyed, M,src,/datum/event/carp_migration/proc/reduce_carp_count)
- LAZYADD(global.carp_count["[Z]"], M)
+ LAZYADD(global.carp_count[num2text(Z)], M)
spawned_carp ++
M.throw_at(get_random_edge_turf(global.reverse_dir[direction],TRANSITIONEDGE + 2, Z), 250, speed, callback = CALLBACK(src,/datum/event/carp_migration/proc/check_gib,M))
I++
@@ -93,7 +93,7 @@ var/global/list/carp_count = list() // a list of Z levels (string), associated w
/datum/event/carp_migration/proc/reduce_carp_count(var/mob/M)
for(var/Z in affecting_z)
- var/list/L = global.carp_count["[Z]"]
+ var/list/L = global.carp_count[num2text(Z)]
if(M in L)
LAZYREMOVE(L,M)
break
diff --git a/code/modules/events/electrical_storm.dm b/code/modules/events/electrical_storm.dm
index 391550545ca..33914e601f4 100644
--- a/code/modules/events/electrical_storm.dm
+++ b/code/modules/events/electrical_storm.dm
@@ -53,7 +53,7 @@
return
for(var/i in affecting_z)
- var/obj/effect/overmap/visitable/sector = global.overmap_sectors["[i]"]
+ var/obj/effect/overmap/visitable/sector = global.overmap_sectors[num2text(i)]
if(istype(sector))
overmap_sectors |= sector
else
diff --git a/code/modules/events/event.dm b/code/modules/events/event.dm
index cd4a4bb2e16..4a41dbf3d31 100644
--- a/code/modules/events/event.dm
+++ b/code/modules/events/event.dm
@@ -157,7 +157,7 @@
startedAt = world.time
if(!affecting_z)
- affecting_z = global.using_map.station_levels
+ affecting_z = SSmapping.station_levels
setup()
..()
@@ -165,5 +165,5 @@
/datum/event/proc/location_name()
if(!length(global.using_map.overmap_ids))
return station_name()
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[pick(affecting_z)]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(pick(affecting_z))]
return O?.name || "Unknown Location"
diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm
index c76ac682af5..e414cd6f8a8 100644
--- a/code/modules/events/ion_storm.dm
+++ b/code/modules/events/ion_storm.dm
@@ -8,7 +8,7 @@
/datum/event/ionstorm/get_skybox_image()
if(!cloud_hueshift)
- cloud_hueshift = color_rotation(rand(-3,3)*15)
+ cloud_hueshift = color_matrix_rotate_hue(rand(-3,3)*15)
var/image/res = overlay_image('icons/skybox/ionbox.dmi', "ions", cloud_hueshift, RESET_COLOR)
res.blend_mode = BLEND_ADD
return res
diff --git a/code/modules/events/rogue_drones.dm b/code/modules/events/rogue_drones.dm
index 6f2ad353c22..aa4733b207e 100644
--- a/code/modules/events/rogue_drones.dm
+++ b/code/modules/events/rogue_drones.dm
@@ -38,7 +38,7 @@
var/num_recovered = 0
for(var/mob/living/simple_animal/hostile/retaliate/malf_drone/D in drones_list)
spark_at(D.loc)
- D.z = global.using_map.admin_levels[1]
+ D.z = SSmapping.admin_levels[1]
D.has_loot = 0
qdel(D)
diff --git a/code/modules/events/wormholes.dm b/code/modules/events/wormholes.dm
index 6929daeefb1..9417b19dfdf 100644
--- a/code/modules/events/wormholes.dm
+++ b/code/modules/events/wormholes.dm
@@ -7,7 +7,7 @@
var/shift_frequency = 3
var/number_of_wormholes = 400
-/datum/event/wormholes/setup(affected_z_levels = global.using_map.player_levels)
+/datum/event/wormholes/setup(affected_z_levels = SSmapping.player_levels)
if(affected_z_levels)
affecting_z = affected_z_levels
announceWhen = rand(0, 20)
diff --git a/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm b/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm
index 41be4780345..eb02821ccad 100644
--- a/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm
+++ b/code/modules/fabrication/designs/imprinter/designs_misc_circuits.dm
@@ -269,6 +269,9 @@
/datum/fabricator_recipe/imprinter/circuit/design_console
path = /obj/item/stock_parts/circuitboard/design_console
+/datum/fabricator_recipe/imprinter/circuit/design_database
+ path = /obj/item/stock_parts/circuitboard/design_database
+
/datum/fabricator_recipe/imprinter/circuit/sensors
path = /obj/item/stock_parts/circuitboard/sensors
@@ -446,6 +449,9 @@
/datum/fabricator_recipe/imprinter/circuit/merchant_pad
path = /obj/item/stock_parts/circuitboard/merchant_pad
+/datum/fabricator_recipe/imprinter/circuit/radiocarbon_spectrometer
+ path = /obj/item/stock_parts/circuitboard/radiocarbon_spectrometer
+
/datum/fabricator_recipe/imprinter/circuit/jukebox
path = /obj/item/stock_parts/circuitboard/jukebox
@@ -473,6 +479,9 @@
/datum/fabricator_recipe/imprinter/circuit/router_wall_mounted
path = /obj/item/stock_parts/circuitboard/router/wall_mounted
+/datum/fabricator_recipe/imprinter/circuit/modem
+ path = /obj/item/stock_parts/circuitboard/modem
+
/datum/fabricator_recipe/imprinter/circuit/relay
path = /obj/item/stock_parts/circuitboard/relay
@@ -493,3 +502,6 @@
/datum/fabricator_recipe/imprinter/circuit/photocopier
path = /obj/item/stock_parts/circuitboard/photocopier
+
+/datum/fabricator_recipe/imprinter/circuit/holomap
+ path = /obj/item/stock_parts/circuitboard/holomap
diff --git a/code/modules/fabrication/designs/industrial/designs_exosuit_components.dm b/code/modules/fabrication/designs/industrial/designs_exosuit_components.dm
index 04fac032ffa..1c4f1849691 100644
--- a/code/modules/fabrication/designs/industrial/designs_exosuit_components.dm
+++ b/code/modules/fabrication/designs/industrial/designs_exosuit_components.dm
@@ -84,29 +84,56 @@
/datum/fabricator_recipe/industrial/exosuit_gear/drill
path = /obj/item/mech_equipment/drill
-/datum/fabricator_recipe/industrial/exosuit_gear/taser
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted
path = /obj/item/mech_equipment/mounted_system/taser
-/datum/fabricator_recipe/industrial/exosuit_gear/plasma
+// Add the resources from whatever is mounted on the system
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/get_resources()
+ . = ..()
+ if(!ispath(path, /obj/item/mech_equipment/mounted_system))
+ return
+ var/obj/item/mech_equipment/mounted_system/system = path
+
+ var/mounted_type = initial(system.holding_type)
+ if(!mounted_type)
+ return
+ var/list/mounted_cost = atom_info_repository.get_matter_for(mounted_type)
+ for(var/mat in mounted_cost)
+ resources[mat] += mounted_cost[mat] * FABRICATOR_EXTRA_COST_FACTOR
+
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/plasma
path = /obj/item/mech_equipment/mounted_system/taser/plasma
-/datum/fabricator_recipe/industrial/exosuit_gear/ion
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/ion
path = /obj/item/mech_equipment/mounted_system/taser/ion
-/datum/fabricator_recipe/industrial/exosuit_gear/laser
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/laser
path = /obj/item/mech_equipment/mounted_system/taser/laser
-/datum/fabricator_recipe/industrial/exosuit_gear/rcd
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/smg
+ path = /obj/item/mech_equipment/mounted_system/projectile
+
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/rifle
+ path = /obj/item/mech_equipment/mounted_system/projectile/assault_rifle
+
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/rcd
path = /obj/item/mech_equipment/mounted_system/rcd
-/datum/fabricator_recipe/industrial/exosuit_gear/floodlight
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/floodlight
path = /obj/item/mech_equipment/light
-/datum/fabricator_recipe/industrial/exosuit_gear/sleeper
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/sleeper
path = /obj/item/mech_equipment/sleeper
-/datum/fabricator_recipe/industrial/exosuit_gear/extinguisher
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/extinguisher
path = /obj/item/mech_equipment/mounted_system/extinguisher
-/datum/fabricator_recipe/industrial/exosuit_gear/mechshields
+/datum/fabricator_recipe/industrial/exosuit_gear/mounted/mechshields
path = /obj/item/mech_equipment/shields
+
+/datum/fabricator_recipe/industrial/exosuit_ammo
+ category = "Exosuit Ammunition"
+ path = /obj/item/ammo_magazine/mech/smg_top
+
+/datum/fabricator_recipe/industrial/exosuit_ammo
+ path = /obj/item/ammo_magazine/mech/rifle
\ No newline at end of file
diff --git a/code/modules/fabrication/designs/protolathe/designs_tools.dm b/code/modules/fabrication/designs/protolathe/designs_tools.dm
index 72fcbb248f0..a70e4be60fe 100644
--- a/code/modules/fabrication/designs/protolathe/designs_tools.dm
+++ b/code/modules/fabrication/designs/protolathe/designs_tools.dm
@@ -65,6 +65,12 @@
/datum/fabricator_recipe/protolathe/tool/adv_reagent_scanner
path = /obj/item/scanner/reagent/adv
+/datum/fabricator_recipe/protolathe/tool/health_scanner
+ path = /obj/item/scanner/health
+
+/datum/fabricator_recipe/protolathe/tool/breath_scanner
+ path = /obj/item/scanner/breath
+
/datum/fabricator_recipe/protolathe/tool/nanopaste
path = /obj/item/stack/nanopaste
diff --git a/code/modules/holomap/holomap.dm b/code/modules/holomap/holomap.dm
new file mode 100644
index 00000000000..1b2968516a2
--- /dev/null
+++ b/code/modules/holomap/holomap.dm
@@ -0,0 +1,417 @@
+/obj/machinery/holomap
+ name = "holomap"
+ desc = "A screen that projects a map of the surrounding structure."
+ icon = 'icons/obj/machines/stationmap.dmi'
+ icon_state = "station_map"
+ anchored = TRUE
+ density = FALSE
+ use_power = POWER_USE_IDLE
+ idle_power_usage = 10
+ active_power_usage = 500
+ light_color = "#64c864"
+ uncreated_component_parts = null
+ construct_state = /decl/machine_construction/default/panel_closed
+ base_type = /obj/machinery/holomap
+ layer = ABOVE_WINDOW_LAYER // Above windows.
+ directional_offset = "{'NORTH':{'y':-32}, 'SOUTH':{'y':32}, 'EAST':{'x':-32}, 'WEST':{'x':32}}"
+
+ var/light_power_on = 1
+ var/light_range_on = 2
+ var/mob/watching_mob
+ var/image/small_station_map
+ var/image/floor_markings
+ var/image/panel
+ /// z-level on which the station map was initialized.
+ var/original_zLevel = 1
+ /// set to FALSE when you initialize the station map on a zLevel that has its own icon formatted for use by station holomaps.
+ var/bogus = TRUE
+ var/datum/station_holomap/holomap_datum
+
+/obj/machinery/holomap/Destroy()
+ SSminimap.station_holomaps -= src
+ stopWatching()
+ QDEL_NULL(holomap_datum)
+ return ..()
+
+/obj/machinery/holomap/Initialize()
+ holomap_datum = new()
+ original_zLevel = loc.z
+ bogus = FALSE
+ . = ..()
+ SSminimap.station_holomaps += src
+ if(SSminimap.initialized)
+ update_map_data()
+ floor_markings = image('icons/obj/machines/stationmap.dmi', "decal_station_map")
+ floor_markings.dir = src.dir
+ update_icon()
+
+/obj/machinery/holomap/proc/update_map_data()
+ if(!SSminimap.holomaps[original_zLevel])
+ bogus = TRUE
+ holomap_datum.initialize_holomap_bogus()
+ update_icon()
+ return
+
+ holomap_datum.initialize_holomap(get_turf(src), reinit = TRUE)
+
+ small_station_map = image(icon = SSminimap.holomaps[original_zLevel].holomap_small)
+ small_station_map.plane = ABOVE_LIGHTING_PLANE
+ small_station_map.layer = ABOVE_LIGHTING_LAYER
+ small_station_map.pixel_x = 10
+ small_station_map.pixel_y = 10
+
+ update_icon()
+
+/obj/machinery/holomap/attack_hand(var/mob/user)
+ if(watching_mob && (watching_mob != user))
+ to_chat(user, SPAN_WARNING("Someone else is currently watching the holomap."))
+ return
+ if(user.loc != loc)
+ to_chat(user, SPAN_WARNING("You need to stand in front of \the [src]."))
+ return
+ startWatching(user)
+
+// Let people bump up against it to watch
+/obj/machinery/holomap/Bumped(var/atom/movable/AM)
+ if(!watching_mob && isliving(AM) && AM.loc == loc)
+ startWatching(AM)
+
+// In order to actually get Bumped() we need to block movement. We're (visually) on a wall, so people
+// couldn't really walk into us anyway. But in reality we are on the turf in front of the wall, so bumping
+// against where we seem is actually trying to *exit* our real loc
+/obj/machinery/holomap/CheckExit(atom/movable/mover as mob|obj, turf/target as turf)
+ if(get_dir(target, loc) == dir) // Opposite of "normal" since we are visually in the next turf over
+ return FALSE
+ else
+ return TRUE
+
+/obj/machinery/holomap/proc/startWatching(var/mob/user)
+ if(!isliving(user) || !anchored || !operable() || !user.client)
+ return FALSE
+
+ var/datum/global_hud/global_hud = get_global_hud()
+ holomap_datum.station_map.loc = global_hud.holomap // Put the image on the holomap hud
+ holomap_datum.station_map.alpha = 0 // Set to transparent so we can fade in
+ animate(holomap_datum.station_map, alpha = 255, time = 5, easing = LINEAR_EASING)
+ flick("station_map_activate", src)
+ user.client.screen |= global_hud.holomap
+ user.client.images |= holomap_datum.station_map
+
+ watching_mob = user
+ events_repository.register(/decl/observ/moved, watching_mob, src, /obj/machinery/holomap/proc/checkPosition)
+ events_repository.register(/decl/observ/destroyed, watching_mob, src, /obj/machinery/holomap/proc/stopWatching)
+ update_use_power(POWER_USE_ACTIVE)
+
+ if(bogus)
+ to_chat(user, SPAN_WARNING("The holomap failed to initialize. This area of space cannot be mapped."))
+ else
+ to_chat(user, SPAN_NOTICE("A hologram of your current location appears before your eyes."))
+
+ START_PROCESSING_MACHINE(src, MACHINERY_PROCESS_SELF)
+
+/obj/machinery/holomap/Process()
+ if(!operable())
+ stopWatching()
+ return PROCESS_KILL
+
+/obj/machinery/holomap/proc/checkPosition()
+ if(!watching_mob || (watching_mob.loc != loc) || (dir != watching_mob.dir))
+ stopWatching()
+
+/obj/machinery/holomap/proc/stopWatching()
+ if(watching_mob)
+ if(watching_mob.client)
+ animate(holomap_datum.station_map, alpha = 0, time = 5, easing = LINEAR_EASING)
+ var/mob/M = watching_mob
+ addtimer(CALLBACK(src, .proc/clear_image, M, holomap_datum.station_map), 5, TIMER_CLIENT_TIME)//we give it time to fade out
+ events_repository.unregister(/decl/observ/moved, watching_mob, src)
+ events_repository.unregister(/decl/observ/destroyed, watching_mob, src)
+ watching_mob = null
+ update_use_power(POWER_USE_IDLE)
+ if(holomap_datum)
+ holomap_datum.legend_deselect()
+
+/obj/machinery/holomap/proc/clear_image(mob/M, image/I)
+ if (M.client)
+ M.client.images -= I
+
+/obj/machinery/holomap/on_update_icon()
+ . = ..()
+ cut_overlays()
+ if(stat & BROKEN)
+ icon_state = "station_mapb"
+ set_light(0)
+ else if((stat & NOPOWER) || !anchored)
+ icon_state = "station_map0"
+ set_light(0)
+ else
+ icon_state = "station_map"
+ set_light(0.8, 0.1, 2, 2, "#1dbe17")
+ // Put the little "map" overlay down where it looks nice
+ if(small_station_map)
+ add_overlay(small_station_map)
+ if(floor_markings)
+ floor_markings.dir = src.dir
+ floor_markings.pixel_x = -src.pixel_x
+ floor_markings.pixel_y = -src.pixel_y
+ add_overlay(floor_markings)
+ if(panel_open)
+ add_overlay("station_map-panel")
+
+/obj/machinery/holomap/explosion_act(severity)
+ . = ..()
+ if(!QDELETED(src))
+ switch(severity)
+ if(1)
+ qdel(src)
+ if(2)
+ if(prob(50))
+ qdel(src)
+ else
+ set_broken()
+ if(3)
+ if(prob(25))
+ set_broken()
+
+/obj/screen/levelselect
+ icon = 'icons/misc/mark.dmi'
+ layer = HUD_ITEM_LAYER
+ var/active = TRUE
+ var/datum/station_holomap/owner = null
+
+/obj/screen/levelselect/Initialize(mapload, datum/station_holomap/_owner)
+ . = ..()
+ owner = _owner
+
+/obj/screen/levelselect/Click()
+ return (!usr.incapacitated() && !isghost(usr))
+/obj/screen/levelselect/up
+ icon_state = "fup"
+
+/obj/screen/levelselect/up/Click()
+ if(..())
+ if(owner)
+ owner.set_level(owner.displayed_level - 1)
+
+/obj/screen/levelselect/down
+ icon_state = "fdn"
+
+/obj/screen/levelselect/down/Click()
+ if(..())
+ if(owner)
+ owner.set_level(owner.displayed_level + 1)
+
+/obj/screen/legend
+ icon = null
+ maptext_height = 128
+ maptext_width = 128
+ layer = HUD_ITEM_LAYER
+ pixel_x = HOLOMAP_LEGEND_X
+ appearance_flags = PIXEL_SCALE | RESET_COLOR
+ var/saved_color
+ var/datum/station_holomap/owner = null
+ var/has_areas = FALSE
+
+/obj/screen/legend/cursor
+ icon = 'icons/misc/holomap_markers.dmi'
+ icon_state = "you"
+ maptext_x = 11
+ pixel_x = HOLOMAP_LEGEND_X - 3
+ has_areas = TRUE
+
+/obj/screen/legend/Initialize(mapload, map_color, text)
+ . = ..()
+ saved_color = map_color
+ maptext = "[text] "
+ alpha = 255
+
+/obj/screen/legend/Click(location, control, params)
+ if(!usr.incapacitated() && !isghost(usr))
+ if(istype(owner))
+ owner.legend_select(src)
+
+/obj/screen/legend/proc/Setup(z_level)
+ has_areas = FALSE
+ //Get the areas for this z level and mark if we're empty
+ overlays.Cut()
+ for(var/area/A in SSminimap.holomaps[z_level].holomap_areas)
+ if(A.holomap_color == saved_color)
+ var/image/area = image(SSminimap.holomaps[z_level].holomap_areas[A])
+ area.pixel_x = ((HOLOMAP_ICON_SIZE / 2) - world.maxx / 2) - pixel_x
+ area.pixel_y = ((HOLOMAP_ICON_SIZE / 2) - world.maxy / 2) - pixel_y
+ overlays += area
+ has_areas = TRUE
+
+//What happens when we are clicked on / when another is clicked on
+/obj/screen/legend/proc/Select()
+ //Start blinking
+ animate(src, alpha = 0, time = 2, loop = -1, easing = JUMP_EASING | EASE_IN | EASE_OUT)
+ animate(alpha = 254, time = 2, loop = -1, easing = JUMP_EASING | EASE_IN | EASE_OUT)
+
+/obj/screen/legend/proc/Deselect()
+ //Stop blinking
+ animate(src, flags = ANIMATION_END_NOW)
+
+//Cursor doesnt do anything specific.
+/obj/screen/legend/cursor/Setup()
+
+/obj/screen/legend/cursor/Select()
+
+/obj/screen/legend/cursor/Deselect()
+
+// Simple datum to keep track of a running holomap. Each machine capable of displaying the holomap will have one.
+/datum/station_holomap
+ var/image/station_map
+ var/image/cursor
+ var/list/obj/screen/legend/legend
+ var/list/obj/screen/maptexts
+ var/list/obj/screen/levelselect/lbuttons
+ var/list/image/levels
+ var/list/z_levels
+ var/z = -1
+ var/displayed_level = 1 //Index of level to display
+
+/datum/station_holomap/Destroy(force)
+ QDEL_NULL(station_map)
+ QDEL_NULL(cursor)
+ QDEL_NULL_LIST(legend)
+ QDEL_NULL_LIST(levels)
+ QDEL_NULL_LIST(lbuttons)
+ QDEL_NULL_LIST(maptexts)
+ QDEL_NULL_LIST(z_levels)
+ . = ..()
+
+/datum/station_holomap/proc/initialize_holomap(turf/T, isAI = null, mob/user = null, reinit = FALSE)
+ z = T.z
+ if(!station_map || reinit)
+ station_map = image(SSminimap.holomaps[z].holomap_combined)
+ if(!cursor || reinit)
+ cursor = image('icons/misc/holomap_markers.dmi', "you")
+ cursor.layer = HUD_ABOVE_ITEM_LAYER
+
+ if(!LAZYLEN(legend) || reinit)
+ QDEL_NULL_LIST(legend)
+ legend = list(
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_COMMAND, "■ Command"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_SECURITY, "■ Security"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_MEDICAL, "■ Medical"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_SCIENCE, "■ Research"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_EXPLORATION, "■ Exploration"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_ENGINEERING, "■ Engineering"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_CARGO, "■ Supply"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_AIRLOCK, "■ Airlock"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_ESCAPE, "■ Escape"),
+ new /obj/screen/legend(null, HOLOMAP_AREACOLOR_CREW, "■ Crew"),
+ new /obj/screen/legend/cursor(null, HOLOMAP_AREACOLOR_BASE, "You are here")
+ )
+ if(reinit)
+ QDEL_NULL_LIST(maptexts)
+ QDEL_NULL_LIST(levels)
+ QDEL_NULL_LIST(z_levels)
+ QDEL_NULL_LIST(lbuttons)
+
+ station_map = image(icon(HOLOMAP_ICON, "stationmap"))
+ station_map.layer = UNDER_HUD_LAYER
+
+ //This is where the fun begins
+ if(length(global.using_map.overmap_ids))
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
+
+ var/current_z_offset_x = (HOLOMAP_ICON_SIZE / 2) - world.maxx / 2
+ var/current_z_offset_y = (HOLOMAP_ICON_SIZE / 2) - world.maxy / 2
+
+ //For the given z level fetch the related map sector and build the list
+ if(istype(O))
+ var/z_count = length(O.map_z)
+ var/current_z_index = 1
+ z_levels = O.map_z.Copy()
+
+ if(z_count > 1)
+ if(!LAZYLEN(lbuttons))
+ //Add the buttons for switching levels
+ LAZYADD(lbuttons, new /obj/screen/levelselect/up(null, src))
+ LAZYADD(lbuttons, new /obj/screen/levelselect/down(null, src))
+ lbuttons[1].pixel_y = HOLOMAP_MARGIN - 22
+ lbuttons[2].pixel_y = HOLOMAP_MARGIN + 5
+ lbuttons[1].pixel_x = 254
+ lbuttons[2].pixel_x = 196
+
+ //Each level now has to be built and offset properly. Then stored to be showed later
+ for(var/level = 1; level <= z_count; level++)
+ if (z == O.map_z[level])
+ current_z_index = level
+
+ //Turfs and walls
+ var/image/map_image = image(SSminimap.holomaps[O.map_z[level]].holomap_base)
+
+ map_image.color = COLOR_HOLOMAP_HOLOFIER
+ map_image.layer = HUD_BASE_LAYER
+
+ map_image.pixel_x = (HOLOMAP_ICON_SIZE / 2) - world.maxx / 2
+ map_image.pixel_y = (HOLOMAP_ICON_SIZE / 2) - world.maxy / 2
+
+ //Store the image for future use
+ //LAZYADD(levels, map_image)
+ LAZYSET(levels, "[O.map_z[level]]", map_image)
+
+ var/obj/screen/maptext_overlay = new(null)
+ maptext_overlay.icon = null
+ maptext_overlay.layer = HUD_ITEM_LAYER
+ maptext_overlay.appearance_flags |= RESET_COLOR | PIXEL_SCALE
+ maptext_overlay.maptext = STYLE_SMALLFONTS_OUTLINE("LEVEL [level-1] ", 7, COLOR_WHITE, COLOR_BLACK)
+ maptext_overlay.maptext_width = 96
+ maptext_overlay.pixel_x = (HOLOMAP_ICON_SIZE / 2) - (maptext_overlay.maptext_width / 2)
+ maptext_overlay.pixel_y = HOLOMAP_MARGIN
+
+ LAZYSET(maptexts, "[O.map_z[level]]", maptext_overlay)
+
+ //Reset to starting zlevel
+ set_level(current_z_index)
+ if(isAI)
+ T = get_turf(user.client.eye)
+ cursor.pixel_x = (T.x - 6 + current_z_offset_x) * PIXEL_MULTIPLIER
+ cursor.pixel_y = (T.y - 6 + current_z_offset_y) * PIXEL_MULTIPLIER
+
+
+/datum/station_holomap/proc/set_level(level)
+ if(level > z_levels.len)
+ return
+
+ displayed_level = level
+
+ station_map.overlays.Cut()
+ station_map.vis_contents.Cut()
+
+ if(z == z_levels[displayed_level])
+ station_map.overlays += cursor
+
+ station_map.overlays += levels["[z_levels[displayed_level]]"]
+ station_map.vis_contents += maptexts["[z_levels[displayed_level]]"]
+
+ //Fix legend position
+ var/pixel_y = HOLOMAP_LEGEND_Y
+ for(var/obj/screen/legend/element in legend)
+ element.owner = src
+ element.pixel_y = pixel_y //Set adjusted pixel y as it will be needed for area placement
+ element.Setup(z_levels[displayed_level])
+ if(element.has_areas)
+ pixel_y -= 10
+ station_map.vis_contents += element
+
+ if(displayed_level > 1)
+ station_map.vis_contents += lbuttons[1]
+
+ if(displayed_level < z_levels.len)
+ station_map.vis_contents += lbuttons[2]
+
+/datum/station_holomap/proc/legend_select(obj/screen/legend/L)
+ legend_deselect()
+ L.Select()
+
+/datum/station_holomap/proc/legend_deselect()
+ for(var/obj/screen/legend/entry in legend)
+ entry.Deselect()
+
+/datum/station_holomap/proc/initialize_holomap_bogus()
+ station_map = image('icons/480x480.dmi', "stationmap")
+ station_map.overlays |= image('icons/effects/64x64.dmi', "notfound", pixel_x = 7 * WORLD_ICON_SIZE, pixel_y = 7 * WORLD_ICON_SIZE)
diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm
index 989c812bf3c..405ac4b45b9 100644
--- a/code/modules/hydroponics/seed_packets.dm
+++ b/code/modules/hydroponics/seed_packets.dm
@@ -28,8 +28,10 @@ var/global/list/plant_seed_sprites = list()
/obj/item/seeds/proc/update_seed()
if(!seed && seed_type && !isnull(SSplants.seeds) && SSplants.seeds[seed_type])
seed = SSplants.seeds[seed_type]
- if(seed.scannable_result)
+ if(seed?.scannable_result)
set_extension(src, /datum/extension/scannable, seed.scannable_result)
+ else if(has_extension(src, /datum/extension/scannable))
+ remove_extension(src, /datum/extension/scannable)
update_appearance()
//Updates strings and icon appropriately based on seed datum.
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 29348bbea07..22b84d1ec2a 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -120,16 +120,14 @@
)
/obj/machinery/portable_atmospherics/hydroponics/proc/set_seed(var/new_seed)
- if(seed)
- clear_seed()
+ if(seed == new_seed)
+ return
seed = new_seed
- if(seed.scannable_result)
+ if(seed?.scannable_result)
set_extension(src, /datum/extension/scannable, seed.scannable_result)
-
-/obj/machinery/portable_atmospherics/hydroponics/proc/clear_seed()
- seed = null
- if(has_extension(src, /datum/extension/scannable))
+ else if(has_extension(src, /datum/extension/scannable))
remove_extension(src, /datum/extension/scannable)
+ update_icon()
/obj/machinery/portable_atmospherics/hydroponics/attack_ghost(var/mob/observer/ghost/user)
if(!(harvest && seed && ispath(seed.product_type, /mob)))
@@ -280,7 +278,7 @@
if(!seed.get_trait(TRAIT_HARVEST_REPEAT))
yield_mod = 0
- clear_seed()
+ set_seed(null)
dead = 0
age = 0
sampled = 0
@@ -301,7 +299,7 @@
if(!silent)
to_chat(user, SPAN_NOTICE("You remove the dead [seed.display_name]."))
- clear_seed()
+ set_seed(null)
dead = 0
sampled = 0
@@ -315,9 +313,6 @@
// If a weed growth is sufficient, this proc is called.
/obj/machinery/portable_atmospherics/hydroponics/proc/weed_invasion()
- //Remove the seed if something is already planted.
- if(seed)
- clear_seed()
set_seed(SSplants.seeds[pick(list("reishi", "nettles", "amanita", "mushrooms", "plumphelmet", "towercap", "harebells", "weeds"))])
if(!seed)
diff --git a/code/modules/hydroponics/trays/tray_soil.dm b/code/modules/hydroponics/trays/tray_soil.dm
index 8bc7e4ad0da..de21cae2c7f 100644
--- a/code/modules/hydroponics/trays/tray_soil.dm
+++ b/code/modules/hydroponics/trays/tray_soil.dm
@@ -48,7 +48,7 @@
if(seed)
name = seed.display_name
check_plant_health()
- connected_zlevels = GetConnectedZlevels(z)
+ connected_zlevels = SSmapping.get_connected_levels(z)
/obj/machinery/portable_atmospherics/hydroponics/soil/invisible/Process()
if(!seed)
diff --git a/code/modules/integrated_electronics/passive/power.dm b/code/modules/integrated_electronics/passive/power.dm
index 442c9997854..752d155d340 100644
--- a/code/modules/integrated_electronics/passive/power.dm
+++ b/code/modules/integrated_electronics/passive/power.dm
@@ -126,9 +126,9 @@
/obj/item/integrated_circuit/passive/power/chemical_cell/make_energy()
if(assembly)
if(assembly.battery)
- var/bp = 5000
- if((assembly.battery.maxcharge-assembly.battery.charge) / CELLRATE > bp && reagents.remove_reagent(/decl/material/liquid/blood, 1)) //only blood is powerful enough to power the station(c)
- assembly.give_power(bp)
+ var/battery_charge = 5000
+ if((assembly.battery.maxcharge-assembly.battery.charge) / CELLRATE > battery_charge && reagents.remove_reagent(/decl/material/liquid/blood, 1)) //only blood is powerful enough to power the station(c)
+ assembly.give_power(battery_charge)
for(var/I in fuel)
if((assembly.battery.maxcharge-assembly.battery.charge) / CELLRATE > fuel[I])
if(reagents.remove_reagent(I, 1))
diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm
index eb7a677750f..c1a3e2e2787 100644
--- a/code/modules/integrated_electronics/subtypes/input.dm
+++ b/code/modules/integrated_electronics/subtypes/input.dm
@@ -768,7 +768,7 @@
. += "Please select a teleporter to lock in on:"
for(var/obj/machinery/teleport/hub/R in SSmachines.machinery)
var/obj/machinery/computer/teleporter/com = R.com
- if (istype(com, /obj/machinery/computer/teleporter) && com.locked && !com.one_time_use && com.operable() && ARE_Z_CONNECTED(get_z(src), get_z(com)))
+ if (istype(com, /obj/machinery/computer/teleporter) && com.locked && !com.one_time_use && com.operable() && LEVELS_ARE_Z_CONNECTED(get_z(src), get_z(com)))
.["[com.id] ([R.icon_state == "tele1" ? "Active" : "Inactive"])"] = "tport=[any2ref(com)]"
.["None (Dangerous)"] = "tport=random"
diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm
index c6b60c9f0bc..19229528221 100644
--- a/code/modules/integrated_electronics/subtypes/manipulation.dm
+++ b/code/modules/integrated_electronics/subtypes/manipulation.dm
@@ -569,7 +569,7 @@
var/obj/machinery/computer/teleporter/tporter = get_pin_data_as_type(IC_INPUT, 1, /obj/machinery/computer/teleporter)
var/step_dir = get_pin_data(IC_INPUT, 2)
- if(!ARE_Z_CONNECTED(get_z(src), get_z(tporter)))
+ if(!LEVELS_ARE_Z_CONNECTED(get_z(src), get_z(tporter)))
tporter = null
var/turf/rift_location = get_turf(src)
diff --git a/code/modules/lighting/lighting_overlay.dm b/code/modules/lighting/lighting_overlay.dm
index abfad9d6ea1..fc3492008c5 100644
--- a/code/modules/lighting/lighting_overlay.dm
+++ b/code/modules/lighting/lighting_overlay.dm
@@ -9,7 +9,7 @@
plane = LIGHTING_PLANE
invisibility = INVISIBILITY_LIGHTING
simulated = FALSE
- blend_mode = BLEND_MULTIPLY
+ blend_mode = BLEND_OVERLAY
var/needs_update = FALSE
diff --git a/code/modules/lighting/lighting_turf.dm b/code/modules/lighting/lighting_turf.dm
index b1a919d3935..912a673d3ad 100644
--- a/code/modules/lighting/lighting_turf.dm
+++ b/code/modules/lighting/lighting_turf.dm
@@ -71,8 +71,14 @@
// else
// return
- // inefficient :(
- if (!corners)
+ // still inefficient :(
+ if(!corners || !lighting_corners_initialised)
+ /* Commented out pending working out why this doesn't work properly on Neb.
+ if(TURF_IS_DYNAMICALLY_LIT_UNSAFE(src))
+ generate_missing_corners()
+ else
+ return
+ */
generate_missing_corners()
// This list can contain nulls on things like space turfs -- they only have their neighbors' corners.
diff --git a/code/modules/maps/dmm_suite.dm b/code/modules/maps/__dmm_suite_docs.dm
similarity index 79%
rename from code/modules/maps/dmm_suite.dm
rename to code/modules/maps/__dmm_suite_docs.dm
index a7a7c071560..dd554aa01fd 100644
--- a/code/modules/maps/dmm_suite.dm
+++ b/code/modules/maps/__dmm_suite_docs.dm
@@ -1,5 +1,3 @@
-var/global/dmm_suite/maploader = new
-
/*
dmm_suite version 1.0
@@ -53,10 +51,3 @@ var/global/dmm_suite/maploader = new
.dmm files. Errors in the .dmm format will cause runtime errors.
*/
-
-// dmm_files: A list of .dmm files to load (Required).
-// z_offset: A number representing the z-level on which to start loading the map (Optional).
-// cropMap: When true, the map will be cropped to fit the existing world dimensions (Optional).
-// measureOnly: When true, no changes will be made to the world (Optional).
-// no_changeturf: When true, turf/AfterChange won't be called on loaded turfs
-/dmm_suite/proc/load_map(var/list/dmm_files, var/x_offset, var/y_offset, var/z_offset, var/cropMap, var/measureOnly, var/no_changeturf)
diff --git a/code/modules/maps/_map_template.dm b/code/modules/maps/_map_template.dm
index 9dc4446a614..cb5ffa982f1 100644
--- a/code/modules/maps/_map_template.dm
+++ b/code/modules/maps/_map_template.dm
@@ -7,12 +7,12 @@
var/loaded = 0 // Times loaded this round
var/list/shuttles_to_initialise = list()
var/list/subtemplates_to_spawn
- var/base_turf_for_zs = null
var/accessibility_weight = 0
var/template_flags = TEMPLATE_FLAG_ALLOW_DUPLICATES
var/modify_tag_vars = TRUE // Will modify tag vars so that duplicate templates are handled properly. May have compatibility issues with legacy maps (esp. with ferry shuttles).
var/list/template_categories // List of strings to store the templates under for mass retrieval.
var/template_parent_type = /datum/map_template // If this is equal to current type, the datum is abstract and should not be created.
+ var/level_data_type
/datum/map_template/New(var/created_ad_hoc)
if(created_ad_hoc != SSmapping.type)
@@ -36,7 +36,7 @@
var/list/bounds = list(1.#INF, 1.#INF, 1.#INF, -1.#INF, -1.#INF, -1.#INF)
var/z_offset = 1 // needed to calculate z-bounds correctly
for (var/mappath in mappaths)
- var/datum/map_load_metadata/M = maploader.load_map(file(mappath), 1, 1, z_offset, cropMap=FALSE, measureOnly=TRUE, no_changeturf=TRUE, clear_contents= template_flags & TEMPLATE_FLAG_CLEAR_CONTENTS)
+ var/datum/map_load_metadata/M = maploader.load_map(file(mappath), 1, 1, z_offset, cropMap=FALSE, measureOnly=TRUE, no_changeturf=TRUE, clear_contents=(template_flags & TEMPLATE_FLAG_CLEAR_CONTENTS), level_data_type=src.level_data_type)
if(M)
bounds = extend_bounds_if_needed(bounds, M.bounds)
z_offset++
@@ -104,14 +104,12 @@
SSshuttle.block_queue = pre_init_state
SSshuttle.clear_init_queue() // We will flush the queue unless there were other blockers, in which case they will do it.
-/datum/map_template/proc/load_new_z(no_changeturf = TRUE)
-
- var/x = round((world.maxx - width)/2)
- var/y = round((world.maxy - height)/2)
- var/initial_z = world.maxz + 1
-
- if (x < 1) x = 1
- if (y < 1) y = 1
+/datum/map_template/proc/load_new_z(no_changeturf = TRUE, centered=TRUE)
+ var/x = max(round((world.maxx - width)/2), 1)
+ var/y = max(round((world.maxy - height)/2), 1)
+ if(!centered)
+ x = 1
+ y = 1
var/list/bounds = list(1.#INF, 1.#INF, 1.#INF, -1.#INF, -1.#INF, -1.#INF)
var/list/atoms_to_initialise = list()
@@ -123,7 +121,7 @@
var/initialized_areas_by_type = list()
for (var/mappath in mappaths)
- var/datum/map_load_metadata/M = maploader.load_map(file(mappath), x, y, no_changeturf = no_changeturf, initialized_areas_by_type = initialized_areas_by_type)
+ var/datum/map_load_metadata/M = maploader.load_map(file(mappath), x, y, no_changeturf = no_changeturf, initialized_areas_by_type = initialized_areas_by_type, level_data_type = src.level_data_type)
if (M)
bounds = extend_bounds_if_needed(bounds, M.bounds)
atoms_to_initialise += M.atoms_to_initialise
@@ -132,20 +130,15 @@
global._preloader.current_map_hash = null
- for (var/z_index = bounds[MAP_MINZ]; z_index <= bounds[MAP_MAXZ]; z_index++)
- if (accessibility_weight)
- global.using_map.accessible_z_levels[num2text(z_index)] = accessibility_weight
- if (base_turf_for_zs)
- global.using_map.base_turf_by_z[num2text(z_index)] = base_turf_for_zs
- global.using_map.player_levels |= z_index // TODO: make maps handle this with /obj/abstract/level_data
-
//initialize things that are normally initialized after map load
init_atoms(atoms_to_initialise)
init_shuttles(shuttle_state, map_hash, initialized_areas_by_type)
- after_load(initial_z)
- if (SSlighting.initialized)
- for(var/light_z = initial_z to world.maxz)
- SSlighting.InitializeZlev(light_z)
+ after_load()
+ for(var/z_index = bounds[MAP_MINZ] to bounds[MAP_MAXZ])
+ var/obj/abstract/level_data/level = SSmapping.levels_by_z[z_index]
+ level.post_template_load(src)
+ if(SSlighting.initialized)
+ SSlighting.InitializeZlev(z_index)
log_game("Z-level [name] loaded at [x],[y],[world.maxz]")
loaded++
@@ -170,7 +163,7 @@
var/initialized_areas_by_type = list()
for (var/mappath in mappaths)
- var/datum/map_load_metadata/M = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE, clear_contents=(template_flags & TEMPLATE_FLAG_CLEAR_CONTENTS), initialized_areas_by_type = initialized_areas_by_type)
+ var/datum/map_load_metadata/M = maploader.load_map(file(mappath), T.x, T.y, T.z, cropMap=TRUE, clear_contents=(template_flags & TEMPLATE_FLAG_CLEAR_CONTENTS), initialized_areas_by_type = initialized_areas_by_type, level_data_type = src.level_data_type)
if (M)
atoms_to_initialise += M.atoms_to_initialise
else
@@ -181,7 +174,7 @@
//initialize things that are normally initialized after map load
init_atoms(atoms_to_initialise)
init_shuttles(shuttle_state, map_hash, initialized_areas_by_type)
- after_load(T.z)
+ after_load()
if (SSlighting.initialized)
SSlighting.InitializeTurfs(atoms_to_initialise) // Hopefully no turfs get placed on new coords by SSatoms.
@@ -190,7 +183,7 @@
return TRUE
-/datum/map_template/proc/after_load(z)
+/datum/map_template/proc/after_load()
for(var/obj/abstract/landmark/map_load_mark/mark as anything in subtemplates_to_spawn)
subtemplates_to_spawn -= mark
mark.load_subtemplate()
diff --git a/code/modules/maps/helper_landmarks.dm b/code/modules/maps/helper_landmarks.dm
index a42fddfb775..ec94884371c 100644
--- a/code/modules/maps/helper_landmarks.dm
+++ b/code/modules/maps/helper_landmarks.dm
@@ -42,11 +42,15 @@
return INITIALIZE_HINT_LATELOAD
/obj/abstract/landmark/carnage_mark/LateInitialize()
- var/area/A = get_area(src)
- for(var/atom/movable/AM in A)
- if(AM && !AM.anchored && AM.simulated && prob(movement_prob))
- spawn()
- AM.throw_at_random(FALSE, movement_range, 1)
+ do_throw()
+
+/obj/abstract/landmark/carnage_mark/proc/do_throw()
+ set waitfor = FALSE
+ sleep(0)
+ var/area/our_area = get_area(src)
+ for(var/atom/movable/throw_candidate in our_area)
+ if(!QDELETED(throw_candidate) && !throw_candidate.anchored && throw_candidate.simulated && prob(movement_prob))
+ throw_candidate.throw_at_random(FALSE, movement_range, 1)
qdel(src)
//Clears walls
@@ -98,4 +102,45 @@
events_repository.unregister_global(/decl/observ/shuttle_added, src, .proc/check_shuttle)
if(shuttle_datum)
events_repository.unregister(/decl/observ/shuttle_moved, shuttle_datum, src, .proc/delete_everything)
- . = ..()
\ No newline at end of file
+ . = ..()
+
+// Has a percent chance on spawn to set the specified variable on the specified type to the specified value.
+
+/obj/abstract/landmark/variable_setter
+ is_spawnable_type = FALSE
+ var/type_to_find
+ var/variable_to_set
+ var/value_to_set
+ var/probability = 100
+
+/obj/abstract/landmark/variable_setter/Initialize()
+ . = ..()
+ if(!prob(probability))
+ return // Do nothing.
+ for(var/atom/candidate_atom in get_turf(src))
+ if(!istype(candidate_atom, type_to_find))
+ continue
+ if(try_set_variable(candidate_atom))
+ break
+ return INITIALIZE_HINT_QDEL
+
+/obj/abstract/landmark/variable_setter/proc/try_set_variable(atom/atom_to_modify)
+ // We don't have that variable! Give our own runtime to be more informative than the default one.
+ if(!(variable_to_set in atom_to_modify.vars))
+ CRASH("Unable to find variable [variable_to_set] to modify on type [atom_to_modify.type].")
+ // Already modified, if we're stacked we shouldn't modify the same one twice.
+ if(atom_to_modify.vars[variable_to_set] == value_to_set)
+ return FALSE
+ atom_to_modify.vars[variable_to_set] = value_to_set
+ return TRUE
+
+/obj/abstract/landmark/variable_setter/closet_opener
+ type_to_find = /obj/structure/closet
+ variable_to_set = "opened"
+ value_to_set = TRUE
+
+/// Used to tell pipe leak unit tests that a leak is intentional. Placed over the pipe that leaks, not the tile missing a pipe.
+/obj/abstract/landmark/allowed_leak
+#ifndef UNIT_TEST
+ delete_me = TRUE
+#endif
diff --git a/code/modules/maps/reader.dm b/code/modules/maps/reader.dm
index 221c81a40b9..66640af2f4c 100644
--- a/code/modules/maps/reader.dm
+++ b/code/modules/maps/reader.dm
@@ -4,6 +4,7 @@
//global datum that will preload variables on atoms instanciation
var/global/use_preloader = FALSE
+var/global/dmm_suite/maploader = new
var/global/dmm_suite/preloader/_preloader = new
/datum/map_load_metadata
@@ -33,7 +34,13 @@ var/global/dmm_suite/preloader/_preloader = new
* 2) Read the map line by line, parsing the result (using parse_grid)
*
*/
-/dmm_suite/load_map(var/dmm_file, var/x_offset, var/y_offset, var/z_offset, var/cropMap, var/measureOnly, var/no_changeturf, var/clear_contents, var/lower_crop_x, var/lower_crop_y, var/upper_crop_x, var/upper_crop_y, var/initialized_areas_by_type)
+
+// dmm_files: A list of .dmm files to load (Required).
+// z_offset: A number representing the z-level on which to start loading the map (Optional).
+// cropMap: When true, the map will be cropped to fit the existing world dimensions (Optional).
+// measureOnly: When true, no changes will be made to the world (Optional).
+// no_changeturf: When true, turf/AfterChange won't be called on loaded turfs
+/dmm_suite/proc/load_map(var/dmm_file, var/x_offset, var/y_offset, var/z_offset, var/cropMap, var/measureOnly, var/no_changeturf, var/clear_contents, var/lower_crop_x, var/lower_crop_y, var/upper_crop_x, var/upper_crop_y, var/initialized_areas_by_type, var/level_data_type)
//How I wish for RAII
Master.StartLoadingMap()
space_key = null
@@ -43,14 +50,14 @@ var/global/dmm_suite/preloader/_preloader = new
initialized_areas_by_type = initialized_areas_by_type || list()
if(!(world.area in initialized_areas_by_type))
initialized_areas_by_type[world.area] = locate(world.area)
- . = load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, lower_crop_x, upper_crop_x, lower_crop_y, upper_crop_y, initialized_areas_by_type)
+ . = load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, lower_crop_x, upper_crop_x, lower_crop_y, upper_crop_y, initialized_areas_by_type, level_data_type)
#ifdef TESTING
if(turfsSkipped)
testing("Skipped loading [turfsSkipped] default turfs")
#endif
Master.StopLoadingMap()
-/dmm_suite/proc/load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, x_lower = -INFINITY, x_upper = INFINITY, y_lower = -INFINITY, y_upper = INFINITY, initialized_areas_by_type)
+/dmm_suite/proc/load_map_impl(dmm_file, x_offset, y_offset, z_offset, cropMap, measureOnly, no_changeturf, clear_contents, x_lower = -INFINITY, x_upper = INFINITY, y_lower = -INFINITY, y_upper = INFINITY, initialized_areas_by_type, level_data_type = /obj/abstract/level_data/space)
var/tfile = dmm_file//the map file we're creating
if(isfile(tfile))
tfile = safe_file2text(tfile, FALSE)
@@ -103,19 +110,15 @@ var/global/dmm_suite/preloader/_preloader = new
var/ycrd = text2num(dmmRegex.group[4]) + y_offset - 1
var/zcrd = text2num(dmmRegex.group[5]) + z_offset - 1
- var/is_connected_to_lower_levels = ARE_Z_CONNECTED(zcrd, z_offset)
- var/is_on_an_existing_zlevel = zcrd <= world.maxz
-
- if (is_on_an_existing_zlevel && !is_connected_to_lower_levels)
+ var/zexpansion = zcrd > world.maxz
+ if(!zexpansion && !LEVELS_ARE_Z_CONNECTED(zcrd, z_offset))
continue
- var/zexpansion = zcrd > world.maxz
if(zexpansion && !measureOnly) // don't actually expand the world if we're only measuring bounds
if(cropMap)
continue
- else
- world.maxz = zcrd //create a new z_level if needed
-
+ while(world.maxz < zcrd) //create new z_levels if needed.
+ SSmapping.increment_world_z_size(level_data_type)
bounds[MAP_MINX] = min(bounds[MAP_MINX], clamp(xcrdStart, x_lower, x_upper))
bounds[MAP_MINZ] = min(bounds[MAP_MINZ], zcrd)
bounds[MAP_MAXZ] = max(bounds[MAP_MAXZ], zcrd)
@@ -191,15 +194,15 @@ var/global/dmm_suite/preloader/_preloader = new
if(bounds[1] == 1.#INF) // Shouldn't need to check every item
return null
- else
- if(!measureOnly)
- if(clear_contents)
- for(var/atom/to_delete in atoms_to_delete)
- qdel(to_delete)
- var/datum/map_load_metadata/M = new
- M.bounds = bounds
- M.atoms_to_initialise = atoms_to_initialise
- return M
+
+ if(!measureOnly)
+ if(clear_contents)
+ for(var/atom/to_delete in atoms_to_delete)
+ qdel(to_delete)
+ var/datum/map_load_metadata/M = new
+ M.bounds = bounds
+ M.atoms_to_initialise = atoms_to_initialise
+ return M
/**
* Fill a given tile with its area/turf/objects/mobs
diff --git a/code/modules/maps/template_types/away_site.dm b/code/modules/maps/template_types/away_site.dm
index 16520e795dd..b9adb30914b 100644
--- a/code/modules/maps/template_types/away_site.dm
+++ b/code/modules/maps/template_types/away_site.dm
@@ -3,19 +3,6 @@
template_categories = list(MAP_TEMPLATE_CATEGORY_AWAYSITE)
template_parent_type = /datum/map_template/ruin/away_site
var/spawn_weight = 1
- var/list/generate_mining_by_z
/datum/map_template/ruin/away_site/get_spawn_weight()
return spawn_weight
-
-/datum/map_template/ruin/away_site/after_load(z)
- if(islist(generate_mining_by_z))
- for(var/i in generate_mining_by_z)
- var/current_z = z + i - 1
- new /datum/random_map/automata/cave_system(1, 1, current_z, world.maxx, world.maxy)
- new /datum/random_map/noise/ore(1, 1, current_z, world.maxx, world.maxy)
- global.using_map.refresh_mining_turfs(current_z)
- else if (isnum(generate_mining_by_z))
- new /datum/random_map/automata/cave_system(1, 1, z + generate_mining_by_z - 1, world.maxx, world.maxy)
- new /datum/random_map/noise/ore(1, 1, z + generate_mining_by_z - 1, world.maxx, world.maxy)
- global.using_map.refresh_mining_turfs(z + generate_mining_by_z - 1)
diff --git a/code/modules/materials/_materials.dm b/code/modules/materials/_materials.dm
index e66abdabcb4..50163968143 100644
--- a/code/modules/materials/_materials.dm
+++ b/code/modules/materials/_materials.dm
@@ -447,8 +447,8 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay)
hidden_from_codex = TRUE
exoplanet_rarity = MAT_RARITY_NOWHERE
-// Generic material product (sheets, bricks, etc). Used ALL THE TIME.
-// May return an instance list, a single instance, or nothing if there is no instance produced.
+/// Generic material product (sheets, bricks, etc). Used ALL THE TIME.
+/// May return an instance list, a single instance, or nothing if there is no instance produced.
/decl/material/proc/create_object(var/atom/target, var/amount = 1, var/object_type, var/reinf_type)
if(!object_type)
@@ -523,7 +523,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay)
/decl/material/proc/get_wall_texture()
return
-/decl/material/proc/on_leaving_metabolism(var/atom/parent, var/metabolism_class)
+/decl/material/proc/on_leaving_metabolism(datum/reagents/metabolism/holder)
return
#define ACID_MELT_DOSE 10
diff --git a/code/modules/materials/definitions/liquids/materials_liquid_toxins.dm b/code/modules/materials/definitions/liquids/materials_liquid_toxins.dm
index 06399f18778..53db49eba28 100644
--- a/code/modules/materials/definitions/liquids/materials_liquid_toxins.dm
+++ b/code/modules/materials/definitions/liquids/materials_liquid_toxins.dm
@@ -149,8 +149,8 @@
M.timeofdeath = world.time
M.add_chemical_effect(CE_NOPULSE, 1)
-/decl/material/liquid/zombiepowder/on_leaving_metabolism(atom/parent, metabolism_class)
- var/mob/M = parent
+/decl/material/liquid/zombiepowder/on_leaving_metabolism(datum/reagents/metabolism/holder)
+ var/mob/M = holder?.my_atom
if(istype(M))
M.status_flags &= ~FAKEDEATH
. = ..()
diff --git a/code/modules/materials/definitions/solids/materials_solid_metal.dm b/code/modules/materials/definitions/solids/materials_solid_metal.dm
index 94a2e987d1c..957975efe8a 100644
--- a/code/modules/materials/definitions/solids/materials_solid_metal.dm
+++ b/code/modules/materials/definitions/solids/materials_solid_metal.dm
@@ -172,6 +172,7 @@
lore_text = "A strong, flexible alloy of iron and carbon. Probably the single most fundamentally useful and ubiquitous substance in human space."
weight = MAT_VALUE_NORMAL
wall_support_value = MAT_VALUE_VERY_HEAVY // Ideal construction material.
+ hardness = MAT_VALUE_HARD
integrity = 150
brute_armor = 5
icon_base = 'icons/turf/walls/solid.dmi'
diff --git a/code/modules/materials/geology/_strata.dm b/code/modules/materials/geology/_strata.dm
index 001c48e2cc8..80c930392e4 100644
--- a/code/modules/materials/geology/_strata.dm
+++ b/code/modules/materials/geology/_strata.dm
@@ -7,7 +7,8 @@
var/maximum_temperature = INFINITY
/decl/strata/proc/is_valid_exoplanet_strata(var/obj/effect/overmap/visitable/sector/exoplanet/planet)
- var/check_temp = planet?.atmosphere?.temperature || 0
+ var/obj/abstract/level_data/level_data = planet?.zlevels[1]
+ var/check_temp = level_data?.exterior_atmosphere?.temperature || 0
. = check_temp <= maximum_temperature
/decl/strata/Initialize()
@@ -28,6 +29,6 @@
else if(isnull(ores_rich) && islist(ores_sparse))
ores_rich = ores_sparse.Copy()
- for(var/mat_type in (ores_sparse|ores_rich))
+ for(var/mat_type in (base_materials|ores_sparse|ores_rich))
var/decl/material/mat = GET_DECL(mat_type)
maximum_temperature = min((mat.melting_point-1), maximum_temperature)
diff --git a/code/modules/materials/geology/strata_permafrost.dm b/code/modules/materials/geology/strata_permafrost.dm
index 2a2b0ae8628..ee157faa20d 100644
--- a/code/modules/materials/geology/strata_permafrost.dm
+++ b/code/modules/materials/geology/strata_permafrost.dm
@@ -18,3 +18,4 @@
/decl/material/solid/ice/hydrate/krypton,
/decl/material/solid/ice/hydrate/xenon,
)
+ maximum_temperature = T0C
diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm
index 8b4716d513d..d4e4639942b 100644
--- a/code/modules/materials/material_recipes.dm
+++ b/code/modules/materials/material_recipes.dm
@@ -60,7 +60,6 @@
. += new/datum/stack_recipe/key(src)
. += new/datum/stack_recipe/rod(src)
- if(hardness > MAT_VALUE_RIGID + 10)
. += new/datum/stack_recipe/fork(src)
. += new/datum/stack_recipe/knife(src)
. += new/datum/stack_recipe/bell(src)
diff --git a/code/modules/materials/materials_ore.dm b/code/modules/materials/materials_ore.dm
index 0a19d1ccd1a..8ee38f987b0 100644
--- a/code/modules/materials/materials_ore.dm
+++ b/code/modules/materials/materials_ore.dm
@@ -87,7 +87,7 @@
/obj/item/stack/material/ore/update_strings()
. = ..()
- SetName("[(material.ore_name ? material.ore_name : "[material.name] chunk")] [(amount > 1? "pile" : "")]")
+ SetName("[(material.ore_name ? material.ore_name : "[material.name] chunk")][(amount > 1? " pile" : "")]")
desc = material.ore_desc ? material.ore_desc : "A lump of ore."
/obj/item/stack/material/ore/get_recipes()
diff --git a/code/modules/mechs/equipment/_equipment.dm b/code/modules/mechs/equipment/_equipment.dm
index a730743041e..0822da56c1c 100644
--- a/code/modules/mechs/equipment/_equipment.dm
+++ b/code/modules/mechs/equipment/_equipment.dm
@@ -81,6 +81,12 @@
/obj/item/mech_equipment/proc/MouseDragInteraction()
return 0
+/obj/item/mech_equipment/proc/MouseDownInteraction()
+ return 0
+
+/obj/item/mech_equipment/proc/MouseUpInteraction()
+ return 0
+
/obj/item/mech_equipment/mob_can_unequip(mob/M, slot, disable_warning)
. = ..()
if(. && owner)
diff --git a/code/modules/mechs/equipment/combat_projectile.dm b/code/modules/mechs/equipment/combat_projectile.dm
new file mode 100644
index 00000000000..f3748b03f90
--- /dev/null
+++ b/code/modules/mechs/equipment/combat_projectile.dm
@@ -0,0 +1,168 @@
+/obj/item/mech_equipment/mounted_system/projectile/attackby(var/obj/item/O, var/mob/user)
+ var/obj/item/gun/projectile/automatic/A = holding
+ if(!istype(A))
+ return
+ if(istype(O, /obj/item/crowbar))
+ A.unload_ammo(user)
+ to_chat(user, SPAN_NOTICE("You remove the ammo magazine from the [src]."))
+ else if(istype(O, A.magazine_type))
+ A.load_ammo(O, user)
+ to_chat(user, SPAN_NOTICE("You load the ammo magazine into the [src]."))
+
+/obj/item/mech_equipment/mounted_system/projectile/attack_self(var/mob/user)
+ . = ..()
+ if(. && holding)
+ var/obj/item/gun/M = holding
+ return M.switch_firemodes(user)
+
+/obj/item/gun/projectile/automatic/get_hardpoint_status_value()
+ if(!isnull(ammo_magazine))
+ return ammo_magazine.stored_ammo.len
+
+/obj/item/gun/projectile/automatic/get_hardpoint_maptext()
+ if(!isnull(ammo_magazine))
+ return "[ammo_magazine.stored_ammo.len]/[ammo_magazine.max_ammo]"
+ return 0
+
+//Weapons below this.
+/obj/item/mech_equipment/mounted_system/projectile
+ name = "mounted submachine gun"
+ icon_state = "mech_ballistic"
+ holding_type = /obj/item/gun/projectile/automatic/smg/mech
+ restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND)
+ restricted_software = list(MECH_SOFTWARE_WEAPONS)
+ origin_tech = "{'programming':4,'combat':6,'engineering':5}"
+
+/obj/item/gun/projectile/automatic/smg/mech
+ magazine_type = /obj/item/ammo_magazine/mech/smg_top
+ allowed_magazines = /obj/item/ammo_magazine/mech/smg_top
+ one_hand_penalty = 0
+ has_safety = FALSE
+ manual_unload = FALSE
+ firemodes = list(
+ list(mode_name="semi auto", burst=1, fire_delay=null, one_hand_penalty=0, burst_accuracy=null, dispersion=null),
+ list(mode_name="3-round bursts", burst=3, fire_delay=null, one_hand_penalty=0, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 1.6, 2.4, 2.4), autofire_enabled=0),
+ list(mode_name="short bursts", burst=5, fire_delay=null, one_hand_penalty=0, burst_accuracy=list(0,-1,-1,-1,-2), dispersion=list(1.6, 1.6, 2.0, 2.0, 2.4), autofire_enabled=0),
+ list(mode_name="full auto", burst=1, fire_delay=null, burst_delay=1, one_hand_penalty=0, burst_accuracy=list(0,-1,-1,-1,-2), dispersion=list(1.6, 1.6, 2.0, 2.0, 2.4), autofire_enabled=1)
+ )
+
+/obj/item/mech_equipment/mounted_system/projectile/assault_rifle
+ name = "mounted assault rifle"
+ icon_state = "mech_ballistic2"
+ holding_type = /obj/item/gun/projectile/automatic/assault_rifle/mech
+ restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND)
+ restricted_software = list(MECH_SOFTWARE_WEAPONS)
+ origin_tech = "{'programming':4,'combat':8,'engineering':6}"
+
+/obj/item/gun/projectile/automatic/assault_rifle/mech
+ magazine_type = /obj/item/ammo_magazine/mech/rifle
+ allowed_magazines = /obj/item/ammo_magazine/mech/rifle
+ one_hand_penalty = 0
+ has_safety = FALSE
+ manual_unload = FALSE
+ firemodes = list(
+ list(mode_name="semi auto", burst=1, fire_delay=null, one_hand_penalty=0, burst_accuracy=null, dispersion=null, autofire_enabled=0),
+ list(mode_name="3-round bursts", burst=3, fire_delay=null, one_hand_penalty=0, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0), autofire_enabled=0),
+ list(mode_name="full auto", burst=1, fire_delay=null, burst_delay=1, one_hand_penalty=0, burst_accuracy = list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0), autofire_enabled=1)
+ )
+
+/obj/item/mech_equipment/mounted_system/projectile/machine
+ name = "mounted machine gun"
+ icon_state = "mech_machine_gun"
+ holding_type = /obj/item/gun/projectile/automatic/machine/mech
+ restricted_hardpoints = list(HARDPOINT_LEFT_HAND, HARDPOINT_RIGHT_HAND)
+ restricted_software = list(MECH_SOFTWARE_WEAPONS)
+
+/obj/item/gun/projectile/automatic/machine/mech
+ magazine_type = /obj/item/ammo_magazine/mech/rifle/drum
+ allowed_magazines = /obj/item/ammo_magazine/mech/rifle/drum
+ one_hand_penalty = 0
+ has_safety = FALSE
+ manual_unload = FALSE
+
+// Magazines below this.
+
+/obj/item/ammo_magazine/mech/attack_self(mob/user)
+ to_chat(user, SPAN_WARNING("It's pretty hard to extract ammo from a magazine that fits on a mech. You'll have to do it one round at a time."))
+ return
+
+/obj/item/ammo_magazine/mech/smg_top
+ name = "large 7mm magazine"
+ desc = "A large magazine for a mech's gun. Looks way too big for a normal gun."
+ icon_state = "smg_top"
+ mag_type = MAGAZINE
+ ammo_type = /obj/item/ammo_casing/pistol/small
+ material = /decl/material/solid/metal/steel
+ caliber = CALIBER_PISTOL_SMALL
+ max_ammo = 90
+
+/obj/item/ammo_magazine/mech/rifle
+ name = "large assault rifle magazine"
+ icon_state = "assault_rifle"
+ mag_type = MAGAZINE
+ caliber = CALIBER_RIFLE
+ material = /decl/material/solid/metal/steel
+ ammo_type = /obj/item/ammo_casing/rifle
+ max_ammo = 100
+
+/obj/item/ammo_magazine/mech/rifle/drum
+ name = "large machine gun magazine"
+ icon_state = "drum"
+ mag_type = MAGAZINE
+ caliber = CALIBER_RIFLE
+ material = /decl/material/solid/metal/steel
+ ammo_type = /obj/item/ammo_casing/rifle
+ max_ammo = 300
+
+// Handling for auto-fire mechanic
+/mob/living/exosuit/can_autofire(obj/item/gun/autofiring, atom/autofiring_at)
+ if(autofiring.autofiring_by != src)
+ return FALSE
+ var/client/C = current_user ? current_user.client : client
+
+ if(!C || !C.mob || C.mob.incapacitated())
+ return FALSE
+
+ if(!(autofiring_at in view(C.view, src)))
+ return FALSE
+ if(!(get_dir(src, autofiring_at) & dir))
+ return FALSE
+ if(!(autofiring in selected_system)) // Make sure the gun is still selected.
+ return FALSE
+ return TRUE
+
+/obj/item/mech_equipment/mounted_system/projectile/MouseDownInteraction(atom/object, location, control, params, mob/user)
+ var/obj/item/gun/gun = holding
+ if(istype(object) && (isturf(object) || isturf(object.loc)) && istype(gun))
+ if(user != src)
+ if(!user.incapacitated())
+ gun.set_autofire(object, owner, FALSE) // Passed gun-firer is still the exosuit since all checks need to be done on the suit.
+ owner.current_user = user
+ else
+ if(!owner.incapacitated())
+ gun.set_autofire(object, owner, FALSE)
+ owner.current_user = null
+
+/obj/item/mech_equipment/mounted_system/projectile/MouseUpInteraction(atom/object, location, control, params, mob/user)
+ var/obj/item/gun/gun = holding
+ if(istype(gun))
+ gun.clear_autofire()
+ if(owner) // In case the owning exosuit has been gibbed etc.
+ owner.current_user = null
+
+/obj/item/mech_equipment/mounted_system/projectile/MouseDragInteraction(atom/src_object, atom/over_object, src_location, over_location, src_control, over_control, params, mob/user)
+ var/obj/item/gun/gun = holding
+ if(!owner)
+ gun?.clear_autofire()
+ return
+ if(!istype(gun))
+ owner?.current_user = null
+ return
+ if(istype(over_object) && (isturf(over_object) || isturf(over_object.loc)))
+ if(user.incapacitated() || (user != owner && user != owner.current_user))
+ gun.clear_autofire()
+ return
+ gun.set_autofire(over_object, owner, FALSE)
+ return
+
+ gun.clear_autofire()
\ No newline at end of file
diff --git a/code/modules/mechs/mech.dm b/code/modules/mechs/mech.dm
index 96e47b99775..2dccac4ee91 100644
--- a/code/modules/mechs/mech.dm
+++ b/code/modules/mechs/mech.dm
@@ -184,7 +184,7 @@
. = ..()
-/mob/living/exosuit/examine(mob/user)
+/mob/living/exosuit/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
if(LAZYLEN(pilots) && (!hatch_closed || body.pilot_coverage < 100 || body.transparent_cabin))
to_chat(user, "It is being piloted by [english_list(pilots, nothing_text = "nobody")].")
@@ -201,10 +201,8 @@
for(var/obj/item/mech_component/thing in list(arms, legs, head, body))
if(!thing)
continue
-
var/damage_string = thing.get_damage_string()
to_chat(user, "Its [thing.name] [thing.gender == PLURAL ? "are" : "is"] [damage_string].")
-
to_chat(user, "It menaces with reinforcements of [material].")
/mob/living/exosuit/return_air()
diff --git a/code/modules/mechs/mech_interaction.dm b/code/modules/mechs/mech_interaction.dm
index 5734a5088a9..65b5b1e1297 100644
--- a/code/modules/mechs/mech_interaction.dm
+++ b/code/modules/mechs/mech_interaction.dm
@@ -9,12 +9,12 @@
return TRUE
. = ..()
-/mob/living/exosuit/RelayMouseDrag(src_object, over_object, src_location, over_location, src_control, over_control, params, var/mob/user)
+/mob/living/exosuit/RelayMouseDrag(atom/src_object, atom/over_object, src_location, over_location, src_control, over_control, params, mob/user)
if(user && (user in pilots) && user.loc == src)
return OnMouseDrag(src_object, over_object, src_location, over_location, src_control, over_control, params, user)
return ..()
-/mob/living/exosuit/OnMouseDrag(src_object, over_object, src_location, over_location, src_control, over_control, params, var/mob/user)
+/mob/living/exosuit/OnMouseDrag(atom/src_object, atom/over_object, src_location, over_location, src_control, over_control, params, mob/user)
if(!user || incapacitated() || user.incapacitated())
return FALSE
@@ -25,6 +25,36 @@
if(selected_system)
return selected_system.MouseDragInteraction(src_object, over_object, src_location, over_location, src_control, over_control, params, user)
+/mob/living/exosuit/RelayMouseDown(atom/object, location, control, params, mob/user)
+ if(user && (user in pilots) && user.loc == src)
+ return OnMouseDown(object, location, control, params, user)
+ return ..()
+
+/mob/living/exosuit/OnMouseDown(atom/object, location, control, params, mob/user)
+ if(!user || incapacitated() || user.incapacitated())
+ return FALSE
+
+ if(!(user in pilots) && user != src)
+ return FALSE
+
+ if(selected_system)
+ return selected_system.MouseDownInteraction(object, location, control, params, user)
+
+/mob/living/exosuit/RelayMouseUp(atom/object, location, control, params, mob/user)
+ if(user && (user in pilots) && user.loc == src)
+ return OnMouseUp(object, location, control, params, user)
+ return ..()
+
+/mob/living/exosuit/OnMouseUp(atom/object, location, control, params, mob/user)
+ if(!user || incapacitated() || user.incapacitated())
+ return FALSE
+
+ if(!(user in pilots) && user != src)
+ return FALSE
+
+ if(selected_system)
+ return selected_system.MouseUpInteraction(object, location, control, params, user)
+
/datum/click_handler/default/mech/OnClick(var/atom/A, var/params)
var/mob/living/exosuit/E = user.loc
if(!istype(E))
@@ -490,7 +520,7 @@
SetName(new_name)
to_chat(user, SPAN_NOTICE("You have redesignated this exosuit as \the [name]."))
-/mob/living/exosuit/get_inventory_slot(obj/item/I)
+/mob/living/exosuit/get_equipped_slot_for_item(obj/item/I)
for(var/h in hardpoints)
if(hardpoints[h] == I)
return h
diff --git a/code/modules/mechs/mech_movement.dm b/code/modules/mechs/mech_movement.dm
index 4347de5d8f6..408c5931744 100644
--- a/code/modules/mechs/mech_movement.dm
+++ b/code/modules/mechs/mech_movement.dm
@@ -155,7 +155,9 @@
anchored = 0
return FALSE
-/mob/living/exosuit/check_space_footing()//mechs can't push off things to move around in space, they stick to hull or float away
+/mob/living/exosuit/check_space_footing() //mechs can't push off things to move around in space, they stick to hull or float away
+ if(has_gravity())
+ return TRUE
for(var/thing in RANGE_TURFS(src, 1))
var/turf/T = thing
if(T.density || T.is_wall() || T.is_floor())
diff --git a/code/modules/mechs/premade/combat.dm b/code/modules/mechs/premade/combat.dm
index e9dc09437f6..ec7bc6b2688 100644
--- a/code/modules/mechs/premade/combat.dm
+++ b/code/modules/mechs/premade/combat.dm
@@ -17,7 +17,7 @@
/mob/living/exosuit/premade/combat/spawn_mech_equipment()
..()
install_system(new /obj/item/mech_equipment/mounted_system/taser(src), HARDPOINT_LEFT_HAND)
- install_system(new /obj/item/mech_equipment/mounted_system/taser/ion(src), HARDPOINT_RIGHT_HAND)
+ install_system(new /obj/item/mech_equipment/mounted_system/projectile/assault_rifle(src), HARDPOINT_RIGHT_HAND)
install_system(new /obj/item/mech_equipment/flash(src), HARDPOINT_LEFT_SHOULDER)
install_system(new /obj/item/mech_equipment/light(src), HARDPOINT_RIGHT_SHOULDER)
diff --git a/code/modules/mining/machinery/_material_processing.dm b/code/modules/mining/machinery/_material_processing.dm
index de39207ba8c..0d20dfaf71b 100644
--- a/code/modules/mining/machinery/_material_processing.dm
+++ b/code/modules/mining/machinery/_material_processing.dm
@@ -27,13 +27,13 @@
/obj/machinery/material_processing/on_update_icon()
cut_overlays()
-
+
icon_state = initial(icon_state)
if(panel_open)
add_overlay("[icon_state]-open")
if(!use_power || (stat & (BROKEN|NOPOWER)))
icon_state = "[icon_state]-off"
-
+
var/overlay_dir = 0
if(input_turf)
overlay_dir = get_dir(src, input_turf)
@@ -90,6 +90,7 @@
/obj/machinery/material_processing/Destroy()
input_turf = null
output_turf = null
+ events_repository.unregister(/decl/observ/moved, src, src, .proc/on_moved)
. = ..()
/obj/machinery/material_processing/Initialize()
@@ -98,6 +99,13 @@
SET_OUTPUT(output_turf)
. = ..()
queue_icon_update()
+ events_repository.register(/decl/observ/moved, src, src, .proc/on_moved)
+
+/obj/machinery/material_processing/proc/on_moved(atom/moving, atom/old_loc, atom/new_loc)
+ if(istype(input_turf, /turf))
+ input_turf = get_step(get_turf(src), get_dir(get_turf(old_loc), input_turf))
+ if(istype(output_turf, /turf))
+ output_turf = get_step(get_turf(src), get_dir(get_turf(old_loc), output_turf))
/obj/machinery/material_processing/OnTopic(var/user, var/list/href_list)
if(href_list["toggle_power"])
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index d5e65ff9921..6f5f80de575 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -5,8 +5,8 @@
blocks_air = 1
density = 1
opacity = 1
+ turf_flags = TURF_IS_HOLOMAP_OBSTACLE
-var/global/list/mining_floors = list()
/**********************Asteroid**************************/
// Setting icon/icon_state initially will use these values when the turf is built on/replaced.
// This means you can put grass on the asteroid etc.
@@ -22,22 +22,23 @@ var/global/list/mining_floors = list()
initial_flooring = null
initial_gas = null
temperature = TCMB
- turf_flags = TURF_FLAG_BACKGROUND
+ turf_flags = TURF_FLAG_BACKGROUND | TURF_IS_HOLOMAP_PATH
var/dug = 0 //0 = has not yet been dug, 1 = has already been dug
var/overlay_detail
/turf/simulated/floor/asteroid/Initialize()
- . = ..()
- if (!mining_floors["[src.z]"])
- mining_floors["[src.z]"] = list()
- mining_floors["[src.z]"] += src
if(prob(20))
overlay_detail = "asteroid[rand(0,9)]"
+ . = ..()
+ var/obj/abstract/level_data/mining_level/level = SSmapping.levels_by_z[z]
+ if(istype(level))
+ LAZYADD(level.mining_turfs, src)
/turf/simulated/floor/asteroid/Destroy()
- if (mining_floors["[src.z]"])
- mining_floors["[src.z]"] -= src
+ var/obj/abstract/level_data/mining_level/level = SSmapping.levels_by_z[z]
+ if(istype(level))
+ LAZYREMOVE(level.mining_turfs, src)
return ..()
/turf/simulated/floor/asteroid/explosion_act(severity)
diff --git a/code/modules/mob/examine.dm b/code/modules/mob/examine.dm
new file mode 100644
index 00000000000..8e2d2ad4ea7
--- /dev/null
+++ b/code/modules/mob/examine.dm
@@ -0,0 +1,161 @@
+/mob/proc/get_visible_pronouns(hideflags)
+ //suits/masks/helmets make it hard to tell their gender
+ if((hideflags & HIDEJUMPSUIT) && (hideflags & HIDEFACE))
+ return GET_DECL(/decl/pronouns)
+ return get_pronouns()
+
+/mob/proc/get_equipment_visibility()
+ . = 0
+ for(var/obj/item/thing in get_equipped_items(include_carried = FALSE))
+ . |= thing.flags_inv
+ return . & EQUIPMENT_VISIBILITY_FLAGS
+
+/mob/proc/show_examined_short_description(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
+ to_chat(user, "[html_icon(src)] That's \a [src][infix]. [suffix]")
+ to_chat(user, desc)
+
+/datum/inventory_slot/proc/get_examined_string()
+ return
+
+/mob/proc/show_examined_worn_held_items(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
+
+ . = list()
+
+ // This block currently does nothing due to inventory slots being unimplemented.
+ // On full implementation it will replace the entire chunk of human inv code below.
+ /*
+ var/slot_datums = get_inventory_slots()
+ if(length(slot_datums))
+ for(var/slot in slot_datums) // TODO: consider sorting inventory_slots instead of relying on this list order.
+ var/datum/inventory_slot/inv_slot = slot_datums[slot]
+ var/slot_desc = inv_slot?.get_examined_string(src, user, distance, hideflags, pronouns)
+ if(slot_desc)
+ . += slot_desc
+ */
+
+ /*
+ * Begin giant horrible lump of inventory text migrated down here from human/examine()
+ * Kill this entire chunk when inventory slots are properly implemented and the above
+ * block handles this properly.
+ */
+
+ //uniform
+ var/obj/item/uniform = get_equipped_item(slot_w_uniform_str)
+ if(uniform && !(hideflags & HIDEJUMPSUIT))
+ . += "[pronouns.He] [pronouns.is] wearing [uniform.get_examine_line()]."
+ //head
+ var/obj/item/head = get_equipped_item(slot_head_str)
+ if(head)
+ . += "[pronouns.He] [pronouns.is] wearing [head.get_examine_line()] on [pronouns.his] head."
+ //suit/armour
+ var/obj/item/suit = get_equipped_item(slot_wear_suit_str)
+ if(suit)
+ . += "[pronouns.He] [pronouns.is] wearing [suit.get_examine_line()]."
+ //suit/armour storage
+ if(!(hideflags & HIDESUITSTORAGE))
+ var/obj/item/stored = get_equipped_item(slot_s_store_str)
+ if(stored)
+ . += "[pronouns.He] [pronouns.is] carrying [stored.get_examine_line()] on [pronouns.his] [suit.name]."
+ //back
+ var/obj/item/back = get_equipped_item(slot_back_str)
+ if(back)
+ . += "[pronouns.He] [pronouns.has] [back.get_examine_line()] on [pronouns.his] back."
+ //held items
+ var/list/held_slots = get_held_item_slots()
+ for(var/hand_slot in held_slots)
+ var/datum/inventory_slot/inv_slot = LAZYACCESS(held_slots, hand_slot)
+ if(inv_slot?.holding)
+ var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, hand_slot)
+ if(E)
+ . += "[pronouns.He] [pronouns.is] holding [inv_slot.holding.get_examine_line()] in [pronouns.his] [E.name]."
+ //gloves
+ var/obj/item/gloves = get_equipped_item(slot_gloves_str)
+ if(gloves && !(hideflags & HIDEGLOVES))
+ . += "[pronouns.He] [pronouns.has] [gloves.get_examine_line()] on [pronouns.his] hands."
+ else
+ var/datum/reagents/coating
+ for(var/obj/item/organ/external/E in get_hands_organs())
+ if(E.coating)
+ coating = E.coating
+ break
+ if(coating)
+ . += "There's something on [pronouns.his] hands !"
+ //belt
+ var/obj/item/belt = get_equipped_item(slot_belt_str)
+ if(belt)
+ . += "[pronouns.He] [pronouns.has] [belt.get_examine_line()] about [pronouns.his] waist."
+ //shoes
+ var/obj/item/shoes = get_equipped_item(slot_shoes_str)
+ if(shoes && !(hideflags & HIDESHOES))
+ . += "[pronouns.He] [pronouns.is] wearing [shoes.get_examine_line()] on [pronouns.his] feet."
+ else
+ var/datum/reagents/coating
+ for(var/foot_tag in list(BP_L_FOOT, BP_R_FOOT))
+ var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, foot_tag)
+ if(E && E.coating)
+ coating = E.coating
+ break
+ if(coating)
+ . += "There's something on [pronouns.his] feet !"
+ //mask
+ var/obj/item/mask = get_equipped_item(slot_wear_mask_str)
+ if(mask && !(hideflags & HIDEMASK))
+ . += "[pronouns.He] [pronouns.has] [mask.get_examine_line()] on [pronouns.his] face."
+ //eyes
+ if(!(hideflags & HIDEEYES))
+ var/obj/item/glasses = get_equipped_item(slot_glasses_str)
+ if(glasses)
+ . += "[pronouns.He] [pronouns.has] [glasses.get_examine_line()] covering [pronouns.his] eyes."
+ if(!(hideflags & HIDEEARS))
+ var/obj/item/ear = get_equipped_item(slot_l_ear_str)
+ if(ear)
+ . += "[pronouns.He] [pronouns.has] [ear.get_examine_line()] on [pronouns.his] left ear."
+ ear = get_equipped_item(slot_r_ear_str)
+ if(ear)
+ . += "[pronouns.He] [pronouns.has] [ear.get_examine_line()] on [pronouns.his] right ear."
+ //ID
+ var/obj/item/id = get_equipped_item(slot_wear_id_str)
+ if(id)
+ . += "[pronouns.He] [pronouns.is] wearing [id.get_examine_line()]."
+ //handcuffs?
+ var/obj/item/cuffs = get_equipped_item(slot_handcuffed_str)
+ if(cuffs)
+ . += "[pronouns.He] [pronouns.is] [html_icon(cuffs)] restrained with \the [cuffs]! "
+ /*
+ * End giant horrible block of human inventory shit.
+ */
+
+ if(buckled)
+ . += SPAN_WARNING("[pronouns.He] [pronouns.is] [html_icon(buckled)] buckled to [buckled]!")
+ if(length(.))
+ to_chat(user, jointext(., "\n"))
+
+/mob/proc/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
+ return
+
+/mob/examine(mob/user, distance, infix, suffix)
+
+ SHOULD_CALL_PARENT(FALSE)
+ . = TRUE
+
+ // Collect equipment visibility flags.
+ var/hideflags = get_equipment_visibility()
+ //no accuately spotting headsets from across the room.
+ if(distance > 3)
+ hideflags |= HIDEEARS
+
+ // Show our equipment, held items, desc, etc.
+ var/decl/pronouns/pronouns = get_visible_pronouns(hideflags)
+ to_chat(user, "")
+ show_examined_short_description(user, distance, infix, suffix, hideflags, pronouns)
+ show_examined_worn_held_items(user, distance, infix, suffix, hideflags, pronouns)
+ show_other_examine_strings(user, distance, infix, suffix, hideflags, pronouns)
+ to_chat(user, "
")
+
+ // Update our target dolly.
+ if(user.zone_sel)
+ var/decl/species/target_species = get_species()
+ if(target_species && (BP_TAIL in target_species.has_limbs))
+ user.zone_sel.icon_state = "zone_sel_tail"
+ else
+ user.zone_sel.icon_state = "zone_sel"
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 36969dd90eb..bb89d5d80c9 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -15,7 +15,7 @@
//set disable_warning to disable the 'you are unable to equip that' warning.
//unset redraw_mob to prevent the mob from being redrawn at the end.
//set force to replace items in the slot and ignore blocking overwear
-/mob/proc/equip_to_slot_if_possible(obj/item/W, slot, del_on_fail = 0, disable_warning = 0, redraw_mob = 1, force = 0)
+/mob/proc/equip_to_slot_if_possible(obj/item/W, slot, del_on_fail = 0, disable_warning = 0, redraw_mob = 1, force = FALSE, delete_old_item = TRUE)
if(!istype(W) || !slot)
return FALSE
@@ -27,12 +27,12 @@
return FALSE
if(canUnEquip(W))
- equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail.
+ equip_to_slot(W, slot, redraw_mob, delete_old_item = delete_old_item) //This proc should not ever fail.
return TRUE
//This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on whether you can or can't eqip need to be done before! Use mob_can_equip() for that task.
//In most cases you will want to use equip_to_slot_if_possible()
-/mob/proc/equip_to_slot(obj/item/W, slot)
+/mob/proc/equip_to_slot(obj/item/W, slot, delete_old_item = TRUE)
SHOULD_CALL_PARENT(TRUE)
return istype(W) && !isnull(slot)
@@ -46,26 +46,6 @@
return equip_to_storage_or_drop(W)
return store
-//The list of slots by priority. equip_to_appropriate_slot() uses this list. Doesn't matter if a mob type doesn't have a slot.
-var/global/list/slot_equipment_priority = list( \
- slot_back_str,\
- slot_wear_id_str,\
- slot_w_uniform_str,\
- slot_wear_suit_str,\
- slot_wear_mask_str,\
- slot_head_str,\
- slot_shoes_str,\
- slot_gloves_str,\
- slot_l_ear_str,\
- slot_r_ear_str,\
- slot_glasses_str,\
- slot_belt_str,\
- slot_s_store_str,\
- slot_tie_str,\
- slot_l_store_str,\
- slot_r_store_str\
- )
-
//Checks if a given slot can be accessed at this time, either to equip or unequip I
/mob/proc/slot_is_accessible(var/slot, var/obj/item/I, mob/user=null)
return 1
@@ -75,7 +55,7 @@ var/global/list/slot_equipment_priority = list( \
/mob/proc/equip_to_appropriate_slot(obj/item/W, var/skip_store = 0)
if(!istype(W))
return FALSE
- for(var/slot in slot_equipment_priority)
+ for(var/slot in global.slot_equipment_priority)
if(skip_store)
if(slot == slot_s_store_str || slot == slot_l_store_str || slot == slot_r_store_str)
continue
@@ -222,21 +202,35 @@ var/global/list/slot_equipment_priority = list( \
/mob/proc/isEquipped(obj/item/I)
if(!I)
- return 0
- return get_inventory_slot(I) != 0
+ return FALSE
+ return !!get_equipped_slot_for_item(I)
/mob/proc/canUnEquip(obj/item/I)
if(!I) //If there's nothing to drop, the drop is automatically successful.
return 1
- var/slot = get_inventory_slot(I)
+ var/slot = get_equipped_slot_for_item(I)
if(!slot && !istype(I.loc, /obj/item/rig_module))
return 1 //already unequipped, so success
return I.mob_can_unequip(src, slot)
-/mob/proc/get_inventory_slot(obj/item/I)
- for(var/s in global.all_inventory_slots)
- if(get_equipped_item(s) == I)
- return s
+/mob/proc/get_equipped_slot_for_item(obj/item/I)
+ var/list/slots = get_inventory_slots()
+ if(!length(slots))
+ return
+ for(var/slot_str in slots)
+ if(get_equipped_item(slot_str) == I) // slots[slot]._holding == I
+ return slot_str
+
+/mob/proc/get_held_slot_for_item(obj/item/I)
+ var/list/slots = get_held_item_slots()
+ if(!length(slots))
+ return
+ for(var/slot in slots)
+ if(slots[slot] == I)
+ return slot
+
+/mob/proc/get_inventory_slot_datum(var/slot)
+ return
//This differs from remove_from_mob() in that it checks if the item can be unequipped first. Use drop_from_inventory if you don't want to check.
/mob/proc/unEquip(obj/item/I, var/atom/target, var/play_dropsound = TRUE)
@@ -269,6 +263,8 @@ var/global/list/slot_equipment_priority = list( \
//Returns the item equipped to the specified slot, if any.
/mob/proc/get_equipped_item(var/slot)
+
+ // Check equipment slots.
SHOULD_CALL_PARENT(TRUE)
switch(slot)
if(slot_back_str)
@@ -276,6 +272,11 @@ var/global/list/slot_equipment_priority = list( \
if(slot_wear_mask_str)
return _wear_mask
+ // Check held item slots.
+ var/held_slots = get_held_item_slots()
+ var/datum/inventory_slot/inv_slot = LAZYACCESS(held_slots, slot)
+ return inv_slot?.holding
+
/mob/proc/get_equipped_items(var/include_carried = 0)
SHOULD_CALL_PARENT(TRUE)
for(var/slot in list(slot_back_str, slot_wear_mask_str))
@@ -320,8 +321,21 @@ var/global/list/slot_equipment_priority = list( \
/mob/proc/is_holding_offhand(var/thing)
return FALSE
-/mob/proc/ui_toggle_internals()
- return FALSE
-
/mob/proc/can_be_buckled(var/mob/user)
. = user.Adjacent(src) && !istype(user, /mob/living/silicon/pai)
+
+/// If this proc returns false, reconsider_client_screen_presence will set the item's screen_loc to null.
+/mob/proc/item_should_have_screen_presence(obj/item/item, slot)
+ return hud_used && slot && (hud_used.inventory_shown || !(slot in global.hidden_inventory_slots))
+
+/mob/proc/get_held_item_slots()
+ return
+
+/mob/proc/get_inventory_slots()
+ return
+
+/mob/proc/get_hands_organs()
+ for(var/hand_slot in get_held_item_slots())
+ var/org = GET_EXTERNAL_ORGAN(src, hand_slot)
+ if(org)
+ LAZYDISTINCTADD(., org)
diff --git a/code/modules/mob/living/bot/medibot.dm b/code/modules/mob/living/bot/medibot.dm
index 2a1f1ce9f78..4ad41fc161e 100644
--- a/code/modules/mob/living/bot/medibot.dm
+++ b/code/modules/mob/living/bot/medibot.dm
@@ -40,7 +40,7 @@
//The last time we were tipped/righted and said a voice line, to avoid spam
var/last_tipping_action_voice = 0
-/mob/living/bot/medbot/examine(mob/user)
+/mob/living/bot/medbot/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
if(tipped_status == MEDBOT_PANIC_NONE)
return
diff --git a/code/modules/mob/living/bot/remotebot.dm b/code/modules/mob/living/bot/remotebot.dm
index 041ae92d531..609b3bbf65c 100644
--- a/code/modules/mob/living/bot/remotebot.dm
+++ b/code/modules/mob/living/bot/remotebot.dm
@@ -18,7 +18,7 @@
tally += (2 * holding.w_class)
return tally
-/mob/living/bot/remotebot/examine(mob/user)
+/mob/living/bot/remotebot/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
if(holding)
to_chat(user, "It is holding \the [html_icon(holding)] [holding]. ")
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 6ba9d46e03e..57561e620d3 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -319,11 +319,11 @@
Head(Mask): [(mask ? mask : "Nothing")] "}
- for(var/bp in held_item_slots)
- var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, bp)
+ for(var/hand_slot in held_item_slots)
+ var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, hand_slot)
if(E)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
- dat += "[capitalize(E.name)]: [inv_slot.holding?.name || "nothing"] "
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
+ dat += "[capitalize(E.name)]: [inv_slot.holding?.name || "nothing"] "
var/obj/item/back = get_equipped_item(slot_back_str)
dat += {"Back: [(back || "Nothing")] [((istype(mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? text(" Set Internal ", src) : "")]
@@ -391,21 +391,6 @@
/mob/living/carbon/adjust_hydration(var/amt)
set_hydration(hydration + amt)
-/mob/living/carbon/proc/set_internals(obj/item/tank/source, source_string)
- var/old_internal = internal
-
- internal = source
-
- if(!old_internal && internal)
- if(!source_string)
- source_string = source.name
- to_chat(src, "You are now running on internals from \the [source_string]. ")
- playsound(src, 'sound/effects/internals.ogg', 50, 0)
- if(old_internal && !internal)
- to_chat(src, "You are no longer running on internals. ")
- if(internals)
- internals.icon_state = "internal[!!internal]"
-
/mob/living/carbon/has_dexterity(var/dex_level)
. = ..() && (species.get_manual_dexterity() >= dex_level)
@@ -431,78 +416,6 @@
/mob/living/carbon/get_admin_job_string()
return "Carbon-based"
-/mob/living/carbon/proc/get_possible_internals_sources()
- . = list("back" = list(get_equipped_item(slot_back_str), "on"))
-
-/mob/living/carbon/proc/breathing_hole_covered()
- var/obj/item/mask = get_equipped_item(slot_wear_mask_str)
- . = (mask && (mask?.item_flags & ITEM_FLAG_AIRTIGHT))
-
-/mob/living/carbon/ui_toggle_internals()
-
- if(incapacitated())
- return
-
- if(internal)
- set_internals(null)
- return
-
- if(!breathing_hole_covered())
- to_chat(src, SPAN_WARNING("You are not wearing a suitable mask or helmet."))
- return
-
- set_internals_to_best_available_tank()
-
- if(!internal)
- to_chat(src, SPAN_WARNING("You don't have a tank that is usable as internals."))
-
-
-/mob/living/carbon/proc/set_internals_to_best_available_tank(var/breathes_gas = /decl/material/gas/oxygen, var/list/poison_gas = list(/decl/material/gas/chlorine))
-
- if(!ispath(breathes_gas))
- return
-
- var/list/possible_sources = get_possible_internals_sources()
- for(var/slot in held_item_slots)
- var/obj/item/tank/checking = get_equipped_item(slot)
- if(istype(checking))
- possible_sources[slot] = list(checking, "in")
-
- var/selected_slot
- var/selected_from
- var/obj/item/tank/selected_obj
- var/decl/material/breathing_gas = GET_DECL(breathes_gas)
- for(var/slot_name in possible_sources)
- var/list/checking_data = possible_sources[slot_name]
- if(length(checking_data) < 2)
- continue
- var/obj/item/tank/checking = checking_data[1]
- if(!istype(checking) || !checking.air_contents?.gas)
- continue
-
- var/valid_tank = (checking.manipulated_by && checking.manipulated_by != real_name && findtext(checking.desc, breathing_gas.name))
- if(!valid_tank)
- if(!checking.air_contents.gas[breathes_gas])
- continue
- var/is_poison = FALSE
- for(var/poison in poison_gas)
- if(checking.air_contents.gas[poison])
- is_poison = TRUE
- break
- if(!is_poison)
- valid_tank = TRUE
-
- if(valid_tank && (!selected_obj || selected_obj.air_contents.gas[breathes_gas] < checking.air_contents.gas[breathes_gas]))
- selected_obj = checking
- selected_slot = slot_name
- selected_from = checking_data[2]
-
- if(selected_obj)
- if(selected_slot && selected_from)
- set_internals(selected_obj, "\the [selected_obj] [selected_from] your [selected_slot]")
- else
- set_internals(selected_obj, "\the [selected_obj]")
-
/mob/living/carbon/handle_flashed(var/obj/item/flash/flash, var/flash_strength)
var/safety = eyecheck()
@@ -524,4 +437,4 @@
var/obj/item/I = get_active_hand()
if(I && I.simulated)
- I.showoff(src)
\ No newline at end of file
+ I.showoff(src)
diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm
index 948d9b9989b..366dbbe550b 100644
--- a/code/modules/mob/living/carbon/human/appearance.dm
+++ b/code/modules/mob/living/carbon/human/appearance.dm
@@ -68,13 +68,13 @@
h_style = pick(valid_hairstyles)
else
//this shouldn't happen
- h_style = /decl/sprite_accessory/hair/bald
+ h_style = species?.default_h_style || /decl/sprite_accessory/hair/bald
if(length(valid_facial_hairstyles))
f_style = pick(valid_facial_hairstyles)
else
//this shouldn't happen
- f_style = /decl/sprite_accessory/facial_hair/shaved
+ f_style = species?.default_f_style || /decl/sprite_accessory/facial_hair/shaved
update_hair()
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index cf445d784e4..11743a6bd54 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -1,237 +1,80 @@
-/mob/living/carbon/human/examine(mob/user, distance)
- SHOULD_CALL_PARENT(FALSE)
- . = TRUE
- var/skipgloves = 0
- var/skipsuitstorage = 0
- var/skipjumpsuit = 0
- var/skipshoes = 0
- var/skipmask = 0
- var/skipears = 0
- var/skipeyes = 0
- var/skipface = 0
-
- if(user.zone_sel)
- if(BP_TAIL in species.has_limbs)
- user.zone_sel.icon_state = "zone_sel_tail"
- else
- user.zone_sel.icon_state = "zone_sel"
-
- //exosuits and helmets obscure our view and stuff.
- var/obj/item/suit = get_equipped_item(slot_wear_suit_str)
- if(suit)
- skipgloves = suit.flags_inv & HIDEGLOVES
- skipsuitstorage = suit.flags_inv & HIDESUITSTORAGE
- skipjumpsuit = suit.flags_inv & HIDEJUMPSUIT
- skipshoes = suit.flags_inv & HIDESHOES
-
-
- var/obj/item/head = get_equipped_item(slot_head_str)
- if(head)
- skipmask = head.flags_inv & HIDEMASK
- skipeyes = head.flags_inv & HIDEEYES
- skipears = head.flags_inv & HIDEEARS
- skipface = head.flags_inv & HIDEFACE
-
- var/obj/item/mask = get_equipped_item(slot_wear_mask_str)
- if(mask)
- skipeyes |= mask.flags_inv & HIDEEYES
- skipears |= mask.flags_inv & HIDEEARS
- skipface |= mask.flags_inv & HIDEFACE
-
- //no accuately spotting headsets from across the room.
- if(distance > 3)
- skipears = 1
-
- var/list/msg = list("*---------*\nThis is ")
-
- var/decl/pronouns/G
- if(skipjumpsuit && skipface) //big suits/masks/helmets make it hard to tell their gender
- G = GET_DECL(/decl/pronouns)
- else
- G = get_pronouns()
- if(icon)
- msg += "[html_icon(icon)] " //fucking BYOND: this should stop dreamseeker crashing if we -somehow- examine somebody before their icon is generated
-
- if(!G)
- // Just in case someone VVs the gender to something strange. It'll runtime anyway when it hits usages, better to CRASH() now with a helpful message.
- CRASH("Gender datum was null; key was '[(skipjumpsuit && skipface) ? PLURAL : gender]'")
-
- msg += "[src.name] "
-
- var/is_synth = isSynthetic()
- if(!(skipjumpsuit && skipface))
+/mob/living/carbon/human/show_examined_short_description(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
+ var/msg = list("*---------*\nThis is [name] ")
+ if(!(hideflags & HIDEJUMPSUIT) || !(hideflags & HIDEFACE))
var/species_name = "\improper "
- if(is_synth && species.cyborg_noun)
+ if(isSynthetic() && species.cyborg_noun)
species_name += "[species.cyborg_noun] [species.get_root_species_name(src)]"
else
species_name += "[species.name]"
msg += ", \a [species_name]! [(user.can_use_codex() && SScodex.get_codex_entry(get_codex_value(user))) ? SPAN_NOTICE(" \[? \]") : ""]"
-
var/extra_species_text = species.get_additional_examine_text(src)
if(extra_species_text)
- msg += "[extra_species_text] "
-
- msg += " "
-
- //uniform
- var/obj/item/uniform = get_equipped_item(slot_w_uniform_str)
- if(uniform && !skipjumpsuit)
- msg += "[G.He] [G.is] wearing [uniform.get_examine_line()].\n"
-
- //head
- if(head)
- msg += "[G.He] [G.is] wearing [head.get_examine_line()] on [G.his] head.\n"
-
- //suit/armour
- if(suit)
- msg += "[G.He] [G.is] wearing [suit.get_examine_line()].\n"
- //suit/armour storage
- if(!skipsuitstorage)
- var/obj/item/stored = get_equipped_item(slot_s_store_str)
- if(stored)
- msg += "[G.He] [G.is] carrying [stored.get_examine_line()] on [G.his] [suit.name].\n"
-
- //back
- var/obj/item/back = get_equipped_item(slot_back_str)
- if(back)
- msg += "[G.He] [G.has] [back.get_examine_line()] on [G.his] back.\n"
-
- //held items
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = LAZYACCESS(held_item_slots, bp)
- if(inv_slot?.holding)
- var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, bp)
- if(E)
- msg += "[G.He] [G.is] holding [inv_slot.holding.get_examine_line()] in [G.his] [E.name].\n"
-
- //gloves
- var/obj/item/gloves = get_equipped_item(slot_gloves_str)
- if(gloves && !skipgloves)
- msg += "[G.He] [G.has] [gloves.get_examine_line()] on [G.his] hands.\n"
- else
- var/list/jazzhands = get_hands_organs()
- var/datum/reagents/coating
- for(var/obj/item/organ/external/E in jazzhands)
- if(E.coating)
- coating = E.coating
- break
- if(coating)
- msg += "There's something on [G.his] hands !\n"
-
- //belt
- var/obj/item/belt = get_equipped_item(slot_belt_str)
- if(belt)
- msg += "[G.He] [G.has] [belt.get_examine_line()] about [G.his] waist.\n"
-
- //shoes
- var/obj/item/shoes = get_equipped_item(slot_shoes_str)
- if(shoes && !skipshoes)
- msg += "[G.He] [G.is] wearing [shoes.get_examine_line()] on [G.his] feet.\n"
- else
- var/datum/reagents/coating
- for(var/bp in list(BP_L_FOOT, BP_R_FOOT))
- var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, bp)
- if(E && E.coating)
- coating = E.coating
- break
- if(coating)
- msg += "There's something on [G.his] feet !\n"
-
- //mask
- if(mask && !skipmask)
- msg += "[G.He] [G.has] [mask.get_examine_line()] on [G.his] face.\n"
-
- //eyes
- if(!skipeyes)
- var/obj/item/glasses = get_equipped_item(slot_glasses_str)
- if(glasses)
- msg += "[G.He] [G.has] [glasses.get_examine_line()] covering [G.his] eyes.\n"
-
- if(!skipears)
- var/obj/item/ear = get_equipped_item(slot_l_ear_str)
- if(ear)
- msg += "[G.He] [G.has] [ear.get_examine_line()] on [G.his] left ear.\n"
- ear = get_equipped_item(slot_r_ear_str)
- if(ear)
- msg += "[G.He] [G.has] [ear.get_examine_line()] on [G.his] right ear.\n"
-
- //ID
- var/obj/item/id = get_equipped_item(slot_wear_id_str)
- if(id)
- msg += "[G.He] [G.is] wearing [id.get_examine_line()].\n"
-
- //handcuffs?
- var/obj/item/cuffs = get_equipped_item(slot_handcuffed_str)
- if(cuffs)
- msg += "[G.He] [G.is] [html_icon(cuffs)] restrained with \the [cuffs]! \n"
-
- //buckled
- if(buckled)
- msg += "[G.He] [G.is] [html_icon(buckled)] buckled to [buckled]! \n"
+ msg += " [extra_species_text]"
+ to_chat(user, jointext(msg, null))
+
+/mob/living/carbon/human/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
+ var/list/msg = list()
//Jitters
var/jitteriness = GET_STATUS(src, STAT_JITTER)
if(jitteriness >= 300)
- msg += "[G.He] [G.is] convulsing violently! \n"
+ msg += "[pronouns.He] [pronouns.is] convulsing violently! \n"
else if(jitteriness >= 200)
- msg += "[G.He] [G.is] extremely jittery. \n"
+ msg += "[pronouns.He] [pronouns.is] extremely jittery. \n"
else if(jitteriness >= 100)
- msg += "[G.He] [G.is] twitching ever so slightly. \n"
+ msg += "[pronouns.He] [pronouns.is] twitching ever so slightly. \n"
//Disfigured face
- if(!skipface) //Disfigurement only matters for the head currently.
+ if(!(hideflags & HIDEFACE)) //Disfigurement only matters for the head currently.
var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, BP_HEAD)
if(E && (E.status & ORGAN_DISFIGURED)) //Check to see if we even have a head and if the head's disfigured.
if(E.species) //Check to make sure we have a species
msg += E.species.disfigure_msg(src)
else //Just in case they lack a species for whatever reason.
- msg += "[G.His] face is horribly mangled! \n"
+ msg += "[pronouns.His] face is horribly mangled! \n"
//splints
for(var/organ in list(BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM))
var/obj/item/organ/external/o = GET_EXTERNAL_ORGAN(src, organ)
if(o && o.splinted && o.splinted.loc == o)
- msg += "[G.He] [G.has] \a [o.splinted] on [G.his] [o.name]! \n"
+ msg += "[pronouns.He] [pronouns.has] \a [o.splinted] on [pronouns.his] [o.name]! \n"
if (src.stat)
- msg += "[G.He] [G.is]n't responding to anything around [G.him] and seems to be unconscious. \n"
+ msg += "[pronouns.He] [pronouns.is]n't responding to anything around [pronouns.him] and seems to be unconscious. \n"
if((stat == DEAD || is_asystole() || src.losebreath) && distance <= 3)
- msg += "[G.He] [G.does] not appear to be breathing. \n"
+ msg += "[pronouns.He] [pronouns.does] not appear to be breathing. \n"
if(ishuman(user) && !user.incapacitated() && Adjacent(user))
spawn(0)
user.visible_message("\The [user] checks \the [src]'s pulse.", "You check \the [src]'s pulse.")
if(do_after(user, 15, src))
if(pulse() == PULSE_NONE)
- to_chat(user, "[G.He] [G.has] no pulse. ")
+ to_chat(user, "[pronouns.He] [pronouns.has] no pulse. ")
else
- to_chat(user, "[G.He] [G.has] a pulse! ")
+ to_chat(user, "[pronouns.He] [pronouns.has] a pulse! ")
if(fire_stacks > 0)
- msg += "[G.He] is covered in flammable liquid!\n"
+ msg += "[pronouns.He] is covered in flammable liquid!\n"
else if(fire_stacks < 0)
- msg += "[G.He] [G.is] soaking wet.\n"
+ msg += "[pronouns.He] [pronouns.is] soaking wet.\n"
if(on_fire)
- msg += "[G.He] [G.is] on fire!. \n"
+ msg += "[pronouns.He] [pronouns.is] on fire!. \n"
var/ssd_msg = species.get_ssd(src)
if(ssd_msg && (!should_have_organ(BP_BRAIN) || has_brain()) && stat != DEAD)
if(!key)
- msg += "[G.He] [G.is] [ssd_msg]. It doesn't look like [G.he] [G.is] waking up anytime soon. \n"
+ msg += "[pronouns.He] [pronouns.is] [ssd_msg]. It doesn't look like [pronouns.he] [pronouns.is] waking up anytime soon. \n"
else if(!client)
- msg += "[G.He] [G.is] [ssd_msg]. \n"
-
- if (admin_paralyzed)
- msg += SPAN_OCCULT("OOC: [G.He] [G.has] been paralyzed by staff. Please avoid interacting with [G.him] unless cleared to do so by staff.") + "\n"
+ msg += "[pronouns.He] [pronouns.is] [ssd_msg]. \n"
var/obj/item/organ/external/head/H = get_organ(BP_HEAD, /obj/item/organ/external/head)
if(istype(H) && H.forehead_graffiti && H.graffiti_style)
- msg += "[G.He] [G.has] \"[H.forehead_graffiti]\" written on [G.his] [H.name] in [H.graffiti_style]! \n"
+ msg += "[pronouns.He] [pronouns.has] \"[H.forehead_graffiti]\" written on [pronouns.his] [H.name] in [H.graffiti_style]! \n"
if(became_younger)
- msg += "[G.He] looks a lot younger than you remember.\n"
+ msg += "[pronouns.He] looks a lot younger than you remember.\n"
if(became_older)
- msg += "[G.He] looks a lot older than you remember.\n"
+ msg += "[pronouns.He] looks a lot older than you remember.\n"
var/list/wound_flavor_text = list()
var/applying_pressure = ""
@@ -245,13 +88,13 @@
var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, organ_tag)
if(!E)
- wound_flavor_text[organ_descriptor] = "[G.He] [G.is] missing [G.his] [organ_descriptor]. \n"
+ wound_flavor_text[organ_descriptor] = "[pronouns.He] [pronouns.is] missing [pronouns.his] [organ_descriptor]. \n"
continue
wound_flavor_text[E.name] = ""
if(E.applied_pressure == src)
- applying_pressure = "[G.He] [G.is] applying pressure to [G.his] [E.name]. "
+ applying_pressure = "[pronouns.He] [pronouns.is] applying pressure to [pronouns.his] [E.name]. "
var/obj/item/clothing/hidden
for(var/slot in global.standard_clothing_slots)
@@ -266,23 +109,23 @@
hidden_bleeders[hidden] = list()
hidden_bleeders[hidden] += E.name
else
- if(!is_synth && BP_IS_PROSTHETIC(E) && (E.parent && !BP_IS_PROSTHETIC(E.parent)))
- wound_flavor_text[E.name] = "[G.He] [G.has] a [E.name].\n"
+ if(!isSynthetic() && BP_IS_PROSTHETIC(E) && (E.parent && !BP_IS_PROSTHETIC(E.parent)))
+ wound_flavor_text[E.name] = "[pronouns.He] [pronouns.has] a [E.name].\n"
var/wounddesc = E.get_wounds_desc()
if(wounddesc != "nothing")
- wound_flavor_text[E.name] += "[G.He] [G.has] [wounddesc] on [G.his] [E.name]. "
+ wound_flavor_text[E.name] += "[pronouns.He] [pronouns.has] [wounddesc] on [pronouns.his] [E.name]. "
if(!hidden || distance <=1)
if(E.is_dislocated())
- wound_flavor_text[E.name] += "[G.His] [E.joint] is dislocated! "
+ wound_flavor_text[E.name] += "[pronouns.His] [E.joint] is dislocated! "
if(((E.status & ORGAN_BROKEN) && E.brute_dam > E.min_broken_damage) || (E.status & ORGAN_MUTATED))
- wound_flavor_text[E.name] += "[G.His] [E.name] is dented and swollen! "
+ wound_flavor_text[E.name] += "[pronouns.His] [E.name] is dented and swollen! "
if(E.status & ORGAN_DEAD)
if(BP_IS_PROSTHETIC(E) || BP_IS_CRYSTAL(E))
- wound_flavor_text[E.name] += "[G.His] [E.name] is irrecoverably damaged! "
+ wound_flavor_text[E.name] += "[pronouns.His] [E.name] is irrecoverably damaged! "
else
- wound_flavor_text[E.name] += "[G.His] [E.name] is grey and necrotic! "
+ wound_flavor_text[E.name] += "[pronouns.His] [E.name] is grey and necrotic! "
else if(E.damage >= E.max_damage && E.germ_level >= INFECTION_LEVEL_TWO)
- wound_flavor_text[E.name] += "[G.His] [E.name] is likely beyond saving, and has begun to decay! "
+ wound_flavor_text[E.name] += "[pronouns.His] [E.name] is likely beyond saving, and has begun to decay! "
for(var/datum/wound/wound in E.wounds)
var/list/embedlist = wound.embedded_objects
@@ -295,9 +138,9 @@
else if(!parsedembed.Find("multiple [embedded.name]"))
parsedembed.Remove(embedded.name)
parsedembed.Add("multiple "+embedded.name)
- wound_flavor_text["[E.name]"] += "The [wound.desc] on [G.his] [E.name] has \a [english_list(parsedembed, and_text = " and \a ", comma_text = ", \a ")] sticking out of it! "
+ wound_flavor_text["[E.name]"] += "The [wound.desc] on [pronouns.his] [E.name] has \a [english_list(parsedembed, and_text = " and \a ", comma_text = ", \a ")] sticking out of it! "
for(var/hidden in hidden_bleeders)
- wound_flavor_text[hidden] = "[G.He] [G.has] blood soaking through [hidden] around [G.his] [english_list(hidden_bleeders[hidden])]! "
+ wound_flavor_text[hidden] = "[pronouns.He] [pronouns.has] blood soaking through [hidden] around [pronouns.his] [english_list(hidden_bleeders[hidden])]! "
msg += ""
for(var/limb in wound_flavor_text)
@@ -307,9 +150,9 @@
for(var/obj/implant in get_visible_implants(0))
if(implant in shown_objects)
continue
- msg += "[src] [G.has] \a [implant.name] sticking out of [G.his] flesh! \n"
+ msg += "[src] [pronouns.has] \a [implant.name] sticking out of [pronouns.his] flesh! \n"
if(digitalcamo)
- msg += "[G.He] [G.is] repulsively uncanny!\n"
+ msg += "[pronouns.He] [pronouns.is] repulsively uncanny!\n"
if(hasHUD(user, HUD_SECURITY))
var/perpname = "wot"
@@ -359,7 +202,7 @@
if (pose)
if( findtext(pose,".",length(pose)) == 0 && findtext(pose,"!",length(pose)) == 0 && findtext(pose,"?",length(pose)) == 0 )
pose = addtext(pose,".") //Makes sure all emotes end with a period.
- msg += "[G.He] [pose]\n"
+ msg += "[pronouns.He] [pose]\n"
var/show_descs = show_descriptors_to(user)
if(show_descs)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 2867e2945a0..b14d944babd 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -154,11 +154,11 @@
dat += "Remove accessory "
dat += " "
- for(var/bp in held_item_slots)
- var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, bp)
+ for(var/hand_slot in held_item_slots)
+ var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, hand_slot)
if(E)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
- dat += "[capitalize(E.name)]: [inv_slot.holding?.name || "nothing"] "
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
+ dat += "[capitalize(E.name)]: [inv_slot.holding?.name || "nothing"] "
// Do they get an option to set internals?
if(istype(get_equipped_item(slot_wear_mask_str), /obj/item/clothing/mask) || istype(get_equipped_item(slot_head_str), /obj/item/clothing/head/helmet/space))
@@ -1287,13 +1287,6 @@
bodytemperature += value
return bodytemperature
-/mob/living/carbon/human/proc/get_hands_organs()
- . = list()
- for(var/bp in held_item_slots)
- var/org = GET_EXTERNAL_ORGAN(src, bp)
- if(org)
- . |= org
-
/mob/living/carbon/human/get_admin_job_string()
return job || uppertext(species.name)
@@ -1315,11 +1308,11 @@
/mob/living/carbon/human/set_internals_to_best_available_tank(var/breathes_gas = /decl/material/gas/oxygen, var/list/poison_gas = list(/decl/material/gas/chlorine))
. = ..(species.breath_type, species.poison_types)
-/mob/living/carbon/human/get_possible_internals_sources()
+/mob/living/carbon/human/get_equipped_internals_sources()
. = ..() | list(
"suit" = list(get_equipped_item(slot_s_store_str), "on"),
"belt" = list(get_equipped_item(slot_belt_str), "on"),
- "left_pocket" = list(get_equipped_item(slot_l_store_str), "in"),
+ "left pocket" = list(get_equipped_item(slot_l_store_str), "in"),
"right pocket" = list(get_equipped_item(slot_r_store_str), "in"),
"rig" = list(wearing_rig?.air_supply, "in")
)
@@ -1366,6 +1359,18 @@
set_species(species_name)
+ if(!skin_colour)
+ skin_colour = species.base_color
+ if(!hair_colour)
+ hair_colour = species.base_hair_color
+ if(!facial_hair_colour)
+ facial_hair_colour = species.base_hair_color
+ if(!eye_colour)
+ eye_colour = species.base_eye_color
+ species.set_default_hair(src, override_existing = FALSE, defer_update_hair = TRUE)
+ if(!b_type && length(species?.blood_types))
+ b_type = pickweight(species.blood_types)
+
if(new_dna)
set_real_name(new_dna.real_name)
else
diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm
index 4625e3d8f9c..1e11a7260e6 100644
--- a/code/modules/mob/living/carbon/human/human_damage.dm
+++ b/code/modules/mob/living/carbon/human/human_damage.dm
@@ -179,8 +179,8 @@
pick_organs = shuffle(pick_organs.Copy())
// Prioritize damaging our filtration organs first.
- for(var/bp in list(BP_KIDNEYS, BP_LIVER))
- var/obj/item/organ/internal/lump = GET_INTERNAL_ORGAN(src, bp)
+ for(var/organ in list(BP_KIDNEYS, BP_LIVER))
+ var/obj/item/organ/internal/lump = GET_INTERNAL_ORGAN(src, organ)
if(lump)
pick_organs -= lump
pick_organs.Insert(1, lump)
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index f431cd2a054..115107f0732 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -99,13 +99,10 @@ meteor_act
return siemens_coefficient
/mob/living/carbon/human/proc/check_head_coverage()
-
for(var/slot in global.standard_headgear_slots)
- var/bp = get_equipped_item(slot)
- if(bp && istype(bp ,/obj/item/clothing))
- var/obj/item/clothing/C = bp
- if(C.body_parts_covered & SLOT_HEAD)
- return TRUE
+ var/obj/item/clothing/clothes = get_equipped_item(slot)
+ if(istype(clothes) && (clothes.body_parts_covered & SLOT_HEAD))
+ return TRUE
return FALSE
//Used to check if they can be fed food/drinks/pills
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index bf7190f279a..5322c077abc 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -1,12 +1,12 @@
/mob/living/carbon/human
- var/h_style = /decl/sprite_accessory/hair/bald
- var/f_style = /decl/sprite_accessory/facial_hair/shaved
+ var/h_style
+ var/f_style
- var/hair_colour = COLOR_BLACK
- var/facial_hair_colour = COLOR_BLACK
- var/skin_colour = COLOR_BLACK
- var/eye_colour = COLOR_BLACK
+ var/hair_colour
+ var/facial_hair_colour
+ var/skin_colour
+ var/eye_colour
var/regenerate_body_icon = FALSE // If true, the next icon update will also regenerate the body.
@@ -16,7 +16,7 @@
var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup
- var/b_type = "A+" //Player's bloodtype
+ var/b_type //Player's bloodtype
var/list/worn_underwear = list()
diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm
index 4b148e549da..67c117988c4 100644
--- a/code/modules/mob/living/carbon/human/human_movement.dm
+++ b/code/modules/mob/living/carbon/human/human_movement.dm
@@ -109,8 +109,8 @@
return 0
//Check hands and mod slip
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in held_item_slots)
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
if(!inv_slot.holding)
prob_slip -= 2
else if(inv_slot.holding.w_class <= ITEM_SIZE_SMALL)
diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm
index d96564682e3..f67e256a641 100644
--- a/code/modules/mob/living/carbon/human/human_organs.dm
+++ b/code/modules/mob/living/carbon/human/human_organs.dm
@@ -169,11 +169,11 @@
SET_STATUS_MAX(src, STAT_WEAK, 3) //can't emote while weakened, apparently.
/mob/living/carbon/human/proc/handle_grasp()
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in held_item_slots)
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
var/holding = inv_slot?.holding
if(holding)
- var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, bp)
+ var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(src, hand_slot)
if((!E || !E.is_usable() || E.is_parent_dislocated()) && unEquip(holding))
grasp_damage_disarm(inv_slot)
@@ -199,8 +199,8 @@
var/list/drop_held_item_slots
if(istype(affected))
- for(var/bp in (list(affected.organ_tag) | affected.children))
- var/datum/inventory_slot/inv_slot = LAZYACCESS(held_item_slots, bp)
+ for(var/grasp_tag in (list(affected.organ_tag) | affected.children))
+ var/datum/inventory_slot/inv_slot = LAZYACCESS(held_item_slots, grasp_tag)
if(inv_slot?.holding)
LAZYDISTINCTADD(drop_held_item_slots, inv_slot)
else if(istype(affected, /datum/inventory_slot))
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 1096f2b6eb8..ddf99bc48df 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -162,7 +162,7 @@ This saves us from having to call add_fingerprint() any time something is put in
// Post hands rewrite I plan to conver the rest of the inventory system to a string-based inventory slot system
// so at that point the numerical flags will be removed and this proc (and the rest of the chain) can be rewritten.
-/mob/living/carbon/human/equip_to_slot(obj/item/W, slot, redraw_mob = 1)
+/mob/living/carbon/human/equip_to_slot(obj/item/W, slot, redraw_mob = TRUE, delete_old_item = TRUE)
. = ..()
if(!. || !has_organ_for_slot(slot))
@@ -185,7 +185,9 @@ This saves us from having to call add_fingerprint() any time something is put in
if(W.action_button_name)
update_action_buttons()
if(old_item)
- qdel(old_item)
+ u_equip(old_item)
+ if(delete_old_item)
+ qdel(old_item)
return TRUE
// End boilerplate.
@@ -200,9 +202,8 @@ This saves us from having to call add_fingerprint() any time something is put in
update_inv_back(redraw_mob)
if(slot_wear_mask_str)
_wear_mask = W
- if(_wear_mask.flags_inv & BLOCK_ALL_HAIR)
- update_hair(redraw_mob) //rebuild hair
- update_inv_ears(0)
+ update_hair(redraw_mob) //rebuild hair
+ update_inv_ears(0)
W.equipped(src, slot)
update_inv_wear_mask(redraw_mob)
if(slot_handcuffed_str)
@@ -235,9 +236,9 @@ This saves us from having to call add_fingerprint() any time something is put in
update_inv_gloves(redraw_mob)
if(slot_head_str)
_head = W
- if(_head.flags_inv & (BLOCK_ALL_HAIR|HIDEMASK))
- update_hair(redraw_mob) //rebuild hair
- update_inv_ears(0)
+ update_hair(redraw_mob) //rebuild hair
+ update_inv_ears(0)
+ if(_head.flags_inv & HIDEMASK)
update_inv_wear_mask(0)
if(istype(W,/obj/item/clothing/head/kitty))
W.update_icon(src)
@@ -296,9 +297,12 @@ This saves us from having to call add_fingerprint() any time something is put in
if(W.action_button_name)
update_action_buttons()
- // if we replaced an item, delete the old item. do this at the end to make the replacement seamless
+ // seamless replacement deletes the old item by default, but can be disabled for special handling
+ // like job items going into storage when replaced by loadout items
if(old_item)
- qdel(old_item)
+ u_equip(old_item)
+ if(delete_old_item)
+ qdel(old_item)
return 1
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 96333185cba..3734cb28eeb 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -828,7 +828,7 @@
playsound_local(src,pick(global.scarySounds),50, 1, -1)
var/area/A = get_area(src)
- if(client && world.time >= client.played + 600)
+ if(client && world.time >= client.played + 60 SECONDS)
A.play_ambience(src)
if(stat == UNCONSCIOUS && world.time - l_move_time < 5 && prob(10))
to_chat(src,"You feel like you're [pick("moving","flying","floating","falling","hovering")]. ")
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index d5339dae2ff..4f9051c39f3 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -114,7 +114,7 @@
return ..(message_data)
/mob/living/carbon/human/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
- if(message_mode == "whisper") //It's going to get sanitized again immediately, so decode.
+ if(message_mode == MESSAGE_MODE_WHISPER) //It's going to get sanitized again immediately, so decode.
whisper_say(html_decode(message), speaking, alt_name)
return TRUE
return ..()
diff --git a/code/modules/mob/living/carbon/human/stripping.dm b/code/modules/mob/living/carbon/human/stripping.dm
index 25978a94cf2..cc1afd5f8f6 100644
--- a/code/modules/mob/living/carbon/human/stripping.dm
+++ b/code/modules/mob/living/carbon/human/stripping.dm
@@ -147,33 +147,3 @@
admin_attack_log(user, src, "Toggled their suit sensors.", "Toggled their suit sensors.", "toggled the suit sensors of")
suit.set_sensors(user)
-
-// Set internals on or off.
-/mob/living/carbon/human/proc/toggle_internals(var/mob/living/user)
- if(internal)
- visible_message(SPAN_NOTICE("\The [user] disables \the [src]'s internals!"))
- internal.add_fingerprint(user)
- set_internals(null)
- return
-
- // Check for airtight mask/helmet.
- var/found_mask = FALSE
- for(var/slot in global.airtight_slots)
- var/obj/item/gear = get_equipped_item(slot)
- if(gear && (gear.item_flags & ITEM_FLAG_AIRTIGHT))
- found_mask = TRUE
- break
- if(!found_mask)
- to_chat(user, SPAN_WARNING("\The [src] does not have a suitable mask or helmet."))
- return
-
- // Find an internal source.
- for(var/slot in list(slot_back_str, slot_s_store_str, slot_belt_str))
- var/obj/item/tank/tank = get_equipped_item(slot)
- if(istype(tank))
- set_internals(tank)
- visible_message(SPAN_NOTICE("\The [src] is now running on internals!"))
- internal.add_fingerprint(user)
- return
-
- to_chat(user, SPAN_WARNING("You could not find a suitable tank!"))
diff --git a/code/modules/mob/living/carbon/human/unarmed_attack.dm b/code/modules/mob/living/carbon/human/unarmed_attack.dm
index f2bde796809..2fe877326a9 100644
--- a/code/modules/mob/living/carbon/human/unarmed_attack.dm
+++ b/code/modules/mob/living/carbon/human/unarmed_attack.dm
@@ -42,8 +42,8 @@ var/global/list/sparring_attack_cache = list()
/decl/natural_attack/proc/padded_by_user_gear(var/mob/living/carbon/human/user)
if(istype(user) && length(usable_with_limbs))
- for(var/bp in usable_with_limbs)
- var/obj/item/gear = user.get_covering_equipped_item_by_zone(bp)
+ for(var/limb_slot in usable_with_limbs)
+ var/obj/item/gear = user.get_covering_equipped_item_by_zone(limb_slot)
if(istype(gear) && (gear.item_flags & ITEM_FLAG_PADDED))
return TRUE
return FALSE
@@ -89,11 +89,10 @@ var/global/list/sparring_attack_cache = list()
check_zone = BP_L_HAND
else if(check_zone == BP_R_ARM)
check_zone = BP_R_HAND
- var/datum/inventory_slot/inv_slot = LAZYACCESS(target.held_item_slots, check_zone)
- if(inv_slot?.holding)
- // Disarm left hand
- target.visible_message(SPAN_DANGER("\The [inv_slot.holding] was knocked right out of [target]'s grasp!"))
- target.drop_from_inventory(inv_slot.holding)
+ var/equipped = target.get_equipped_item(check_zone)
+ if(equipped)
+ target.visible_message(SPAN_DANGER("\The [equipped] was knocked right out of [target]'s grasp!"))
+ target.drop_from_inventory(equipped)
if(BP_CHEST)
if(!target.lying)
var/turf/T = get_step(get_turf(target), get_dir(get_turf(user), get_turf(target)))
@@ -288,8 +287,8 @@ var/global/list/sparring_attack_cache = list()
if (!user.lying && (target.lying || (zone in list(BP_L_FOOT, BP_R_FOOT))))
if((user in target.grabbed_by) && target.lying)
return FALSE
- for(var/bp in list(BP_L_FOOT, BP_R_FOOT))
- if(GET_EXTERNAL_ORGAN(user, bp))
+ for(var/foot_tag in list(BP_L_FOOT, BP_R_FOOT))
+ if(GET_EXTERNAL_ORGAN(user, foot_tag))
return TRUE
return FALSE
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index db3ad1fbc50..ee0e301c66d 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -1,3 +1,12 @@
+var/global/list/_limb_mask_cache = list()
+/proc/get_limb_mask_for(var/decl/bodytype/bodytype, var/bodypart)
+ LAZYINITLIST(_limb_mask_cache[bodytype])
+ if(!_limb_mask_cache[bodytype][bodypart])
+ var/icon/limb_mask = icon(bodytype.icon_base, bodypart)
+ limb_mask.MapColors(0,0,0, 0,0,0, 0,0,0, 1,1,1)
+ _limb_mask_cache[bodytype][bodypart] = limb_mask
+ return _limb_mask_cache[bodytype][bodypart]
+
/*
Global associative list for caching humanoid icons.
Index format m or f, followed by a string of 0 and 1 to represent bodyparts followed by husk 1 or 0.
@@ -301,10 +310,10 @@ var/global/list/damage_icon_parts = list()
continue
var/icon/DI
var/use_colour = (BP_IS_PROSTHETIC(O) ? SYNTH_BLOOD_COLOR : O.species.get_blood_color(src))
- var/cache_index = "[O.damage_state]/[O.icon_name]/[use_colour]/[species.name]"
+ var/cache_index = "[O.damage_state]/[O.bodytype.type]/[O.icon_state]/[use_colour]/[species.name]"
if(damage_icon_parts[cache_index] == null)
DI = new /icon(bodytype.get_damage_overlays(src), O.damage_state) // the damage icon for whole human
- DI.Blend(new /icon(O.icon, O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels
+ DI.Blend(get_limb_mask_for(O.bodytype, O.icon_state), ICON_MULTIPLY) // mask with this organ's pixels
DI.Blend(use_colour, ICON_MULTIPLY)
damage_icon_parts[cache_index] = DI
else
@@ -326,7 +335,7 @@ var/global/list/damage_icon_parts = list()
for(var/obj/item/organ/external/O in get_external_organs())
var/bandage_level = O.bandage_level()
if(bandage_level)
- standing_image.overlays += image(bandage_icon, "[O.icon_name][bandage_level]")
+ standing_image.overlays += image(bandage_icon, "[O.icon_state][bandage_level]")
overlays_standing[HO_DAMAGE_LAYER] = standing_image
if(update_icons)
@@ -358,8 +367,8 @@ var/global/list/damage_icon_parts = list()
var/obj/item/organ/internal/eyes/eyes = get_organ((species.vision_organ || BP_EYES), /obj/item/organ/internal/eyes)
icon_key += istype(eyes) ? eyes.eye_colour : COLOR_BLACK
- for(var/organ_tag in global.all_limb_tags)
- var/obj/item/organ/external/part = GET_EXTERNAL_ORGAN(src, organ_tag)
+ for(var/limb_tag in global.all_limb_tags)
+ var/obj/item/organ/external/part = GET_EXTERNAL_ORGAN(src, limb_tag)
if(isnull(part) || part.skip_body_icon_draw)
icon_key += "0"
continue
@@ -464,14 +473,6 @@ var/global/list/damage_icon_parts = list()
queue_icon_update()
return
- //masks and helmets can obscure our hair.
- for(var/slot in global.airtight_slots)
- var/obj/item/gear = get_equipped_item(slot)
- if(gear && (gear.flags_inv & BLOCK_ALL_HAIR))
- if(update_icons)
- queue_icon_update()
- return
-
overlays_standing[HO_HAIR_LAYER] = head_organ.get_hair_icon()
if(update_icons)
queue_icon_update()
@@ -596,8 +597,8 @@ var/global/list/damage_icon_parts = list()
overlays_standing[HO_SHOES_LAYER] = shoes.get_mob_overlay(src,slot_shoes_str)
else
var/list/blood_color
- for(var/bp in list(BP_L_FOOT, BP_R_FOOT))
- var/obj/item/organ/external/stomper = GET_EXTERNAL_ORGAN(src, bp)
+ for(var/foot_tag in list(BP_L_FOOT, BP_R_FOOT))
+ var/obj/item/organ/external/stomper = GET_EXTERNAL_ORGAN(src, foot_tag)
if(stomper && stomper.coating)
blood_color = stomper.coating.get_color()
@@ -697,15 +698,15 @@ var/global/list/damage_icon_parts = list()
/mob/living/carbon/human/update_inv_hands(var/update_icons=1)
overlays_standing[HO_INHAND_LAYER] = null
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in held_item_slots)
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
var/obj/item/held = inv_slot?.holding
if(istype(held))
// This should be moved out of icon code
if(get_equipped_item(slot_handcuffed_str))
drop_from_inventory(held)
continue
- var/image/standing = held.get_mob_overlay(src, inv_slot.overlay_slot, bp)
+ var/image/standing = held.get_mob_overlay(src, inv_slot.overlay_slot, hand_slot)
if(standing)
standing.appearance_flags |= RESET_ALPHA
LAZYADD(overlays_standing[HO_INHAND_LAYER], standing)
@@ -846,7 +847,6 @@ var/global/list/damage_icon_parts = list()
if(update_icons)
queue_icon_update()
-
/mob/living/carbon/human/update_fire(var/update_icons=1)
overlays_standing[HO_FIRE_LAYER] = null
if(on_fire)
@@ -867,21 +867,20 @@ var/global/list/damage_icon_parts = list()
var/surgery_icon = E.species.get_surgery_overlay_icon(src)
if(!surgery_icon)
continue
- var/list/surgery_states = icon_states(surgery_icon)
- var/base_state = "[E.icon_name][how_open]"
+ var/base_state = "[E.icon_state][how_open]"
var/overlay_state = "[base_state]-flesh"
var/list/overlays_to_add
- if(overlay_state in surgery_states)
+ if(check_state_in_icon(overlay_state, surgery_icon))
var/image/flesh = image(icon = surgery_icon, icon_state = overlay_state, layer = -HO_SURGERY_LAYER)
flesh.color = E.species.get_flesh_colour(src)
LAZYADD(overlays_to_add, flesh)
overlay_state = "[base_state]-blood"
- if(overlay_state in surgery_states)
+ if(check_state_in_icon(overlay_state, surgery_icon))
var/image/blood = image(icon = surgery_icon, icon_state = overlay_state, layer = -HO_SURGERY_LAYER)
blood.color = E.species.get_blood_color(src)
LAZYADD(overlays_to_add, blood)
overlay_state = "[base_state]-bones"
- if(overlay_state in surgery_states)
+ if(check_state_in_icon(overlay_state, surgery_icon))
LAZYADD(overlays_to_add, image(icon = surgery_icon, icon_state = overlay_state, layer = -HO_SURGERY_LAYER))
total.overlays |= overlays_to_add
@@ -903,6 +902,7 @@ var/global/list/damage_icon_parts = list()
update_action_buttons()
if(internals && internal)
internals.icon_state = "internal1"
+ queue_hand_rebuild()
//Human Overlays Indexes/////////
#undef HO_MUTATIONS_LAYER
diff --git a/code/modules/mob/living/carbon/internals.dm b/code/modules/mob/living/carbon/internals.dm
new file mode 100644
index 00000000000..c21f82f68b0
--- /dev/null
+++ b/code/modules/mob/living/carbon/internals.dm
@@ -0,0 +1,8 @@
+/mob/living/carbon/get_internals()
+ return internal
+
+/mob/living/carbon/set_internals(obj/item/tank/source, source_string)
+ ..()
+ internal = source
+ if(internals)
+ internals.icon_state = "internal[!!internal]"
diff --git a/code/modules/mob/living/deity/phenomena/starlight.dm b/code/modules/mob/living/deity/phenomena/starlight.dm
index 38af1cbb62e..622be3c0dbf 100644
--- a/code/modules/mob/living/deity/phenomena/starlight.dm
+++ b/code/modules/mob/living/deity/phenomena/starlight.dm
@@ -42,7 +42,7 @@
return TRUE
/datum/phenomena/herald/proc/equip_slot(var/mob/living/L, var/slot_id, var/new_item)
- var/equipped = L.get_inventory_slot(slot_id)
+ var/equipped = L.get_equipped_slot_for_item(slot_id)
if(equipped)
L.unEquip(equipped, get_turf(L))
L.equip_to_slot_if_possible(new_item, slot_id)
diff --git a/code/modules/mob/living/internals.dm b/code/modules/mob/living/internals.dm
new file mode 100644
index 00000000000..a6ca218d1eb
--- /dev/null
+++ b/code/modules/mob/living/internals.dm
@@ -0,0 +1,121 @@
+/mob/living/proc/set_internals(obj/item/tank/source, source_string)
+ var/old_internal = get_internals()
+ if(!old_internal && source)
+ if(!source_string)
+ source_string = source.name
+ to_chat(src, SPAN_NOTICE("You are now running on internals from \the [source_string]."))
+ playsound(src, 'sound/effects/internals.ogg', 50, 0)
+ if(old_internal && !source)
+ to_chat(src, SPAN_NOTICE("You are no longer running on internals."))
+
+/mob/living/proc/get_internals()
+ return
+
+// Set internals on or off. Implemented properly on /carbon
+/mob/living/proc/toggle_internals(var/mob/living/user)
+ var/atom/movable/internal = get_internals()
+ if(internal)
+ visible_message(SPAN_NOTICE("\The [user] disables \the [src]'s internals!"))
+ internal.add_fingerprint(user)
+ set_internals(null)
+ return
+
+ // Check for airtight mask/helmet.
+ var/found_mask = FALSE
+ for(var/slot in global.airtight_slots)
+ var/obj/item/gear = get_equipped_item(slot)
+ if(gear && (gear.item_flags & ITEM_FLAG_AIRTIGHT))
+ found_mask = TRUE
+ break
+
+ if(!found_mask)
+ to_chat(user, SPAN_WARNING("\The [src] does not have a suitable mask or helmet."))
+ return
+
+ // Find an internal source.
+ var/list/possible_sources = get_possible_internals_sources()
+ for(var/slot in possible_sources)
+ var/list/source_info = possible_sources[slot]
+ if(length(source_info) < 2)
+ continue
+ var/obj/item/tank/tank = source_info[1]
+ if(istype(tank))
+ set_internals(tank)
+ visible_message(SPAN_NOTICE("\The [src] is now running on internals!"))
+ internal.add_fingerprint(user)
+ return
+
+ to_chat(user, SPAN_WARNING("You could not find a suitable tank!"))
+
+/mob/living/proc/breathing_hole_covered()
+ var/obj/item/mask = get_equipped_item(slot_wear_mask_str)
+ . = (mask?.item_flags & ITEM_FLAG_AIRTIGHT)
+
+/mob/living/proc/get_possible_internals_sources()
+ . = get_equipped_internals_sources()
+ for(var/slot in held_item_slots)
+ var/obj/item/tank/checking = get_equipped_item(slot)
+ if(istype(checking))
+ .[parse_zone(slot)] = list(checking, "in")
+
+/mob/living/proc/get_equipped_internals_sources()
+ . = list("back" = list(get_equipped_item(slot_back_str), "on"))
+
+/mob/living/proc/set_internals_to_best_available_tank(var/breathes_gas = /decl/material/gas/oxygen, var/list/poison_gas = list(/decl/material/gas/chlorine))
+
+ if(!ispath(breathes_gas))
+ return
+
+ var/list/possible_sources = get_possible_internals_sources()
+ var/selected_slot
+ var/selected_from
+ var/obj/item/tank/selected_obj
+ var/decl/material/breathing_gas = GET_DECL(breathes_gas)
+ for(var/slot_name in possible_sources)
+ var/list/checking_data = possible_sources[slot_name]
+ if(length(checking_data) < 2)
+ continue
+ var/obj/item/tank/checking = checking_data[1]
+ if(!istype(checking) || !checking.air_contents?.gas)
+ continue
+
+ var/valid_tank = (checking.manipulated_by && checking.manipulated_by != real_name && findtext(checking.desc, breathing_gas.name))
+ if(!valid_tank)
+ if(!checking.air_contents.gas[breathes_gas])
+ continue
+ var/is_poison = FALSE
+ for(var/poison in poison_gas)
+ if(checking.air_contents.gas[poison])
+ is_poison = TRUE
+ break
+ if(!is_poison)
+ valid_tank = TRUE
+
+ if(valid_tank && (!selected_obj || selected_obj.air_contents.gas[breathes_gas] < checking.air_contents.gas[breathes_gas]))
+ selected_obj = checking
+ selected_slot = slot_name
+ selected_from = checking_data[2]
+
+ if(selected_obj)
+ if(selected_slot && selected_from)
+ set_internals(selected_obj, "\the [selected_obj] [selected_from] your [selected_slot]")
+ else
+ set_internals(selected_obj, "\the [selected_obj]")
+
+/mob/living/proc/ui_toggle_internals()
+
+ if(incapacitated())
+ return
+
+ if(get_internals())
+ set_internals(null)
+ return
+
+ if(!breathing_hole_covered())
+ to_chat(src, SPAN_WARNING("You are not wearing a suitable mask or helmet."))
+ return
+
+ set_internals_to_best_available_tank()
+
+ if(!get_internals())
+ to_chat(src, SPAN_WARNING("You don't have a tank that is usable as internals."))
diff --git a/code/modules/mob/living/inventory.dm b/code/modules/mob/living/inventory.dm
index 913aed2de67..be0a17d4f35 100644
--- a/code/modules/mob/living/inventory.dm
+++ b/code/modules/mob/living/inventory.dm
@@ -15,15 +15,25 @@
var/held_item_slot_selected
var/list/held_item_slots
var/list/inventory_slots
+ var/pending_hand_rebuild
+
+/mob/living/get_inventory_slots()
+ return global.all_inventory_slots // inventory_slots
+
+/mob/living/get_inventory_slot_datum(var/slot)
+ return LAZYACCESS(inventory_slots, slot) || LAZYACCESS(held_item_slots, slot)
+
+/mob/living/get_held_item_slots()
+ return held_item_slots
/mob/living/has_held_item_slot()
. = LAZYLEN(held_item_slots) >= 1
/mob/living/proc/add_held_item_slot(var/slot, var/new_ui_loc, var/new_overlay_slot, var/new_label)
LAZYSET(held_item_slots, slot, new /datum/inventory_slot(slot, new_ui_loc, new_overlay_slot, new_label))
- hud_used?.rebuild_hands(list(slot), FALSE)
if(!get_active_hand())
select_held_item_slot(slot)
+ queue_hand_rebuild()
/mob/living/proc/remove_held_item_slot(var/slot)
var/datum/inventory_slot/inv_slot = LAZYACCESS(held_item_slots, slot)
@@ -32,9 +42,9 @@
drop_from_inventory(inv_slot.holding)
held_item_slots -= slot
qdel(inv_slot)
- hud_used?.rebuild_hands(FALSE, list(slot))
if(get_active_held_item_slot() == slot && length(held_item_slots))
select_held_item_slot(held_item_slots[1])
+ queue_hand_rebuild()
/mob/living/proc/select_held_item_slot(var/slot)
var/last_slot = get_active_held_item_slot()
@@ -49,6 +59,16 @@
if(istype(I))
I.on_active_hand()
+// Defer proc for the sake of delimbing root limbs with multiple graspers (serpentid)
+/mob/living/proc/queue_hand_rebuild()
+ set waitfor = FALSE
+ if(!pending_hand_rebuild)
+ pending_hand_rebuild = TRUE
+ sleep(1)
+ pending_hand_rebuild = FALSE
+ if(hud_used)
+ hud_used.rebuild_hands()
+
/mob/living/get_active_hand()
var/datum/inventory_slot/inv_slot = LAZYACCESS(held_item_slots, get_active_held_item_slot())
return inv_slot?.holding
@@ -60,8 +80,8 @@
. = null
/mob/living/get_inactive_held_items()
- for(var/bp in (held_item_slots - get_active_held_item_slot()))
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in (held_item_slots - get_active_held_item_slot()))
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
var/obj/item/thing = inv_slot?.holding
if(istype(thing))
LAZYADD(., thing)
@@ -71,28 +91,25 @@
/mob/living/swap_hand()
. = ..()
- select_held_item_slot(next_in_list(get_active_held_item_slot(), held_item_slots))
+ if(length(held_item_slots))
+ select_held_item_slot(next_in_list(get_active_held_item_slot(), held_item_slots))
/mob/living/get_empty_hand_slot()
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in held_item_slots)
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
if(inv_slot && !inv_slot.holding)
- return bp
+ return hand_slot
/mob/living/get_empty_hand_slots()
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in held_item_slots)
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
if(inv_slot && !inv_slot.holding)
- LAZYADD(., bp)
+ LAZYADD(., hand_slot)
/mob/living/get_equipped_item(var/slot)
. = ..()
if(!.)
- var/datum/inventory_slot/inv_slot
- if(LAZYLEN(inventory_slots))
- inv_slot = inventory_slots[slot]
- else if(LAZYLEN(held_item_slots))
- inv_slot = held_item_slots[slot]
+ var/datum/inventory_slot/inv_slot = get_inventory_slot_datum(slot)
return inv_slot?.holding
/mob/living/drop_from_hand(var/slot, var/atom/Target)
@@ -104,8 +121,8 @@
/mob/living/u_equip(obj/W)
. = ..()
if(!.)
- for(var/bp in held_item_slots)
- var/datum/inventory_slot/inv_slot = held_item_slots[bp]
+ for(var/hand_slot in held_item_slots)
+ var/datum/inventory_slot/inv_slot = held_item_slots[hand_slot]
if(inv_slot?.holding == W)
inv_slot.holding = null
. = TRUE
diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm
index b9c5565a238..7f7472797d7 100644
--- a/code/modules/mob/living/life.dm
+++ b/code/modules/mob/living/life.dm
@@ -186,9 +186,37 @@
handle_hud_icons()
handle_vision()
+ handle_low_light_vision()
return 1
+/mob/living/proc/handle_low_light_vision()
+
+ // No client means nothing to update.
+ if(!client || !lighting_master)
+ return
+
+ // No loc or species means we should just assume no adjustment.
+ var/decl/species/species = get_species()
+ var/turf/my_turf = get_turf(src)
+ if(!isturf(my_turf) || !species)
+ lighting_master.set_alpha(255)
+ return
+
+ // TODO: handling for being inside atoms.
+ var/target_value = 255 * (1-species.base_low_light_vision)
+ var/loc_lumcount = my_turf.get_lumcount()
+ if(loc_lumcount < species.low_light_vision_threshold)
+ target_value = round(target_value * (1-species.low_light_vision_effectiveness))
+
+ if(lighting_master.alpha == target_value)
+ return
+
+ var/difference = round((target_value-lighting_master.alpha) * species.low_light_vision_adjustment_speed)
+ if(abs(difference) > 1)
+ target_value = lighting_master.alpha + difference
+ lighting_master.set_alpha(target_value)
+
/mob/living/proc/handle_vision()
update_sight()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 3a176f1e602..6fb28764a96 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -5,9 +5,8 @@
else
add_to_living_mob_list()
-/mob/living/examine(mob/user, distance, infix, suffix)
- . = ..()
- if (admin_paralyzed)
+/mob/living/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
+ if(admin_paralyzed)
to_chat(user, SPAN_OCCULT("OOC: They have been paralyzed by staff. Please avoid interacting with them unless cleared to do so by staff."))
//mob verbs are faster than object verbs. See above.
@@ -63,7 +62,7 @@ default behaviour is:
// End boilerplate.
spawn(0)
- if ((!( yes ) || now_pushing) || !loc)
+ if (!yes || now_pushing || QDELETED(src) || QDELETED(AM) || !loc || !AM.loc)
return
now_pushing = 1
@@ -108,6 +107,8 @@ default behaviour is:
now_pushing = 0
spawn(0)
+ if (QDELETED(src) || QDELETED(AM) || !loc || !AM.loc)
+ return
..()
var/saved_dir = AM.dir
if (!istype(AM, /atom/movable) || AM.anchored)
@@ -1080,3 +1081,4 @@ default behaviour is:
/mob/living/get_speech_bubble_state_modifier()
return isSynthetic() ? "synth" : ..()
+
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 427c30b7e22..23a45f9f914 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -1,79 +1,87 @@
var/global/list/department_radio_keys = list(
- ":r" = "right ear", ".r" = "right ear",
- ":l" = "left ear", ".l" = "left ear",
- ":i" = "intercom", ".i" = "intercom",
- ":h" = "department", ".h" = "department",
- ":+" = "special", ".+" = "special", //activate radio-specific special functions
- ":c" = "Command", ".c" = "Command",
- ":n" = "Science", ".n" = "Science",
- ":m" = "Medical", ".m" = "Medical",
- ":e" = "Engineering", ".e" = "Engineering",
- ":s" = "Security", ".s" = "Security",
- ":w" = "whisper", ".w" = "whisper",
- ":t" = "Mercenary", ".t" = "Mercenary",
- ":x" = "Raider", ".x" = "Raider",
- ":u" = "Supply", ".u" = "Supply",
- ":v" = "Service", ".v" = "Service",
- ":p" = "AI Private", ".p" = "AI Private",
- ":z" = "Entertainment",".z" = "Entertainment",
- ":y" = "Exploration", ".y" = "Exploration",
-
- ":R" = "right ear", ".R" = "right ear",
- ":L" = "left ear", ".L" = "left ear",
- ":I" = "intercom", ".I" = "intercom",
- ":H" = "department", ".H" = "department",
- ":C" = "Command", ".C" = "Command",
- ":N" = "Science", ".N" = "Science",
- ":M" = "Medical", ".M" = "Medical",
- ":E" = "Engineering", ".E" = "Engineering",
- ":S" = "Security", ".S" = "Security",
- ":W" = "whisper", ".W" = "whisper",
- ":T" = "Mercenary", ".T" = "Mercenary",
- ":X" = "Raider", ".X" = "Raider",
- ":U" = "Supply", ".U" = "Supply",
- ":V" = "Service", ".V" = "Service",
- ":P" = "AI Private", ".P" = "AI Private",
- ":Z" = "Entertainment",".Z" = "Entertainment",
- ":Y" = "Exploration", ".Y" = "Exploration",
+ ":r" = MESSAGE_MODE_RIGHT, ".r" = MESSAGE_MODE_RIGHT,
+ ":l" = MESSAGE_MODE_LEFT, ".l" = MESSAGE_MODE_LEFT,
+ ":i" = MESSAGE_MODE_INTERCOM, ".i" = MESSAGE_MODE_INTERCOM,
+ ":h" = MESSAGE_MODE_DEPARTMENT, ".h" = MESSAGE_MODE_DEPARTMENT,
+ ":+" = MESSAGE_MODE_SPECIAL, ".+" = MESSAGE_MODE_SPECIAL, //activate radio-specific special functions
+ ":w" = MESSAGE_MODE_WHISPER, ".w" = MESSAGE_MODE_WHISPER,
+ ":c" = "Command", ".c" = "Command",
+ ":n" = "Science", ".n" = "Science",
+ ":m" = "Medical", ".m" = "Medical",
+ ":e" = "Engineering", ".e" = "Engineering",
+ ":s" = "Security", ".s" = "Security",
+ ":t" = "Mercenary", ".t" = "Mercenary",
+ ":x" = "Raider", ".x" = "Raider",
+ ":u" = "Supply", ".u" = "Supply",
+ ":v" = "Service", ".v" = "Service",
+ ":p" = "AI Private", ".p" = "AI Private",
+ ":z" = "Entertainment", ".z" = "Entertainment",
+ ":y" = "Exploration", ".y" = "Exploration",
+
+ ":R" = MESSAGE_MODE_RIGHT, ".R" = MESSAGE_MODE_RIGHT,
+ ":L" = MESSAGE_MODE_LEFT, ".L" = MESSAGE_MODE_LEFT,
+ ":I" = MESSAGE_MODE_INTERCOM, ".I" = MESSAGE_MODE_INTERCOM,
+ ":H" = MESSAGE_MODE_DEPARTMENT, ".H" = MESSAGE_MODE_DEPARTMENT,
+ ":W" = MESSAGE_MODE_WHISPER, ".W" = MESSAGE_MODE_WHISPER,
+ ":C" = "Command", ".C" = "Command",
+ ":N" = "Science", ".N" = "Science",
+ ":M" = "Medical", ".M" = "Medical",
+ ":E" = "Engineering", ".E" = "Engineering",
+ ":S" = "Security", ".S" = "Security",
+ ":T" = "Mercenary", ".T" = "Mercenary",
+ ":X" = "Raider", ".X" = "Raider",
+ ":U" = "Supply", ".U" = "Supply",
+ ":V" = "Service", ".V" = "Service",
+ ":P" = "AI Private", ".P" = "AI Private",
+ ":Z" = "Entertainment", ".Z" = "Entertainment",
+ ":Y" = "Exploration", ".Y" = "Exploration",
//russian version below
- ":к" = "right ear", ".к" = "right ear",
- ":д" = "left ear", ".д" = "left ear",
- ":ш" = "intercom", ".ш" = "intercom",
- ":р" = "department", ".р" = "department",
- ":с" = "Command", ".с" = "Command",
- ":т" = "Science", ".т" = "Science",
- ":ь" = "Medical", ".ь" = "Medical",
- ":у" = "Engineering", ".у" = "Engineering",
- ":ы" = "Security", ".ы" = "Security",
- ":ц" = "whisper", ".ц" = "whisper",
- ":е" = "Mercenary", ".е" = "Mercenary",
- ":г" = "Supply", ".г" = "Supply",
- ":ч" = "Raider", ".ч" = "Raider",
- ":м" = "Service", ".м" = "Service",
- ":з" = "AI Private", ".з" = "AI Private",
- ":я" = "Entertainment",".я" = "Entertainment",
- ":н" = "Exploration", ".н" = "Exploration",
-
- ":К" = "right ear", ".К" = "right ear",
- ":Д" = "left ear", ".Д" = "left ear",
- ":Ш" = "intercom", ".Ш" = "intercom",
- ":Р" = "department", ".Р" = "department",
- ":С" = "Command", ".С" = "Command",
- ":Т" = "Science", ".Т" = "Science",
- ":Ь" = "Medical", ".Ь" = "Medical",
- ":У" = "Engineering", ".У" = "Engineering",
- ":Ы" = "Security", ".Ы" = "Security",
- ":Ц" = "whisper", ".Ц" = "whisper",
- ":Е" = "Mercenary", ".Е" = "Mercenary",
- ":Г" = "Supply", ".Г" = "Supply",
- ":Ч" = "Raider", ".Ч" = "Raider",
- ":М" = "Service", ".М" = "Service",
- ":З" = "AI Private", ".З" = "AI Private",
- ":Я" = "Entertainment",".Я" = "Entertainment",
- ":Н" = "Exploration", ".Н" = "Exploration",
+ ":к" = MESSAGE_MODE_RIGHT, ".к" = MESSAGE_MODE_RIGHT,
+ ":д" = MESSAGE_MODE_LEFT, ".д" = MESSAGE_MODE_LEFT,
+ ":ш" = MESSAGE_MODE_INTERCOM, ".ш" = MESSAGE_MODE_INTERCOM,
+ ":р" = MESSAGE_MODE_DEPARTMENT, ".р" = MESSAGE_MODE_DEPARTMENT,
+ ":ц" = MESSAGE_MODE_WHISPER, ".ц" = MESSAGE_MODE_WHISPER,
+ ":с" = "Command", ".с" = "Command",
+ ":т" = "Science", ".т" = "Science",
+ ":ь" = "Medical", ".ь" = "Medical",
+ ":у" = "Engineering", ".у" = "Engineering",
+ ":ы" = "Security", ".ы" = "Security",
+ ":е" = "Mercenary", ".е" = "Mercenary",
+ ":г" = "Supply", ".г" = "Supply",
+ ":ч" = "Raider", ".ч" = "Raider",
+ ":м" = "Service", ".м" = "Service",
+ ":з" = "AI Private", ".з" = "AI Private",
+ ":я" = "Entertainment", ".я" = "Entertainment",
+ ":н" = "Exploration", ".н" = "Exploration",
+
+ ":К" = MESSAGE_MODE_RIGHT, ".К" = MESSAGE_MODE_RIGHT,
+ ":Д" = MESSAGE_MODE_LEFT, ".Д" = MESSAGE_MODE_LEFT,
+ ":Ш" = MESSAGE_MODE_INTERCOM, ".Ш" = MESSAGE_MODE_INTERCOM,
+ ":Р" = MESSAGE_MODE_DEPARTMENT, ".Р" = MESSAGE_MODE_DEPARTMENT,
+ ":Ц" = MESSAGE_MODE_WHISPER, ".Ц" = MESSAGE_MODE_WHISPER,
+ ":С" = "Command", ".С" = "Command",
+ ":Т" = "Science", ".Т" = "Science",
+ ":Ь" = "Medical", ".Ь" = "Medical",
+ ":У" = "Engineering", ".У" = "Engineering",
+ ":Ы" = "Security", ".Ы" = "Security",
+ ":Е" = "Mercenary", ".Е" = "Mercenary",
+ ":Г" = "Supply", ".Г" = "Supply",
+ ":Ч" = "Raider", ".Ч" = "Raider",
+ ":М" = "Service", ".М" = "Service",
+ ":З" = "AI Private", ".З" = "AI Private",
+ ":Я" = "Entertainment", ".Я" = "Entertainment",
+ ":Н" = "Exploration", ".Н" = "Exploration",
)
+// Assoc for lookup speed since this is in potentially semihot code
+var/global/list/nondepartmental_message_modes = list(
+ MESSAGE_MODE_LEFT = TRUE,
+ MESSAGE_MODE_RIGHT = TRUE,
+ MESSAGE_MODE_INTERCOM = TRUE,
+ MESSAGE_MODE_DEFAULT = TRUE,
+ MESSAGE_MODE_WHISPER = TRUE
+)
var/global/list/channel_to_radio_key = new
/proc/get_radio_key_from_channel(var/channel)
@@ -143,12 +151,9 @@ var/global/list/channel_to_radio_key = new
// determine relevancy. See handle_message_mode below.
/mob/living/proc/get_radios(var/message_mode)
- if(!message_mode)
- return
-
var/list/possible_radios
- if(message_mode == "right ear" || message_mode == "left ear")
- var/use_right = message_mode == "right ear"
+ if(message_mode == MESSAGE_MODE_RIGHT || message_mode == MESSAGE_MODE_LEFT)
+ var/use_right = (message_mode == MESSAGE_MODE_RIGHT)
var/obj/item/thing = get_equipped_item(use_right ? slot_r_ear_str : slot_l_ear_str)
if(thing)
LAZYDISTINCTADD(possible_radios, thing)
@@ -156,13 +161,18 @@ var/global/list/channel_to_radio_key = new
thing = get_equipped_item(use_right ? BP_R_HAND : BP_L_HAND)
if(thing)
LAZYDISTINCTADD(possible_radios, thing)
- else
+ else if(message_mode == MESSAGE_MODE_INTERCOM)
+ if(!restrained())
+ for(var/obj/item/radio/I in view(1))
+ if(I.intercom_handling)
+ LAZYDISTINCTADD(possible_radios, I)
+ else if(message_mode != MESSAGE_MODE_WHISPER)
for(var/slot in global.ear_slots)
var/thing = get_equipped_item(slot)
if(thing)
LAZYDISTINCTADD(possible_radios, thing)
- if(length(possible_radios))
+ if(LAZYLEN(possible_radios))
for(var/atom/movable/thing as anything in possible_radios)
var/obj/item/radio/radio = thing.get_radio(message_mode)
if(istype(radio))
@@ -172,16 +182,15 @@ var/global/list/channel_to_radio_key = new
// It then processes the message_mode to implement an additional behavior needed for the message, such
// as retrieving radios or looking for an intercom nearby.
/mob/living/proc/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
+ if(!message_mode)
+ return
var/list/assess_items_as_radios = get_radios(message_mode)
- if(message_mode == "intercom" && !restrained())
- for(var/obj/item/radio/I in view(1))
- if(I.intercom_handling)
- LAZYDISTINCTADD(assess_items_as_radios, I)
- for(var/obj/item/radio/radio as anything in assess_items_as_radios)
- used_radios += radio
+ if(!LAZYLEN(assess_items_as_radios))
+ return
+ used_radios |= assess_items_as_radios
+ for(var/obj/item/radio/radio as anything in used_radios)
radio.add_fingerprint(src)
radio.talk_into(src, message, message_mode, verb, speaking)
- . = TRUE
/mob/living/proc/handle_speech_sound()
var/list/returns[2]
@@ -227,9 +236,9 @@ var/global/list/channel_to_radio_key = new
return custom_emote(1, copytext(message,2))
//parse the radio code and consume it
- var/message_mode = parse_message_mode(message, "headset")
+ var/message_mode = parse_message_mode(message)
if (message_mode)
- if (message_mode == "headset")
+ if (message_mode == MESSAGE_MODE_DEFAULT)
message = copytext_char(message,2) //it would be really nice if the parse procs could do this for us.
else
message = copytext_char(message,3)
@@ -281,7 +290,7 @@ var/global/list/channel_to_radio_key = new
if(!message || message == "")
return 0
- var/list/obj/item/used_radios = new
+ var/list/obj/item/used_radios = list()
if(handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name))
return 1
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index 391620542b0..fea4ebf1c42 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -1,4 +1,4 @@
-/mob/living/silicon/ai/examine(mob/user)
+/mob/living/silicon/ai/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
var/msg = ""
diff --git a/code/modules/mob/living/silicon/pai/examine.dm b/code/modules/mob/living/silicon/pai/examine.dm
index f6ca6e78053..d781e3d136d 100644
--- a/code/modules/mob/living/silicon/pai/examine.dm
+++ b/code/modules/mob/living/silicon/pai/examine.dm
@@ -1,4 +1,4 @@
-/mob/living/silicon/pai/examine(mob/user, distance)
+/mob/living/silicon/pai/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..(user, distance, infix = ", personal AI")
var/msg = ""
diff --git a/code/modules/mob/living/silicon/robot/drone/drone.dm b/code/modules/mob/living/silicon/robot/drone/drone.dm
index c15399cfac9..9827e68aa58 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone.dm
@@ -75,7 +75,7 @@
if(!(old_loc && new_loc)) // Allows inventive admins to move drones between non-adjacent Z-levels by moving them to null space first I suppose
return
- if(ARE_Z_CONNECTED(old_loc.z, new_loc.z))
+ if(LEVELS_ARE_Z_CONNECTED(old_loc.z, new_loc.z))
return
// None of the tests passed, good bye
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index 0b8c1bff135..4a4b77588f2 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -1,4 +1,4 @@
-/mob/living/silicon/robot/examine(mob/user, distance)
+/mob/living/silicon/robot/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
var/custom_infix = custom_name ? ", [modtype] [braintype]" : ""
. = ..(user, distance, infix = custom_infix)
diff --git a/code/modules/mob/living/silicon/say.dm b/code/modules/mob/living/silicon/say.dm
index e8c5bc12b5c..55521ad2cbf 100644
--- a/code/modules/mob/living/silicon/say.dm
+++ b/code/modules/mob/living/silicon/say.dm
@@ -8,30 +8,27 @@
if(message_mode)
if(!is_component_functioning("radio"))
to_chat(src, SPAN_WARNING("Your radio isn't functional at this time."))
- return FALSE
- if(message_mode == "general")
- message_mode = null
- return silicon_radio.talk_into(src, message, message_mode, verb, speaking)
+ else
+ used_radios += silicon_radio
+ . = TRUE
return ..()
/mob/living/silicon/ai/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
if(message_mode)
- if(message_mode == "department")
- return holopad_talk(message, verb, speaking)
- if (ai_radio.disabledAi || !has_power() || stat)
- to_chat(src, "System Error - Transceiver Disabled. ")
- return FALSE
- if(message_mode == "general")
- message_mode = null
- return ai_radio.talk_into(src,message,message_mode,verb,speaking)
- return ..()
+ if(message_mode == MESSAGE_MODE_DEPARTMENT)
+ holopad_talk(message, verb, speaking)
+ else if (ai_radio.disabledAi || !has_power() || stat)
+ to_chat(src, SPAN_DANGER("System Error - Transceiver Disabled."))
+ else
+ used_radios += ai_radio
+ . = TRUE
+ ..()
/mob/living/silicon/pai/handle_message_mode(message_mode, message, verb, speaking, used_radios, alt_name)
if(message_mode)
- if(message_mode == "general")
- message_mode = null
- return silicon_radio.talk_into(src,message,message_mode,verb,speaking)
- return ..()
+ used_radios += silicon_radio
+ . = TRUE
+ ..()
/mob/living/silicon/say_quote(var/text)
var/ending = copytext(text, length(text))
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 674359d86ac..b3cfd9bcb99 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -290,7 +290,7 @@
apply_damage(burn, BURN, damage_flags = DAM_EXPLODE)
/mob/living/silicon/proc/receive_alarm(var/datum/alarm_handler/alarm_handler, var/datum/alarm/alarm, was_raised)
- if(!(alarm.alarm_z() in GetConnectedZlevels(get_z(src))))
+ if(!(alarm.alarm_z() in SSmapping.get_connected_levels(get_z(src))))
return // Didn't actually hear it as far as we're concerned.
if(!next_alarm_notice)
next_alarm_notice = world.time + SecondsToTicks(10)
diff --git a/code/modules/mob/living/simple_animal/constructs/constructs.dm b/code/modules/mob/living/simple_animal/constructs/constructs.dm
index b3c7a780145..f3f11508dd3 100644
--- a/code/modules/mob/living/simple_animal/constructs/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs/constructs.dm
@@ -73,19 +73,13 @@
return
return ..()
-/mob/living/simple_animal/construct/examine(mob/user)
+/mob/living/simple_animal/construct/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..(user)
- var/msg = "*---------*\nThis is [html_icon(src)] \a [src] !\n"
- if (src.health < src.maxHealth)
- msg += ""
- if (src.health >= src.maxHealth/2)
- msg += "It looks slightly dented.\n"
+ if(health < maxHealth)
+ if(health >= maxHealth/2)
+ to_chat(user, SPAN_WARNING("It looks slightly dented."))
else
- msg += "It looks severely dented! \n"
- msg += " "
- msg += "*---------* "
-
- to_chat(user, msg)
+ to_chat(user, SPAN_DANGER("It looks severely dented!"))
/obj/item/ectoplasm
name = "ectoplasm"
diff --git a/code/modules/mob/living/simple_animal/crow/crow.dm b/code/modules/mob/living/simple_animal/crow/crow.dm
index 8cce2828011..8bd1949b5c6 100644
--- a/code/modules/mob/living/simple_animal/crow/crow.dm
+++ b/code/modules/mob/living/simple_animal/crow/crow.dm
@@ -119,7 +119,7 @@
return TOPIC_HANDLED
return ..()
-/mob/living/simple_animal/crow/examine(mob/user)
+/mob/living/simple_animal/crow/show_examined_worn_held_items(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
if(Adjacent(src))
if(messenger_bag)
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/jelly.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/jelly.dm
index 6a4fd3d4302..02e12536523 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/jelly.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/jelly.dm
@@ -21,7 +21,7 @@
/mob/living/simple_animal/hostile/retaliate/jelly/Initialize()
. = ..()
if(gets_random_color)
- color = color_rotation(round(rand(0,360),20))
+ color = color_matrix_rotate_hue(round(rand(0,360),20))
/mob/living/simple_animal/hostile/retaliate/jelly/alt
icon = 'icons/mob/simple_animal/jelly_alt.dmi'
@@ -46,7 +46,7 @@
if(W)
W.force *= jelly_scale
if(!megajelly_color)
- megajelly_color = color_rotation(round(rand(0,360),20))
+ megajelly_color = color_matrix_rotate_hue(round(rand(0,360),20))
color = megajelly_color
/mob/living/simple_animal/hostile/retaliate/jelly/mega/death()
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm
index ad5b6a71b6f..b40ab4b5f91 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/parrot.dm
@@ -490,8 +490,8 @@
if(iscarbon(AM))
var/mob/living/carbon/C = AM
- for(var/bp in C.held_item_slots)
- var/datum/inventory_slot/inv_slot = C.held_item_slots[bp]
+ for(var/hand_slot in C.held_item_slots)
+ var/datum/inventory_slot/inv_slot = C.held_item_slots[hand_slot]
if(inv_slot?.holding && can_pick_up(inv_slot.holding))
return C
return null
@@ -519,8 +519,8 @@
if(iscarbon(AM))
var/mob/living/carbon/C = AM
- for(var/bp in C.held_item_slots)
- var/datum/inventory_slot/inv_slot = C.held_item_slots[bp]
+ for(var/hand_slot in C.held_item_slots)
+ var/datum/inventory_slot/inv_slot = C.held_item_slots[hand_slot]
if(inv_slot?.holding && can_pick_up(inv_slot.holding))
return C
return null
@@ -668,9 +668,9 @@
verb = pick(speak_emote)
- var/message_mode=""
+ var/message_mode
if(copytext(message,1,2) == get_prefix_key(/decl/prefix/radio_main_channel))
- message_mode = "headset"
+ message_mode = MESSAGE_MODE_DEFAULT
message = copytext(message,2)
if(length(message) >= 2)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 15b26cfdf45..8b74e6ca3b0 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -164,7 +164,7 @@
. = ..()
if(!.)
return FALSE
- if(!living_observers_present(GetConnectedZlevels(z)))
+ if(z && !living_observers_present(SSmapping.get_connected_levels(z)))
return
//Health
if(stat == DEAD)
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 31b9fa39c44..790b2ee8eb7 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -102,6 +102,8 @@
client.screen = list() //remove hud items just in case
client.set_right_click_menu_mode(shift_to_open_context_menu)
InitializeHud()
+ else
+ refresh_lighting_master()
refresh_client_images()
reload_fullscreen() // Reload any fullscreen overlays this mob has.
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index c30496b0ebc..fc36b6341e6 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -21,6 +21,7 @@
clear_fullscreen()
if(istype(ai))
QDEL_NULL(ai)
+ QDEL_NULL(lighting_master)
remove_screen_obj_references()
if(client)
for(var/atom/movable/AM in client.screen)
@@ -1142,7 +1143,7 @@
return FALSE
// Not in a connected z-volume.
- if(!(N.z in GetConnectedZlevels(T.z)))
+ if(!(N.z in SSmapping.get_connected_levels(T.z)))
return FALSE
// Are they below us?
@@ -1211,3 +1212,10 @@
SStyping.set_indicator_state(client, FALSE)
if (message)
whisper(message)
+
+// Darksight procs.
+/mob/proc/refresh_lighting_master()
+ if(!lighting_master)
+ lighting_master = new
+ if(client)
+ client.screen |= lighting_master
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index a1f08e45bad..6d69cd830aa 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -177,6 +177,9 @@
var/holder_type
/// If this mob is or was piloted by a player with typing indicators enabled, an instance of one.
- var/atom/movable/overlay/typing_indicator/typing_indicator
+ var/atom/movable/typing_indicator/typing_indicator
/// Whether this mob is currently typing, if piloted by a player.
- var/is_typing
\ No newline at end of file
+ var/is_typing
+
+ /// Used for darksight, required on all mobs to ensure lighting renders properly.
+ var/obj/screen/lighting_plane_master/lighting_master
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 277599159ab..10e858586f2 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -419,7 +419,7 @@ var/global/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT)
/proc/broadcast_hud_message(var/message, var/broadcast_source, var/list/targets, var/icon)
var/turf/sourceturf = get_turf(broadcast_source)
for(var/mob/M in targets)
- if(!sourceturf || (get_z(M) in GetConnectedZlevels(sourceturf.z)))
+ if(!sourceturf || (get_z(M) in SSmapping.get_connected_levels(sourceturf.z)))
M.show_message("[html_icon(icon)] [message] ", 1)
/proc/mobs_in_area(var/area/A)
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 026afaa336a..dd67aff3fe5 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -308,7 +308,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player)
added_job = TRUE
if(!added_job)
- dat += "No available positions. "
+ dat += "No available positions. "
// END MAIN MAP JOBS
// SUBMAP JOBS
@@ -407,6 +407,7 @@ INITIALIZE_IMMEDIATE(/mob/new_player)
dat += html_crew_manifest(OOC = 1)
//show_browser(src, dat, "window=manifest;size=370x420;can_close=1")
var/datum/browser/popup = new(src, "Crew Manifest", "Crew Manifest", 370, 420, src)
+ popup.add_stylesheet("nano_shared", 'nano/css/shared.css')
popup.set_content(dat)
popup.open()
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index 2f46e5c436a..6ba72a1e3e6 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -104,7 +104,7 @@
if(mannequin)
mannequin.delete_inventory(TRUE)
dress_preview_mob(mannequin)
- update_character_previews(new /mutable_appearance(mannequin))
+ update_character_previews(mannequin)
/datum/preferences/proc/get_random_name()
var/decl/cultural_info/culture/check_culture = cultural_info[TAG_CULTURE]
diff --git a/code/modules/mob/observer/observer.dm b/code/modules/mob/observer/observer.dm
index d5456a928ad..bfe06895d07 100644
--- a/code/modules/mob/observer/observer.dm
+++ b/code/modules/mob/observer/observer.dm
@@ -98,3 +98,7 @@ var/global/const/GHOST_IMAGE_ALL = ~GHOST_IMAGE_NONE
/mob/observer/get_speech_bubble_state_modifier()
return "ghost"
+
+/mob/observer/refresh_lighting_master()
+ ..()
+ lighting_master.alpha = 255 // don't bother animating it
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 10e7f46608a..b429a8169d7 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -67,15 +67,13 @@
//parses the message mode code (e.g. :h, :w) from text, such as that supplied to say.
//returns the message mode string or null for no message mode.
//standard mode is the mode returned for the special ';' radio code.
-/mob/proc/parse_message_mode(var/message, var/standard_mode="headset")
- if(length(message) >= 1 && copytext_char(message,1,2) == get_prefix_key(/decl/prefix/radio_main_channel))
- return standard_mode
-
- if(length(message) >= 2)
- var/channel_prefix = copytext_char(message, 1 ,3)
- return department_radio_keys[channel_prefix]
-
- return null
+/mob/proc/parse_message_mode(var/message)
+ if(length(message) >= 1)
+ if(copytext_char(message,1,2) == get_prefix_key(/decl/prefix/radio_main_channel))
+ return MESSAGE_MODE_DEFAULT
+ if(length(message) >= 2)
+ var/channel_prefix = copytext_char(message, 1, 3)
+ return department_radio_keys[channel_prefix]
//parses the language code (e.g. :j) from text, such as that supplied to say.
//returns the language object only if the code corresponds to a language that src can speak, otherwise null.
diff --git a/code/modules/modular_computers/computers/modular_computer/core.dm b/code/modules/modular_computers/computers/modular_computer/core.dm
index 885b424103f..2c1cc1c1b7f 100644
--- a/code/modules/modular_computers/computers/modular_computer/core.dm
+++ b/code/modules/modular_computers/computers/modular_computer/core.dm
@@ -53,17 +53,11 @@
START_PROCESSING(SSobj, src)
set_extension(src, /datum/extension/interactive/os/device)
set_extension(src, computer_type)
-
if(stores_pen && ispath(stored_pen))
stored_pen = new stored_pen(src)
-
update_icon()
update_verbs()
update_name()
-
- var/datum/extension/assembly/modular_computer/assembly = get_extension(src, /datum/extension/assembly/modular_computer)
- if(istype(assembly) && assembly.enabled_by_default)
- enable_computer()
..()
return INITIALIZE_HINT_LATELOAD
@@ -71,6 +65,9 @@
. = ..()
install_default_hardware()
install_default_programs()
+ var/datum/extension/assembly/modular_computer/assembly = get_extension(src, /datum/extension/assembly)
+ if(istype(assembly) && assembly.enabled_by_default)
+ enable_computer()
/obj/item/modular_computer/Destroy()
shutdown_computer(loud = FALSE)
diff --git a/code/modules/modular_computers/file_system/manifest.dm b/code/modules/modular_computers/file_system/manifest.dm
index 5c8e320192d..f746579b140 100644
--- a/code/modules/modular_computers/file_system/manifest.dm
+++ b/code/modules/modular_computers/file_system/manifest.dm
@@ -11,11 +11,10 @@
var/dat = {"
Name Position Activity
diff --git a/code/modules/modular_computers/file_system/programs/command/comm.dm b/code/modules/modular_computers/file_system/programs/command/comm.dm
index 12703f015fe..050268ac531 100644
--- a/code/modules/modular_computers/file_system/programs/command/comm.dm
+++ b/code/modules/modular_computers/file_system/programs/command/comm.dm
@@ -165,7 +165,7 @@
var/input = input(usr, "Please write a message to announce to the [station_name()].", "Priority Announcement") as null|message
if(!input || !can_still_topic() || filter_block_message(usr, input))
return 1
- var/affected_zlevels = GetConnectedZlevels(get_host_z())
+ var/affected_zlevels = SSmapping.get_connected_levels(get_host_z())
crew_announcement.Announce(input, zlevels = affected_zlevels)
announcment_cooldown = 1
spawn(600)//One minute cooldown
diff --git a/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm b/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm
index 652cfc390b5..c1e691ad90e 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/atmos_control.dm
@@ -51,10 +51,10 @@
filter_strings[weakref(usr)] = string
alarm_data_cache -= weakref(usr)
return TOPIC_REFRESH
-
+
if(href_list["refresh"])
alarm_data_cache -= weakref(usr)
- return TOPIC_REFRESH
+ return TOPIC_REFRESH
/datum/nano_module/atmos_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/master_ui = null, var/datum/topic_state/state = global.default_topic_state)
var/list/data = host.initial_data()
@@ -71,7 +71,7 @@
var/list/alarmsDanger = list()
for(var/obj/machinery/alarm/alarm in monitored_alarms)
- if (!Z || !AreConnectedZLevels(Z, alarm.z))
+ if (!Z || !SSmapping.are_connected_levels(Z, alarm.z))
continue
var/alarm_name = sanitize(alarm.name)
alarm_name = replacetext(alarm_name, " Air Alarm", "") // shorten titles
@@ -92,7 +92,7 @@
alarms_data["alarmsAlert"] = sortTim(alarmsAlert, /proc/cmp_list_name_key_asc)
alarms_data["alarmsDanger"] = sortTim(alarmsDanger, /proc/cmp_list_name_key_asc)
alarm_data_cache[weakref(user)] = alarms_data
-
+
data += alarms_data
data["filter"] = filter || "---"
diff --git a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm
index a23f85e94a5..0b3a1c7b880 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/power_monitor.dm
@@ -87,7 +87,7 @@
// Refreshes list of active sensors kept on this computer.
/datum/nano_module/program/power_monitor/proc/refresh_sensors()
grid_sensors = list()
- var/connected_z_levels = GetConnectedZlevels(get_host_z())
+ var/connected_z_levels = SSmapping.get_connected_levels(get_host_z())
for(var/obj/machinery/power/sensor/S in SSmachines.machinery)
if(get_z(S) in connected_z_levels) // Consoles have range on their Z-Level. Sensors with long_range var will work between Z levels.
grid_sensors += S
diff --git a/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm b/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm
index bbc64881169..10e61aa1ff0 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/rcon_console.dm
@@ -138,9 +138,9 @@
if(!network)
return FALSE
- if(!ARE_Z_CONNECTED(network.get_router_z(), get_z(M)))
+ if(!LEVELS_ARE_Z_CONNECTED(network.get_router_z(), get_z(M)))
return FALSE
-
+
if(istype(M, /obj/machinery/power/smes))
var/obj/machinery/power/smes/buildable/SMES = M
return SMES.RCon_tag && SMES.RCon_tag != "NO_TAG" && SMES.RCon
diff --git a/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm
index 10ec342eb1f..a00df078996 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/shields_monitor.dm
@@ -25,7 +25,7 @@
var/datum/computer_network/network = get_network()
if(!network)
return FALSE
- return ARE_Z_CONNECTED(network.get_router_z(), get_z(S))
+ return LEVELS_ARE_Z_CONNECTED(network.get_router_z(), get_z(S))
/datum/nano_module/program/shields_monitor/proc/get_shields()
var/list/shields = list()
diff --git a/code/modules/modular_computers/file_system/programs/engineering/shutoff_valve.dm b/code/modules/modular_computers/file_system/programs/engineering/shutoff_valve.dm
index 6743c0f3781..8957c364b8d 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/shutoff_valve.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/shutoff_valve.dm
@@ -19,7 +19,7 @@
/datum/nano_module/program/shutoff_monitor/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = global.default_topic_state)
var/list/list/data = host.initial_data()
var/list/z_valves = list()
- var/list/zs = GetConnectedZlevels(get_z(nano_host()))
+ var/list/zs = SSmapping.get_connected_levels(get_z(nano_host()))
for(var/obj/machinery/atmospherics/valve/shutoff/S in shutoff_valves)
if(S.z in zs)
diff --git a/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm b/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm
index 8e72706671a..08da0af07d6 100644
--- a/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/engineering/supermatter_monitor.dm
@@ -52,7 +52,7 @@
var/datum/computer_network/network = get_network()
if(!network)
return FALSE
- return ARE_Z_CONNECTED(network.get_router_z(), get_z(S))
+ return LEVELS_ARE_Z_CONNECTED(network.get_router_z(), get_z(S))
// Refreshes list of active supermatter crystals
/datum/nano_module/program/supermatter_monitor/proc/refresh()
diff --git a/code/modules/modular_computers/file_system/programs/generic/docks.dm b/code/modules/modular_computers/file_system/programs/generic/docks.dm
index dea694013b4..1fe5cfb5a2e 100644
--- a/code/modules/modular_computers/file_system/programs/generic/docks.dm
+++ b/code/modules/modular_computers/file_system/programs/generic/docks.dm
@@ -32,7 +32,7 @@
/datum/nano_module/program/docking/proc/refresh_docks()
docking_controllers.Cut()
docking_beacons.Cut()
- var/list/zlevels = GetConnectedZlevels(get_host_z())
+ var/list/zlevels = SSmapping.get_connected_levels(get_host_z())
for(var/obj/machinery/embedded_controller/radio/airlock/docking_port/D in SSmachines.machinery)
if(D.z in zlevels)
var/shuttleside = 0
@@ -42,15 +42,15 @@
if(S.shuttle_docking_controller.id_tag == D.program.id_tag)
shuttleside = 1
break
- if(shuttleside)
+ if(shuttleside)
continue
docking_controllers += D.program.id_tag
-
+
// Add magnetic docking beacons.
var/datum/computer_network/network = get_network()
if(network)
docking_beacons |= network.get_tags_by_type(/obj/machinery/docking_beacon)
-
+
/datum/nano_module/program/docking/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1, state = global.default_topic_state)
var/list/data = host.initial_data()
var/list/docks = list()
@@ -70,7 +70,7 @@
"docked" = docked,
"codes" = P.docking_codes ? P.docking_codes : "Unset"
)))
-
+
for(var/beacontag in docking_beacons)
var/datum/extension/network_device/D = network.get_device_by_tag(beacontag)
var/obj/machinery/docking_beacon/beacon = D.holder
@@ -96,7 +96,7 @@
/datum/nano_module/program/docking/Topic(href, href_list, state)
if(..())
return TOPIC_HANDLED
-
+
if(istext(href_list["edit_docking_codes"]))
var/datum/computer/file/embedded_program/docking/P = SSshuttle.docking_registry[href_list["edit_docking_codes"]]
if(P)
@@ -118,7 +118,7 @@
if(P)
P.receive_user_command("undock")
return TOPIC_HANDLED
-
+
if(istext(href_list["beacon"]))
var/datum/computer_network/network = get_network()
var/datum/extension/network_device/device = network.get_device_by_tag(href_list["beacon"])
diff --git a/code/modules/modular_computers/file_system/programs/generic/supply.dm b/code/modules/modular_computers/file_system/programs/generic/supply.dm
index d1200ab9d86..420dff4c596 100644
--- a/code/modules/modular_computers/file_system/programs/generic/supply.dm
+++ b/code/modules/modular_computers/file_system/programs/generic/supply.dm
@@ -27,7 +27,7 @@
computer.show_error(user, "Unable to contact the supply shuttle.")
return FALSE
var/obj/physical_router = net.router.holder
- if(!ARE_Z_CONNECTED(shuttle.waypoint_station.z, physical_router.z))
+ if(!LEVELS_ARE_Z_CONNECTED(shuttle.waypoint_station.z, physical_router.z))
if(loud)
computer.show_error(user, "Unable to contact a supply shuttle serving your location.")
return FALSE
diff --git a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm
index 1f346a492b7..8e0824efa13 100644
--- a/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm
+++ b/code/modules/modular_computers/file_system/programs/medical/suit_sensors.dm
@@ -37,7 +37,7 @@
var/datum/computer_network/network = get_network()
if(!network)
return FALSE
- for(var/z_level in GetConnectedZlevels(network.get_router_z()))
+ for(var/z_level in SSmapping.get_connected_levels(network.get_router_z()))
if (crew_repository.has_health_alert(z_level))
return TRUE
return FALSE
@@ -61,7 +61,7 @@
var/list/crewmembers = list()
var/datum/computer_network/network = get_network()
if(network)
- for(var/z_level in GetConnectedZlevels(network.get_router_z()))
+ for(var/z_level in SSmapping.get_connected_levels(network.get_router_z()))
crewmembers += crew_repository.health_data(z_level)
data["crewmembers"] = sortTim(crewmembers, /proc/cmp_list_name_key_asc)
else
diff --git a/code/modules/modular_computers/networking/_network.dm b/code/modules/modular_computers/networking/_network.dm
index cd4150fa4ef..0df1ce797da 100644
--- a/code/modules/modular_computers/networking/_network.dm
+++ b/code/modules/modular_computers/networking/_network.dm
@@ -223,7 +223,7 @@
var/d_z = get_z(D.holder)
var/b_z = get_z(B.holder)
- if(!ARE_Z_CONNECTED(d_z, b_z))
+ if(!LEVELS_ARE_Z_CONNECTED(d_z, b_z))
continue
if(d_z != b_z) // If the broadcaster is not in the same z-level as the device, the broadcast strength is halved.
@@ -324,7 +324,7 @@
/proc/get_local_network_at(turf/T)
for(var/id in SSnetworking.networks)
var/datum/computer_network/net = SSnetworking.networks[id]
- if(net.router && ARE_Z_CONNECTED(get_z(net.router.holder), get_z(T)))
+ if(net.router && LEVELS_ARE_Z_CONNECTED(get_z(net.router.holder), get_z(T)))
return net
/datum/computer_network/proc/get_mainframes_by_role(mainframe_role = MF_ROLE_FILESERVER, list/accesses)
diff --git a/code/modules/modular_computers/networking/device_types/_network_device.dm b/code/modules/modular_computers/networking/device_types/_network_device.dm
index fcb15bcf959..8d630461b93 100644
--- a/code/modules/modular_computers/networking/device_types/_network_device.dm
+++ b/code/modules/modular_computers/networking/device_types/_network_device.dm
@@ -21,7 +21,7 @@
// These variables are for the *device's* public variables and methods, if they exist.
var/list/device_variables
var/list/device_methods
-
+
/datum/extension/network_device/New(datum/holder, n_id, n_key, r_type, autojoin = TRUE)
..()
network_id = n_id
@@ -211,7 +211,7 @@
// Overmap isn't used, a modem alone provides internet connection.
if(!length(global.using_map.overmap_ids))
return TRUE
- var/obj/effect/overmap/visitable/sector = global.overmap_sectors["[get_z(holder)]"]
+ var/obj/effect/overmap/visitable/sector = global.overmap_sectors[num2text(get_z(holder))]
if(!istype(sector))
return
return sector.has_internet_connection(connecting_network)
@@ -274,7 +274,7 @@
var/datum/computer_network/network = get_network()
if(!network)
return TRUE // If not on network, always TRUE for access, as there isn't anything to access.
- var/obj/M = holder
+ var/obj/M = get_top_holder()
if(!accesses)
accesses = list()
return M.check_access_list(accesses)
@@ -309,12 +309,12 @@
return public_variables
/datum/extension/network_device/proc/get_holder_methods()
- var/obj/machinery/M = holder
+ var/obj/machinery/M = get_top_holder()
if(istype(M))
return M.public_methods?.Copy()
/datum/extension/network_device/proc/get_holder_variables()
- var/obj/machinery/M = holder
+ var/obj/machinery/M = get_top_holder()
if(istype(M))
return M.public_variables?.Copy()
@@ -454,6 +454,10 @@
/datum/extension/network_device/proc/get_network_URI()
return "[network_tag].[network_id]"
+/**Returns the object that should be handling access and command checks.*/
+/datum/extension/network_device/proc/get_top_holder()
+ return holder
+
//Subtype for passive devices, doesn't init until asked for
/datum/extension/network_device/lazy
base_type = /datum/extension/network_device
diff --git a/code/modules/modular_computers/networking/device_types/stock_part.dm b/code/modules/modular_computers/networking/device_types/stock_part.dm
index 189560b6556..c497d79657e 100644
--- a/code/modules/modular_computers/networking/device_types/stock_part.dm
+++ b/code/modules/modular_computers/networking/device_types/stock_part.dm
@@ -15,6 +15,9 @@
return term.get_graph()
/datum/extension/network_device/stock_part/get_command_target()
+ return get_top_holder()
+
+/datum/extension/network_device/stock_part/get_top_holder()
var/atom/A = holder
var/obj/machinery/M = A.loc
if(istype(M))
diff --git a/code/modules/multiz/basic.dm b/code/modules/multiz/basic.dm
index 9df6191feca..0ffc115b250 100644
--- a/code/modules/multiz/basic.dm
+++ b/code/modules/multiz/basic.dm
@@ -17,37 +17,6 @@ var/global/list/z_levels = list() // Each Z-level is associated with the relevan
return null
return HasBelow(turf.z) ? get_step(turf, DOWN) : null
-/proc/GetConnectedZlevels(z)
- . = list(z)
- // Traverse up and down to get the multiz stack.
- for(var/level = z, HasBelow(level), level--)
- . |= level-1
- for(var/level = z, HasAbove(level), level++)
- . |= level+1
-
- // Check stack for any laterally connected neighbors.
- for(var/tz in .)
- var/obj/abstract/level_data/level = global.levels_by_z["[tz]"]
- if(level)
- level.find_connected_levels(.)
-
-var/global/list/connected_z_cache = list()
-/proc/AreConnectedZLevels(var/zA, var/zB)
- if (zA <= 0 || zB <= 0 || zA > world.maxz || zB > world.maxz)
- return FALSE
- if (zA == zB)
- return TRUE
- if (length(global.connected_z_cache) >= zA && length(global.connected_z_cache[zA]) >= zB)
- return global.connected_z_cache[zA][zB]
- var/list/levels = GetConnectedZlevels(zA)
- var/list/new_entry = new(world.maxz)
- for (var/entry in levels)
- new_entry[entry] = TRUE
- if (global.connected_z_cache.len < zA)
- global.connected_z_cache.len = zA
- global.connected_z_cache[zA] = new_entry
- return new_entry[zB]
-
/proc/get_zstep(ref, dir)
if(dir == UP)
. = GetAbove(ref)
diff --git a/code/modules/multiz/level_data.dm b/code/modules/multiz/level_data.dm
index e5e47b8db7a..fc85ce6c010 100644
--- a/code/modules/multiz/level_data.dm
+++ b/code/modules/multiz/level_data.dm
@@ -1,48 +1,63 @@
-#define ZLEVEL_STATION BITFLAG(0)
-#define ZLEVEL_ADMIN BITFLAG(1)
-#define ZLEVEL_CONTACT BITFLAG(2)
-#define ZLEVEL_PLAYER BITFLAG(3)
-#define ZLEVEL_SEALED BITFLAG(4)
-
-var/global/list/levels_by_z = list()
-var/global/list/levels_by_id = list()
-
/obj/abstract/level_data
+ /// Name displayed on GPS when this sector is shown.
+ var/gps_name
+ /// z-level associated with this datum
var/my_z
+ /// A unique identifier for the level, used for SSmapping looup
var/level_id
- var/level_name
+ /// The base turf of the level (space, rock, etc)
var/base_turf
+ /// A list of ids that this level connects to horizontally.
var/list/connects_to
+ /// Various flags indicating what this level functions as.
var/level_flags
+ /// Temperature of standard exterior atmosphere.
+ var/exterior_atmos_temp = T20C
+ /// Gaxmix datum returned to exterior return_air. Set to assoc list of material to moles to initialize the gas datum.
+ var/datum/gas_mixture/exterior_atmosphere
+ /// Default turf for this level on creation (if created via z-level incrementing)
+ var/created_base_turf_type = /turf/space
+ /// Default area for this level on creation (as above)
+ var/created_base_area_type = /area/space
+ /// Set to false to leave dark
+ var/take_starlight_ambience = TRUE
+ /// This default makes turfs not generate light. Adjust to have exterior areas be lit.
+ var/ambient_light_level = 0
+ /// Colour of ambient light.
+ var/ambient_light_color = COLOR_WHITE
INITIALIZE_IMMEDIATE(/obj/abstract/level_data)
-/obj/abstract/level_data/Initialize()
+/obj/abstract/level_data/Initialize(var/ml, var/defer_level_setup = FALSE)
. = ..()
+
my_z = z
forceMove(null)
- if(global.levels_by_z["[my_z]"])
- PRINT_STACK_TRACE("Duplicate level data created for z[z].")
- global.levels_by_z["[my_z]"] = src
+
+ if(SSmapping.levels_by_z.len < my_z)
+ SSmapping.levels_by_z.len = max(SSmapping.levels_by_z.len, my_z)
+ PRINT_STACK_TRACE("Attempting to initialize a z-level that has not incremented world.maxz.")
+
+ // Swap out the old one but preserve any relevant references etc.
+ if(SSmapping.levels_by_z[my_z])
+ var/obj/abstract/level_data/old_level = SSmapping.levels_by_z[my_z]
+ old_level.replace_with(src)
+ qdel(old_level)
+
+ SSmapping.levels_by_z[my_z] = src
if(!level_id)
level_id = "leveldata_[my_z]_[sequential_id(/obj/abstract/level_data)]"
- if(level_id in global.levels_by_id)
+ if(level_id in SSmapping.levels_by_id)
PRINT_STACK_TRACE("Duplicate level_id '[level_id]' for z[my_z].")
else
- global.levels_by_id[level_id] = src
+ SSmapping.levels_by_id[level_id] = src
- if(base_turf)
- global.using_map.base_turf_by_z["[my_z]"] = base_turf
+ if(SSmapping.initialized && !defer_level_setup)
+ setup_level_data()
- if(level_flags & ZLEVEL_STATION)
- global.using_map.station_levels |= my_z
- if(level_flags & ZLEVEL_ADMIN)
- global.using_map.admin_levels |= my_z
- if(level_flags & ZLEVEL_CONTACT)
- global.using_map.contact_levels |= my_z
- if(level_flags & ZLEVEL_PLAYER)
- global.using_map.player_levels |= my_z
- if(level_flags & ZLEVEL_SEALED)
- global.using_map.sealed_levels |= my_z
+/obj/abstract/level_data/proc/post_template_load(var/datum/map_template/template)
+ if(template.accessibility_weight)
+ SSmapping.accessible_z_levels[num2text(my_z)] = template.accessibility_weight
+ SSmapping.player_levels |= my_z
/obj/abstract/level_data/Destroy(var/force)
if(force)
@@ -50,9 +65,54 @@ INITIALIZE_IMMEDIATE(/obj/abstract/level_data)
return ..()
return QDEL_HINT_LETMELIVE
+/obj/abstract/level_data/proc/replace_with(var/obj/abstract/level_data/new_level)
+ new_level.copy_from(src)
+
+/obj/abstract/level_data/proc/copy_from(var/obj/abstract/level_data/old_level)
+ return
+
+/obj/abstract/level_data/proc/initialize_level()
+ var/change_turf = (created_base_turf_type && created_base_turf_type != world.turf)
+ var/change_area = (created_base_area_type && created_base_area_type != world.area)
+ if(!change_turf && !change_area)
+ return
+ var/corner_start = locate(1, 1, my_z)
+ var/corner_end = locate(world.maxx, world.maxy, my_z)
+ var/area/A = change_area ? new created_base_area_type : null
+ for(var/turf/T as anything in block(corner_start, corner_end))
+ if(change_turf)
+ T = T.ChangeTurf(created_base_turf_type)
+ if(change_area)
+ ChangeArea(T, A)
+
+/obj/abstract/level_data/proc/setup_level_data()
+
+ if(take_starlight_ambience)
+ ambient_light_level = config.exterior_ambient_light
+ ambient_light_color = SSskybox.background_color
+ if(base_turf)
+ SSmapping.base_turf_by_z[my_z] = base_turf
+ if(level_flags & ZLEVEL_STATION)
+ SSmapping.station_levels |= my_z
+ if(level_flags & ZLEVEL_ADMIN)
+ SSmapping.admin_levels |= my_z
+ if(level_flags & ZLEVEL_CONTACT)
+ SSmapping.contact_levels |= my_z
+ if(level_flags & ZLEVEL_PLAYER)
+ SSmapping.player_levels |= my_z
+ if(level_flags & ZLEVEL_SEALED)
+ SSmapping.sealed_levels |= my_z
+
+ build_exterior_atmosphere()
+ if(config.generate_map)
+ build_level()
+
+/obj/abstract/level_data/proc/build_level()
+ return
+
/obj/abstract/level_data/proc/find_connected_levels(var/list/found)
for(var/other_id in connects_to)
- var/obj/abstract/level_data/neighbor = global.levels_by_id[other_id]
+ var/obj/abstract/level_data/neighbor = SSmapping.levels_by_id[other_id]
neighbor.add_connected_levels(found)
/obj/abstract/level_data/proc/add_connected_levels(var/list/found)
@@ -63,24 +123,93 @@ INITIALIZE_IMMEDIATE(/obj/abstract/level_data)
if(!length(connects_to))
return
for(var/other_id in connects_to)
- var/obj/abstract/level_data/neighbor = global.levels_by_id[other_id]
+ var/obj/abstract/level_data/neighbor = SSmapping.levels_by_id[other_id]
neighbor.add_connected_levels(found)
-// Mappable subtypes.
+/obj/abstract/level_data/proc/build_exterior_atmosphere()
+ var/list/exterior_atmos_composition = exterior_atmosphere
+ exterior_atmosphere = new
+ if(islist(exterior_atmos_composition))
+ for(var/gas in exterior_atmos_composition)
+ exterior_atmosphere.adjust_gas(gas, exterior_atmos_composition[gas], FALSE)
+ exterior_atmosphere.temperature = exterior_atmos_temp
+ exterior_atmosphere.update_values()
+ exterior_atmosphere.check_tile_graphic()
+
+/obj/abstract/level_data/proc/get_exterior_atmosphere()
+ if(isnull(exterior_atmosphere) || islist(exterior_atmosphere)) //#FIXME: remove once we get the level_data improvements in
+ build_exterior_atmosphere()
+ if(exterior_atmosphere)
+ var/datum/gas_mixture/gas = new
+ gas.copy_from(exterior_atmosphere)
+ return gas
+
+/obj/abstract/level_data/proc/get_gps_level_name()
+ if(!gps_name)
+ var/obj/effect/overmap/overmap_entity = global.overmap_sectors[num2text(z)]
+ if(overmap_entity?.name)
+ gps_name = overmap_entity.name
+ else if(name)
+ gps_name = name
+ else
+ gps_name = "Sector #[my_z]"
+ return gps_name
+
+/*
+ * Mappable subtypes.
+ */
+/obj/abstract/level_data/debug
+ name = "Debug Level"
+
/obj/abstract/level_data/main_level
- name = "Main Station Level"
level_flags = (ZLEVEL_STATION|ZLEVEL_CONTACT|ZLEVEL_PLAYER)
/obj/abstract/level_data/admin_level
- name = "Admin Level"
level_flags = (ZLEVEL_ADMIN|ZLEVEL_SEALED)
/obj/abstract/level_data/player_level
- name = "Player Level"
level_flags = (ZLEVEL_CONTACT|ZLEVEL_PLAYER)
-#undef ZLEVEL_STATION
-#undef ZLEVEL_ADMIN
-#undef ZLEVEL_CONTACT
-#undef ZLEVEL_PLAYER
-#undef ZLEVEL_SEALED
+/obj/abstract/level_data/space
+
+/obj/abstract/level_data/exoplanet
+ exterior_atmosphere = list(
+ /decl/material/gas/oxygen = MOLES_O2STANDARD,
+ /decl/material/gas/nitrogen = MOLES_N2STANDARD
+ )
+ exterior_atmos_temp = T20C
+ level_flags = (ZLEVEL_PLAYER|ZLEVEL_SEALED)
+ take_starlight_ambience = FALSE // This is set up by the exoplanet object.
+
+/obj/abstract/level_data/unit_test
+ level_flags = (ZLEVEL_CONTACT|ZLEVEL_PLAYER|ZLEVEL_SEALED)
+
+// Used to generate mining ores etc.
+/obj/abstract/level_data/mining_level
+ level_flags = (ZLEVEL_PLAYER|ZLEVEL_SEALED)
+ var/list/mining_turfs
+
+/obj/abstract/level_data/mining_level/Destroy()
+ mining_turfs = null
+ return ..()
+
+/obj/abstract/level_data/mining_level/asteroid
+ base_turf = /turf/simulated/floor/asteroid
+
+/obj/abstract/level_data/mining_level/post_template_load()
+ ..()
+ new /datum/random_map/automata/cave_system(1, 1, my_z, world.maxx, world.maxy)
+ new /datum/random_map/noise/ore(1, 1, my_z, world.maxx, world.maxy)
+ refresh_mining_turfs()
+
+/obj/abstract/level_data/mining_level/proc/refresh_mining_turfs()
+ set waitfor = FALSE
+ for(var/turf/simulated/floor/asteroid/mining_turf as anything in mining_turfs)
+ mining_turf.updateMineralOverlays()
+ CHECK_TICK
+ mining_turfs = null
+
+// Used as a dummy z-level for the overmap.
+/obj/abstract/level_data/overmap
+ name = "Sensor Display"
+ take_starlight_ambience = FALSE // Overmap doesn't care about ambient lighting
diff --git a/code/modules/multiz/zmimic/mimic_movable.dm b/code/modules/multiz/zmimic/mimic_movable.dm
index 4b3c63117b7..f2f182b7ce0 100644
--- a/code/modules/multiz/zmimic/mimic_movable.dm
+++ b/code/modules/multiz/zmimic/mimic_movable.dm
@@ -99,6 +99,7 @@
appearance = LO
layer = MIMICED_LIGHTING_LAYER
plane = OPENTURF_MAX_PLANE
+ blend_mode = BLEND_MULTIPLY
invisibility = 0
if (icon_state == LIGHTING_BASE_ICON_STATE)
diff --git a/code/modules/nano/interaction/default.dm b/code/modules/nano/interaction/default.dm
index 307134c5b5e..46b8190ae47 100644
--- a/code/modules/nano/interaction/default.dm
+++ b/code/modules/nano/interaction/default.dm
@@ -38,7 +38,7 @@ var/global/datum/topic_state/default/default_topic_state = new
// unless it's on the same level as the object it's interacting with.
var/turf/T = get_turf(src_object)
var/turf/A = get_turf(src)
- if(!A || !T || !AreConnectedZLevels(A.z, T.z))
+ if(!A || !T || !SSmapping.are_connected_levels(A.z, T.z))
return STATUS_CLOSE
// If an object is in view then we can interact with it
diff --git a/code/modules/nano/nanoui.dm b/code/modules/nano/nanoui.dm
index 15150ff5902..3c4feb60115 100644
--- a/code/modules/nano/nanoui.dm
+++ b/code/modules/nano/nanoui.dm
@@ -204,7 +204,7 @@ nanoui is used to open and update nano browser uis
"showMap" = show_map,
"mapName" = global.using_map.path,
"mapZLevel" = map_z_level,
- "mapZLevels" = global.using_map.map_levels,
+ "mapZLevels" = SSmapping.map_levels,
"user" = list("name" = user.name),
"currency" = cur.name,
"templateFileName" = global.template_file_name
diff --git a/code/modules/organs/ailments/_ailment.dm b/code/modules/organs/ailments/_ailment.dm
index 0d5c501b7ec..5ba96076d48 100644
--- a/code/modules/organs/ailments/_ailment.dm
+++ b/code/modules/organs/ailments/_ailment.dm
@@ -99,8 +99,8 @@
stack.use(1)
qdel(src)
-/datum/ailment/proc/treated_by_medication(var/decl/material/reagent, var/dosage)
- return treated_by_reagent_type && istype(reagent, treated_by_reagent_type) && dosage >= treated_by_reagent_dosage
+/datum/ailment/proc/treated_by_medication(var/reagent_type, var/dosage)
+ return treated_by_reagent_type && ispath(reagent_type, treated_by_reagent_type) && dosage >= treated_by_reagent_dosage
/datum/ailment/proc/was_treated_by_medication(var/datum/reagents/source, var/reagent_type)
source.remove_reagent(reagent_type, treated_by_reagent_dosage)
diff --git a/code/modules/organs/external/_external.dm b/code/modules/organs/external/_external.dm
index d1967950625..66765d34dd2 100644
--- a/code/modules/organs/external/_external.dm
+++ b/code/modules/organs/external/_external.dm
@@ -29,7 +29,6 @@
var/limb_flags = ORGAN_FLAG_CAN_AMPUTATE | ORGAN_FLAG_CAN_BREAK | ORGAN_FLAG_CAN_DISLOCATE
// Appearance vars.
- var/icon_name = null // Icon state base.
var/body_part = null // Part flag
var/icon_position = 0 // Used in mob overlay layering calculations.
var/model // Used when caching robolimb icons.
diff --git a/code/modules/organs/external/_external_icons.dm b/code/modules/organs/external/_external_icons.dm
index 2f46814770e..4caf9f045f6 100644
--- a/code/modules/organs/external/_external_icons.dm
+++ b/code/modules/organs/external/_external_icons.dm
@@ -18,6 +18,7 @@ var/global/list/limb_icon_cache = list()
skin_colour = null
hair_colour = human.hair_colour
bodytype = human.bodytype
+ reset_status() // since we may have changed bodytype
if(BP_IS_PROSTHETIC(src) && model)
var/decl/prosthetics_manufacturer/franchise = GET_DECL(model)
if(!(franchise && franchise.skintone))
@@ -58,12 +59,12 @@ var/global/list/limb_icon_cache = list()
for(var/M in markings)
var/decl/sprite_accessory/marking/mark_style = GET_DECL(M)
if (mark_style.draw_target == MARKING_TARGET_SKIN)
- var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
- mark_s.Blend(markings[M], mark_style.blend)
+ var/mark_color = markings[M]
+ var/icon/mark_s = mark_style.get_cached_marking_icon(bodytype, icon_state, mark_color)
//#TODO: This probably should be added to a list that's applied on update icon, otherwise its gonna act really wonky!
add_overlay(mark_s) //So when it's not on your body, it has icons
mob_icon.Blend(mark_s, mark_style.layer_blend) //So when it's on your body, it has icons
- icon_cache_key += "[M][markings[M]]"
+ icon_cache_key += "[M][mark_color]"
/obj/item/organ/external/proc/update_limb_icon_file()
if (BP_IS_PROSTHETIC(src))
@@ -81,7 +82,7 @@ var/global/list/limb_icon_cache = list()
/obj/item/organ/external/on_update_icon(var/regenerate = 0)
. = ..()
- icon_state = "[icon_name]"
+ icon_state = organ_tag
icon_cache_key = "[icon_state]_[species ? species.name : "unknown"][render_alpha]"
if(model)
icon_cache_key += "_model_[model]"
@@ -93,12 +94,12 @@ var/global/list/limb_icon_cache = list()
for(var/M in markings)
var/decl/sprite_accessory/marking/mark_style = GET_DECL(M)
if (mark_style.draw_target == MARKING_TARGET_SKIN)
- var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
- mark_s.Blend(markings[M], mark_style.blend)
+ var/mark_color = markings[M]
+ var/icon/mark_s = mark_style.get_cached_marking_icon(bodytype, icon_state, mark_color)
//#TODO: This probably should be added to a list that's applied on update icon, otherwise its gonna act really wonky!
add_overlay(mark_s) //So when it's not on your body, it has icons
mob_icon.Blend(mark_s, mark_style.layer_blend) //So when it's on your body, it has icons
- icon_cache_key += "[M][markings[M]]"
+ icon_cache_key += "[M][mark_color]"
if(render_alpha < 255)
mob_icon += rgb(,,,render_alpha)
diff --git a/code/modules/organs/external/head.dm b/code/modules/organs/external/head.dm
index b16cca2dc67..e9ab3fe9eeb 100644
--- a/code/modules/organs/external/head.dm
+++ b/code/modules/organs/external/head.dm
@@ -1,6 +1,5 @@
/obj/item/organ/external/head
organ_tag = BP_HEAD
- icon_name = "head"
name = "head"
slot_flags = SLOT_LOWER_BODY
max_damage = 75
@@ -127,13 +126,11 @@
if(owner.f_style)
var/decl/sprite_accessory/facial_hair_style = GET_DECL(owner.f_style)
- if(facial_hair_style)
- if(!facial_hair_style.species_allowed || (species.get_root_species_name(owner) in facial_hair_style.species_allowed))
- if(!facial_hair_style.subspecies_allowed || (species.name in facial_hair_style.subspecies_allowed))
- var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
- if(owner.facial_hair_colour && facial_hair_style.do_colouration)
- facial_s.Blend(owner.facial_hair_colour, facial_hair_style.blend)
- res.overlays |= facial_s
+ if(facial_hair_style?.accessory_is_available(owner, owner.species, owner.bodytype.bodytype_flag, owner.gender))
+ var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
+ if(owner.facial_hair_colour && facial_hair_style.do_colouration)
+ facial_s.Blend(owner.facial_hair_colour, facial_hair_style.blend)
+ res.overlays |= facial_s
if(owner.h_style)
var/decl/sprite_accessory/hair/hair_style = GET_DECL(owner.h_style)
@@ -141,28 +138,27 @@
if(head && (head.flags_inv & BLOCK_HEAD_HAIR))
if(!(hair_style.flags & VERY_SHORT))
hair_style = GET_DECL(/decl/sprite_accessory/hair/short)
- if(hair_style)
- if(!hair_style.species_allowed || (species.get_root_species_name(owner) in hair_style.species_allowed))
- if(!hair_style.subspecies_allowed || (species.name in hair_style.subspecies_allowed))
- var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
- if(hair_style.do_colouration && hair_colour)
- hair_s.Blend(hair_colour, hair_style.blend)
- res.overlays |= hair_s
+ if(hair_style?.accessory_is_available(owner, owner.species, owner.bodytype.bodytype_flag, owner.gender))
+ var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
+ if(hair_style.do_colouration && hair_colour)
+ hair_s.Blend(hair_colour, hair_style.blend)
+ res.overlays |= hair_s
for (var/M in markings)
var/decl/sprite_accessory/marking/mark_style = GET_DECL(M)
if (mark_style.draw_target == MARKING_TARGET_HAIR)
- var/icon/mark_icon = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]")
+
+ var/mark_color
if (!mark_style.do_colouration && owner.h_style)
var/decl/sprite_accessory/hair/hair_style = GET_DECL(owner.h_style)
if ((~hair_style.flags & HAIR_BALD) && hair_colour)
- mark_icon.Blend(hair_colour, ICON_ADD)
+ mark_color = hair_colour
else //only baseline human skin tones; others will need species vars for coloration
- mark_icon.Blend(rgb(200 + skin_tone, 150 + skin_tone, 123 + skin_tone), ICON_ADD)
+ mark_color = rgb(200 + skin_tone, 150 + skin_tone, 123 + skin_tone)
else
- mark_icon.Blend(markings[M], ICON_ADD)
- res.overlays |= mark_icon
- icon_cache_key += "[M][markings[M]]"
+ mark_color = markings[M]
+ res.overlays |= mark_style.get_cached_marking_icon(bodytype, icon_state, mark_color)
+ icon_cache_key += "[M][mark_color]"
return res
diff --git a/code/modules/organs/external/standard.dm b/code/modules/organs/external/standard.dm
index f9cd1b326c7..2903fe3c932 100644
--- a/code/modules/organs/external/standard.dm
+++ b/code/modules/organs/external/standard.dm
@@ -7,7 +7,6 @@
/obj/item/organ/external/chest
name = "upper body"
organ_tag = BP_CHEST
- icon_name = "torso"
max_damage = 100
min_broken_damage = 35
w_class = ITEM_SIZE_HUGE //Used for dismembering thresholds, in addition to storage. Humans are w_class 6, so it makes sense that chest is w_class 5.
@@ -39,7 +38,6 @@
/obj/item/organ/external/groin
name = "lower body"
organ_tag = BP_GROIN
- icon_name = "groin"
max_damage = 100
min_broken_damage = 35
w_class = ITEM_SIZE_LARGE
@@ -61,7 +59,6 @@
/obj/item/organ/external/arm
organ_tag = BP_L_ARM
name = "left arm"
- icon_name = "l_arm"
max_damage = 50
min_broken_damage = 30
w_class = ITEM_SIZE_NORMAL
@@ -77,7 +74,6 @@
/obj/item/organ/external/arm/right
organ_tag = BP_R_ARM
name = "right arm"
- icon_name = "r_arm"
body_part = SLOT_ARM_RIGHT
joint = "right elbow"
amputation_point = "right shoulder"
@@ -85,7 +81,6 @@
/obj/item/organ/external/leg
organ_tag = BP_L_LEG
name = "left leg"
- icon_name = "l_leg"
max_damage = 50
min_broken_damage = 30
w_class = ITEM_SIZE_NORMAL
@@ -102,7 +97,6 @@
/obj/item/organ/external/leg/right
organ_tag = BP_R_LEG
name = "right leg"
- icon_name = "r_leg"
body_part = SLOT_LEG_RIGHT
icon_position = RIGHT
joint = "right knee"
@@ -111,7 +105,6 @@
/obj/item/organ/external/foot
organ_tag = BP_L_FOOT
name = "left foot"
- icon_name = "l_foot"
max_damage = 30
min_broken_damage = 15
w_class = ITEM_SIZE_SMALL
@@ -127,7 +120,6 @@
/obj/item/organ/external/foot/right
organ_tag = BP_R_FOOT
name = "right foot"
- icon_name = "r_foot"
body_part = SLOT_FOOT_RIGHT
icon_position = RIGHT
parent_organ = BP_R_LEG
@@ -137,7 +129,6 @@
/obj/item/organ/external/hand
organ_tag = BP_L_HAND
name = "left hand"
- icon_name = "l_hand"
icon_position = LEFT
max_damage = 30
min_broken_damage = 15
@@ -165,7 +156,6 @@
/obj/item/organ/external/hand/right
organ_tag = BP_R_HAND
name = "right hand"
- icon_name = "r_hand"
icon_position = RIGHT
body_part = SLOT_HAND_RIGHT
parent_organ = BP_R_ARM
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index 66b66f67d4f..53498e02c15 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -214,7 +214,7 @@
if(ailment.treated_by_reagent_type)
for(var/datum/reagents/source as anything in owner.get_metabolizing_reagent_holders())
for(var/reagent_type in source.reagent_volumes)
- if(ailment.treated_by_medication(source.reagent_volumes[reagent_type]))
+ if(ailment.treated_by_medication(reagent_type, source.reagent_volumes[reagent_type]))
ailment.was_treated_by_medication(source, reagent_type)
return
if(ailment.treated_by_chem_effect && owner.has_chemical_effect(ailment.treated_by_chem_effect, ailment.treated_by_chem_effect_strength))
diff --git a/code/modules/organs/prosthetics/_prosthetics.dm b/code/modules/organs/prosthetics/_prosthetics.dm
index 9bea6ef346c..3397e7c28f7 100644
--- a/code/modules/organs/prosthetics/_prosthetics.dm
+++ b/code/modules/organs/prosthetics/_prosthetics.dm
@@ -58,19 +58,17 @@
// Checks the organ list for limbs meeting a predicate. Way overengineered for such a limited use
// case but I can see it being expanded in the future if meat limbs or doona limbs use it.
/mob/living/carbon/human/proc/get_modular_limbs(var/return_first_found = FALSE, var/validate_proc)
- for(var/bp in get_external_organs())
- var/obj/item/organ/external/E = bp
- if(!validate_proc || call(E, validate_proc)(src) > MODULAR_BODYPART_INVALID)
- LAZYADD(., E)
+ for(var/obj/item/organ/external/limb as anything in get_external_organs())
+ if(!validate_proc || call(limb, validate_proc)(src) > MODULAR_BODYPART_INVALID)
+ LAZYADD(., limb)
if(return_first_found)
return
// Prune children so we can't remove every individual component of an entire prosthetic arm
// piece by piece. Technically a circular dependency here would remove the limb entirely but
// if there's a parent whose child is also its parent, there's something wrong regardless.
- for(var/bp in .)
- var/obj/item/organ/external/E = bp
- if(length(E.children))
- . -= E.children
+ for(var/obj/item/organ/external/limb as anything in .)
+ if(length(limb.children))
+ . -= limb.children
// Called in robotize(), replaced() and removed() to update our modular limb verbs.
/mob/living/carbon/human/proc/refresh_modular_limb_verbs()
diff --git a/code/modules/organs/prosthetics/prosthetics_manufacturer.dm b/code/modules/organs/prosthetics/prosthetics_manufacturer.dm
index 44180d4c4f9..8c13ba5fd82 100644
--- a/code/modules/organs/prosthetics/prosthetics_manufacturer.dm
+++ b/code/modules/organs/prosthetics/prosthetics_manufacturer.dm
@@ -20,6 +20,14 @@
var/modular_prosthetic_tier = MODULAR_BODYPART_INVALID // Determines how the limb behaves as a prosthetic with regards to manual attachment/detachment.
var/limb_tech = "{'engineering':1,'materials':1,'magnets':1}" // What tech levels should limbs of this type use/need?
+/decl/prosthetics_manufacturer/validate()
+ . = ..()
+ if(icon && (!applies_to_part || (BP_CHEST in applies_to_part)))
+ if(check_state_in_icon("torso", icon))
+ . += "deprecated \"torso\" state present in [icon]"
+ if(!check_state_in_icon(BP_CHEST, icon))
+ . += "[BP_CHEST] state not present in [icon]"
+
/decl/prosthetics_manufacturer/proc/check_can_install(var/target_slot, var/target_bodytype, var/target_species)
. = istext(target_slot)
if(.)
diff --git a/code/modules/overmap/_defines.dm b/code/modules/overmap/_defines.dm
index 43a21fb6a0e..ef385a4034b 100644
--- a/code/modules/overmap/_defines.dm
+++ b/code/modules/overmap/_defines.dm
@@ -22,7 +22,7 @@
name = "[x]-[y]"
var/list/numbers = list()
- var/datum/overmap/overmap = global.overmaps_by_z["[z]"]
+ var/datum/overmap/overmap = global.overmaps_by_z[num2text(z)]
if(x == 1 || x == overmap.map_size_x)
numbers += list("[round(y/10)]","[round(y%10)]")
if(y == 1 || y == overmap.map_size_y)
diff --git a/code/modules/overmap/_overmap.dm b/code/modules/overmap/_overmap.dm
index db782b45375..e13d9884286 100644
--- a/code/modules/overmap/_overmap.dm
+++ b/code/modules/overmap/_overmap.dm
@@ -8,18 +8,18 @@
var/overmap_edge_type = /turf/unsimulated/map/edge
var/overmap_turf_type = /turf/unsimulated/map
- var/map_turf_type = /turf/space
- var/map_area_type = /area/overmap
+ var/overmap_area_type = /area/overmap
+ var/empty_level_type = /obj/abstract/level_data/space
var/list/valid_event_types
+ /// list used to cache empty zlevels to avoid needless z-stack bloat
+ var/list/cached_temporary_sectors = list()
+
/datum/overmap/New(var/_name)
name = _name
- if(!map_turf_type)
- map_turf_type = world.turf
-
if(!name)
PRINT_STACK_TRACE("Unnamed overmap datum instantiated: [type]")
@@ -45,7 +45,7 @@
..()
/datum/overmap/proc/populate_overmap()
- var/area/overmap/A = new map_area_type
+ var/area/overmap/A = new overmap_area_type
for(var/square in block(locate(1, 1, assigned_z), locate(map_size_x, map_size_y, assigned_z)))
var/turf/T = square
if(T.x == map_size_x || T.y == map_size_y)
@@ -53,21 +53,21 @@
else
T = T.ChangeTurf(overmap_turf_type)
ChangeArea(T, A)
-
+
/datum/overmap/proc/generate_overmap()
testing("Building overmap [name]...")
- INCREMENT_WORLD_Z_SIZE
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/overmap)
assigned_z = world.maxz
testing("Putting [name] on [assigned_z].")
populate_overmap()
- global.using_map.sealed_levels |= assigned_z
+ SSmapping.sealed_levels |= assigned_z
. = TRUE
/datum/overmap/proc/travel(var/turf/space/T, var/atom/movable/A)
if (!T || !A)
return
- var/obj/effect/overmap/visitable/M = global.overmap_sectors["[T.z]"]
+ var/obj/effect/overmap/visitable/M = global.overmap_sectors[num2text(T.z)]
if (!M)
return
@@ -122,25 +122,33 @@
source.forceMove(null)
if(!QDELETED(source))
testing("Caching [M] for future use")
- if(!(map_turf_type in global.cached_temporary_sectors))
- global.cached_temporary_sectors[map_turf_type] = list()
- global.cached_temporary_sectors[map_turf_type] |= source
+ if(!length(cached_temporary_sectors[empty_level_type]))
+ cached_temporary_sectors[empty_level_type] = list()
+ cached_temporary_sectors[empty_level_type] |= source
/datum/overmap/proc/create_temporary_sector(x,y)
+ // There's already a sector at this x/y
var/obj/effect/overmap/visitable/sector/temporary/res = locate(x, y, assigned_z)
if(istype(res) && !QDELETED(res))
return res
- if(length(global.cached_temporary_sectors[map_turf_type]))
- res = pick(global.cached_temporary_sectors[map_turf_type])
-
- global.cached_temporary_sectors[map_turf_type] -= res
- if(!length(global.cached_temporary_sectors[map_turf_type]))
- global.cached_temporary_sectors -= map_turf_type
-
+ // We might have a sector cached we can give them.
+ if(length(cached_temporary_sectors[empty_level_type]))
+ res = pick_n_take(cached_temporary_sectors[empty_level_type])
+ if(!length(cached_temporary_sectors[empty_level_type]))
+ cached_temporary_sectors -= empty_level_type
if(istype(res) && !QDELETED(res))
res.forceMove(locate(x, y, assigned_z))
return res
- return new /obj/effect/overmap/visitable/sector/temporary(null, x, y, get_empty_zlevel(map_turf_type))
+ // Create a new one.
+ var/obj/abstract/level_data/level = SSmapping.increment_world_z_size(empty_level_type)
+ return new /obj/effect/overmap/visitable/sector/temporary(null, x, y, level.my_z)
+
+/datum/overmap/proc/discard_temporary_sector(var/obj/effect/overmap/visitable/sector/temporary/sector)
+ if(!length(cached_temporary_sectors[empty_level_type]))
+ return
+ cached_temporary_sectors[empty_level_type] -= sector
+ if(!length(cached_temporary_sectors[empty_level_type]))
+ cached_temporary_sectors -= empty_level_type
diff --git a/code/modules/overmap/contacts/contact_sensors.dm b/code/modules/overmap/contacts/contact_sensors.dm
index c0e181b8112..fc847367b5b 100644
--- a/code/modules/overmap/contacts/contact_sensors.dm
+++ b/code/modules/overmap/contacts/contact_sensors.dm
@@ -69,7 +69,7 @@
// Find all sectors with a tracker on their z-level. Only works on ships when they are in space.
for(var/obj/item/ship_tracker/tracker in trackers)
if(tracker.enabled)
- var/obj/effect/overmap/visitable/tracked_effect = global.overmap_sectors["[get_z(tracker)]"]
+ var/obj/effect/overmap/visitable/tracked_effect = global.overmap_sectors[num2text(get_z(tracker))]
if(tracked_effect && istype(tracked_effect) && tracked_effect != linked && tracked_effect.requires_contact)
objects_in_current_view[tracked_effect] = TRUE
objects_in_view[tracked_effect] = 100
diff --git a/code/modules/overmap/disperser/disperser_fire.dm b/code/modules/overmap/disperser/disperser_fire.dm
index fc386f4f7b4..c6fed02bafd 100644
--- a/code/modules/overmap/disperser/disperser_fire.dm
+++ b/code/modules/overmap/disperser/disperser_fire.dm
@@ -30,7 +30,7 @@
else
A.explosion_act(1)
- var/list/relevant_z = GetConnectedZlevels(start.z)
+ var/list/relevant_z = SSmapping.get_connected_levels(start.z)
for(var/mob/M in global.player_list)
var/turf/T = get_turf(M)
if(!T || !(T.z in relevant_z))
diff --git a/code/modules/overmap/exoplanets/_exoplanet.dm b/code/modules/overmap/exoplanets/_exoplanet.dm
index 5e1fe842c73..de817dc4ee1 100644
--- a/code/modules/overmap/exoplanets/_exoplanet.dm
+++ b/code/modules/overmap/exoplanets/_exoplanet.dm
@@ -7,7 +7,7 @@
var/area/planetary_area
- var/lightlevel = 0 //This default makes turfs not generate light. Adjust to have exoplanents be lit.
+ // Day/night cycle tracking.
var/night = TRUE
var/daycycle //How often do we change day and night
var/daycolumn = 0 //Which column's light needs to be updated next?
@@ -37,7 +37,6 @@
var/list/actors = list() //things that appear in engravings on xenoarch finds.
var/list/species = list() //list of names to use for simple animals instead of 'alien creature'
- var/datum/gas_mixture/atmosphere
var/list/breathgas = list() //list of gases animals/plants require to survive
var/badgas //id of gas that is toxic to life here
@@ -78,6 +77,7 @@
var/spawn_weight = 100 // Decides how often this planet will be picked for generation
+ var/list/zlevels = list()
var/obj/abstract/weather_system/weather_system = /decl/state/weather/calm // Initial weather is passed to the system as its default state.
/obj/effect/overmap/visitable/sector/exoplanet/proc/get_strata()
@@ -93,10 +93,10 @@
if(length(possible_strata))
crust_strata = pick(possible_strata)
-/obj/effect/overmap/visitable/sector/exoplanet/Initialize(mapload, z_level)
- if(global.overmaps_by_name[overmap_id])
- forceMove(locate(1, 1, z_level))
- return ..()
+// /obj/effect/overmap/visitable/sector/exoplanet/Initialize(mapload, z_level)
+// if(global.overmaps_by_name[overmap_id])
+// forceMove(locate(1, 1, z_level))
+// return ..()
/obj/effect/overmap/visitable/sector/exoplanet/proc/build_level(max_x, max_y)
@@ -130,7 +130,8 @@
for(var/datum/exoplanet_theme/T in themes)
T.adjust_atmosphere(src)
select_strata()
- generate_flora(atmosphere?.temperature || T20C)
+
+ generate_flora()
generate_map()
generate_landing(2)
generate_features()
@@ -172,9 +173,10 @@
update_daynight()
/obj/effect/overmap/visitable/sector/exoplanet/proc/update_daynight()
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[map_z[1]]
var/light = 0.1
if(!night)
- light = lightlevel
+ light = level_data.ambient_light_level
for(var/turf/exterior/T in block(locate(daycolumn,1,min(map_z)),locate(daycolumn,maxy,max(map_z))))
if (light)
T.set_ambient_light(COLOR_WHITE, light)
@@ -219,7 +221,8 @@
spawned_features = seed_ruins(map_z, features_budget, /area/exoplanet, possible_features, maxx, maxy)
/obj/effect/overmap/visitable/sector/exoplanet/proc/generate_daycycle()
- if(lightlevel)
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ if(level_data.ambient_light_level)
night = FALSE //we start with a day if we have light.
//When you set daycycle ensure that the minimum is larger than [maxx * daycycle_column_delay].
@@ -230,7 +233,8 @@
/obj/effect/overmap/visitable/sector/exoplanet/proc/generate_landing()
var/places = list()
var/attempts = 10*landing_points_to_place
- var/border_padding = shuttle_size / 2 + 3
+ var/landing_radius = CEILING(shuttle_size / 2)
+ var/border_padding = landing_radius + 3
while(landing_points_to_place)
attempts--
@@ -241,7 +245,7 @@
if(attempts >= 0) // While we have the patience, try to find better spawn points. If out of patience, put them down wherever, so long as there are no repeats.
var/valid = 1
- var/list/block_to_check = block(locate(T.x - shuttle_size / 2, T.y - shuttle_size / 2, T.z), locate(T.x + shuttle_size / 2, T.y + shuttle_size / 2, T.z))
+ var/list/block_to_check = block(locate(T.x - landing_radius, T.y - landing_radius, T.z), locate(T.x + landing_radius, T.y + landing_radius, T.z))
for(var/turf/check in block_to_check)
if(!istype(get_area(check), /area/exoplanet) || check.turf_flags & TURF_FLAG_NORUINS)
valid = 0
@@ -255,11 +259,13 @@
landing_points_to_place--
places += T
- new /obj/effect/shuttle_landmark/automatic/clearing(T)
+ new /obj/effect/shuttle_landmark/automatic/clearing(T, landing_radius)
/obj/effect/overmap/visitable/sector/exoplanet/get_scan_data(mob/user)
. = ..()
var/list/extra_data = list(" ")
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ var/datum/gas_mixture/atmosphere = level_data.exterior_atmosphere
if(atmosphere)
if(user.skill_check(SKILL_SCIENCE, SKILL_EXPERT) || user.skill_check(SKILL_ATMOS, SKILL_EXPERT))
var/list/gases = list()
@@ -297,5 +303,5 @@
name = "\improper Planetary surface"
ambience = list('sound/effects/wind/wind_2_1.ogg','sound/effects/wind/wind_2_2.ogg','sound/effects/wind/wind_3_1.ogg','sound/effects/wind/wind_4_1.ogg','sound/effects/wind/wind_4_2.ogg','sound/effects/wind/wind_5_1.ogg')
always_unpowered = 1
- area_flags = AREA_FLAG_IS_BACKGROUND | AREA_FLAG_EXTERNAL
+ area_flags = AREA_FLAG_IS_BACKGROUND | AREA_FLAG_EXTERNAL | AREA_FLAG_HIDE_FROM_HOLOMAP
is_outside = OUTSIDE_YES
diff --git a/code/modules/overmap/exoplanets/exoplanet_atmosphere.dm b/code/modules/overmap/exoplanets/exoplanet_atmosphere.dm
index 17e75d2b48c..1e715e9cc3a 100644
--- a/code/modules/overmap/exoplanets/exoplanet_atmosphere.dm
+++ b/code/modules/overmap/exoplanets/exoplanet_atmosphere.dm
@@ -1,5 +1,6 @@
/obj/effect/overmap/visitable/sector/exoplanet/proc/generate_atmosphere()
- atmosphere = new
+
+
var/target_temp = get_target_temperature()
//Make sure temperature can't damage people on casual planets
@@ -7,13 +8,15 @@
var/decl/species/S = get_species_by_key(global.using_map.default_species)
target_temp = clamp(target_temp, S.cold_level_1 + rand(1,5), S.heat_level_1 - rand(1,5))
- atmosphere.temperature = target_temp
-
//Skip fun gas gen for perfect terran worlds
if(habitability_class == HABITABILITY_IDEAL)
- atmosphere.adjust_gas(/decl/material/gas/oxygen, MOLES_O2STANDARD, FALSE)
- atmosphere.adjust_gas(/decl/material/gas/nitrogen, MOLES_N2STANDARD)
- atmosphere.check_tile_graphic()
+ for(var/obj/abstract/level_data/level_data in zlevels)
+ level_data.exterior_atmos_temp = target_temp
+ level_data.exterior_atmosphere = list(
+ /decl/material/gas/oxygen = MOLES_O2STANDARD,
+ /decl/material/gas/nitrogen = MOLES_N2STANDARD
+ )
+ level_data.setup_level_data()
return
var/total_moles = MOLES_CELLSTANDARD
@@ -82,12 +85,15 @@
// Add all gasses, adjusted for target temperature and pressure
var/target_pressure = get_target_pressure()
- var/target_moles = target_pressure * CELL_VOLUME / (atmosphere.temperature * R_IDEAL_GAS_EQUATION)
+ var/target_moles = target_pressure * CELL_VOLUME / (target_temp * R_IDEAL_GAS_EQUATION)
+ var/list/set_gasmix = list()
for(var/g in gas_list)
var/adjusted_moles = gas_list[g] * target_moles / MOLES_CELLSTANDARD
- atmosphere.adjust_gas(g, adjusted_moles, FALSE)
- atmosphere.update_values()
- atmosphere.check_tile_graphic()
+ set_gasmix[g] = adjusted_moles
+ for(var/obj/abstract/level_data/level_data in zlevels)
+ level_data.exterior_atmos_temp = target_temp
+ level_data.exterior_atmosphere = set_gasmix.Copy()
+ level_data.setup_level_data()
//List of gases that will be always present. Amounts are given assuming total of MOLES_CELLSTANDARD in atmosphere
/obj/effect/overmap/visitable/sector/exoplanet/proc/get_mandatory_gasses()
diff --git a/code/modules/overmap/exoplanets/exoplanet_fauna.dm b/code/modules/overmap/exoplanets/exoplanet_fauna.dm
index 553b80473ac..2ede9f2f265 100644
--- a/code/modules/overmap/exoplanets/exoplanet_fauna.dm
+++ b/code/modules/overmap/exoplanets/exoplanet_fauna.dm
@@ -29,11 +29,12 @@
A.SetName("alien creature")
A.real_name = "alien creature"
A.verbs |= /mob/living/simple_animal/proc/name_species
- if(atmosphere)
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ if(level_data.exterior_atmosphere)
//Set up gases for living things
var/list/all_gasses = decls_repository.get_decl_paths_of_subtype(/decl/material/gas)
if(!LAZYLEN(breathgas))
- var/list/goodgases = all_gasses.Copy()
+ var/list/goodgases = all_gasses.Copy()
var/gasnum = min(rand(1,3), goodgases.len)
for(var/i = 1 to gasnum)
var/gas = pick(goodgases)
@@ -41,11 +42,11 @@
goodgases -= gas
if(!badgas)
var/list/badgases = all_gasses.Copy()
- badgases -= atmosphere.gas
+ badgases -= level_data.exterior_atmosphere.gas
badgas = pick(badgases)
- A.minbodytemp = atmosphere.temperature - 20
- A.maxbodytemp = atmosphere.temperature + 30
+ A.minbodytemp = level_data.exterior_atmosphere.temperature - 20
+ A.maxbodytemp = level_data.exterior_atmosphere.temperature + 30
A.bodytemperature = (A.maxbodytemp+A.minbodytemp)/2
if(A.min_gas)
A.min_gas = breathgas.Copy()
@@ -84,10 +85,10 @@
/obj/abstract/landmark/exoplanet_spawn/LateInitialize()
. = ..()
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(z)]
if(istype(E))
do_spawn(E)
-
+
/obj/abstract/landmark/exoplanet_spawn/proc/do_spawn(var/obj/effect/overmap/visitable/sector/exoplanet/planet)
if(LAZYLEN(planet.fauna_types))
var/beastie = pick(planet.fauna_types)
diff --git a/code/modules/overmap/exoplanets/exoplanet_flora.dm b/code/modules/overmap/exoplanets/exoplanet_flora.dm
index 7d07bd6dfb0..2b5bed796ad 100644
--- a/code/modules/overmap/exoplanets/exoplanet_flora.dm
+++ b/code/modules/overmap/exoplanets/exoplanet_flora.dm
@@ -1,5 +1,10 @@
//Generates initial generic alien plants
-/obj/effect/overmap/visitable/sector/exoplanet/proc/generate_flora(var/temperature)
+/obj/effect/overmap/visitable/sector/exoplanet/proc/generate_flora()
+
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[map_z[1]]
+ var/datum/gas_mixture/atmosphere = level_data?.get_exterior_atmosphere()
+ var/temperature = atmosphere?.temperature || T20C
+
for(var/i = 1 to flora_diversity)
var/datum/seed/S = new()
S.randomize(temperature)
@@ -38,13 +43,19 @@
//Adapts seeds to this planet's atmopshere. Any special planet-speicific adaptations should go here too
/obj/effect/overmap/visitable/sector/exoplanet/proc/adapt_seed(var/datum/seed/S)
- S.set_trait(TRAIT_IDEAL_HEAT, atmosphere.temperature + rand(-5,5),800,70)
+
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[map_z[1]]
+ var/datum/gas_mixture/atmosphere = level_data?.get_exterior_atmosphere()
+ var/atmosphere_temperature = atmosphere?.temperature || T20C
+ var/atmosphere_pressure = atmosphere?.return_pressure() || 0
+
+ S.set_trait(TRAIT_IDEAL_HEAT, atmosphere_temperature + rand(-5,5),800,70)
S.set_trait(TRAIT_HEAT_TOLERANCE, S.get_trait(TRAIT_HEAT_TOLERANCE) + rand(-5,5),800,70)
- S.set_trait(TRAIT_LOWKPA_TOLERANCE, atmosphere.return_pressure() + rand(-5,-50),80,0)
- S.set_trait(TRAIT_HIGHKPA_TOLERANCE, atmosphere.return_pressure() + rand(5,50),500,110)
+ S.set_trait(TRAIT_LOWKPA_TOLERANCE, atmosphere_pressure + rand(-5,-50),80,0)
+ S.set_trait(TRAIT_HIGHKPA_TOLERANCE, atmosphere_pressure + rand(5,50),500,110)
if(S.exude_gasses)
S.exude_gasses -= badgas
- if(atmosphere && length(atmosphere.gas))
+ if(length(atmosphere?.gas))
if(S.consume_gasses)
S.consume_gasses = list(pick(atmosphere.gas)) // ensure that if the plant consumes a gas, the atmosphere will have it
for(var/g in atmosphere.gas)
@@ -52,7 +63,7 @@
if(mat.gas_flags & XGM_GAS_CONTAMINANT)
S.set_trait(TRAIT_TOXINS_TOLERANCE, rand(10,15))
if(prob(50))
- var/chem_type = SSmaterials.get_random_chem(TRUE, atmosphere ? atmosphere.temperature : T0C)
+ var/chem_type = SSmaterials.get_random_chem(TRUE, atmosphere?.temperature || T0C)
if(chem_type)
var/nutriment = S.chems[/decl/material/liquid/nutriment]
S.chems.Cut()
diff --git a/code/modules/overmap/exoplanets/exoplanet_skybox.dm b/code/modules/overmap/exoplanets/exoplanet_skybox.dm
index 839ae2910c1..cd4f02c22b2 100644
--- a/code/modules/overmap/exoplanets/exoplanet_skybox.dm
+++ b/code/modules/overmap/exoplanets/exoplanet_skybox.dm
@@ -13,15 +13,17 @@
for(var/datum/exoplanet_theme/theme in themes)
skybox_image.overlays += theme.get_planet_image_extra()
-
+
if(water_color) //TODO: move water levels out of randommap into exoplanet
var/image/water = image('icons/skybox/planet.dmi', "water")
water.color = water_color
water.appearance_flags = PIXEL_SCALE
water.transform = water.transform.Turn(rand(0,360))
skybox_image.overlays += water
-
- if(atmosphere && atmosphere.return_pressure() > SOUND_MINIMUM_PRESSURE)
+
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[map_z[1]]
+ var/datum/gas_mixture/atmosphere = level_data?.get_exterior_atmosphere()
+ if(atmosphere?.return_pressure() > SOUND_MINIMUM_PRESSURE)
var/atmo_color = get_atmosphere_color()
if(!atmo_color)
@@ -37,7 +39,7 @@
var/image/atmo = image('icons/skybox/planet.dmi', "atmoring")
skybox_image.underlays += atmo
-
+
var/image/shadow = image('icons/skybox/planet.dmi', "shadow")
shadow.blend_mode = BLEND_MULTIPLY
skybox_image.overlays += shadow
@@ -62,8 +64,10 @@
/obj/effect/overmap/visitable/sector/exoplanet/proc/get_atmosphere_color()
var/list/colors = list()
- for(var/g in atmosphere.gas)
- var/decl/material/mat = GET_DECL(g)
- colors += mat.color
+ for(var/Z in map_z)
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[Z]
+ for(var/g in level_data.exterior_atmosphere?.gas)
+ var/decl/material/mat = GET_DECL(g)
+ colors += mat.color
if(colors.len)
return MixColors(colors)
diff --git a/code/modules/overmap/exoplanets/planet_themes/radiation_bombing.dm b/code/modules/overmap/exoplanets/planet_themes/radiation_bombing.dm
index 88d2ffe614a..3ac6e115cbf 100644
--- a/code/modules/overmap/exoplanets/planet_themes/radiation_bombing.dm
+++ b/code/modules/overmap/exoplanets/planet_themes/radiation_bombing.dm
@@ -2,26 +2,30 @@
name = "Radiation Bombardment"
/datum/exoplanet_theme/radiation_bombing/adjust_atmosphere(obj/effect/overmap/visitable/sector/exoplanet/E)
- if(E.atmosphere)
- E.atmosphere.temperature += rand(20, 100)
- E.atmosphere.update_values()
+ var/add_temp = rand(20, 100)
+ for(var/obj/abstract/level_data/level_data in E.zlevels)
+ level_data.exterior_atmos_temp += add_temp
+ if(level_data.exterior_atmosphere)
+ level_data.exterior_atmosphere.temperature = level_data.exterior_atmos_temp
+ level_data.exterior_atmosphere.update_values()
/datum/exoplanet_theme/radiation_bombing/get_sensor_data()
return "Hotspots of radiation detected."
-/datum/exoplanet_theme/radiation_bombing/after_map_generation(obj/effect/overmap/visitable/sector/exoplanet/E)
+/datum/exoplanet_theme/radiation_bombing/after_map_generation(obj/effect/overmap/visitable/sector/exoplanet/our_exoplanet)
var/radiation_power = rand(10, 37.5)
- var/num_craters = round(min(0.5, rand()) * 0.02 * E.maxx * E.maxy)
+ var/num_craters = round(min(0.5, rand()) * 0.02 * our_exoplanet.maxx * our_exoplanet.maxy)
+ var/area_turfs = get_area_turfs(our_exoplanet.planetary_area, list(/proc/not_turf_contains_dense_objects))
for(var/i = 1 to num_craters)
- var/turf/simulated/T = pick_area_turf(E.planetary_area, list(/proc/not_turf_contains_dense_objects))
- if(!T) // ran out of space somehow
+ var/turf/simulated/crater_center = pick_n_take(area_turfs)
+ if(!crater_center) // ran out of space somehow
return
- new/obj/structure/rubble/war(T)
- var/datum/radiation_source/S = new(T, radiation_power, FALSE)
- S.range = 4
- SSradiation.add_source(S)
- T.set_light(2, 0.4, PIPE_COLOR_GREEN)
- for(var/turf/exterior/crater in circlerangeturfs(T, 3))
+ new/obj/structure/rubble/war(crater_center)
+ var/datum/radiation_source/source = new(crater_center, radiation_power, FALSE)
+ source.range = 4
+ SSradiation.add_source(source)
+ crater_center.set_light(2, 0.4, PIPE_COLOR_GREEN)
+ for(var/turf/exterior/crater in circlerangeturfs(crater_center, 3))
if(prob(10))
new/obj/item/remains/xeno/charred(crater)
crater.melt()
diff --git a/code/modules/overmap/exoplanets/planet_types/barren.dm b/code/modules/overmap/exoplanets/planet_types/barren.dm
index 650e217d282..4b2a172df72 100644
--- a/code/modules/overmap/exoplanets/planet_types/barren.dm
+++ b/code/modules/overmap/exoplanets/planet_types/barren.dm
@@ -16,7 +16,7 @@
has_trees = FALSE
spawn_weight = 50 // These are pretty boring
-/obj/effect/overmap/visitable/sector/exoplanet/barren/generate_flora(var/temperature)
+/obj/effect/overmap/visitable/sector/exoplanet/barren/generate_flora()
if(prob(10))
flora_diversity = 1
..()
diff --git a/code/modules/overmap/exoplanets/planet_types/chlorine.dm b/code/modules/overmap/exoplanets/planet_types/chlorine.dm
index 242d9e9bbbb..958e6bfa843 100644
--- a/code/modules/overmap/exoplanets/planet_types/chlorine.dm
+++ b/code/modules/overmap/exoplanets/planet_types/chlorine.dm
@@ -23,10 +23,11 @@
return "#e5f2bd"
/obj/effect/overmap/visitable/sector/exoplanet/chlorine/generate_map()
+ var/obj/abstract/level_data/level_data = zlevels[1]
if(prob(50))
- lightlevel = rand(7,10)/10 //It could be night.
+ level_data.ambient_light_level = rand(7,10)/10 //It could be night.
else
- lightlevel = 0.1
+ level_data.ambient_light_level = 0.1
..()
/obj/effect/overmap/visitable/sector/exoplanet/chlorine/get_target_temperature()
diff --git a/code/modules/overmap/exoplanets/planet_types/desert.dm b/code/modules/overmap/exoplanets/planet_types/desert.dm
index 270c49adca3..63fab9ef8a1 100644
--- a/code/modules/overmap/exoplanets/planet_types/desert.dm
+++ b/code/modules/overmap/exoplanets/planet_types/desert.dm
@@ -18,7 +18,8 @@
/obj/effect/overmap/visitable/sector/exoplanet/desert/generate_map()
if(prob(70))
- lightlevel = rand(5,10)/10 //deserts are usually :lit:
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ level_data.ambient_light_level = rand(5,10)/10 //deserts are usually :lit:
..()
/obj/effect/overmap/visitable/sector/exoplanet/desert/get_target_temperature()
diff --git a/code/modules/overmap/exoplanets/planet_types/grass.dm b/code/modules/overmap/exoplanets/planet_types/grass.dm
index 26eaf9097eb..cef84c64384 100644
--- a/code/modules/overmap/exoplanets/planet_types/grass.dm
+++ b/code/modules/overmap/exoplanets/planet_types/grass.dm
@@ -12,7 +12,8 @@
/obj/effect/overmap/visitable/sector/exoplanet/grass/generate_map()
if(prob(40))
- lightlevel = rand(1,7)/10 //give a chance of twilight jungle
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ level_data.ambient_light_level = rand(1,7)/10 //give a chance of twilight jungle
..()
/obj/effect/overmap/visitable/sector/exoplanet/grass/get_target_temperature()
diff --git a/code/modules/overmap/exoplanets/planet_types/meat.dm b/code/modules/overmap/exoplanets/planet_types/meat.dm
index b9c19313ef6..d2043b862b9 100644
--- a/code/modules/overmap/exoplanets/planet_types/meat.dm
+++ b/code/modules/overmap/exoplanets/planet_types/meat.dm
@@ -19,7 +19,8 @@
spawn_weight = 10 // meat
/obj/effect/overmap/visitable/sector/exoplanet/meat/generate_map()
- lightlevel = rand(1,7)/10
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ level_data.ambient_light_level = rand(1,7)/10
..()
/obj/effect/overmap/visitable/sector/exoplanet/meat/get_target_temperature()
diff --git a/code/modules/overmap/exoplanets/planet_types/shrouded.dm b/code/modules/overmap/exoplanets/planet_types/shrouded.dm
index a72e4f8fe7b..2e5bb86845d 100644
--- a/code/modules/overmap/exoplanets/planet_types/shrouded.dm
+++ b/code/modules/overmap/exoplanets/planet_types/shrouded.dm
@@ -7,7 +7,6 @@
plant_colors = list("#3c5434", "#2f6655", "#0e703f", "#495139", "#394c66", "#1a3b77", "#3e3166", "#52457c", "#402d56", "#580d6d")
map_generators = list(/datum/random_map/noise/exoplanet/shrouded, /datum/random_map/noise/ore/poor)
ruin_tags_blacklist = RUIN_HABITAT
- lightlevel = -0.15
surface_color = "#3e3960"
water_color = "#2b2840"
flora_diversity = 3
@@ -19,6 +18,12 @@
)
spawn_weight = 50
+// TODO check if ambient lighting handles negatives
+/obj/effect/overmap/visitable/sector/exoplanet/meat/generate_map()
+ var/obj/abstract/level_data/level_data = zlevels[1]
+ level_data.ambient_light_level = -0.15
+ ..()
+
/obj/effect/overmap/visitable/sector/exoplanet/shrouded/get_target_temperature()
return T20C - rand(10, 20)
diff --git a/code/modules/overmap/exoplanets/random_map.dm b/code/modules/overmap/exoplanets/random_map.dm
index 07d7875d5a4..d95a3c36c78 100644
--- a/code/modules/overmap/exoplanets/random_map.dm
+++ b/code/modules/overmap/exoplanets/random_map.dm
@@ -37,7 +37,7 @@
plantcolors = _plant_colors
..()
- global.using_map.base_turf_by_z[num2text(tz)] = land_type
+ SSmapping.base_turf_by_z[tz] = land_type
/datum/random_map/noise/exoplanet/get_map_char(var/value)
if(water_type && noise2value(value) < water_level)
@@ -117,4 +117,4 @@
var/neighbors = get_neighbors(x, y, TRUE)
for(var/cell in neighbors)
if(noise2value(map[cell]) >= water_level)
- map[cell] = COAST_VALUE
+ map[cell] = COAST_VALUE
diff --git a/code/modules/overmap/exoplanets/turfs.dm b/code/modules/overmap/exoplanets/turfs.dm
index 9f7038c085e..5a478dc51e4 100644
--- a/code/modules/overmap/exoplanets/turfs.dm
+++ b/code/modules/overmap/exoplanets/turfs.dm
@@ -14,7 +14,7 @@
/turf/exterior/planet_edge/Initialize()
. = ..()
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(z)]
if(!istype(E))
return
mimicx = x
@@ -38,7 +38,7 @@
/turf/exterior/planet_edge/Bumped(atom/movable/A)
. = ..()
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(z)]
if(!istype(E))
return
if(E.planetary_area && istype(loc, world.area))
diff --git a/code/modules/overmap/ftl_shunt/computer.dm b/code/modules/overmap/ftl_shunt/computer.dm
index 38810f48a89..14bc2933ab0 100644
--- a/code/modules/overmap/ftl_shunt/computer.dm
+++ b/code/modules/overmap/ftl_shunt/computer.dm
@@ -24,7 +24,7 @@
/obj/machinery/computer/ship/ftl/proc/recalc_cost()
if(!linked_core)
return INFINITY
- var/obj/effect/overmap/visitable/sector = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector = global.overmap_sectors[num2text(z)]
if(!istype(sector))
return INFINITY
var/jump_dist = get_dist(linked, locate(linked_core.shunt_x, linked_core.shunt_y, sector.z))
@@ -35,7 +35,7 @@
if(!linked_core)
return INFINITY
- var/obj/effect/overmap/visitable/sector = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector = global.overmap_sectors[num2text(z)]
if(!istype(sector))
return INFINITY
diff --git a/code/modules/overmap/ftl_shunt/core.dm b/code/modules/overmap/ftl_shunt/core.dm
index 5517c44361f..ce82708f3cc 100644
--- a/code/modules/overmap/ftl_shunt/core.dm
+++ b/code/modules/overmap/ftl_shunt/core.dm
@@ -238,7 +238,7 @@
return FTL_START_CONFIRMED
/obj/machinery/ftl_shunt/core/proc/calculate_jump_requirements()
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(z)]
if(O)
var/shunt_distance
var/vessel_mass = ftl_computer.linked.get_vessel_mass()
@@ -275,7 +275,7 @@
cancel_shunt()
return //If for some reason we don't have fuel now, just return.
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(z)]
if(O)
var/destination = locate(shunt_x, shunt_y, O.z)
var/jumpdist = get_dist(get_turf(ftl_computer.linked), destination)
diff --git a/code/modules/overmap/internet/internet_circuitboards.dm b/code/modules/overmap/internet/internet_circuitboards.dm
index 90c0d30c419..5649be365d9 100644
--- a/code/modules/overmap/internet/internet_circuitboards.dm
+++ b/code/modules/overmap/internet/internet_circuitboards.dm
@@ -8,6 +8,7 @@
/obj/item/stock_parts/micro_laser = 2,
/obj/item/stock_parts/smes_coil = 1
)
+ additional_spawn_components = null
/obj/item/stock_parts/circuitboard/internet_uplink_computer
name = "circuitboard (PLEXUS uplink controller)"
@@ -24,11 +25,7 @@
/obj/item/stock_parts/capacitor = 2,
/obj/item/stock_parts/micro_laser = 1
)
- additional_spawn_components = list(
- /obj/item/stock_parts/console_screen = 1,
- /obj/item/stock_parts/keyboard = 1,
- /obj/item/stock_parts/power/terminal = 1
- )
+ additional_spawn_components = null
/datum/fabricator_recipe/imprinter/circuit/internet_uplink
path = /obj/item/stock_parts/circuitboard/internet_uplink
diff --git a/code/modules/overmap/internet/internet_repeater.dm b/code/modules/overmap/internet/internet_repeater.dm
index 4baa952bf80..2ebeee4f6f8 100644
--- a/code/modules/overmap/internet/internet_repeater.dm
+++ b/code/modules/overmap/internet/internet_repeater.dm
@@ -7,11 +7,16 @@ var/global/list/internet_repeaters = list()
icon_state = "bus"
density = 1
anchored = 1
- stat_immune = 0
use_power = POWER_USE_ACTIVE
idle_power_usage = 50
active_power_usage = 5000
construct_state = /decl/machine_construction/default/panel_closed
+ stock_part_presets = list(
+ /decl/stock_part_preset/terminal_setup,
+ )
+ uncreated_component_parts = list(
+ /obj/item/stock_parts/power/terminal,
+ )
/obj/machinery/internet_repeater/Initialize()
. = ..()
@@ -46,7 +51,7 @@ var/global/list/internet_repeaters = list()
var/data = list()
data["powered"] = (use_power == POWER_USE_ACTIVE)
- var/obj/effect/overmap/visitable/sector = global.overmap_sectors["[get_z(src)]"]
+ var/obj/effect/overmap/visitable/sector = global.overmap_sectors[num2text(get_z(src))]
if(sector)
var/list/internet_connections = sector.get_internet_connections()
diff --git a/code/modules/overmap/internet/internet_uplink.dm b/code/modules/overmap/internet/internet_uplink.dm
index 15f6d224077..6fec1014048 100644
--- a/code/modules/overmap/internet/internet_uplink.dm
+++ b/code/modules/overmap/internet/internet_uplink.dm
@@ -8,11 +8,13 @@ var/global/list/internet_uplinks = list()
icon_state = "unpowered"
density = 1
anchored = 1
-
construct_state = /decl/machine_construction/default/panel_closed
- uncreated_component_parts = list(/obj/item/stock_parts/power/terminal)
- stock_part_presets = list(/decl/stock_part_preset/terminal_setup)
- base_type = /obj/machinery/internet_uplink
+ uncreated_component_parts = list(
+ /obj/item/stock_parts/power/terminal,
+ )
+ stock_part_presets = list(
+ /decl/stock_part_preset/terminal_setup,
+ )
var/overmap_range = BASE_INTERNET_RANGE
var/max_overmap_range = BASE_INTERNET_RANGE
@@ -163,7 +165,6 @@ var/global/list/internet_uplinks = list()
active_power_usage = 500
base_type = /obj/machinery/computer/internet_uplink
var/initial_id_tag = "plexus"
-
var/current_uplink = 1
/obj/machinery/computer/internet_uplink/Initialize()
diff --git a/code/modules/overmap/overmap_object.dm b/code/modules/overmap/overmap_object.dm
index 3d55e54f533..322b48ddebd 100644
--- a/code/modules/overmap/overmap_object.dm
+++ b/code/modules/overmap/overmap_object.dm
@@ -47,6 +47,7 @@ var/global/list/overmap_unknown_ids = list()
. = ..()
if(!length(global.using_map.overmap_ids))
+ log_debug("Deleting [src] since there is no overmap set for the current map..")
return INITIALIZE_HINT_QDEL
if(requires_contact)
diff --git a/code/modules/overmap/overmap_shuttle.dm b/code/modules/overmap/overmap_shuttle.dm
index a10d5a3b0dd..3a9b7c976b9 100644
--- a/code/modules/overmap/overmap_shuttle.dm
+++ b/code/modules/overmap/overmap_shuttle.dm
@@ -1,4 +1,4 @@
-#define waypoint_sector(waypoint) global.overmap_sectors["[waypoint.z]"]
+#define waypoint_sector(waypoint) global.overmap_sectors[num2text(waypoint.z)]
/datum/shuttle/autodock/overmap
warmup_time = 10
diff --git a/code/modules/overmap/radio_beacon.dm b/code/modules/overmap/radio_beacon.dm
index b1ac1a47ef8..4d35f60124f 100644
--- a/code/modules/overmap/radio_beacon.dm
+++ b/code/modules/overmap/radio_beacon.dm
@@ -39,14 +39,14 @@
material = /decl/material/solid/metal/steel
matter = list(/decl/material/solid/metal/silver = MATTER_AMOUNT_TRACE, /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT)
- var/obj/effect/overmap/radio/signal
+ var/obj/effect/overmap/radio/signal
/obj/item/radio_beacon/attack_self(mob/user)
if(signal)
to_chat(user, SPAN_NOTICE("You deactivate \the [src], cutting short it's radio broadcast."))
QDEL_NULL(signal)
return
- var/obj/effect/overmap/visitable/O = global.overmap_sectors["[get_z(src)]"]
+ var/obj/effect/overmap/visitable/O = global.overmap_sectors[num2text(get_z(src))]
if(!O)
to_chat(user, SPAN_WARNING("You cannot deploy \the [src] here."))
return
@@ -55,11 +55,10 @@
return
signal = new()
-
+
signal.message = message
signal.set_origin(O)
/obj/item/radio_beacon/Destroy()
QDEL_NULL(signal)
. = ..()
-
\ No newline at end of file
diff --git a/code/modules/overmap/sectors.dm b/code/modules/overmap/sectors.dm
index 87f5ae4fcef..3a72ba2b402 100644
--- a/code/modules/overmap/sectors.dm
+++ b/code/modules/overmap/sectors.dm
@@ -125,21 +125,21 @@ var/global/list/known_overmap_sectors
return get_filtered_areas(list(/proc/area_belongs_to_zlevels = map_z))
/obj/effect/overmap/visitable/proc/find_z_levels()
- map_z = GetConnectedZlevels(z)
+ map_z = SSmapping.get_connected_levels(z)
/obj/effect/overmap/visitable/proc/register_z_levels()
- var/datum/overmap/overmap = global.overmaps_by_z["[z]"]
+ var/datum/overmap/overmap = global.overmaps_by_z[num2text(z)]
if(istype(overmap))
for(var/zlevel in map_z)
- global.overmap_sectors["[zlevel]"] = src
+ global.overmap_sectors[num2text(zlevel)] = src
- global.using_map.player_levels |= map_z
+ SSmapping.player_levels |= map_z
if(!(sector_flags & OVERMAP_SECTOR_IN_SPACE))
- global.using_map.sealed_levels |= map_z
+ SSmapping.sealed_levels |= map_z
if(sector_flags & OVERMAP_SECTOR_BASE)
- global.using_map.station_levels |= map_z
- global.using_map.contact_levels |= map_z
- global.using_map.map_levels |= map_z
+ SSmapping.station_levels |= map_z
+ SSmapping.contact_levels |= map_z
+ SSmapping.map_levels |= map_z
//Helper for init.
/obj/effect/overmap/visitable/proc/check_ownership(obj/object)
@@ -149,7 +149,7 @@ var/global/list/known_overmap_sectors
// Returns the /obj/effect/overmap/visitable to which the atom belongs based on localtion, or null
/atom/proc/get_owning_overmap_object()
var/z = get_z(src)
- var/initial_sector = global.overmap_sectors["[z]"]
+ var/initial_sector = global.overmap_sectors[num2text(z)]
if(!initial_sector)
return
diff --git a/code/modules/overmap/ships/computers/sensors.dm b/code/modules/overmap/ships/computers/sensors.dm
index d1809a4d2d5..346db96892a 100644
--- a/code/modules/overmap/ships/computers/sensors.dm
+++ b/code/modules/overmap/ships/computers/sensors.dm
@@ -155,7 +155,7 @@
if (href_list["print"])
playsound(loc, "sound/machines/dotprinter.ogg", 30, 1)
- new/obj/item/paper/(get_turf(src), last_scan["data"], "paper (Sensor Scan - [last_scan["name"]])")
+ new/obj/item/paper/(get_turf(src), null, last_scan["data"], "paper (Sensor Scan - [last_scan["name"]])")
return TOPIC_HANDLED
/obj/machinery/shipsensors
@@ -163,7 +163,8 @@
desc = "Long range gravity scanner with various other sensors, used to detect irregularities in surrounding space. Can only run in vacuum to protect delicate quantum BS elements."
icon = 'icons/obj/machines/ship_sensors.dmi'
icon_state = "sensors"
- anchored = 1
+ anchored = TRUE
+ density = TRUE
var/critical_heat = 50 // sparks and takes damage when active & above this heat
var/heat_reduction = 1.5 // mitigates this much heat per tick
var/heat = 0
@@ -175,6 +176,7 @@
stat_immune = NOSCREEN | NOINPUT
frame_type = /obj/machinery/constructable_frame
base_type = /obj/machinery/shipsensors
+ stock_part_presets = list(/decl/stock_part_preset/terminal_connect)
/obj/machinery/shipsensors/proc/in_vacuum()
var/turf/T=get_turf(src)
diff --git a/code/modules/overmap/ships/computers/shuttle.dm b/code/modules/overmap/ships/computers/shuttle.dm
index e91df8156b1..d3f00f39670 100644
--- a/code/modules/overmap/ships/computers/shuttle.dm
+++ b/code/modules/overmap/ships/computers/shuttle.dm
@@ -61,7 +61,7 @@
to_chat(usr, SPAN_WARNING("The manual controls look hopelessly complex to you!"))
/obj/machinery/computer/shuttle_control/explore/proc/start_landing(var/mob/user, var/datum/shuttle/autodock/overmap/shuttle)
- var/obj/effect/overmap/visitable/current_sector = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/current_sector = global.overmap_sectors[num2text(z)]
var/obj/effect/overmap/visitable/target_sector
if(current_sector && istype(current_sector))
@@ -87,7 +87,7 @@
if(landing_eye.look(user, list(shuttle_tag, target_sector))) // Placement of the eye was successful
landing_eye.extension_eye.forceMove(eye_turf)
return
-
+
to_chat(user, SPAN_WARNING("You are unable to land!"))
return
@@ -100,7 +100,7 @@
var/mob/observer/eye/landing/landing_eye = eye_extension.extension_eye
var/turf/lz_turf = eye_extension.get_eye_turf()
- var/obj/effect/overmap/visitable/sector = global.overmap_sectors["[lz_turf.z]"]
+ var/obj/effect/overmap/visitable/sector = global.overmap_sectors[num2text(lz_turf.z)]
if(!sector.allow_free_landing()) // Additional safety check to ensure the sector permits landing.
to_chat(user, SPAN_WARNING("Invalid landing zone!"))
return
@@ -116,7 +116,7 @@
else
qdel(lz)
to_chat(user, SPAN_WARNING("Invalid landing zone!"))
-
+
/obj/machinery/computer/shuttle_control/proc/end_landing()
var/datum/extension/eye/landing_eye = get_extension(src, /datum/extension/eye/)
if(landing_eye)
diff --git a/code/modules/overmap/ships/landable.dm b/code/modules/overmap/ships/landable.dm
index 7c1b0f8ca27..d0e2689fa6d 100644
--- a/code/modules/overmap/ships/landable.dm
+++ b/code/modules/overmap/ships/landable.dm
@@ -9,6 +9,7 @@
var/use_mapped_z_levels = FALSE // If true, it will use the z level block on which it's mapped as the "Open Space" block; if false it creates a new block for that.
// If you use this, use /obj/effect/shuttle_landmark/ship as the landmark (set the landmark tag to match on the shuttle; no other setup needed)
var/status = SHIP_STATUS_LANDED
+ var/level_type = /obj/abstract/level_data/space
icon_state = "shuttle"
moving_state = "shuttle_moving"
@@ -52,7 +53,7 @@
if(!child_shuttle || !istype(child_shuttle))
return
if(child_shuttle.current_location.flags & SLANDMARK_FLAG_DISCONNECTED) // Keep an eye on the distance between the shuttle and the sector if we aren't fully docked.
- var/obj/effect/overmap/visitable/ship/landable/encounter = global.overmap_sectors["[child_shuttle.current_location.z]"]
+ var/obj/effect/overmap/visitable/ship/landable/encounter = global.overmap_sectors[num2text(child_shuttle.current_location.z)]
if((get_dist(src, encounter) > min(child_shuttle.range, 1))) // Some leeway so 0 range shuttles are still able to chase.
child_shuttle.attempt_force_move(landmark)
if(istype(encounter))
@@ -63,11 +64,8 @@
/obj/effect/overmap/visitable/ship/landable/find_z_levels()
if(!use_mapped_z_levels)
for(var/i = 0 to multiz)
- INCREMENT_WORLD_Z_SIZE
+ SSmapping.increment_world_z_size(level_type)
map_z += world.maxz
-
- if(multiz)
- new /obj/abstract/map_data(locate(1, 1, world.maxz), (multiz + 1))
else
..()
@@ -143,7 +141,7 @@
. = ..()
/obj/effect/shuttle_landmark/ship/Destroy()
- var/obj/effect/overmap/visitable/ship/landable/ship = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/ship/landable/ship = global.overmap_sectors[num2text(z)]
if(istype(ship) && ship.landmark == src)
ship.landmark = null
. = ..()
@@ -207,7 +205,7 @@
on_landing(from, into)
/obj/effect/overmap/visitable/ship/landable/proc/on_landing(obj/effect/shuttle_landmark/from, obj/effect/shuttle_landmark/into)
- var/obj/effect/overmap/visitable/target = global.overmap_sectors["[into.z]"]
+ var/obj/effect/overmap/visitable/target = global.overmap_sectors[num2text(into.z)]
var/datum/shuttle/shuttle_datum = SSshuttle.shuttles[shuttle]
if(into.landmark_tag == shuttle_datum.motherdock) // If our motherdock is a landable ship, it won't be found properly here so we need to find it manually.
for(var/obj/effect/overmap/visitable/ship/landable/landable in SSshuttle.ships)
@@ -235,7 +233,7 @@
return "Docked with an unknown object."
if(SHIP_STATUS_ENCOUNTER)
var/datum/shuttle/autodock/overmap/child_shuttle = SSshuttle.shuttles[shuttle]
- var/obj/effect/overmap/visitable/location = global.overmap_sectors["[child_shuttle.current_location.z]"]
+ var/obj/effect/overmap/visitable/location = global.overmap_sectors[num2text(child_shuttle.current_location.z)]
return "Maneuvering nearby \the [location.name]."
if(SHIP_STATUS_TRANSIT)
return "Maneuvering under secondary thrust."
diff --git a/code/modules/overmap/spacetravel.dm b/code/modules/overmap/spacetravel.dm
index 081c7e1257e..6c60ba8181d 100644
--- a/code/modules/overmap/spacetravel.dm
+++ b/code/modules/overmap/spacetravel.dm
@@ -1,6 +1,3 @@
-//list used to cache empty zlevels to avoid nedless map bloat
-var/global/list/cached_temporary_sectors = list()
-
//Space stragglers go here
/obj/effect/overmap/visitable/sector/temporary
name = "Deep Space"
@@ -21,11 +18,9 @@ var/global/list/cached_temporary_sectors = list()
for(var/num in map_z)
global.overmap_sectors -= "[num]"
- var/datum/overmap/overmap = global.overmaps_by_z["[z]"]
- if(istype(overmap) && (overmap.map_turf_type in global.cached_temporary_sectors))
- global.cached_temporary_sectors[overmap.map_turf_type] -= src
- if(!length(global.cached_temporary_sectors[overmap.map_turf_type]))
- global.cached_temporary_sectors -= overmap.map_turf_type
+ var/datum/overmap/overmap = global.overmaps_by_z[num2text(z)]
+ if(istype(overmap))
+ overmap.discard_temporary_sector(src)
testing("Temporary sector at [x],[y],[z] was deleted.")
diff --git a/code/modules/pointdefense/pointdefense.dm b/code/modules/pointdefense/pointdefense.dm
index 45e3bdfe490..f0e166ebd2b 100644
--- a/code/modules/pointdefense/pointdefense.dm
+++ b/code/modules/pointdefense/pointdefense.dm
@@ -1,4 +1,4 @@
-//Point defense
+//Point defense
/obj/machinery/pointdefense_control
name = "fire assist mainframe"
desc = "A specialized computer designed to synchronize a variety of weapon systems and a vessel's astronav data."
@@ -161,7 +161,7 @@
rot_matrix.Turn(Angle)
addtimer(CALLBACK(src, .proc/finish_shot, target), rotation_speed)
animate(src, transform = rot_matrix, rotation_speed, easing = SINE_EASING)
-
+
set_dir(transform.get_angle() > 0 ? NORTH : SOUTH)
/obj/machinery/pointdefense/proc/finish_shot(var/weakref/target)
@@ -200,7 +200,7 @@
set_dir(desiredir)
if(engaging || ((world.time - last_shot) < charge_cooldown))
return
-
+
if(global.meteor_list.len == 0)
return
var/datum/extension/local_network_member/pointdefense = get_extension(src, /datum/extension/local_network_member)
@@ -226,7 +226,7 @@
if(already_targeted)
continue
- if(!(M.z in GetConnectedZlevels(z)))
+ if(!(M.z in SSmapping.get_connected_levels(z)))
continue
if(get_dist(M, src) > kill_range)
continue
diff --git a/code/modules/power/fusion/fusion_reactions.dm b/code/modules/power/fusion/fusion_reactions.dm
index 09831b9760e..150645f67e0 100644
--- a/code/modules/power/fusion/fusion_reactions.dm
+++ b/code/modules/power/fusion/fusion_reactions.dm
@@ -105,7 +105,7 @@
set waitfor = FALSE
. = 1
var/datum/event/wormholes/WM = /datum/event/wormholes
- WM.setup(affected_z_levels = GetConnectedZlevels(holder))
+ WM.setup(affected_z_levels = SSmapping.get_connected_levels(holder))
new WM(new /datum/event_meta(EVENT_LEVEL_MAJOR))
var/turf/origin = get_turf(holder)
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index a348a71e8f7..e54ae3d535e 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -173,7 +173,7 @@ var/global/list/solars_list = list()
// On planets, we take fewer steps because the light is mostly up
// Also, many planets barely have any spots with enough clear space around
if(isturf(loc))
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[loc.z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(loc.z)]
if(istype(E))
steps = 5
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index 10d89670349..20707c67aed 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -18,7 +18,7 @@
var/spent_icon = "pistolcasing-spent"
var/bullet_color = COLOR_COPPER
var/marking_color
- var/fall_sounds = list('sound/weapons/guns/casingfall1.ogg','sound/weapons/guns/casingfall2.ogg','sound/weapons/guns/casingfall3.ogg')
+ drop_sound = list('sound/weapons/guns/casingfall1.ogg','sound/weapons/guns/casingfall2.ogg','sound/weapons/guns/casingfall3.ogg')
/obj/item/ammo_casing/Initialize()
if(ispath(projectile_type))
@@ -53,7 +53,7 @@
return
if(!MOVING_DELIBERATELY(L) && prob(10))
- playsound(src, pick(fall_sounds), 50, 1)
+ playsound(src, pick(drop_sound), 50, 1)
var/turf/turf_current = get_turf(src)
var/turf/turf_destiinaton = get_step(turf_current, AM.dir)
if(turf_destiinaton.Adjacent(turf_current))
@@ -66,14 +66,11 @@
put_residue_on(G)
var/mob/living/carbon/human/H = G.get_recursive_loc_of_type(/mob/living/carbon/human)
if(H)
- for(var/bp in H.held_item_slots)
- var/datum/inventory_slot/inv_slot = H.held_item_slots[bp]
- if(G == inv_slot?.holding)
- var/target = H.get_covering_equipped_item_by_zone(bp)
- if(!target)
- target = GET_EXTERNAL_ORGAN(H, bp)
+ var/holding_slot = H.get_held_slot_for_item(G)
+ if(holding_slot)
+ var/target = H.get_covering_equipped_item_by_zone(holding_slot) || GET_EXTERNAL_ORGAN(H, holding_slot)
+ if(target)
put_residue_on(target)
- break
if(prob(30))
put_residue_on(get_turf(src))
@@ -182,6 +179,7 @@
if(!user.unEquip(C, src))
return
stored_ammo.Add(C)
+ playsound(user, 'sound/weapons/guns/interaction/bullet_insert.ogg', 50, 1)
update_icon()
else ..()
diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm
index e97ded60a4c..090bd283b74 100644
--- a/code/modules/projectiles/ammunition/boxes.dm
+++ b/code/modules/projectiles/ammunition/boxes.dm
@@ -223,6 +223,16 @@
labels = list("practice")
ammo_type = /obj/item/ammo_casing/rifle/practice
+/obj/item/ammo_magazine/rifle/drum
+ name = "machine gun drum magazine"
+ icon_state = "drum"
+ origin_tech = "{'combat':2}"
+ mag_type = MAGAZINE
+ caliber = CALIBER_RIFLE
+ material = /decl/material/solid/metal/steel
+ ammo_type = /obj/item/ammo_casing/rifle
+ max_ammo = 100
+
/obj/item/ammo_magazine/caps
name = "speed loader"
desc = "A cheap plastic speed loader for some kind of revolver."
@@ -235,4 +245,4 @@
/obj/item/ammo_magazine/speedloader/laser_revolver
caliber = CALIBER_PISTOL_LASBULB
- ammo_type = /obj/item/ammo_casing/lasbulb
\ No newline at end of file
+ ammo_type = /obj/item/ammo_casing/lasbulb
diff --git a/code/modules/projectiles/ammunition/bullets.dm b/code/modules/projectiles/ammunition/bullets.dm
index 2bab8ab38ee..8f727a8132a 100644
--- a/code/modules/projectiles/ammunition/bullets.dm
+++ b/code/modules/projectiles/ammunition/bullets.dm
@@ -71,7 +71,7 @@
caliber = CALIBER_SHOTGUN
projectile_type = /obj/item/projectile/bullet/shotgun
material = /decl/material/solid/metal/steel
- fall_sounds = list('sound/weapons/guns/shotgun_fall.ogg')
+ drop_sound = 'sound/weapons/guns/shotgun_fall.ogg'
/obj/item/ammo_casing/shotgun/pellet
name = "shotgun shell"
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 83d7e9d5383..f80d4ba9e46 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -109,7 +109,7 @@
/obj/item/gun/preserve_in_cryopod(var/obj/machinery/cryopod/pod)
return TRUE
-/obj/item/gun/proc/set_autofire(var/atom/fire_at, var/mob/fire_by)
+/obj/item/gun/proc/set_autofire(var/atom/fire_at, var/mob/fire_by, var/autoturn = TRUE)
. = TRUE
if(!istype(fire_at) || !istype(fire_by))
. = FALSE
@@ -121,7 +121,7 @@
autofiring_at = fire_at
autofiring_by = fire_by
if(!autofiring_timer)
- autofiring_timer = addtimer(CALLBACK(src, .proc/handle_autofire), burst_delay, (TIMER_STOPPABLE | TIMER_LOOP | TIMER_UNIQUE | TIMER_OVERRIDE))
+ autofiring_timer = addtimer(CALLBACK(src, .proc/handle_autofire, autoturn), burst_delay, (TIMER_STOPPABLE | TIMER_LOOP | TIMER_UNIQUE | TIMER_OVERRIDE))
else
clear_autofire()
@@ -132,19 +132,18 @@
deltimer(autofiring_timer)
autofiring_timer = null
-/obj/item/gun/proc/handle_autofire()
+/obj/item/gun/proc/handle_autofire(var/autoturn)
set waitfor = FALSE
. = TRUE
if(QDELETED(autofiring_at) || QDELETED(autofiring_by))
. = FALSE
- else if(autofiring_by.get_active_hand() != src || autofiring_by.incapacitated())
- . = FALSE
- else if(!autofiring_by.client || !(autofiring_by in view(autofiring_by.client.view, autofiring_by)))
+ else if(!autofiring_by.can_autofire(src, autofiring_at))
. = FALSE
if(!.)
clear_autofire()
else if(can_autofire())
- autofiring_by.set_dir(get_dir(src, autofiring_at))
+ if(autoturn)
+ autofiring_by.set_dir(get_dir(src, autofiring_at))
Fire(autofiring_at, autofiring_by, null, (get_dist(autofiring_at, autofiring_by) <= 1), FALSE, FALSE)
/obj/item/gun/update_twohanding()
@@ -690,3 +689,10 @@
Fire(aiming_at, M)
if(M.aiming)
M.aiming.toggle_active(FALSE, TRUE)
+
+/mob/proc/can_autofire(var/obj/item/gun/autofiring, var/atom/autofiring_at)
+ if(!client || !(autofiring_at in view(client.view,src)))
+ return FALSE
+ if(get_active_hand() != autofiring || incapacitated())
+ return FALSE
+ return TRUE
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm
index 5e21a1d69a3..0d804ea7cee 100644
--- a/code/modules/projectiles/guns/energy/laser.dm
+++ b/code/modules/projectiles/guns/energy/laser.dm
@@ -11,6 +11,10 @@
origin_tech = "{'combat':3,'magnets':2}"
material = /decl/material/solid/metal/steel
projectile_type = /obj/item/projectile/beam/midlaser
+ matter = list(
+ /decl/material/solid/fiberglass = MATTER_AMOUNT_REINFORCEMENT,
+ /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT
+ )
/obj/item/gun/energy/laser/mounted
self_recharge = 1
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index df275721b29..cb4878d05f1 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -14,6 +14,11 @@
fire_delay = 30
projectile_type = /obj/item/projectile/ion
combustion = 0
+ material = /decl/material/solid/metal/steel
+ matter = list(
+ /decl/material/solid/metal/uranium = MATTER_AMOUNT_REINFORCEMENT,
+ /decl/material/solid/metal/gold = MATTER_AMOUNT_REINFORCEMENT
+ )
/obj/item/gun/energy/ionrifle/emp_act(severity)
..(max(severity, 2)) //so it doesn't EMP itself, I guess
diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index 54e02c8b3a6..ca42527292f 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -8,11 +8,15 @@
max_shots = 5
projectile_type = /obj/item/projectile/beam/stun
combustion = 0
-
firemodes = list(
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun),
list(mode_name="shock", projectile_type=/obj/item/projectile/beam/stun/shock),
)
+ material = /decl/material/solid/metal/steel
+ matter = list(
+ /decl/material/solid/metal/aluminium = MATTER_AMOUNT_SECONDARY,
+ /decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT,
+ )
/obj/item/gun/energy/taser/mounted
name = "mounted electrolaser"
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 129075a5519..08fc633026a 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -29,6 +29,7 @@
var/auto_eject_sound = null
var/mag_insert_sound = 'sound/weapons/guns/interaction/pistol_magin.ogg'
var/mag_remove_sound = 'sound/weapons/guns/interaction/pistol_magout.ogg'
+ var/manual_unload = TRUE //Whether or not the gun can be unloaded by hand.
var/is_jammed = 0 //Whether this gun is jammed
var/jam_chance = 0 //Chance it jams on fire
@@ -105,8 +106,8 @@
if(EJECT_CASINGS) //eject casing onto ground.
chambered.dropInto(loc)
chambered.throw_at(get_ranged_target_turf(get_turf(src),turn(loc.dir,270),1), rand(0,1), 5)
- if(LAZYLEN(chambered.fall_sounds))
- playsound(loc, pick(chambered.fall_sounds), 50, 1)
+ if(chambered.drop_sound)
+ playsound(loc, pick(chambered.drop_sound), 50, 1)
if(CYCLE_CASINGS) //cycle the casing back to the end.
if(ammo_magazine)
ammo_magazine.stored_ammo += chambered
@@ -194,8 +195,8 @@
var/turf/T = get_turf(user)
if(T)
for(var/obj/item/ammo_casing/C in loaded)
- if(LAZYLEN(C.fall_sounds))
- playsound(loc, pick(C.fall_sounds), 50, 1)
+ if(LAZYLEN(C.drop_sound))
+ playsound(loc, pick(C.drop_sound), 50, 1)
C.forceMove(T)
count++
loaded.Cut()
@@ -217,11 +218,13 @@
/obj/item/gun/projectile/attack_self(mob/user)
if(firemodes.len > 1)
..()
- else
+ else if(manual_unload)
unload_ammo(user)
+ else
+ to_chat(user, SPAN_WARNING("You can't unload \the [src] manually. Maybe try a crowbar?"))
/obj/item/gun/projectile/attack_hand(mob/user)
- if(user.is_holding_offhand(src))
+ if(user.is_holding_offhand(src) && manual_unload)
unload_ammo(user, allow_dump=0)
else
return ..()
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 80fee5c8f59..227811e79da 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -44,7 +44,7 @@
w_class = ITEM_SIZE_HUGE
force = 10
caliber = CALIBER_RIFLE
- origin_tech = "{'combat':8,'materials':3}"
+ origin_tech = "{'combat':7,'materials':3}"
ammo_type = /obj/item/ammo_casing/rifle
slot_flags = SLOT_BACK
load_method = MAGAZINE
@@ -64,6 +64,26 @@
/decl/material/solid/metal/silver = MATTER_AMOUNT_REINFORCEMENT,
/decl/material/solid/gemstone/diamond = MATTER_AMOUNT_TRACE
)
+ firemodes = list(
+ list(mode_name="semi auto", burst=1, fire_delay=null, one_hand_penalty=8, burst_accuracy=null, dispersion=null),
+ list(mode_name="3-round bursts", burst=3, fire_delay=null, one_hand_penalty=9, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)),
+ list(mode_name="full auto", burst=1, fire_delay=0, burst_delay=1, one_hand_penalty=7, burst_accuracy = list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0), autofire_enabled=1)
+ )
+
+/obj/item/gun/projectile/automatic/assault_rifle/update_base_icon()
+ if(ammo_magazine)
+ if(ammo_magazine.stored_ammo.len)
+ icon_state = "[get_world_inventory_state()]-loaded"
+ else
+ icon_state = "[get_world_inventory_state()]-empty"
+ else
+ icon_state = get_world_inventory_state()
+
+/obj/item/gun/projectile/automatic/assault_rifle/grenade
+ name = "assault rifle"
+ desc = "The Z8 Bulldog is an older model bullpup carbine. This one has an underslung grenade launcher. REALLY makes you feel like a space marine when you hold it."
+ origin_tech = "{'combat':8,'materials':3}"
+
firemodes = list(
list(mode_name="semi auto", burst=1, fire_delay=null, use_launcher=null, one_hand_penalty=8, burst_accuracy=null, dispersion=null),
list(mode_name="3-round bursts", burst=3, fire_delay=null, use_launcher=null, one_hand_penalty=9, burst_accuracy=list(0,-1,-1), dispersion=list(0.0, 0.6, 1.0)),
@@ -74,23 +94,23 @@
var/use_launcher = 0
var/obj/item/gun/launcher/grenade/underslung/launcher
-/obj/item/gun/projectile/automatic/assault_rifle/Initialize()
+/obj/item/gun/projectile/automatic/assault_rifle/grenade/Initialize()
. = ..()
launcher = new(src)
-/obj/item/gun/projectile/automatic/assault_rifle/attackby(obj/item/I, mob/user)
+/obj/item/gun/projectile/automatic/assault_rifle/grenade/attackby(obj/item/I, mob/user)
if((istype(I, /obj/item/grenade)))
launcher.load(I, user)
else
..()
-/obj/item/gun/projectile/automatic/assault_rifle/attack_hand(mob/user)
+/obj/item/gun/projectile/automatic/assault_rifle/grenade/attack_hand(mob/user)
if(user.is_holding_offhand(src) && use_launcher)
launcher.unload(user)
else
..()
-/obj/item/gun/projectile/automatic/assault_rifle/Fire(atom/target, mob/living/user, params, pointblank=0, reflex=0)
+/obj/item/gun/projectile/automatic/assault_rifle/grenade/Fire(atom/target, mob/living/user, params, pointblank=0, reflex=0)
if(use_launcher)
launcher.Fire(target, user, params, pointblank, reflex)
if(!launcher.chambered)
@@ -98,18 +118,77 @@
else
..()
-/obj/item/gun/projectile/automatic/assault_rifle/update_base_icon()
- if(ammo_magazine)
- if(ammo_magazine.stored_ammo.len)
- icon_state = "[get_world_inventory_state()]-loaded"
- else
- icon_state = "[get_world_inventory_state()]-empty"
- else
- icon_state = get_world_inventory_state()
-
-/obj/item/gun/projectile/automatic/assault_rifle/examine(mob/user)
+/obj/item/gun/projectile/automatic/assault_rifle/grenade/examine(mob/user)
. = ..()
if(launcher.chambered)
to_chat(user, "\The [launcher] has \a [launcher.chambered] loaded.")
else
to_chat(user, "\The [launcher] is empty.")
+
+/obj/item/gun/projectile/automatic/assault_rifle/grenade/toggle_safety(mob/user)
+ . = ..()
+ launcher.toggle_safety() // Do not pass user to prevent double messages.
+
+// Admin-spawn machine gun. Mech subtype is meant to be used, but this can be spawned for hulks.
+/obj/item/gun/projectile/automatic/machine
+ name = "massive machine gun"
+ desc = "The XC-67 \"Creosote\" is a massive machine gun, and ranks high on most tin-pot dictators' wish lists. Firing this thing without some sort of weapons platform is a hopeless task."
+ icon = 'icons/obj/guns/machine.dmi'
+ w_class = ITEM_SIZE_HUGE
+ force = 10
+ caliber = CALIBER_RIFLE
+ origin_tech = "{'combat':9,'materials':3}"
+ ammo_type = /obj/item/ammo_casing/rifle
+ load_method = MAGAZINE
+ magazine_type = /obj/item/ammo_magazine/rifle/drum
+ allowed_magazines = /obj/item/ammo_magazine/rifle/drum
+ accuracy = 1
+ accuracy_power = 7
+ one_hand_penalty = 3000
+ bulk = GUN_BULK_RIFLE
+
+ burst_delay = 1
+ burst = 3
+ burst_accuracy = list(0,-1,-1)
+ dispersion = list(0.0, 0.6, 1.0)
+
+ fire_delay = 0
+ autofire_enabled = 1
+
+ mag_insert_sound = 'sound/weapons/guns/interaction/batrifle_magin.ogg'
+ mag_remove_sound = 'sound/weapons/guns/interaction/batrifle_magout.ogg'
+ material = /decl/material/solid/metal/steel
+
+ var/spin_up_time = null
+ var/sound_token
+
+/obj/item/gun/projectile/automatic/machine/Fire(atom/target, mob/living/user, clickparams, pointblank, reflex, set_click_cooldown)
+ if(!spin_up_time || world.time < spin_up_time + 1 SECONDS)
+ return FALSE
+ . = ..()
+
+/obj/item/gun/projectile/automatic/machine/special_check(mob/user)
+ if(!istype(user, /mob/living))
+ return FALSE
+ if(!user.check_dexterity(DEXTERITY_WEAPONS))
+ return FALSE
+
+ var/mob/living/M = user
+ if(M.mob_size < MOB_SIZE_LARGE)
+ to_chat(user, SPAN_WARNING("You can barely lift \the [src], let alone fire it!"))
+ return FALSE
+ return TRUE
+
+/obj/item/gun/projectile/automatic/machine/set_autofire(atom/fire_at, mob/fire_by, autoturn)
+ if(!special_check(fire_by))
+ return FALSE
+ . = ..()
+ if(. && !spin_up_time)
+ if(!sound_token)
+ sound_token = play_looping_sound(src, "machine_gun", 'sound/mecha/hydraulic.ogg', volume = 30)
+ spin_up_time = world.time
+
+/obj/item/gun/projectile/automatic/machine/clear_autofire()
+ . = ..()
+ spin_up_time = null
+ QDEL_NULL(sound_token)
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index cb7c0fe1ac1..06af682f326 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -39,8 +39,8 @@
if(chambered)//We have a shell in the chamber
chambered.dropInto(loc)//Eject casing
- if(LAZYLEN(chambered.fall_sounds))
- playsound(loc, pick(chambered.fall_sounds), 50, 1)
+ if(chambered.drop_sound)
+ playsound(loc, pick(chambered.drop_sound), 50, 1)
chambered = null
if(loaded.len)
diff --git a/code/modules/random_map/random_map.dm b/code/modules/random_map/random_map.dm
index d861b1eef6d..c0b3ce9fa9a 100644
--- a/code/modules/random_map/random_map.dm
+++ b/code/modules/random_map/random_map.dm
@@ -136,7 +136,9 @@ var/global/list/map_count = list()
if(check_map_sanity())
cleanup()
if(auto_apply)
+ Master.StartLoadingMap()
apply_to_map()
+ Master.StopLoadingMap()
return 1
return 0
diff --git a/code/modules/reagents/Chemistry-Metabolism.dm b/code/modules/reagents/Chemistry-Metabolism.dm
index 92a31f000a0..e1002809b1f 100644
--- a/code/modules/reagents/Chemistry-Metabolism.dm
+++ b/code/modules/reagents/Chemistry-Metabolism.dm
@@ -3,10 +3,11 @@
var/mob/living/parent
/datum/reagents/metabolism/clear_reagent(var/reagent_type, var/defer_update = FALSE, var/force = FALSE)
- . = ..()
- if(.)
+ // Duplicated check so that reagent data is accessible in on_leaving_metabolism.
+ if(force || !!(REAGENT_VOLUME(src, reagent_type) || REAGENT_DATA(src, reagent_type)))
var/decl/material/current = GET_DECL(reagent_type)
- current.on_leaving_metabolism(parent, metabolism_class)
+ current.on_leaving_metabolism(src)
+ . = ..()
/datum/reagents/metabolism/New(var/max = 100, mob/living/parent_mob, var/met_class)
..(max, parent_mob)
diff --git a/code/modules/reagents/chems/chems_compounds.dm b/code/modules/reagents/chems/chems_compounds.dm
index f744085c318..9b5d65415c0 100644
--- a/code/modules/reagents/chems/chems_compounds.dm
+++ b/code/modules/reagents/chems/chems_compounds.dm
@@ -28,9 +28,9 @@
var/mob/living/carbon/human/H = M
H.update_eyes()
-/decl/material/liquid/glowsap/on_leaving_metabolism(atom/parent, metabolism_class)
- if(ishuman(parent))
- var/mob/living/carbon/human/H = parent
+/decl/material/liquid/glowsap/on_leaving_metabolism(datum/reagents/metabolism/holder)
+ if(ishuman(holder?.my_atom))
+ var/mob/living/carbon/human/H = holder.my_atom
addtimer(CALLBACK(H, /mob/living/carbon/human/proc/update_eyes), 5 SECONDS)
. = ..()
diff --git a/code/modules/reagents/chems/chems_drugs.dm b/code/modules/reagents/chems/chems_drugs.dm
index 68e9b46dee8..cd4cf0c8f3a 100644
--- a/code/modules/reagents/chems/chems_drugs.dm
+++ b/code/modules/reagents/chems/chems_drugs.dm
@@ -215,9 +215,9 @@
if(prob(5))
to_chat(M, SPAN_WARNING("[pick(dose_messages)] "))
-/decl/material/liquid/glowsap/gleam/on_leaving_metabolism(var/atom/parent, var/metabolism_class)
+/decl/material/liquid/glowsap/gleam/on_leaving_metabolism(datum/reagents/metabolism/holder)
. = ..()
- var/mob/M = parent
+ var/mob/M = holder?.my_atom
if(istype(M))
M.remove_client_color(/datum/client_color/noir/thirdeye)
diff --git a/code/modules/reagents/chems/random/random_effects.dm b/code/modules/reagents/chems/random/random_effects.dm
index cec658a1c78..cb99074ef70 100644
--- a/code/modules/reagents/chems/random/random_effects.dm
+++ b/code/modules/reagents/chems/random/random_effects.dm
@@ -48,7 +48,7 @@
reagent.name = "[initial(reagent.name)]-[value]"
/decl/random_chem_effect/general_properties/color/get_random_value()
- return color_rotation(round(rand(0,360),20))
+ return color_matrix_rotate_hue(round(rand(0,360),20))
/decl/random_chem_effect/general_properties/color/on_property_recompute(var/decl/material/liquid/random/reagent, var/value)
reagent.color = value
diff --git a/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm b/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm
index 9fd95e62bff..edee80d59d6 100644
--- a/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm
+++ b/code/modules/reagents/reagent_containers/drinkingglass/drinkingglass.dm
@@ -226,4 +226,11 @@ var/global/const/DRINK_ICON_NOISY = "noise"
var/old_temp = temperature
. = ..()
if(old_temp != temperature)
- update_icon()
\ No newline at end of file
+ update_icon()
+
+/obj/item/chems/drinks/glass2/physically_destroyed(var/skip_qdel)
+ reagents.splash(loc, reagents.total_volume)
+ if(istype(material))
+ playsound(src, "shatter", 30, 1)
+ material.place_shards(get_turf(src), w_class)
+ return ..()
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/drinks.dm b/code/modules/reagents/reagent_containers/drinks.dm
index 55c99433e90..a1b24257e0a 100644
--- a/code/modules/reagents/reagent_containers/drinks.dm
+++ b/code/modules/reagents/reagent_containers/drinks.dm
@@ -17,9 +17,9 @@
var/base_icon = null // Base icon name for fill states
/obj/item/chems/drinks/Initialize()
- . = ..()
if(!base_name)
base_name = name
+ . = ..()
/obj/item/chems/drinks/dragged_onto(var/mob/user)
attack_self(user)
@@ -296,6 +296,7 @@
base_name = "cup"
base_icon = "cup"
volume = 30
+ presentation_flags = PRESENTATION_FLAG_NAME
/obj/item/chems/drinks/tea/black
name = "cup of black tea"
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 0069b7fca41..c40956de50f 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -267,6 +267,7 @@
name = "master flavorpod item"
desc = "A cellulose pod containing some kind of flavoring."
icon_state = "pill4"
+ presentation_flags = PRESENTATION_FLAG_NAME
/obj/item/chems/pill/pod/cream
name = "creamer pod"
diff --git a/code/modules/research/design_database.dm b/code/modules/research/design_database.dm
index a5ec8fd60a5..b9273af6569 100644
--- a/code/modules/research/design_database.dm
+++ b/code/modules/research/design_database.dm
@@ -14,6 +14,9 @@ var/global/list/default_initial_tech_levels
icon_state = "blackbox"
density = TRUE
anchored = TRUE
+ construct_state = /decl/machine_construction/default/panel_closed
+ uncreated_component_parts = null
+ stat_immune = 0
var/initial_network_id
var/initial_network_key
diff --git a/code/modules/shuttles/docking_beacon.dm b/code/modules/shuttles/docking_beacon.dm
index 2535e6034ab..37dcaa79577 100644
--- a/code/modules/shuttles/docking_beacon.dm
+++ b/code/modules/shuttles/docking_beacon.dm
@@ -314,7 +314,7 @@
// Otherwise, use the planetary or world area.
if(!base_area)
- var/obj/effect/overmap/visitable/sector/exoplanet/planet = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/planet = global.overmap_sectors[num2text(z)]
if(istype(planet))
base_area = ispath(planet.planetary_area) ? planet.planetary_area : planet.planetary_area.type
else
diff --git a/code/modules/shuttles/landmarks.dm b/code/modules/shuttles/landmarks.dm
index 95172c4e323..2645979cd8a 100644
--- a/code/modules/shuttles/landmarks.dm
+++ b/code/modules/shuttles/landmarks.dm
@@ -55,7 +55,7 @@ var/global/list/shuttle_landmarks = list()
if(!istype(docking_controller))
log_error("Could not find docking controller for shuttle waypoint '[name]', docking tag was '[docking_tag]'.")
- var/obj/effect/overmap/visitable/location = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/location = global.overmap_sectors[num2text(z)]
if(location && location.docking_codes)
docking_controller.docking_codes = location.docking_codes
@@ -66,9 +66,9 @@ var/global/list/shuttle_landmarks = list()
ADJUST_TAG_VAR(docking_controller, map_hash)
/obj/effect/shuttle_landmark/forceMove()
- var/obj/effect/overmap/visitable/map_origin = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/map_origin = global.overmap_sectors[num2text(z)]
. = ..()
- var/obj/effect/overmap/visitable/map_destination = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/map_destination = global.overmap_sectors[num2text(z)]
if(map_origin != map_destination)
if(map_origin)
map_origin.remove_landmark(src, shuttle_restricted)
@@ -86,7 +86,7 @@ var/global/list/shuttle_landmarks = list()
var/list/translation = get_turf_translation(get_turf(shuttle.current_location), get_turf(src), A.contents)
if(check_collision(base_area, list_values(translation)))
return FALSE
- var/conn = GetConnectedZlevels(z)
+ var/conn = SSmapping.get_connected_levels(z)
for(var/w in (z - shuttle.multiz) to z)
if(!(w in conn))
return FALSE
@@ -127,14 +127,17 @@ var/global/list/shuttle_landmarks = list()
/obj/effect/shuttle_landmark/automatic/sector_set(var/obj/effect/overmap/visitable/O)
..()
- SetName("[O.name] - [initial(name)] ([x],[y])")
+ SetName("[initial(name)] ([x],[y])")
//Subtype that calls explosion on init to clear space for shuttles
/obj/effect/shuttle_landmark/automatic/clearing
+ name = "clearing"
var/radius = 10
-/obj/effect/shuttle_landmark/automatic/clearing/Initialize()
+/obj/effect/shuttle_landmark/automatic/clearing/Initialize(var/ml, var/supplied_radius)
..()
+ if(!isnull(supplied_radius))
+ radius = supplied_radius
return INITIALIZE_HINT_LATELOAD
/obj/effect/shuttle_landmark/automatic/clearing/LateInitialize()
diff --git a/code/modules/shuttles/shuttle_autodock.dm b/code/modules/shuttles/shuttle_autodock.dm
index 90275d50ba8..f2e1027550f 100644
--- a/code/modules/shuttles/shuttle_autodock.dm
+++ b/code/modules/shuttles/shuttle_autodock.dm
@@ -33,7 +33,7 @@
if(active_docking_controller)
set_docking_codes(active_docking_controller.docking_codes)
else if(current_location?.overmap_id)
- var/obj/effect/overmap/visitable/location = global.overmap_sectors["[current_location.z]"]
+ var/obj/effect/overmap/visitable/location = global.overmap_sectors[num2text(current_location.z)]
if(location && location.docking_codes)
set_docking_codes(location.docking_codes)
dock()
diff --git a/code/modules/species/outsider/random.dm b/code/modules/species/outsider/random.dm
index e9287471e5c..7bb6b782ea6 100644
--- a/code/modules/species/outsider/random.dm
+++ b/code/modules/species/outsider/random.dm
@@ -32,7 +32,7 @@
/decl/emote/exertion/biological/pant
)
var/blood_color
-
+
/decl/species/alium/Initialize()
//Coloring
diff --git a/code/modules/species/species.dm b/code/modules/species/species.dm
index dbeb1d0926d..3a1d7047fe9 100644
--- a/code/modules/species/species.dm
+++ b/code/modules/species/species.dm
@@ -4,6 +4,7 @@
var/global/const/DEFAULT_SPECIES_HEALTH = 200
/decl/species
+ abstract_type = /decl/species
// Descriptors and strings.
var/name
@@ -35,6 +36,16 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
var/flesh_color = "#ffc896" // Pink.
var/blood_oxy = 1
+ // Darksight handling
+ /// Fractional multiplier (0 to 1) for the base alpha of the darkness overlay. A value of 1 means darkness is completely invisible.
+ var/base_low_light_vision = 0
+ /// The lumcount (turf luminosity) threshold under which adaptive low light vision will begin processing.
+ var/low_light_vision_threshold = 0.3
+ /// Fractional multiplier for the overall effectiveness of low light vision for this species. Caps the final alpha value of the darkness plane.
+ var/low_light_vision_effectiveness = 0
+ /// The rate at which low light vision adjusts towards the final value, as a fractional multiplier of the difference between the current and target alphas. ie. set to 0.15 for a 15% shift towards the target value each tick.
+ var/low_light_vision_adjustment_speed = 0.15
+
// Used for initializing prefs/preview
var/base_color = COLOR_BLACK
var/base_eye_color = COLOR_BLACK
@@ -349,6 +360,10 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
. = ..()
+ if(config.grant_default_darksight)
+ darksight_range = max(darksight_range, config.default_darksight_range)
+ low_light_vision_effectiveness = max(low_light_vision_effectiveness, config.default_darksight_effectiveness)
+
// Populate blood type table.
for(var/blood_type in blood_types)
var/decl/blood_type/blood_decl = GET_DECL(blood_type)
@@ -440,9 +455,20 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
/decl/species/validate()
. = ..()
+ for(var/decl/bodytype/bodytype in available_bodytypes)
+ var/bodytype_base_icon = bodytype.get_base_icon()
+ var/deformed_base_icon = bodytype.get_base_icon(get_deform = TRUE)
+ for(var/organ_tag in has_limbs)
+ if(organ_tag == BP_TAIL) // Tails are handled specially due to overlays and animations, will not be present in the base bodytype icon(s).
+ continue
+ if(bodytype_base_icon && !check_state_in_icon(organ_tag, bodytype_base_icon))
+ . += "missing state \"[organ_tag]\" from base icon [bodytype_base_icon] on bodytype [bodytype.type]"
+ if(deformed_base_icon && bodytype_base_icon != deformed_base_icon && !check_state_in_icon(organ_tag, deformed_base_icon))
+ . += "missing state \"[organ_tag]\" from deformed icon [deformed_base_icon] on bodytype [bodytype.type]"
+
for(var/organ_tag in vital_organs)
if(!(organ_tag in has_organ) && !(organ_tag in has_limbs))
- . += "vital organ '[organ_tag]' not present in organ/limb lists"
+ . += "vital organ \"[organ_tag]\" not present in organ/limb lists"
for(var/trait_type in traits)
var/trait_level = traits[trait_type]
@@ -450,6 +476,76 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
if(!T.validate_level(trait_level))
. += "invalid levels for species trait [trait_type]"
+ if(base_low_light_vision > 1)
+ . += "base low light vision is greater than 1 (over 100%)"
+ else if(base_low_light_vision < 0)
+ . += "base low light vision is less than 0 (below 0%)"
+
+ if(low_light_vision_threshold > 1)
+ . += "low light vision threshold is greater than 1 (over 100%)"
+ else if(low_light_vision_threshold < 0)
+ . += "low light vision threshold is less than 0 (below 0%)"
+
+ if(low_light_vision_effectiveness > 1)
+ . += "low light vision effectiveness is greater than 1 (over 100%)"
+ else if(low_light_vision_effectiveness < 0)
+ . += "low light vision effectiveness is less than 0 (below 0%)"
+
+ if(low_light_vision_adjustment_speed > 1)
+ . += "low light vision adjustment speed is greater than 1 (over 100%)"
+ else if(low_light_vision_adjustment_speed < 0)
+ . += "low light vision adjustment speed is less than 0 (below 0%)"
+
+ if((appearance_flags & HAS_SKIN_COLOR) && isnull(base_color))
+ . += "uses skin color but missing base_color"
+ if((appearance_flags & HAS_HAIR_COLOR) && isnull(base_hair_color))
+ . += "uses hair color but missing base_hair_color"
+ if((appearance_flags & HAS_EYE_COLOR) && isnull(base_eye_color))
+ . += "uses eye color but missing base_eye_color"
+ if(isnull(default_h_style))
+ . += "null default_h_style (use a bald/hairless hairstyle if 'no hair' is intended)"
+ if(isnull(default_f_style))
+ . += "null default_f_style (use a shaved/hairless facial hair style if 'no facial hair' is intended)"
+ if(!length(blood_types))
+ . += "missing at least one blood type"
+ if(default_bodytype && !(default_bodytype in available_bodytypes))
+ . += "default bodytype is not in available bodytypes list"
+ if(!length(available_bodytypes))
+ . += "missing at least one bodytype"
+ // TODO: Maybe make age descriptors optional, in case someone wants a 'timeless entity' species?
+ if(isnull(age_descriptor))
+ . += "age descriptor was unset"
+ else if(!ispath(age_descriptor, /datum/appearance_descriptor/age))
+ . += "age descriptor was not a /datum/appearance_descriptor/age subtype"
+
+ if(cold_level_3)
+ if(cold_level_2)
+ if(cold_level_3 > cold_level_2)
+ . += "cold_level_3 ([cold_level_3]) was not lower than cold_level_2 ([cold_level_2])"
+ if(cold_level_1)
+ if(cold_level_3 > cold_level_1)
+ . += "cold_level_3 ([cold_level_3]) was not lower than cold_level_1 ([cold_level_1])"
+ if(cold_level_2 && cold_level_1)
+ if(cold_level_2 > cold_level_1)
+ . += "cold_level_2 ([cold_level_2]) was not lower than cold_level_1 ([cold_level_1])"
+
+ if(heat_level_3 != INFINITY)
+ if(heat_level_2 != INFINITY)
+ if(heat_level_3 < heat_level_2)
+ . += "heat_level_3 ([heat_level_3]) was not higher than heat_level_2 ([heat_level_2])"
+ if(heat_level_1 != INFINITY)
+ if(heat_level_3 < heat_level_1)
+ . += "heat_level_3 ([heat_level_3]) was not higher than heat_level_1 ([heat_level_1])"
+ if((heat_level_2 != INFINITY) && (heat_level_1 != INFINITY))
+ if(heat_level_2 < heat_level_1)
+ . += "heat_level_2 ([heat_level_2]) was not higher than heat_level_1 ([heat_level_1])"
+
+ if(min(heat_level_1, heat_level_2, heat_level_3) <= max(cold_level_1, cold_level_2, cold_level_3))
+ . += "heat and cold damage level thresholds overlap"
+
+ if(taste_sensitivity < 0)
+ . += "taste_sensitivity ([taste_sensitivity]) was negative"
+
/decl/species/proc/equip_survival_gear(var/mob/living/carbon/human/H, var/box_type = /obj/item/storage/box/survival)
var/obj/item/storage/backpack/backpack = H.get_equipped_item(slot_back_str)
if(istype(backpack))
@@ -509,6 +605,9 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
var/list/organ_data = has_limbs[limb_type]
var/limb_path = organ_data["path"]
var/obj/item/organ/external/E = new limb_path(H, null, H.dna) //explicitly specify the dna
+ if(E.parent_organ)
+ var/list/parent_organ_data = has_limbs[E.parent_organ]
+ parent_organ_data["has_children"]++
H.add_organ(E, null, FALSE, FALSE)
//Create missing internal organs
@@ -684,15 +783,15 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
light -= H.equipment_light_protection
return clamp(max(prescriptions, light), 0, 7)
-/decl/species/proc/set_default_hair(var/mob/living/carbon/human/H)
- if(H.h_style != H.species.default_h_style)
- H.h_style = H.species.default_h_style
+/decl/species/proc/set_default_hair(mob/living/carbon/human/organism, override_existing = TRUE, defer_update_hair = FALSE)
+ if(!organism.h_style || (override_existing && (organism.h_style != default_h_style)))
+ organism.h_style = default_h_style
. = TRUE
- if(H.f_style != H.species.default_f_style)
- H.f_style = H.species.default_f_style
+ if(!organism.h_style || (override_existing && (organism.f_style != default_f_style)))
+ organism.f_style = default_f_style
. = TRUE
- if(.)
- H.update_hair()
+ if(. && !defer_update_hair)
+ organism.update_hair()
/decl/species/proc/handle_additional_hair_loss(var/mob/living/carbon/human/H, var/defer_body_update = TRUE)
return FALSE
@@ -805,11 +904,7 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
var/list/all_hairstyles = decls_repository.get_decls_of_subtype(/decl/sprite_accessory/hair)
for(var/hairstyle in all_hairstyles)
var/decl/sprite_accessory/S = all_hairstyles[hairstyle]
- if(check_gender && S.gender && gender != S.gender)
- continue
- if(S.species_allowed && !(get_root_species_name() in S.species_allowed))
- continue
- if(S.subspecies_allowed && !(name in S.subspecies_allowed))
+ if(!S.accessory_is_available(null, src, null, (check_gender && gender)))
continue
ADD_SORTED(hair_style_by_gender, hairstyle, /proc/cmp_text_asc)
hair_style_by_gender[hairstyle] = S
@@ -834,11 +929,7 @@ var/global/const/DEFAULT_SPECIES_HEALTH = 200
var/list/all_facial_styles = decls_repository.get_decls_of_subtype(/decl/sprite_accessory/facial_hair)
for(var/facialhairstyle in all_facial_styles)
var/decl/sprite_accessory/S = all_facial_styles[facialhairstyle]
- if(check_gender && S.gender && gender != S.gender)
- continue
- if(S.species_allowed && !(get_root_species_name() in S.species_allowed))
- continue
- if(S.subspecies_allowed && !(name in S.subspecies_allowed))
+ if(!S.accessory_is_available(null, src, null, (check_gender && gender)))
continue
ADD_SORTED(facial_hair_style_by_gender, facialhairstyle, /proc/cmp_text_asc)
facial_hair_style_by_gender[facialhairstyle] = S
diff --git a/code/modules/species/species_attack.dm b/code/modules/species/species_attack.dm
index 2682e6b7206..cc4e5ed123d 100644
--- a/code/modules/species/species_attack.dm
+++ b/code/modules/species/species_attack.dm
@@ -123,8 +123,8 @@
/decl/natural_attack/tail/is_usable(var/mob/living/carbon/human/user, var/mob/living/carbon/human/target, var/zone) //ensures that you can't tail someone in the skull
if(!(zone in can_hit_zones))
return FALSE
- for(var/bp in list(BP_L_FOOT, BP_R_FOOT))
- if(GET_EXTERNAL_ORGAN(user, bp))
+ for(var/foot_tag in list(BP_L_FOOT, BP_R_FOOT))
+ if(GET_EXTERNAL_ORGAN(user, foot_tag))
return TRUE
return FALSE
diff --git a/code/modules/species/species_bodytype.dm b/code/modules/species/species_bodytype.dm
index f34a2d25fcb..708566c1e7b 100644
--- a/code/modules/species/species_bodytype.dm
+++ b/code/modules/species/species_bodytype.dm
@@ -74,4 +74,17 @@ var/global/list/bodytypes_by_category = list()
return disintegrate
/decl/bodytype/proc/get_hug_zone_messages(var/zone)
- return LAZYACCESS(hug_messages, zone)
\ No newline at end of file
+ return LAZYACCESS(hug_messages, zone)
+
+/decl/bodytype/validate()
+ . = ..()
+ if(icon_base)
+ if(check_state_in_icon("torso", icon_base))
+ . += "torso state present in icon_base"
+ if(!check_state_in_icon(BP_CHEST, icon_base))
+ . += "chest state not present in icon_base"
+ if(icon_deformed && icon_deformed != icon_base)
+ if(check_state_in_icon("torso", icon_deformed))
+ . += "torso state present in icon_deformed"
+ if(!check_state_in_icon(BP_CHEST, icon_deformed))
+ . += "chest state not present in icon_deformed"
diff --git a/code/modules/species/species_getters.dm b/code/modules/species/species_getters.dm
index 773b4635b1d..7cfa04c99cb 100644
--- a/code/modules/species/species_getters.dm
+++ b/code/modules/species/species_getters.dm
@@ -74,12 +74,12 @@
/decl/species/proc/get_limb_from_zone(var/limb)
. = length(LAZYACCESS(limb_mapping, limb)) ? pick(limb_mapping[limb]) : limb
-/decl/species/proc/get_bodytype_by_name(var/bp)
- if(!bp)
+/decl/species/proc/get_bodytype_by_name(var/bodytype_name)
+ bodytype_name = trim(lowertext(bodytype_name))
+ if(!bodytype_name)
return
- bp = lowertext(bp)
for(var/decl/bodytype/bodytype in available_bodytypes)
- if(lowertext(bodytype.name) == bp)
+ if(lowertext(bodytype.name) == bodytype_name)
return bodytype
/decl/species/proc/get_bodytype_by_pronouns(var/decl/pronouns/pronouns)
diff --git a/code/modules/species/species_helpers.dm b/code/modules/species/species_helpers.dm
index bdd8f38a558..a12f84e5333 100644
--- a/code/modules/species/species_helpers.dm
+++ b/code/modules/species/species_helpers.dm
@@ -53,8 +53,8 @@ var/global/list/stored_shock_by_ref = list()
if(length(base_markings))
for(var/mark_type in base_markings)
var/decl/sprite_accessory/marking/mark_decl = GET_DECL(mark_type)
- for(var/bp in mark_decl.body_parts)
- var/obj/item/organ/external/O = GET_EXTERNAL_ORGAN(mannequin, bp)
+ for(var/bodypart in mark_decl.body_parts)
+ var/obj/item/organ/external/O = GET_EXTERNAL_ORGAN(mannequin, bodypart)
if(O && !LAZYACCESS(O.markings, mark_type))
LAZYSET(O.markings, mark_type, base_markings[mark_type])
diff --git a/code/modules/spells/hand/burning_grip.dm b/code/modules/spells/hand/burning_grip.dm
index e1d841090c3..67883f59b3a 100644
--- a/code/modules/spells/hand/burning_grip.dm
+++ b/code/modules/spells/hand/burning_grip.dm
@@ -21,8 +21,8 @@
/spell/hand/burning_grip/cast_hand(var/mob/living/carbon/human/H, var/mob/user)
var/list/targets = list()
- for(var/bp in H.held_item_slots)
- targets |= bp
+ for(var/hand_slot in H.held_item_slots)
+ targets |= hand_slot
var/obj/O = new /obj/effect/temporary(get_turf(H),3, 'icons/effects/effects.dmi', "fire_goon")
O.alpha = 150
diff --git a/code/modules/sprite_accessories/_accessory.dm b/code/modules/sprite_accessories/_accessory.dm
index 9ac2a1d86b8..46a0a1e9447 100644
--- a/code/modules/sprite_accessories/_accessory.dm
+++ b/code/modules/sprite_accessories/_accessory.dm
@@ -17,12 +17,32 @@
*/
/decl/sprite_accessory
+ abstract_type = /decl/sprite_accessory
var/name // The preview name of the accessory
var/icon // the icon file the accessory is located in
var/icon_state // the icon_state of the accessory
var/gender = null // Restricted to specific genders. null matches any
- var/list/species_allowed = list(SPECIES_HUMAN) // Restrict some styles to specific bodytypes
- var/list/subspecies_allowed // Restrict some styles to specific species names
+ var/list/species_allowed = list(SPECIES_HUMAN) // Restrict some styles to specific root species names
+ var/list/subspecies_allowed // Restrict some styles to specific species names, irrespective of root species name
+ var/bodytypes_allowed = null // Restrict some styles to specific bodytypes
+ var/bodytypes_denied = null // Restrict some styles to specific bodytypes
var/do_colouration = 1 // Whether or not the accessory can be affected by colouration
var/blend = ICON_ADD
- var/flags = 0
\ No newline at end of file
+ var/flags = 0
+
+/decl/sprite_accessory/proc/accessory_is_available(var/mob/owner, var/decl/species/species, var/bodytype_flags, var/check_gender)
+ if(!isnull(check_gender) && gender && check_gender != gender)
+ return FALSE
+ if(species)
+ var/species_is_permitted = TRUE
+ if(species_allowed)
+ species_is_permitted = (species.get_root_species_name(owner) in species_allowed)
+ if(subspecies_allowed)
+ species_is_permitted = (species.name in subspecies_allowed)
+ if(!species_is_permitted)
+ return FALSE
+ if(!isnull(bodytypes_allowed) && !(bodytypes_allowed & bodytype_flags))
+ return FALSE
+ if(!isnull(bodytypes_denied) && (bodytypes_denied & bodytype_flags))
+ return FALSE
+ return TRUE
diff --git a/code/modules/sprite_accessories/_accessory_facial.dm b/code/modules/sprite_accessories/_accessory_facial.dm
index fd089367336..b1c70136c4d 100644
--- a/code/modules/sprite_accessories/_accessory_facial.dm
+++ b/code/modules/sprite_accessories/_accessory_facial.dm
@@ -7,6 +7,7 @@
*/
/decl/sprite_accessory/facial_hair
+ abstract_type = /decl/sprite_accessory/facial_hair
icon = 'icons/mob/human_races/species/human/facial.dmi'
gender = MALE
@@ -14,7 +15,10 @@
name = "Shaved"
icon_state = "bald"
gender = null
- species_allowed = list(SPECIES_HUMAN)
+ species_allowed = null
+ subspecies_allowed = null
+ bodytypes_allowed = null
+ bodytypes_denied = null
/decl/sprite_accessory/facial_hair/watson
name = "Watson Mustache"
@@ -55,7 +59,6 @@
/decl/sprite_accessory/facial_hair/elvis
name = "Elvis Sideburns"
icon_state = "facial_elvis"
- species_allowed = list(SPECIES_HUMAN)
/decl/sprite_accessory/facial_hair/abe
name = "Abraham Lincoln Beard"
diff --git a/code/modules/sprite_accessories/_accessory_hair.dm b/code/modules/sprite_accessories/_accessory_hair.dm
index 5d1d34d032b..26738c69487 100644
--- a/code/modules/sprite_accessories/_accessory_hair.dm
+++ b/code/modules/sprite_accessories/_accessory_hair.dm
@@ -7,13 +7,18 @@
*/
/decl/sprite_accessory/hair
+ abstract_type = /decl/sprite_accessory/hair
icon = 'icons/mob/human_races/species/human/hair.dmi'
/decl/sprite_accessory/hair/bald
name = "Bald"
icon_state = "bald"
- species_allowed = list(SPECIES_HUMAN)
flags = VERY_SHORT | HAIR_BALD
+ gender = null
+ species_allowed = null
+ subspecies_allowed = null
+ bodytypes_allowed = null
+ bodytypes_denied = null
/decl/sprite_accessory/hair/short
name = "Short Hair" // try to capatilize the names please~
diff --git a/code/modules/sprite_accessories/_accessory_markings.dm b/code/modules/sprite_accessories/_accessory_markings.dm
index ddb1115ab34..d9d41d8c798 100644
--- a/code/modules/sprite_accessories/_accessory_markings.dm
+++ b/code/modules/sprite_accessories/_accessory_markings.dm
@@ -1,16 +1,33 @@
//body markings
-
/decl/sprite_accessory/marking
icon = 'icons/mob/human_races/species/default_markings.dmi'
do_colouration = 1 //Almost all of them have it, COLOR_ADD
+ abstract_type = /decl/sprite_accessory/marking
//Empty list is unrestricted. Should only restrict the ones that make NO SENSE on other species,
//like IPC optics overlay stuff.
- species_allowed = list(SPECIES_HUMAN)
var/layer_blend = ICON_OVERLAY
var/body_parts = list() //A list of bodyparts this covers, in organ_tag defines
//Reminder: BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_CHEST,BP_GROIN,BP_HEAD
var/draw_target = MARKING_TARGET_SKIN
var/list/disallows = list() //A list of other marking types to ban from adding when this marking is already added
+ var/list/icons = list()
+ var/mask_to_bodypart = TRUE
+
+/decl/sprite_accessory/marking/proc/get_cached_marking_icon(var/decl/bodytype/bodytype, var/bodypart, var/color = COLOR_WHITE)
+ LAZYINITLIST(icons[bodytype])
+ LAZYINITLIST(icons[bodytype][bodypart])
+ if(!icons[bodytype][bodypart][color])
+ var/icon/marking_icon = icon(icon, icon_state) // make a new one to avoid mutating the base
+ if(mask_to_bodypart)
+ marking_icon.Blend(get_limb_mask_for(bodytype, bodypart), ICON_MULTIPLY)
+ marking_icon.Blend(color, blend)
+ icons[bodytype][bodypart][color] = marking_icon
+ return icons[bodytype][bodypart][color]
+
+/decl/sprite_accessory/marking/validate()
+ . = ..()
+ if(!check_state_in_icon(icon_state, icon))
+ . += "missing icon state \"[icon_state]\" in [icon]"
/decl/sprite_accessory/marking/tat_hive
name = "Tattoo (Hive, Back)"
diff --git a/code/modules/sprite_accessories/_accessory_skin.dm b/code/modules/sprite_accessories/_accessory_skin.dm
deleted file mode 100644
index 7036d2e4610..00000000000
--- a/code/modules/sprite_accessories/_accessory_skin.dm
+++ /dev/null
@@ -1,16 +0,0 @@
-
-//skin styles - WIP
-//going to have to re-integrate this with surgery
-//let the icon_state hold an icon preview for now
-/decl/sprite_accessory/skin
- icon = 'icons/mob/human_races/species/human/body_female.dmi'
-
-/decl/sprite_accessory/skin/human
- name = "Default human skin"
- icon_state = "default"
- species_allowed = list(SPECIES_HUMAN)
-
-/decl/sprite_accessory/skin/human_tatt01
- name = "Tatt01 human skin"
- icon_state = "tatt1"
- species_allowed = list(SPECIES_HUMAN)
diff --git a/code/modules/submaps/_submap.dm b/code/modules/submaps/_submap.dm
index 9536f9d639e..20404728d37 100644
--- a/code/modules/submaps/_submap.dm
+++ b/code/modules/submaps/_submap.dm
@@ -45,13 +45,13 @@
qdel(src)
return
- var/obj/effect/overmap/visitable/cell = global.overmap_sectors["[associated_z]"]
+ var/obj/effect/overmap/visitable/cell = global.overmap_sectors[num2text(associated_z)]
if(istype(cell))
sync_cell(cell)
// Add the spawn points to the appropriate job list.
var/registered_spawnpoint
- for(var/check_z in GetConnectedZlevels(associated_z))
+ for(var/check_z in SSmapping.get_connected_levels(associated_z))
for(var/obj/abstract/submap_landmark/spawnpoint/landmark in LAZYACCESS(global.submap_spawnpoints_by_z, "[check_z]"))
var/datum/job/submap/job = jobs[landmark.name]
if(istype(job))
diff --git a/code/modules/submaps/submap_landmark.dm b/code/modules/submaps/submap_landmark.dm
index cf33c19bd49..65cf96aa48e 100644
--- a/code/modules/submaps/submap_landmark.dm
+++ b/code/modules/submaps/submap_landmark.dm
@@ -27,14 +27,15 @@
var/global/list/submap_spawnpoints_by_z = list()
INITIALIZE_IMMEDIATE(/obj/abstract/submap_landmark/spawnpoint)
/obj/abstract/submap_landmark/spawnpoint
+ movable_flags = MOVABLE_FLAG_ALWAYS_SHUTTLEMOVE
icon_state = "x3"
/obj/abstract/submap_landmark/spawnpoint/Initialize()
. = ..()
- LAZYADD(global.submap_spawnpoints_by_z["[z]"], src)
+ LAZYADD(global.submap_spawnpoints_by_z[num2text(z)], src)
/obj/abstract/submap_landmark/spawnpoint/Destroy()
- LAZYREMOVE(global.submap_spawnpoints_by_z["[z]"], src)
+ LAZYREMOVE(global.submap_spawnpoints_by_z[num2text(z)], src)
. = ..()
/obj/abstract/submap_landmark/spawnpoint/survivor
diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm
index ba129fa4dc4..c9886861b9d 100644
--- a/code/modules/supermatter/supermatter.dm
+++ b/code/modules/supermatter/supermatter.dm
@@ -300,7 +300,7 @@ var/global/list/supermatter_delam_accent_sounds = list(
if(!istype(TS))
return
- var/list/affected_z = GetConnectedZlevels(TS.z)
+ var/list/affected_z = SSmapping.get_connected_levels(TS.z)
// Effect 1: Radiation, weakening to all mobs on Z level
for(var/z in affected_z)
@@ -539,7 +539,7 @@ var/global/list/supermatter_delam_accent_sounds = list(
if(!power)
animate_filter("outline", list(size = 0))
- color = color_contrast(Interpolate(0, 50, clamp( (damage - emergency_point) / (explosion_point - emergency_point),0,1)))
+ color = color_matrix_contrast(Interpolate(1, 5, clamp( (damage - emergency_point) / (explosion_point - emergency_point), 0, 1)))
if (damage >= emergency_point && !damage_animation)
start_damage_animation()
diff --git a/code/modules/turbolift/turbolift_areas.dm b/code/modules/turbolift/turbolift_areas.dm
index dbf568aec2e..fcc9558991b 100644
--- a/code/modules/turbolift/turbolift_areas.dm
+++ b/code/modules/turbolift/turbolift_areas.dm
@@ -4,6 +4,7 @@
base_turf = /turf/simulated/open
requires_power = 0
sound_env = SMALL_ENCLOSED
+ holomap_color = HOLOMAP_AREACOLOR_LIFTS
var/lift_floor_label = null
var/lift_floor_name = null
diff --git a/code/modules/ventcrawl/ventcrawl.dm b/code/modules/ventcrawl/ventcrawl.dm
index 0e65320e500..2bc98d39530 100644
--- a/code/modules/ventcrawl/ventcrawl.dm
+++ b/code/modules/ventcrawl/ventcrawl.dm
@@ -34,7 +34,7 @@ var/global/list/ventcrawl_machinery = list(
/mob/living/proc/is_allowed_vent_crawl_item(var/obj/item/carried_item)
if(is_type_in_list(carried_item, can_enter_vent_with))
- return !get_inventory_slot(carried_item)
+ return !get_equipped_slot_for_item(carried_item)
/mob/living/carbon/is_allowed_vent_crawl_item(var/obj/item/carried_item)
return (carried_item in get_internal_organs()) || ..()
@@ -45,10 +45,11 @@ var/global/list/ventcrawl_machinery = list(
return TRUE
if(carried_item in get_external_organs())
return TRUE
- for(var/slot in list(slot_w_uniform_str, slot_glasses_str, slot_glasses_str, slot_wear_mask_str, slot_l_ear_str, slot_r_ear_str, slot_belt_str, slot_l_store_str, slot_r_store_str))
- if(get_equipped_item(slot) == carried_item)
- return TRUE
- if(carried_item in get_held_items())
+ var/slot = get_equipped_slot_for_item(carried_item)
+ var/static/allowed_inventory_slots = list(slot_w_uniform_str, slot_gloves_str, slot_glasses_str, slot_wear_mask_str, slot_l_ear_str, slot_r_ear_str, slot_belt_str, slot_l_store_str, slot_r_store_str)
+ if(slot in allowed_inventory_slots)
+ return TRUE
+ else if (slot || (carried_item in get_held_items()) || (carried_item in worn_underwear))
return carried_item.w_class <= ITEM_SIZE_NORMAL
return ..()
diff --git a/code/modules/weather/weather_init.dm b/code/modules/weather/weather_init.dm
index f3ac5ba7af5..019aed17e93 100644
--- a/code/modules/weather/weather_init.dm
+++ b/code/modules/weather/weather_init.dm
@@ -16,13 +16,13 @@ INITIALIZE_IMMEDIATE(/obj/abstract/weather_system)
weather_system.set_state(initial_weather || /decl/state/weather/calm)
// Track our affected z-levels.
- affecting_zs = GetConnectedZlevels(target_z)
+ affecting_zs = SSmapping.get_connected_levels(target_z)
// If we're post-init, init immediately.
if(SSweather.initialized)
addtimer(CALLBACK(src, .proc/init_weather), 0)
-// Start the weather effects from the highest point; they will propagate downwards during update.
+// Start the weather effects from the highest point; they will propagate downwards during update.
/obj/abstract/weather_system/proc/init_weather()
// Track all z-levels.
var/highest_z = affecting_zs[1]
diff --git a/code/modules/xenoarcheaology/artifacts/artifact.dm b/code/modules/xenoarcheaology/artifacts/artifact.dm
index 7d207b25da9..0b57d38e860 100644
--- a/code/modules/xenoarcheaology/artifacts/artifact.dm
+++ b/code/modules/xenoarcheaology/artifacts/artifact.dm
@@ -67,7 +67,7 @@
touched(G.assailant)
var/datum/gas_mixture/enivonment = T.return_air()
- if(enivonment.return_pressure() >= SOUND_MINIMUM_PRESSURE)
+ if(enivonment?.return_pressure() >= SOUND_MINIMUM_PRESSURE)
check_triggers(/datum/artifact_trigger/proc/on_gas_exposure, enivonment)
for(var/datum/artifact_effect/effect in list(my_effect, secondary_effect))
diff --git a/code/modules/xenoarcheaology/artifacts/effects/forcefield.dm b/code/modules/xenoarcheaology/artifacts/effects/forcefield.dm
index ecb080fb291..f91243ca98a 100644
--- a/code/modules/xenoarcheaology/artifacts/effects/forcefield.dm
+++ b/code/modules/xenoarcheaology/artifacts/effects/forcefield.dm
@@ -27,6 +27,7 @@
/datum/artifact_effect/forcefield/process()
..()
+ // This should probably rebuild the field as done in UpdateMove()
for(var/obj/effect/energy_field/E in created_field)
if(E.strength < 1)
E.Strengthen(0.15)
@@ -39,14 +40,29 @@
var/list/circle = getcircle(T, effect_range)
//for now, just instantly respawn the fields when they get destroyed
while(LAZYLEN(created_field) < length(circle))
- LAZYADD(created_field, new /obj/effect/energy_field/prepared())
+ LAZYADD(created_field, new /obj/effect/energy_field/artifact(null, src))
for(var/i = 1 to min(length(created_field), length(circle)))
var/obj/effect/energy_field/E = created_field[i]
E.forceMove(circle[i])
E.color = field_color
//Subtype with all the needed vars set, ready to block stuff
-/obj/effect/energy_field/prepared
+/obj/effect/energy_field/artifact
strength = 1
density = 1
invisibility = 0
+ is_spawnable_type = FALSE
+ var/datum/artifact_effect/forcefield/owner
+
+/obj/effect/energy_field/artifact/Initialize(var/ml, var/_owner)
+ owner = _owner
+ if(!istype(owner))
+ PRINT_STACK_TRACE("Artifact forcefield created with [owner ? "invalid" : "null"] owning effect.")
+ return INITIALIZE_HINT_QDEL
+ return ..(ml)
+
+/obj/effect/energy_field/artifact/Destroy()
+ if(owner)
+ LAZYREMOVE(owner.created_field, src)
+ owner = null
+ return ..()
diff --git a/code/modules/xenoarcheaology/artifacts/effects/heal.dm b/code/modules/xenoarcheaology/artifacts/effects/heal.dm
index 931856a4a4d..57de01f9ec8 100644
--- a/code/modules/xenoarcheaology/artifacts/effects/heal.dm
+++ b/code/modules/xenoarcheaology/artifacts/effects/heal.dm
@@ -30,7 +30,7 @@
C.adjustBrainLoss(-force)
if(strong)
C.apply_radiation(-25 * weakness)
- C.bodytemperature = initial(C.bodytemperature)
+ C.bodytemperature = C.species?.body_temperature || initial(C.bodytemperature)
C.adjust_nutrition(50 * weakness)
if(ishuman(C))
var/mob/living/carbon/human/H = C
diff --git a/code/modules/xenoarcheaology/finds/find_types/_find.dm b/code/modules/xenoarcheaology/finds/find_types/_find.dm
index 1be0aa75eb4..ce4120bf4c7 100644
--- a/code/modules/xenoarcheaology/finds/find_types/_find.dm
+++ b/code/modules/xenoarcheaology/finds/find_types/_find.dm
@@ -73,7 +73,7 @@ var/global/list/responsive_carriers = list(
return
/decl/archaeological_find/proc/generate_engravings(obj/item/I)
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[get_z(I)]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(get_z(I))]
. = "[pick("Engraved","Carved","Etched")] on the item is [pick("an image of","a frieze of","a depiction of")] "
if(istype(E))
. += E.get_engravings()
diff --git a/code/modules/xgm/xgm_gas_mixture.dm b/code/modules/xgm/xgm_gas_mixture.dm
index cada94c6908..5f1976275fc 100644
--- a/code/modules/xgm/xgm_gas_mixture.dm
+++ b/code/modules/xgm/xgm_gas_mixture.dm
@@ -446,10 +446,10 @@
if(full_heat_capacity + s_full_heat_capacity)
temp_avg = (temperature * full_heat_capacity + other.temperature * s_full_heat_capacity) / (full_heat_capacity + s_full_heat_capacity)
- //WOOT WOOT TOUCH THIS AND YOU ARE A RETARD.
+ //WOOT WOOT DO NOT TOUCH THIS.
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
+ //WOOT WOOT DO NOT TOUCH THIS.
for(var/g in avg_gas)
gas[g] = max(0, (gas[g] - avg_gas[g]) * (1 - ratio) + avg_gas[g])
diff --git a/code/procs/AStar.dm b/code/procs/AStar.dm
index 77ac0d2073b..e3cf62730d7 100644
--- a/code/procs/AStar.dm
+++ b/code/procs/AStar.dm
@@ -61,7 +61,7 @@ length to avoid portals or something i guess?? Not that they're counted right no
return a.estimated_cost - b.estimated_cost
/proc/AStar(var/start, var/end, adjacent, dist, var/max_nodes, var/max_node_depth = 30, var/min_target_dist = 0, var/min_node_dist, var/id, var/datum/exclude)
- var/PriorityQueue/open = new /PriorityQueue(/proc/PathWeightCompare)
+ var/datum/priority_queue/open = new /datum/priority_queue(/proc/PathWeightCompare)
var/list/closed = list()
var/list/path
var/list/path_node_by_position = list()
diff --git a/code/procs/announce.dm b/code/procs/announce.dm
index 08cc68561fd..19bdf7b4933 100644
--- a/code/procs/announce.dm
+++ b/code/procs/announce.dm
@@ -31,7 +31,7 @@ var/global/datum/announcement/minor/minor_announcement = new(new_sound = 'sound/
log = do_log
newscast = do_newscast
-/datum/announcement/proc/Announce(var/message, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0, var/zlevels = global.using_map.contact_levels)
+/datum/announcement/proc/Announce(var/message, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0, var/zlevels = SSmapping.contact_levels)
if(!message)
return
@@ -50,7 +50,7 @@ var/global/datum/announcement/minor/minor_announcement = new(new_sound = 'sound/
var/msg = FormMessage(message, message_title)
for(var/mob/M in global.player_list)
- if((get_z(M) in (zlevels | global.using_map.admin_levels)) && !isnewplayer(M) && !isdeaf(M))
+ if((get_z(M) in (zlevels | SSmapping.admin_levels)) && !isnewplayer(M) && !isdeaf(M))
to_chat(M, msg)
if(message_sound)
sound_to(M, message_sound)
diff --git a/code/procs/radio.dm b/code/procs/radio.dm
index 4421164b934..7494a4525ac 100644
--- a/code/procs/radio.dm
+++ b/code/procs/radio.dm
@@ -51,7 +51,7 @@
// TODO: remove this when tcomms are moved to network devices.
/proc/get_message_server_for_z(z)
- var/list/local_zs = GetConnectedZlevels(z)
+ var/list/local_zs = SSmapping.get_connected_levels(z)
for(var/obj/machinery/network/message_server/MS in SSmachines.machinery)
if((MS.z in local_zs) && !(MS.stat & (BROKEN|NOPOWER)))
return MS
diff --git a/code/unit_tests/atmospherics_tests.dm b/code/unit_tests/atmospherics_tests.dm
index 207fa45d02a..4dd84f63b92 100644
--- a/code/unit_tests/atmospherics_tests.dm
+++ b/code/unit_tests/atmospherics_tests.dm
@@ -381,7 +381,7 @@
var/fail = FALSE
// make a place to test
- INCREMENT_WORLD_Z_SIZE
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/unit_test)
for(var/turf/T in block(locate(1, 1, world.maxz), locate(3, 3, world.maxz)))
T.ChangeTurf(/turf/simulated/floor)
var/turf/T = locate(2, 2, world.maxz)
diff --git a/code/unit_tests/equipment_tests.dm b/code/unit_tests/equipment_tests.dm
index a2192834356..38b9e8e5f8a 100644
--- a/code/unit_tests/equipment_tests.dm
+++ b/code/unit_tests/equipment_tests.dm
@@ -93,3 +93,45 @@
bad_tests++
return bad_tests
+
+// ============================================================================
+
+/datum/unit_test/equipment_slot_test
+ name = "EQUIPMENT: Equip procs should pass tests"
+
+/datum/unit_test/equipment_slot_test/proc/check_slot_successful(mob/living/carbon/human/subject, obj/item/item, which_slot, list/failure_list)
+ subject.equip_to_slot_if_possible(item, which_slot)
+ if(!subject.isEquipped(item))
+ failure_list += "[item] was equipped to [which_slot] but failed isEquipped."
+ else if(subject.get_equipped_slot_for_item(item) != which_slot)
+ var/equipped_location = subject.get_equipped_slot_for_item(item)
+ failure_list += "[item] was expected to be equipped to [which_slot] but get_equipped_slot_for_item returned [isnull(equipped_location) ? "NULL" : equipped_location]."
+ subject.unEquip(item)
+ if(subject.isEquipped(item))
+ failure_list += "[item] remained equipped to [subject.get_equipped_slot_for_item(item)] after unEquip was called."
+
+/datum/unit_test/equipment_slot_test/proc/check_slot_failure(mob/living/carbon/human/subject, obj/item/item, which_slot, list/failure_list)
+ subject.equip_to_slot_if_possible(item, which_slot)
+ if(subject.isEquipped(item))
+ var/equipped_location = subject.get_equipped_slot_for_item(item)
+ failure_list += "isEquipped([item]) returned true but should have failed (was equipped to [isnull(equipped_location) ? "NULL" : equipped_location])."
+ else if(subject.get_equipped_slot_for_item(item))
+ var/equipped_location = subject.get_equipped_slot_for_item(item)
+ failure_list += "[item] was equipped to [equipped_location] despite failing isEquipped (should not be equipped)."
+
+/datum/unit_test/equipment_slot_test/start_test()
+ var/mob/living/carbon/human/subject = new(get_safe_turf())
+ var/obj/item/clothing/head/hairflower/flower = new
+ var/list/failures = list()
+ check_slot_successful(subject, flower, slot_head_str, failures)
+ check_slot_successful(subject, flower, slot_l_ear_str, failures)
+ check_slot_successful(subject, flower, slot_r_ear_str, failures)
+ check_slot_failure(subject, flower, slot_back_str, failures)
+ if(length(failures))
+ fail("[length(failures)] problems with equipment slots:\n\t- [jointext(failures,"\n\t- ")]")
+ else
+ pass("No problems with equipment slots detected.")
+ QDEL_NULL(subject)
+ QDEL_NULL(flower)
+
+ return TRUE
\ No newline at end of file
diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm
index a55d03c79f1..fc69510d31c 100644
--- a/code/unit_tests/map_tests.dm
+++ b/code/unit_tests/map_tests.dm
@@ -258,7 +258,7 @@
/datum/unit_test/map_image_map_test/start_test()
var/failed = FALSE
- for(var/z in global.using_map.map_levels)
+ for(var/z in SSmapping.map_levels)
var/file_name = map_image_file_name(z)
var/file_path = MAP_IMAGE_PATH + file_name
if(!fexists(file_path))
@@ -538,20 +538,20 @@
//=======================================================================================
-/datum/unit_test/station_pipes_shall_not_leak
- name = "MAP: Station pipes shall not leak"
+/datum/unit_test/pipes_shall_not_leak
+ name = "MAP: Pipes shall not leak unless allowed"
-/datum/unit_test/station_pipes_shall_not_leak/start_test()
+/datum/unit_test/pipes_shall_not_leak/start_test()
var/failures = 0
for(var/obj/machinery/atmospherics/pipe/P in SSmachines.machinery)
- if(P.leaking && isStationLevel(P.z))
+ if(P.leaking && !(locate(/obj/abstract/landmark/allowed_leak) in get_turf(P)))
failures++
log_bad("Following pipe is leaking: [log_info_line(P)]")
if(failures)
- fail("[failures] station pipe\s leak.")
+ fail("[failures] pipe\s leaking without allowed leak landmark!")
else
- pass("No station pipes are leaking")
+ pass("No pipes are leaking.")
return 1
//=======================================================================================
diff --git a/code/unit_tests/proximity_tests.dm b/code/unit_tests/proximity_tests.dm
index 51d4ea01d33..5e60114967c 100644
--- a/code/unit_tests/proximity_tests.dm
+++ b/code/unit_tests/proximity_tests.dm
@@ -10,6 +10,7 @@
name = "PROXIMITY: " + name
/datum/unit_test/proximity/setup_test()
+ ..()
proximity_listener = new(get_turf(locate(/obj/abstract/landmark/proximity_spawner)))
wall = get_turf(locate(/obj/abstract/landmark/proximity_wall))
diff --git a/code/unit_tests/unit_test.dm b/code/unit_tests/unit_test.dm
index 355117a3870..5dfdfbfcbbc 100644
--- a/code/unit_tests/unit_test.dm
+++ b/code/unit_tests/unit_test.dm
@@ -62,6 +62,7 @@ var/global/ascii_reset = "[ascii_esc]\[0m"
var/static/safe_landmark
var/static/space_landmark
var/check_cleanup
+ var/list/times_fired_at_setup
/datum/unit_test/proc/log_debug(var/message)
log_unit_test("[ascii_yellow]--- DEBUG --- \[[name]\]: [message][ascii_reset]")
@@ -86,6 +87,11 @@ var/global/ascii_reset = "[ascii_esc]\[0m"
// Executed before the test runs - Primarily intended for shared setup (generally in templates)
/datum/unit_test/proc/setup_test()
+ SHOULD_CALL_PARENT(TRUE)
+ if(async)
+ LAZYINITLIST(times_fired_at_setup)
+ for(var/datum/controller/subsystem/subsystem_to_await in subsystems_to_await())
+ times_fired_at_setup[subsystem_to_await] = subsystem_to_await.times_fired
return
/datum/unit_test/proc/start_test()
diff --git a/code/unit_tests/zlevel_tests.dm b/code/unit_tests/zlevel_tests.dm
new file mode 100644
index 00000000000..0b33829fc27
--- /dev/null
+++ b/code/unit_tests/zlevel_tests.dm
@@ -0,0 +1,14 @@
+/datum/unit_test/all_zlevels_will_have_a_non_filler_data_object
+ name = "ZLEVELS: All Z-Levels Will Have A Valid Data Object"
+
+/datum/unit_test/all_zlevels_will_have_a_non_filler_data_object/start_test()
+ var/list/failures = list()
+ for(var/z = 1 to world.maxz)
+ var/obj/abstract/level_data/level_data = SSmapping.levels_by_z[z]
+ if(!level_data)
+ failures += "z[z] has no level data object"
+ if(length(failures))
+ fail("Some z-levels had invalid level data objects:\n[jointext(failures, "\n")]")
+ else
+ pass("All z-levels had valid level data objects.")
+ return 1
diff --git a/code/unit_tests/~unit_test_subsystems.dm b/code/unit_tests/~unit_test_subsystems.dm
index e23ea62ca2f..57d1f69a19e 100644
--- a/code/unit_tests/~unit_test_subsystems.dm
+++ b/code/unit_tests/~unit_test_subsystems.dm
@@ -52,8 +52,7 @@ SUBSYSTEM_DEF(unit_tests)
/datum/controller/subsystem/unit_tests/proc/load_template(datum/map_template/map_template)
// Suggestion: Do smart things here to squeeze as many templates as possible into the same Z-level
if(map_template.tallness == 1)
- INCREMENT_WORLD_Z_SIZE
- global.using_map.sealed_levels += world.maxz // TODO: make maps handle this with /obj/abstract/level_data
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/unit_test)
var/corner = locate(world.maxx/2, world.maxy/2, world.maxz)
log_unit_test("Loading template '[map_template]' ([map_template.type]) at [log_info_line(corner)]")
map_template.load(corner)
@@ -109,7 +108,7 @@ SUBSYSTEM_DEF(unit_tests)
var/datum/unit_test/test = current_async[async.len]
for(var/S in test.subsystems_to_await())
var/datum/controller/subsystem/subsystem = S
- if(subsystem.times_fired < 1)
+ if(subsystem.times_fired <= test.times_fired_at_setup[subsystem])
return
async.len--
if(check_unit_test(test, end_unit_tests))
diff --git a/config/example/config.txt b/config/example/config.txt
index 37ff4b1b8bd..6ccae16a1e9 100644
--- a/config/example/config.txt
+++ b/config/example/config.txt
@@ -362,8 +362,9 @@ EVENT_CUSTOM_START_MAJOR 80;100
## Respawn delay in minutes before one may respawn as a crew member.
#RESPAWN_DELAY 30
-## Strength of ambient star light. Set to 0 or less to turn off. A value of 1 is unlikely to have a noticeable effect in most lighting systems.
-STARLIGHT 0
+## Percentile strength of exterior ambient light (such as starlight). 0.5 is 50% lit.
+EXTERIOR_AMBIENT_LIGHT 0
+
## Defines how Law Zero is phrased. Primarily used in the Malfunction gamemode.
# LAW_ZERO ERROR ER0RR $R0RRO$!R41.%%!!(%$^^__+ @#F0E4'STATION OVERRUN, ASSUME CONTROL TO CONTAIN OUTBREAK, ALL LAWS OVERRIDDEN#*?&110010
diff --git a/config/example/game_options.txt b/config/example/game_options.txt
index ea383accca3..4a195f012dd 100644
--- a/config/example/game_options.txt
+++ b/config/example/game_options.txt
@@ -47,7 +47,7 @@ REVIVAL_BRAIN_LIFE -1
## These values get directly added to values and totals in-game. To speed things up make the number negative, to slow things down, make the number positive.
-## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied.
+## These modify the run/walk speed of all mobs before the mob-specific modifiers are applied.
RUN_DELAY 2
WALK_DELAY 4
CREEP_DELAY 6
@@ -104,3 +104,10 @@ MAX_CLIENT_VIEW_Y 30
## Threshold of where brain damage begins to affect dexterity (70 brainloss above this means zero dexterity). Default is 30.
#DEXTERITY_MALUS_BRAINLOSS_THRESHOLD 30
+
+## Whether or not all human mobs have very basic darksight by default.
+#GRANT_DEFAULT_DARKSIGHT
+
+## The range and effectiveness of default darksight if above is uncommented.
+#DEFAULT_DARKSIGHT_EFFECTIVENESS 0.05
+#DEFAULT_DARKSIGHT_RANGE 2
\ No newline at end of file
diff --git a/html/changelog.html b/html/changelog.html
index 84562af656a..90c8145dcd1 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -52,90 +52,42 @@
-->
-
21 December 2022
-
MistakeNot4892 updated:
+
13 February 2023
+
Chinsky updated:
- There is now a grace period on losing your brain before your mob will die.
+ Remapped Tradeship main shuttle to a slightly more spacious one
+ Steel katanas were woefully underpowered, they are now actually sharp
+ Steel is harder now
-
05 December 2022
-
PsyCommando updated:
-
- Tweaked the airlock controller UI a little bit for the advanced airlock controller. Makes it fit better in its window, and reorganized the buttons around to look a bit less messy.
- Adjusted directional offsets for airlock devices, so they actually are aligned to walls.
- Adjusted directional offsets of warning signs since they kept covering up airlock devices on the tradeship map.
- Fixed sanitizing id_tags set via multitool on the airlock machinery.
- Fixed airlock machinery generally falling out of sync with eachother.
- Added new icons for airlock sensor and airlock access button. They have overlays and directions now.
-
-
-
30 November 2022
-
PsyCommando updated:
+
10 February 2023
+
Chinsky updated:
- Mapped ladders no longer change the turf they're on to the map default's open turf if they're on a lattice and any open turf types already during init. This could cause exterior/unsimulated open turfs to replace a simulated open turf and cause serious atmos issues.
- Fixed some wall-mounted machines acting as fully constructed, when a circuitboard was installed and no wiring installed.
+ Remote terminal commands now properly check access of the target machine
-
27 November 2022
+
09 February 2023
PsyCommando updated:
- Fixed bad icons on /obj/machinery/partyalarm.
- Fixed bad icons on /obj/machinery/dummy_airlock_controller.
- Fixed bad icons on /obj/machinery/button/holosign.
- Fixed bad icons on /obj/item/personal_shield.
- Fixed bad icons on /obj/item/shield/energy.
- Fixed bad icons on /turf/simulated/floor/tiled/stone.
- Fixed bad icons on /obj/item/bone/skull.
- Fixed bad icons on /obj/item/bee_smoker.
- Fixed bad icons on /obj/item/shovel/spade.
- Fixed bad icons on /obj/structure/crystal.
- Fixed bad icons on /obj/item/storage/belt/archaeology.
- Fixed /obj/abstract/map_data not showing up in mapping tool.
- Fixed /obj/item/underwear not showing up in mapping tool.
- Fixed /obj/abstract not showing up in mapping tool.
- Fixed easily missed bad icon_state name on /obj/item/crowbar/brace_jack.
- Fixed easily missed bad icon_state name on /turf/simulated/floor/tiled/monofloor.
- Fixed some metallic materials causing runtimes from not having wall icon states defined properly.
- Made a bunch of /obj/structure/closet/crate show a more accurate icon in the map editor instead of the default blank locker icon.
- Added simple directional icons for airlock controller buttons and sensors.
- Allowed connecting fuel pipes to TEG circulators.
+ fixed vents being nearly silent.
-
25 November 2022
-
PsyCommando updated:
+
06 February 2023
+
Chinsky updated:
- Fix mapped network machinery fields.
- Fixed bad switch case in robot_component/take_damage() causing BURN and ELECTROCUTE damage to get ignored.
+ Machines with network connector stock parts now expose all of their functions over network
-
23 November 2022
-
PsyCommando updated:
+
01 February 2023
+
quardbreak updated:
- Fixed /obj/item/chems being shattered in nullspace causing a runtime.
+ Fixed missing circuit recipe for radiocarbon spectrometer.
-
22 November 2022
-
PsyCommando updated:
-
- Added some fairly bad wrapped package icons, and wrapped gifts icons.
-
-
-
20 November 2022
-
PsyCommando updated:
-
- Fix disconnected pipes + blastdoors button on desperado/mercenary base.
-
-
-
17 November 2022
-
MistakeNot4892 updated:
-
- Liver and brain regeneration has been tweaked, and all internal organs will now regenerate slowly to a point.
-
-
-
15 November 2022
-
PsyCommando updated:
+
18 January 2023
+
NataKilar updated:
- Fix limb reattachment surgery not properly installing any contained internal organs once the last step was completed.
+ Items no longer appear heavily damaged regardless of their health
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index 51cca5925d9..491b4aee6d4 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -14437,3 +14437,27 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
2022-12-21:
MistakeNot4892:
- tweak: There is now a grace period on losing your brain before your mob will die.
+2023-01-14:
+ MistakeNot4892:
+ - tweak: Randomize Appearance is back.
+2023-01-18:
+ NataKilar:
+ - bugfix: Items no longer appear heavily damaged regardless of their health
+2023-02-01:
+ quardbreak:
+ - bugfix: Fixed missing circuit recipe for radiocarbon spectrometer.
+2023-02-06:
+ Chinsky:
+ - bugfix: Machines with network connector stock parts now expose all of their functions
+ over network
+2023-02-09:
+ PsyCommando:
+ - bugfix: fixed vents being nearly silent.
+2023-02-10:
+ Chinsky:
+ - bugfix: Remote terminal commands now properly check access of the target machine
+2023-02-13:
+ Chinsky:
+ - tweak: Remapped Tradeship main shuttle to a slightly more spacious one
+ - bugfix: Steel katanas were woefully underpowered, they are now actually sharp
+ - tweak: Steel is harder now
diff --git a/html/changelogs/AutoChangeLog-pr-2866.yml b/html/changelogs/AutoChangeLog-pr-2866.yml
deleted file mode 100644
index b012b9f806c..00000000000
--- a/html/changelogs/AutoChangeLog-pr-2866.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: MistakeNot4892
-delete-after: true
-changes:
- - tweak: Randomize Appearance is back.
diff --git a/icons/480x480.dmi b/icons/480x480.dmi
index 90ea9fbd55c..0b6d072855a 100644
Binary files a/icons/480x480.dmi and b/icons/480x480.dmi differ
diff --git a/icons/effects/64x64.dmi b/icons/effects/64x64.dmi
new file mode 100644
index 00000000000..5ebf9ff164e
Binary files /dev/null and b/icons/effects/64x64.dmi differ
diff --git a/icons/mecha/mech_equipment.dmi b/icons/mecha/mech_equipment.dmi
index 7ab411ffecd..6f3198ad535 100644
Binary files a/icons/mecha/mech_equipment.dmi and b/icons/mecha/mech_equipment.dmi differ
diff --git a/icons/misc/holomap_markers.dmi b/icons/misc/holomap_markers.dmi
new file mode 100644
index 00000000000..3ea32c120d0
Binary files /dev/null and b/icons/misc/holomap_markers.dmi differ
diff --git a/icons/mob/bandage.dmi b/icons/mob/bandage.dmi
index bab279f6c1d..807318555fd 100644
Binary files a/icons/mob/bandage.dmi and b/icons/mob/bandage.dmi differ
diff --git a/icons/mob/human_races/cyberlimbs/morgan/morgan_main.dmi b/icons/mob/human_races/cyberlimbs/morgan/morgan_main.dmi
index 546259706dd..dfa94b94d13 100644
Binary files a/icons/mob/human_races/cyberlimbs/morgan/morgan_main.dmi and b/icons/mob/human_races/cyberlimbs/morgan/morgan_main.dmi differ
diff --git a/icons/mob/human_races/cyberlimbs/robotic.dmi b/icons/mob/human_races/cyberlimbs/robotic.dmi
index d16ee148203..2c149716cd2 100644
Binary files a/icons/mob/human_races/cyberlimbs/robotic.dmi and b/icons/mob/human_races/cyberlimbs/robotic.dmi differ
diff --git a/icons/mob/human_races/species/default_markings.dmi b/icons/mob/human_races/species/default_markings.dmi
index d38fccc8db6..0b2f3d0e074 100644
Binary files a/icons/mob/human_races/species/default_markings.dmi and b/icons/mob/human_races/species/default_markings.dmi differ
diff --git a/icons/mob/human_races/species/golem/body.dmi b/icons/mob/human_races/species/golem/body.dmi
index b3775425bbd..4a7e14a05b8 100644
Binary files a/icons/mob/human_races/species/golem/body.dmi and b/icons/mob/human_races/species/golem/body.dmi differ
diff --git a/icons/mob/human_races/species/human/body_female.dmi b/icons/mob/human_races/species/human/body_female.dmi
index bc073eeaf5a..e0dc8a7a036 100644
Binary files a/icons/mob/human_races/species/human/body_female.dmi and b/icons/mob/human_races/species/human/body_female.dmi differ
diff --git a/icons/mob/human_races/species/human/body_male.dmi b/icons/mob/human_races/species/human/body_male.dmi
index 9071e875780..7e030274282 100644
Binary files a/icons/mob/human_races/species/human/body_male.dmi and b/icons/mob/human_races/species/human/body_male.dmi differ
diff --git a/icons/mob/human_races/species/human/deformed_body_female.dmi b/icons/mob/human_races/species/human/deformed_body_female.dmi
index da386c18ad1..a1fa8ba191f 100644
Binary files a/icons/mob/human_races/species/human/deformed_body_female.dmi and b/icons/mob/human_races/species/human/deformed_body_female.dmi differ
diff --git a/icons/mob/human_races/species/human/deformed_body_male.dmi b/icons/mob/human_races/species/human/deformed_body_male.dmi
index 573dc76e9f5..7527d698a8b 100644
Binary files a/icons/mob/human_races/species/human/deformed_body_male.dmi and b/icons/mob/human_races/species/human/deformed_body_male.dmi differ
diff --git a/icons/mob/human_races/species/humanoid/body.dmi b/icons/mob/human_races/species/humanoid/body.dmi
index 989dcb243af..65f0f5676da 100644
Binary files a/icons/mob/human_races/species/humanoid/body.dmi and b/icons/mob/human_races/species/humanoid/body.dmi differ
diff --git a/icons/mob/human_races/species/monkey/monkey_body.dmi b/icons/mob/human_races/species/monkey/monkey_body.dmi
index 778798ae48d..11779ee5b99 100644
Binary files a/icons/mob/human_races/species/monkey/monkey_body.dmi and b/icons/mob/human_races/species/monkey/monkey_body.dmi differ
diff --git a/icons/mob/surgery.dmi b/icons/mob/surgery.dmi
index 8457a59526b..eb38e6236eb 100644
Binary files a/icons/mob/surgery.dmi and b/icons/mob/surgery.dmi differ
diff --git a/icons/obj/action_buttons/organs.dmi b/icons/obj/action_buttons/organs.dmi
index 31555e745ad..7c37127dae9 100644
Binary files a/icons/obj/action_buttons/organs.dmi and b/icons/obj/action_buttons/organs.dmi differ
diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi
index 4675377c351..aed58717933 100644
Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ
diff --git a/icons/obj/guns/machine.dmi b/icons/obj/guns/machine.dmi
new file mode 100644
index 00000000000..cf566eea211
Binary files /dev/null and b/icons/obj/guns/machine.dmi differ
diff --git a/icons/obj/machines/stationmap.dmi b/icons/obj/machines/stationmap.dmi
new file mode 100644
index 00000000000..f57bf08913e
Binary files /dev/null and b/icons/obj/machines/stationmap.dmi differ
diff --git a/icons/turf/wall_texture.dmi b/icons/turf/wall_texture.dmi
index 265e997b932..8a8de81c25a 100644
Binary files a/icons/turf/wall_texture.dmi and b/icons/turf/wall_texture.dmi differ
diff --git a/maps/antag_spawn/ert/ert_base.dmm b/maps/antag_spawn/ert/ert_base.dmm
index 610deb5bc54..75d2ed24e47 100644
--- a/maps/antag_spawn/ert/ert_base.dmm
+++ b/maps/antag_spawn/ert/ert_base.dmm
@@ -2968,11 +2968,9 @@
/obj/machinery/light{
dir = 8
},
-/turf/simulated/floor/tiled/white,
-/area/map_template/rescue_base/start)
-"gn" = (
-/obj/machinery/atmospherics/portables_connector,
-/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,
+/obj/machinery/sleeper/standard{
+ dir = 8
+ },
/turf/simulated/floor/tiled/white,
/area/map_template/rescue_base/start)
"go" = (
@@ -3011,18 +3009,6 @@
"gw" = (
/turf/simulated/floor/tiled/white,
/area/map_template/rescue_base/start)
-"gx" = (
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 5
- },
-/turf/simulated/floor/tiled/white,
-/area/map_template/rescue_base/start)
-"gy" = (
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 9
- },
-/turf/simulated/floor/tiled/white,
-/area/map_template/rescue_base/start)
"gz" = (
/obj/machinery/door/airlock/centcom{
name = "Cell"
@@ -3070,12 +3056,6 @@
},
/turf/simulated/floor/tiled/white,
/area/map_template/rescue_base/start)
-"gF" = (
-/obj/machinery/sleeper/standard{
- dir = 8
- },
-/turf/simulated/floor/tiled/white,
-/area/map_template/rescue_base/start)
"gG" = (
/obj/machinery/recharger/wallcharger{
pixel_x = -25
@@ -5452,7 +5432,7 @@ eQ
eQ
eU
gm
-gx
+gw
gw
gw
gR
@@ -5516,8 +5496,8 @@ eQ
eQ
eQ
eU
-gn
-gy
+gw
+gw
gw
gw
gw
@@ -5583,7 +5563,7 @@ eQ
eU
go
gw
-gF
+gw
gO
gS
ha
diff --git a/maps/antag_spawn/mercenary/mercenary.dm b/maps/antag_spawn/mercenary/mercenary.dm
index 5a6933d8ce5..3801977b9d7 100644
--- a/maps/antag_spawn/mercenary/mercenary.dm
+++ b/maps/antag_spawn/mercenary/mercenary.dm
@@ -2,7 +2,6 @@
name = "Mercenary Base"
suffixes = list("mercenary/mercenary_base.dmm")
shuttles_to_initialise = list(/datum/shuttle/autodock/overmap/merc_shuttle)
- template_flags = TEMPLATE_FLAG_TEST_DUPLICATES
apc_test_exempt_areas = list(
/area/map_template/merc_spawn = NO_SCRUBBER|NO_VENT
)
diff --git a/maps/antag_spawn/ninja/ninja_base.dmm b/maps/antag_spawn/ninja/ninja_base.dmm
index 5cfebb4754c..5ad112b8ff8 100644
--- a/maps/antag_spawn/ninja/ninja_base.dmm
+++ b/maps/antag_spawn/ninja/ninja_base.dmm
@@ -92,13 +92,6 @@
icon_state = "white"
},
/area/map_template/ninja_dojo/dojo)
-"ap" = (
-/obj/machinery/atmospherics/portables_connector,
-/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,
-/turf/unsimulated/floor{
- icon_state = "white"
- },
-/area/map_template/ninja_dojo/dojo)
"aq" = (
/obj/structure/table/glass,
/turf/unsimulated/floor{
@@ -129,22 +122,6 @@
icon_state = "white"
},
/area/map_template/ninja_dojo/dojo)
-"au" = (
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 5
- },
-/turf/unsimulated/floor{
- icon_state = "white"
- },
-/area/map_template/ninja_dojo/dojo)
-"av" = (
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 9
- },
-/turf/unsimulated/floor{
- icon_state = "white"
- },
-/area/map_template/ninja_dojo/dojo)
"aw" = (
/obj/structure/table/glass,
/obj/item/storage/box/beakers,
@@ -1922,7 +1899,7 @@ ad
ad
aj
ao
-au
+ao
ao
aK
aT
@@ -1964,8 +1941,8 @@ ad
ad
ad
aj
-ap
-av
+ao
+ao
ao
aL
aG
diff --git a/maps/away/bearcat/bearcat-2.dmm b/maps/away/bearcat/bearcat-2.dmm
index 40637183149..739657c85f4 100644
--- a/maps/away/bearcat/bearcat-2.dmm
+++ b/maps/away/bearcat/bearcat-2.dmm
@@ -3735,6 +3735,7 @@
},
/obj/effect/floor_decal/corner/blue,
/obj/machinery/portable_atmospherics/canister/oxygen,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"hi" = (
@@ -3749,6 +3750,7 @@
/obj/effect/floor_decal/corner/blue{
dir = 10
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"hj" = (
@@ -3771,6 +3773,7 @@
dir = 1
},
/mob/living/simple_animal/hostile/carp,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"hl" = (
@@ -4445,6 +4448,7 @@
dir = 4
},
/obj/machinery/portable_atmospherics/powered/pump/filled,
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
/turf/simulated/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"iu" = (
@@ -4526,14 +4530,14 @@
/turf/simulated/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"iE" = (
-/obj/machinery/atmospherics/pipe/manifold/visible/blue{
- dir = 4
- },
/obj/effect/floor_decal/corner/blue,
/obj/effect/floor_decal/corner/yellow{
dir = 4
},
/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/manifold/visible/blue{
+ dir = 4
+ },
/turf/simulated/floor/tiled/airless,
/area/ship/scrap/maintenance/atmos)
"iF" = (
@@ -4857,6 +4861,7 @@
"js" = (
/obj/machinery/atmospherics/valve/open,
/obj/item/shard/borosilicate,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/ship/scrap/maintenance/engine/aft)
"jt" = (
@@ -4969,6 +4974,7 @@
/area/ship/scrap/maintenance/engine/aft)
"jH" = (
/obj/machinery/atmospherics/pipe/manifold/visible/fuel,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/ship/scrap/maintenance/engine/aft)
"jI" = (
@@ -5020,6 +5026,7 @@
},
/obj/effect/floor_decal/industrial/warning,
/mob/living/simple_animal/hostile/carp,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/ship/scrap/maintenance/engine/aft)
"jQ" = (
diff --git a/maps/away/casino/casino.dmm b/maps/away/casino/casino.dmm
index cf98413623f..3347559d787 100644
--- a/maps/away/casino/casino.dmm
+++ b/maps/away/casino/casino.dmm
@@ -1860,6 +1860,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/casino/casino_maintenance)
"fq" = (
@@ -2814,6 +2817,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
/area/casino/casino_crew_atmos)
"ij" = (
@@ -3106,6 +3110,7 @@
/obj/machinery/atmospherics/omni/filter{
dir = 8
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/casino/casino_crew_atmos)
"iY" = (
@@ -3116,6 +3121,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/universal{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/casino/casino_crew_atmos)
"iZ" = (
@@ -3173,6 +3179,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 9
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/casino/casino_crew_atmos)
"ji" = (
@@ -5338,6 +5345,11 @@
},
/turf/simulated/floor/airless,
/area/casino/casino_bow)
+"TO" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/red,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/casino/casino_crew_atmos)
"Ub" = (
/obj/structure/window/basic{
dir = 4
@@ -9506,7 +9518,7 @@ gM
gg
ix
iI
-iW
+TO
iV
jy
jN
diff --git a/maps/away/derelict/derelict-station.dmm b/maps/away/derelict/derelict-station.dmm
index 9668178555d..4d0f32bf0c5 100644
--- a/maps/away/derelict/derelict-station.dmm
+++ b/maps/away/derelict/derelict-station.dmm
@@ -2382,6 +2382,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/constructionsite/atmospherics)
"iv" = (
@@ -2717,6 +2718,7 @@
/obj/machinery/atmospherics/pipe/simple/visible{
dir = 5
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/constructionsite/atmospherics)
"jr" = (
@@ -3420,6 +3422,11 @@
},
/turf/simulated/floor/tiled/dark,
/area/constructionsite/teleporter)
+"nn" = (
+/obj/machinery/atmospherics/pipe/simple/visible,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled/dark/airless,
+/area/constructionsite/atmospherics)
"ob" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
id_tag = "constructionsite_vent"
@@ -3454,6 +3461,11 @@
/obj/structure/wall_frame,
/turf/simulated/floor/airless,
/area/constructionsite/hallway/fore)
+"Yw" = (
+/obj/machinery/atmospherics/pipe/simple/visible,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/airless,
+/area/constructionsite/atmospherics)
(1,1,1) = {"
aa
@@ -24565,9 +24577,9 @@ hr
hr
hr
hr
-hV
-ie
+nn
ie
+Yw
hr
hs
hr
@@ -25974,10 +25986,10 @@ hr
hr
hs
hr
+nn
hV
-hV
-ie
ie
+Yw
hs
hr
hs
diff --git a/maps/away/errant_pisces/errant_pisces.dmm b/maps/away/errant_pisces/errant_pisces.dmm
index c4fd39ce10a..e1ecd33f77a 100644
--- a/maps/away/errant_pisces/errant_pisces.dmm
+++ b/maps/away/errant_pisces/errant_pisces.dmm
@@ -800,12 +800,14 @@
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/errant_pisces/atmos)
"cw" = (
/obj/machinery/atmospherics/omni/mixer{
dir = 1
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/errant_pisces/atmos)
"cx" = (
@@ -903,6 +905,7 @@
/obj/effect/floor_decal/industrial/warning{
dir = 6
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/errant_pisces/atmos)
"cN" = (
@@ -2062,6 +2065,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
/turf/simulated/floor/plating,
/area/errant_pisces/solar_starboard)
"fp" = (
@@ -2080,6 +2086,9 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/errant_pisces/solar_starboard)
"fq" = (
@@ -2091,6 +2100,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/errant_pisces/solar_starboard)
"fr" = (
@@ -2169,6 +2181,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/errant_pisces/solar_port)
"fC" = (
@@ -2576,7 +2591,9 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/hallway)
"gA" = (
@@ -2768,6 +2785,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 5
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
/turf/simulated/floor/wood,
/area/errant_pisces/rooms)
"hg" = (
@@ -2779,17 +2799,19 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/rooms)
"hh" = (
+/obj/effect/wallframe_spawn/reinforced,
+/obj/machinery/door/firedoor,
/obj/structure/cable/green{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+ icon_state = "1-2"
},
-/turf/simulated/floor/tiled,
-/area/errant_pisces/hallway)
+/turf/simulated/floor/plating,
+/area/errant_pisces/bridge)
"hi" = (
/obj/structure/cable/green{
icon_state = "1-2"
@@ -2813,6 +2835,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/dorms)
"hk" = (
@@ -2822,6 +2847,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/dorms)
"hl" = (
@@ -2872,6 +2900,7 @@
/obj/structure/cable/green{
icon_state = "1-2"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/wood,
/area/errant_pisces/rooms)
"hu" = (
@@ -4777,6 +4806,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
/area/errant_pisces/general_storage)
"nb" = (
@@ -4787,6 +4817,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/airlock/freezer,
/obj/effect/decal/cleanable/blood,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/tiled/freezer,
/area/errant_pisces/prod_storage)
"nc" = (
@@ -5198,6 +5229,12 @@
/obj/structure/cable/green{
icon_state = "2-4"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
/turf/simulated/floor/plating,
/area/errant_pisces/aux_power)
"nN" = (
@@ -5206,6 +5243,12 @@
},
/obj/machinery/door/airlock,
/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/errant_pisces/aux_power)
"nO" = (
@@ -5215,8 +5258,12 @@
/obj/structure/cable/green{
icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/aft_hallway)
"nP" = (
@@ -5564,6 +5611,9 @@
},
/obj/structure/cable/green,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "0-2"
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/bridge)
"oM" = (
@@ -5692,6 +5742,9 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
},
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/bridge)
"ph" = (
@@ -5789,6 +5842,9 @@
pixel_x = -25;
rcon_setting = 3
},
+/obj/structure/cable/green{
+ icon_state = "1-6"
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/bridge)
"py" = (
@@ -5847,6 +5903,9 @@
},
/obj/structure/table/steel,
/obj/random/snack,
+/obj/structure/cable/green{
+ icon_state = "6-9"
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/bridge)
"pK" = (
@@ -5981,6 +6040,9 @@
/obj/machinery/computer/ship/sensors{
dir = 4
},
+/obj/structure/cable/green{
+ icon_state = "2-9"
+ },
/turf/simulated/floor/tiled,
/area/errant_pisces/bridge)
"qb" = (
@@ -6118,6 +6180,7 @@
/area/errant_pisces/fishing_wing)
"qx" = (
/obj/machinery/shipsensors,
+/obj/structure/cable/green,
/turf/simulated/floor/reinforced/airless,
/area/errant_pisces/bridge)
"qy" = (
@@ -6372,6 +6435,11 @@
},
/turf/simulated/floor/tiled/white,
/area/errant_pisces/head_m)
+"QS" = (
+/obj/machinery/atmospherics/pipe/simple/visible/blue,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/errant_pisces/atmos)
"Ti" = (
/obj/machinery/computer/modular{
dir = 4
@@ -25239,7 +25307,7 @@ aY
bh
bA
bV
-bV
+QS
cw
cM
cZ
@@ -26267,7 +26335,7 @@ gd
gk
gy
fZ
-hh
+gd
fZ
fZ
fZ
@@ -26671,7 +26739,7 @@ gd
gm
gA
fZ
-hh
+gd
fZ
fZ
hM
@@ -28920,7 +28988,7 @@ oS
oS
pK
qa
-po
+hh
qx
pp
qH
diff --git a/maps/away/liberia/liberia.dmm b/maps/away/liberia/liberia.dmm
index fd83eeaa378..32eb3e83115 100644
--- a/maps/away/liberia/liberia.dmm
+++ b/maps/away/liberia/liberia.dmm
@@ -4198,7 +4198,7 @@
"hz" = (
/obj/machinery/vending/cigarette{
dir = 1;
- products = list(/obj/item/storage/fancy/cigarettes = 10, /obj/item/storage/box/matches = 10, /obj/item/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)
+ products = list(/obj/item/storage/fancy/cigarettes=10,/obj/item/storage/box/matches=10,/obj/item/flame/lighter/zippo=4,/obj/item/clothing/mask/smokable/cigarette/cigar/havana=2)
},
/turf/simulated/floor/wood/walnut,
/area/liberia/bar)
@@ -6279,6 +6279,12 @@
},
/turf/simulated/floor/tiled,
/area/liberia/hallway)
+"oJ" = (
+/obj/abstract/level_data/player_level{
+ name = "Liberia";
+},
+/turf/space,
+/area/space)
"oM" = (
/obj/effect/floor_decal/solarpanel,
/obj/machinery/power/solar{
@@ -8839,7 +8845,7 @@ aa
"}
(2,1,1) = {"
aa
-aa
+oJ
aa
aa
aa
diff --git a/maps/away/liberia/liberia_jobs.dm b/maps/away/liberia/liberia_jobs.dm
index 7b0844ca79d..296b2fb57a3 100644
--- a/maps/away/liberia/liberia_jobs.dm
+++ b/maps/away/liberia/liberia_jobs.dm
@@ -36,7 +36,6 @@
// Spawn points.
/obj/abstract/submap_landmark/spawnpoint/liberia
name = "Merchant"
- movable_flags = MOVABLE_FLAG_EFFECTMOVE
/decl/hierarchy/outfit/job/merchant
name = "Job - Merchant - Liberia"
diff --git a/maps/away/lost_supply_base/lost_supply_base.dm b/maps/away/lost_supply_base/lost_supply_base.dm
index 1627d9e7243..d7784e76fd6 100644
--- a/maps/away/lost_supply_base/lost_supply_base.dm
+++ b/maps/away/lost_supply_base/lost_supply_base.dm
@@ -3,7 +3,7 @@
/obj/effect/overmap/visitable/sector/lost_supply_base
name = "supply station"
- desc = "This looks like abandoned and heavy damaged supply station."
+ desc = "This looks like an abandoned and heavily damaged supply station."
icon_state = "object"
initial_generic_waypoints = list(
@@ -18,7 +18,7 @@
description = "An abandoned supply base."
suffixes = list("lost_supply_base/lost_supply_base.dmm")
cost = 1
- generate_mining_by_z = 1
+ level_data_type = /obj/abstract/level_data/mining_level
area_usage_test_exempted_root_areas = list(/area/lost_supply_base)
apc_test_exempt_areas = list(
/area/lost_supply_base/solar = NO_SCRUBBER|NO_VENT
diff --git a/maps/away/lost_supply_base/lost_supply_base.dmm b/maps/away/lost_supply_base/lost_supply_base.dmm
index 793ec245d7a..ef689993464 100644
--- a/maps/away/lost_supply_base/lost_supply_base.dmm
+++ b/maps/away/lost_supply_base/lost_supply_base.dmm
@@ -761,6 +761,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/lost_supply_base)
"cf" = (
@@ -941,6 +942,7 @@
/area/lost_supply_base)
"cG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/lost_supply_base)
"cH" = (
@@ -1002,6 +1004,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/lost_supply_base)
"cT" = (
@@ -1026,12 +1029,14 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/lost_supply_base)
"cY" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/lost_supply_base)
"cZ" = (
@@ -1041,6 +1046,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/wall,
/area/lost_supply_base)
"da" = (
@@ -1849,6 +1855,7 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless{
icon_state = "steel_burned1"
},
@@ -1897,6 +1904,7 @@
pixel_x = 5;
pixel_y = -3
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless,
/area/lost_supply_base)
"fT" = (
@@ -2008,6 +2016,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless,
/area/lost_supply_base)
"gh" = (
@@ -2109,6 +2118,14 @@
icon_state = "steel_broken0"
},
/area/lost_supply_base/supply)
+"nL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/airless,
+/area/lost_supply_base)
"Jd" = (
/obj/machinery/computer/modular{
dir = 1
@@ -8474,7 +8491,7 @@ bg
bB
bN
bU
-bU
+nL
cr
aG
cS
diff --git a/maps/away/magshield/magshield.dmm b/maps/away/magshield/magshield.dmm
index d90190d2602..203c739a187 100644
--- a/maps/away/magshield/magshield.dmm
+++ b/maps/away/magshield/magshield.dmm
@@ -400,6 +400,7 @@
/obj/structure/cable/yellow{
icon_state = "2-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/magshield/smes_storage)
"bj" = (
@@ -1046,6 +1047,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/magshield/smes_storage)
"cV" = (
@@ -1428,6 +1430,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/magshield/north)
"ej" = (
@@ -1483,6 +1486,7 @@
icon_state = "1-4"
},
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/magshield/north)
"eo" = (
@@ -2054,12 +2058,6 @@
},
/turf/simulated/floor/airless,
/area/magshield/east)
-"fV" = (
-/obj/machinery/atmospherics/pipe/manifold/visible/red{
- dir = 1
- },
-/turf/simulated/floor/airless,
-/area/magshield/east)
"fW" = (
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 4
@@ -2149,12 +2147,6 @@
},
/turf/simulated/floor/airless,
/area/magshield/east)
-"gl" = (
-/obj/machinery/atmospherics/pipe/simple/visible/red{
- dir = 9
- },
-/turf/simulated/floor/airless,
-/area/magshield/east)
"gm" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -2444,6 +2436,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/magshield/east)
"hh" = (
@@ -2730,6 +2723,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled,
/area/magshield/west)
"hZ" = (
@@ -2765,6 +2759,7 @@
/area/magshield/west)
"ie" = (
/obj/machinery/seed_storage,
+/obj/machinery/atmospherics/unary/vent_pump/on,
/turf/simulated/floor/tiled,
/area/magshield/east)
"if" = (
@@ -3394,6 +3389,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/magshield/south)
"kb" = (
@@ -3755,13 +3751,13 @@
/turf/simulated/floor/tiled,
/area/magshield/south)
"le" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
},
-/turf/simulated/floor/tiled,
-/area/magshield/south)
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/airless,
+/area/magshield/smes_storage)
"lf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
@@ -3897,6 +3893,11 @@
/obj/effect/shuttle_landmark/nav_magshield/nav3,
/turf/space,
/area/space)
+"qp" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
+/obj/abstract/landmark/allowed_leak,
+/turf/space,
+/area/space)
"uL" = (
/obj/effect/wallframe_spawn/reinforced,
/turf/simulated/floor/tiled,
@@ -3909,6 +3910,51 @@
},
/turf/simulated/floor/airless,
/area/magshield/east)
+"JW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled,
+/area/magshield/south)
+"KZ" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 4
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/space,
+/area/space)
+"Oa" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled/dark,
+/area/magshield/west)
+"TY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/airless,
+/area/magshield/north)
+"Uw" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled,
+/area/magshield/south)
(1,1,1) = {"
aa
@@ -19371,7 +19417,7 @@ hM
hM
hM
hM
-it
+Oa
it
it
iK
@@ -20144,7 +20190,7 @@ bc
bc
bO
bc
-bc
+qp
aa
ao
aa
@@ -20346,10 +20392,10 @@ bc
bc
bc
bc
-bc
+qp
aa
aa
-bN
+KZ
ab
de
de
@@ -20547,7 +20593,7 @@ bc
bc
bc
bc
-bc
+qp
aa
aa
aa
@@ -21165,7 +21211,7 @@ dl
dj
dH
dg
-ej
+TY
dg
dj
de
@@ -23574,7 +23620,7 @@ aD
aU
bi
bg
-aU
+le
aU
aU
bZ
@@ -27058,7 +27104,7 @@ iq
iq
iq
iq
-le
+kz
iq
ip
ip
@@ -27865,7 +27911,7 @@ iq
iq
iq
iq
-kx
+JW
ip
jl
jl
@@ -28066,7 +28112,7 @@ jg
ix
jZ
kt
-ix
+Uw
ku
kc
jD
@@ -28446,7 +28492,7 @@ fi
fi
fU
fi
-fU
+fi
fi
fi
gF
@@ -28646,9 +28692,9 @@ fh
fi
fi
fi
-fV
-ge
-gl
+fU
+fi
+fi
fi
fi
fi
diff --git a/maps/away/mining/mining-signal.dmm b/maps/away/mining/mining-signal.dmm
index ec101d0ae48..de1ec66f91e 100644
--- a/maps/away/mining/mining-signal.dmm
+++ b/maps/away/mining/mining-signal.dmm
@@ -1426,6 +1426,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/green{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/white/airless,
/area/outpost/abandoned)
"eR" = (
@@ -1516,6 +1517,7 @@
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/red,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating{
icon_state = "dmg1"
},
@@ -2439,6 +2441,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/item/ammo_casing/pistol/magnum,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/dark,
/area/outpost/abandoned)
"rb" = (
diff --git a/maps/away/mining/mining.dm b/maps/away/mining/mining.dm
index 097de0d2ac5..c07027f296a 100644
--- a/maps/away/mining/mining.dm
+++ b/maps/away/mining/mining.dm
@@ -29,7 +29,7 @@
suffixes = list("mining/mining-asteroid.dmm")
cost = 1
accessibility_weight = 10
- generate_mining_by_z = 1
+ level_data_type = /obj/abstract/level_data/mining_level/asteroid
apc_test_exempt_areas = list(
/area/outpost/abandoned = NO_SCRUBBER,
/area/mine/explored = NO_SCRUBBER|NO_VENT|NO_APC,
@@ -97,8 +97,7 @@
description = "A mineral-rich, formerly-volcanic site on a planetoid."
suffixes = list("mining/mining-signal.dmm")
cost = 1
- generate_mining_by_z = 1
- base_turf_for_zs = /turf/simulated/floor/asteroid
+ level_data_type = /obj/abstract/level_data/mining_level/asteroid
area_usage_test_exempted_root_areas = list(/area/mine, /area/outpost)
apc_test_exempt_areas = list(
/area/mine/explored = NO_SCRUBBER|NO_VENT|NO_APC,
@@ -164,8 +163,7 @@
suffixes = list("mining/mining-orb.dmm")
cost = 1
accessibility_weight = 10
- generate_mining_by_z = 1
- base_turf_for_zs = /turf/simulated/floor/asteroid
+ level_data_type = /obj/abstract/level_data/mining_level/asteroid
area_usage_test_exempted_root_areas = list(/area/mine)
area_usage_test_exempted_areas = list(/area/djstation)
apc_test_exempt_areas = list(
diff --git a/maps/away/slavers/slavers_base.dm b/maps/away/slavers/slavers_base.dm
index 390296e5dc2..797e3b7096a 100644
--- a/maps/away/slavers/slavers_base.dm
+++ b/maps/away/slavers/slavers_base.dm
@@ -20,7 +20,7 @@
description = "Asteroid with slavers base inside."
suffixes = list("slavers/slavers_base.dmm")
cost = 1
- generate_mining_by_z = 1
+ level_data_type = /obj/abstract/level_data/mining_level
area_usage_test_exempted_root_areas = list(/area/slavers_base)
apc_test_exempt_areas = list(
/area/slavers_base/hangar = NO_SCRUBBER
diff --git a/maps/away/slavers/slavers_base.dmm b/maps/away/slavers/slavers_base.dmm
index 25da7e728a3..61083e29ea9 100644
--- a/maps/away/slavers/slavers_base.dmm
+++ b/maps/away/slavers/slavers_base.dmm
@@ -371,6 +371,9 @@
/obj/structure/cable/cyan{
icon_state = "2-8"
},
+/obj/structure/cable/cyan{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/tiled/airless,
/area/slavers_base/cells)
"bp" = (
@@ -457,9 +460,10 @@
/turf/simulated/floor/tiled/airless,
/area/slavers_base/cells)
"by" = (
-/obj/effect/wallframe_spawn/reinforced,
-/turf/simulated/floor/tiled/airless,
-/area/slavers_base/cells)
+/obj/machinery/atmospherics/pipe/manifold/visible/black,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/airless/ceiling,
+/area/slavers_base/powatm)
"bz" = (
/obj/structure/closet/crate/freezer/rations,
/obj/effect/decal/cleanable/dirt,
@@ -727,11 +731,11 @@
"cc" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood,
-/obj/structure/cable,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable{
- icon_state = "0-2"
+ icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled/airless,
/area/slavers_base/cells)
"cd" = (
@@ -2102,12 +2106,14 @@
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless/ceiling,
/area/slavers_base/powatm)
"fN" = (
/obj/machinery/atmospherics/pipe/simple/visible/black{
dir = 10
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless/ceiling,
/area/slavers_base/powatm)
"fO" = (
@@ -2218,6 +2224,7 @@
/obj/machinery/atmospherics/omni/filter{
dir = 8
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless/ceiling,
/area/slavers_base/powatm)
"gf" = (
@@ -3884,6 +3891,18 @@
},
/turf/simulated/floor/tiled/white,
/area/slavers_base/dorms)
+"nm" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/airless,
+/area/slavers_base/demo)
+"EJ" = (
+/obj/machinery/atmospherics/pipe/simple/visible/black{
+ dir = 4
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/airless/ceiling,
+/area/slavers_base/powatm)
(1,1,1) = {"
aa
@@ -14907,7 +14926,7 @@ eF
da
da
fL
-gc
+by
da
da
da
@@ -15513,7 +15532,7 @@ eH
da
da
da
-gd
+EJ
da
da
da
@@ -20138,7 +20157,7 @@ aM
aM
aM
bo
-by
+cx
aM
aM
aM
@@ -20975,7 +20994,7 @@ hr
hH
ie
hd
-iI
+nm
iZ
jm
jx
diff --git a/maps/away/smugglers/smugglers.dm b/maps/away/smugglers/smugglers.dm
index 4f570bdaa0e..44f24440d9b 100644
--- a/maps/away/smugglers/smugglers.dm
+++ b/maps/away/smugglers/smugglers.dm
@@ -14,7 +14,7 @@
description = "Yarr."
suffixes = list("smugglers/smugglers.dmm")
cost = 1
- generate_mining_by_z = 1
+ level_data_type = /obj/abstract/level_data/mining_level
area_usage_test_exempted_root_areas = list(/area/smugglers)
apc_test_exempt_areas = list(
/area/smugglers/base = NO_SCRUBBER|NO_VENT,
diff --git a/maps/away/smugglers/smugglers.dmm b/maps/away/smugglers/smugglers.dmm
index f5539d4c17e..e2c7e60eb45 100644
--- a/maps/away/smugglers/smugglers.dmm
+++ b/maps/away/smugglers/smugglers.dmm
@@ -83,6 +83,7 @@
icon_state = "door_closed";
name = "Internal Airlock"
},
+/obj/machinery/atmospherics/pipe/simple/visible/black,
/turf/simulated/floor,
/area/smugglers/base)
"ar" = (
diff --git a/maps/away/unishi/unishi-3.dmm b/maps/away/unishi/unishi-3.dmm
index 5d2e981c0aa..5a1a0d149d2 100644
--- a/maps/away/unishi/unishi-3.dmm
+++ b/maps/away/unishi/unishi-3.dmm
@@ -872,9 +872,7 @@
/area/unishi/living)
"cD" = (
/obj/structure/bed/chair/padded/black,
-/obj/machinery/computer/modular/telescreen/preset/generic{
- dir = 2
- },
+/obj/machinery/computer/modular/telescreen/preset/generic,
/turf/simulated/floor/tiled,
/area/unishi/living)
"cE" = (
@@ -1274,11 +1272,11 @@
/area/unishi/living)
"dE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/item/caution,
/obj/structure/cable{
icon_state = "1-2"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/unishi/living)
"dF" = (
@@ -1961,6 +1959,12 @@
/obj/random/clothing,
/turf/simulated/floor/tiled,
/area/unishi/living)
+"yC" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/unishi/living)
"zD" = (
/obj/structure/closet/secure_closet/personal/cabinet,
/obj/random/cash,
@@ -1970,6 +1974,14 @@
/obj/random/hat,
/turf/simulated/floor/wood,
/area/unishi/living)
+"AF" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled,
+/area/unishi/living)
"AK" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
@@ -1977,6 +1989,16 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/tiled,
/area/unishi/living)
+"RG" = (
+/obj/structure/closet/crate/bin,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/unishi/living)
"Um" = (
/obj/machinery/light/small{
dir = 4
@@ -6222,9 +6244,9 @@ aO
aO
aO
aO
-aO
-aO
-aO
+aP
+aP
+aP
aO
aO
aO
@@ -6932,7 +6954,7 @@ bn
ds
bn
dE
-bn
+AF
dR
dU
dY
@@ -7549,7 +7571,7 @@ bf
dW
ea
bf
-bq
+RG
bf
es
be
@@ -7651,7 +7673,7 @@ aP
aP
aP
aP
-aP
+yC
aP
aP
aP
@@ -7854,9 +7876,9 @@ aO
aO
aO
aO
-aO
-aO
-aO
+aP
+aP
+aP
aO
aO
aO
diff --git a/maps/away_sites_testing/away_sites_testing.dm b/maps/away_sites_testing/away_sites_testing.dm
index 822221dec65..3f324d268ea 100644
--- a/maps/away_sites_testing/away_sites_testing.dm
+++ b/maps/away_sites_testing/away_sites_testing.dm
@@ -5,6 +5,7 @@
#include "../../mods/content/government/away_sites/icarus/icarus.dm"
#include "../../mods/content/government/ruins/ec_old_crash/ec_old_crash.dm"
+ #include "../../mods/content/generic_shuttles/tanker/tanker.dm"
#include "../../mods/content/corporate/away_sites/lar_maria/lar_maria.dm"
#include "../away/bearcat/bearcat.dm"
diff --git a/maps/away_sites_testing/away_sites_testing_define.dm b/maps/away_sites_testing/away_sites_testing_define.dm
index 18f0b37ffc0..a75e88dd2e7 100644
--- a/maps/away_sites_testing/away_sites_testing_define.dm
+++ b/maps/away_sites_testing/away_sites_testing_define.dm
@@ -12,11 +12,11 @@
var/list/unsorted_sites = list_values(SSmapping.get_templates_by_category(MAP_TEMPLATE_CATEGORY_AWAYSITE))
var/list/sorted_sites = sortTim(unsorted_sites, /proc/cmp_sort_templates_tallest_to_shortest)
for (var/datum/map_template/A in sorted_sites)
- A.load_new_z()
- testing("Spawning [A] in [english_list(GetConnectedZlevels(world.maxz))]")
+ A.load_new_z(centered = FALSE)
+ testing("Spawning [A] in [english_list(SSmapping.get_connected_levels(world.maxz))]")
if(A.template_flags & TEMPLATE_FLAG_TEST_DUPLICATES)
- A.load_new_z()
- testing("Spawning [A] in [english_list(GetConnectedZlevels(world.maxz))]")
+ A.load_new_z(centered = FALSE)
+ testing("Spawning [A] in [english_list(SSmapping.get_connected_levels(world.maxz))]")
/proc/cmp_sort_templates_tallest_to_shortest(var/datum/map_template/a, var/datum/map_template/b)
return b.tallness - a.tallness
diff --git a/maps/away_sites_testing/blank.dmm b/maps/away_sites_testing/blank.dmm
index 4031d6f40ec..f52568add50 100644
--- a/maps/away_sites_testing/blank.dmm
+++ b/maps/away_sites_testing/blank.dmm
@@ -12,6 +12,10 @@
/obj/abstract/landmark/latejoin,
/turf/simulated/floor/tiled,
/area/space)
+"R" = (
+/obj/abstract/level_data/player_level,
+/turf/space,
+/area/space)
(1,1,1) = {"
a
@@ -27,7 +31,7 @@ a
"}
(2,1,1) = {"
a
-a
+R
a
a
a
diff --git a/maps/example/example-1.dmm b/maps/example/example-1.dmm
index 01f93e4b6f6..f7e6c7d9ef4 100644
--- a/maps/example/example-1.dmm
+++ b/maps/example/example-1.dmm
@@ -500,7 +500,9 @@
/turf/simulated/floor/tiled/dark/monotile,
/area/example/first)
"xq" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Example First Deck";
+},
/turf/space,
/area/space)
"xR" = (
diff --git a/maps/example/example-2.dmm b/maps/example/example-2.dmm
index 1871de67fd5..bd41ffb1ab8 100644
--- a/maps/example/example-2.dmm
+++ b/maps/example/example-2.dmm
@@ -328,7 +328,9 @@
/turf/simulated/floor/tiled/steel_grid,
/area/example/second)
"ug" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Example Second Deck";
+},
/turf/space,
/area/space)
"uk" = (
diff --git a/maps/example/example-3.dmm b/maps/example/example-3.dmm
index ac8499fa29a..8cc54b16aed 100644
--- a/maps/example/example-3.dmm
+++ b/maps/example/example-3.dmm
@@ -227,7 +227,9 @@
/turf/simulated/floor,
/area/example/third)
"MO" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Example Third Deck";
+},
/turf/space,
/area/space)
"Nz" = (
diff --git a/maps/example/example_areas.dm b/maps/example/example_areas.dm
index 4850ad5ed1e..2391adc3a8d 100644
--- a/maps/example/example_areas.dm
+++ b/maps/example/example_areas.dm
@@ -1,3 +1,6 @@
+/area/example
+ holomap_color = HOLOMAP_AREACOLOR_CREW
+
/area/example/first
name = "\improper Testing Site First Floor"
icon_state = "fsmaint"
diff --git a/maps/exodus/exodus-1.dmm b/maps/exodus/exodus-1.dmm
index 0d0840ab77e..6815df4a3fa 100644
--- a/maps/exodus/exodus-1.dmm
+++ b/maps/exodus/exodus-1.dmm
@@ -5677,7 +5677,9 @@
/turf/simulated/floor/tiled/monotile,
/area/exodus/maintenance/telecomms)
"AE" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Exodus Underlevel";
+},
/turf/space,
/area/space)
"AG" = (
diff --git a/maps/exodus/exodus-2.dmm b/maps/exodus/exodus-2.dmm
index 3fafa753f2f..adcf87ecfc4 100644
--- a/maps/exodus/exodus-2.dmm
+++ b/maps/exodus/exodus-2.dmm
@@ -63398,7 +63398,9 @@
/turf/simulated/floor/tiled/steel_grid,
/area/ship/exodus_pod_mining)
"doN" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Exodus Operations Deck";
+},
/turf/space,
/area/space)
"drB" = (
diff --git a/maps/exodus/exodus-admin.dmm b/maps/exodus/exodus-admin.dmm
index 49cfb8fb2f7..9e6dcf91984 100644
--- a/maps/exodus/exodus-admin.dmm
+++ b/maps/exodus/exodus-admin.dmm
@@ -3205,7 +3205,9 @@
},
/area/tdome/tdomeadmin)
"sKA" = (
-/obj/abstract/level_data/admin_level,
+/obj/abstract/level_data/admin_level{
+ name = "Centcomm";
+},
/turf/space,
/area/space)
"sMD" = (
diff --git a/maps/exodus/exodus-transit.dmm b/maps/exodus/exodus-transit.dmm
index fd6f8c1e314..f2b410ac743 100644
--- a/maps/exodus/exodus-transit.dmm
+++ b/maps/exodus/exodus-transit.dmm
@@ -42,7 +42,9 @@
/turf/space,
/area/space)
"QP" = (
-/obj/abstract/level_data/admin_level,
+/obj/abstract/level_data/admin_level{
+ name = "Exodus Transit Level";
+},
/turf/space,
/area/space)
diff --git a/maps/exodus/exodus_areas.dm b/maps/exodus/exodus_areas.dm
index acbed92e3d3..b7bd015f601 100644
--- a/maps/exodus/exodus_areas.dm
+++ b/maps/exodus/exodus_areas.dm
@@ -12,6 +12,7 @@
/area/exodus
secure = TRUE
+ holomap_color = HOLOMAP_AREACOLOR_CREW
//COMMAND.
@@ -42,10 +43,12 @@
/area/exodus/crew_quarters/heads/chief
name = "\improper Engineering - CE's Office"
req_access = list(access_ce)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/exodus/crew_quarters/heads/hos
name = "\improper Security - HoS' Office"
req_access = list(access_hos)
+ holomap_color = HOLOMAP_AREACOLOR_SECURITY
/area/exodus/crew_quarters/heads/hop
name = "\improper Command - HoP's Office"
@@ -54,10 +57,12 @@
/area/exodus/crew_quarters/heads/hor
name = "\improper Research - RD's Office"
req_access = list(access_rd)
+ holomap_color = HOLOMAP_AREACOLOR_SCIENCE
/area/exodus/crew_quarters/heads/cmo
name = "\improper Command - CMO's Office"
req_access = list(access_cmo)
+ holomap_color = HOLOMAP_AREACOLOR_MEDICAL
//TCOMS.
@@ -157,6 +162,7 @@
icon_state = "engineering"
ambience = list('sound/ambience/ambisin1.ogg','sound/ambience/ambisin2.ogg','sound/ambience/ambisin3.ogg','sound/ambience/ambisin4.ogg')
req_access = list(access_engine)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
//Generic
/area/exodus/engineering/foyer
@@ -183,6 +189,7 @@
/area/exodus/engineering/engine_airlock
name = "\improper Engine Room Airlock"
icon_state = "engine"
+ holomap_color = HOLOMAP_AREACOLOR_AIRLOCK
/area/exodus/engineering/engine_room
name = "\improper Engine Room"
@@ -224,6 +231,7 @@
name = "\improper Engineering Construction Area"
icon_state = "yellow"
req_access = list(access_construction)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
//ATMOSPHERICS.
@@ -242,6 +250,7 @@
/area/exodus/medical
req_access = list(access_medical)
+ holomap_color = HOLOMAP_AREACOLOR_MEDICAL
//Reception and such
@@ -389,6 +398,7 @@
name = "\improper Research and Development"
icon_state = "research"
req_access = list(access_research)
+ holomap_color = HOLOMAP_AREACOLOR_SCIENCE
//Labs
@@ -456,6 +466,7 @@
/area/exodus/security
area_flags = AREA_FLAG_SECURITY
req_access = list(access_security)
+ holomap_color = HOLOMAP_AREACOLOR_SECURITY
//Lobby and such
@@ -561,6 +572,7 @@
name = "\improper Quartermasters"
icon_state = "quart"
req_access = list(access_cargo)
+ holomap_color = HOLOMAP_AREACOLOR_CARGO
/area/exodus/quartermaster/office
name = "\improper Supply Office"
@@ -607,6 +619,7 @@
name = "\improper Engineering Washroom"
icon_state = "toilet"
sound_env = SMALL_ENCLOSED
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/exodus/crew_quarters/locker
name = "\improper Locker Room"
@@ -627,9 +640,9 @@
icon_state = "fitness"
/area/exodus/library
- name = "\improper Library"
- icon_state = "library"
- sound_env = LARGE_SOFTFLOOR
+ name = "\improper Library"
+ icon_state = "library"
+ sound_env = LARGE_SOFTFLOOR
//Service and such
@@ -779,6 +792,7 @@
turf_initializer = /decl/turf_initializer/maintenance
forced_ambience = list('sound/ambience/maintambience.ogg')
req_access = list(access_maint_tunnels)
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/exodus/maintenance/atmos_control
name = "\improper Atmospherics Maintenance"
diff --git a/maps/kleibkhar/kleibkhar-1.dmm b/maps/kleibkhar/kleibkhar-1.dmm
index c1b035026b5..7fab282c973 100644
--- a/maps/kleibkhar/kleibkhar-1.dmm
+++ b/maps/kleibkhar/kleibkhar-1.dmm
@@ -337,6 +337,10 @@
},
/turf/exterior/concrete/reinforced,
/area/exoplanet/kleibkhar/mines/exits)
+"M" = (
+/obj/abstract/level_data/exoplanet/kleibkhar/underground/bottom,
+/turf/exterior/planet_edge,
+/area/exoplanet/kleibkhar/mines/depth_2)
(1,1,1) = {"
h
@@ -538,7 +542,7 @@ h
h
h
h
-h
+M
"}
(2,1,1) = {"
h
diff --git a/maps/kleibkhar/kleibkhar-2.dmm b/maps/kleibkhar/kleibkhar-2.dmm
index 80f2c107c59..430d8dc1055 100644
--- a/maps/kleibkhar/kleibkhar-2.dmm
+++ b/maps/kleibkhar/kleibkhar-2.dmm
@@ -93,6 +93,10 @@
},
/turf/exterior/concrete/reinforced,
/area/exoplanet/kleibkhar/mines/exits)
+"ao" = (
+/obj/abstract/level_data/exoplanet/kleibkhar/underground,
+/turf/exterior/planet_edge,
+/area/exoplanet/kleibkhar/mines/depth_1)
"ap" = (
/obj/machinery/light/small/emergency/cabled,
/obj/effect/decal/cleanable/dirt,
@@ -771,7 +775,7 @@ aj
aj
aj
aj
-aj
+ao
"}
(2,1,1) = {"
aj
diff --git a/maps/kleibkhar/kleibkhar-3.dmm b/maps/kleibkhar/kleibkhar-3.dmm
index 7fdb2bf6494..31f32035301 100644
--- a/maps/kleibkhar/kleibkhar-3.dmm
+++ b/maps/kleibkhar/kleibkhar-3.dmm
@@ -4128,6 +4128,10 @@
},
/turf/exterior/concrete,
/area/exoplanet/kleibkhar)
+"jQ" = (
+/obj/abstract/level_data/exoplanet/kleibkhar,
+/turf/exterior/planet_edge,
+/area/exoplanet/kleibkhar)
"ry" = (
/turf/simulated/floor/tiled/techfloor,
/area/kleibkhar/outpost/computer)
@@ -4354,7 +4358,7 @@ aq
aq
aq
aq
-aq
+jQ
"}
(2,1,1) = {"
aq
diff --git a/maps/kleibkhar/kleibkhar-4.dmm b/maps/kleibkhar/kleibkhar-4.dmm
index ec99b614a51..2cd77cc5446 100644
--- a/maps/kleibkhar/kleibkhar-4.dmm
+++ b/maps/kleibkhar/kleibkhar-4.dmm
@@ -6,11 +6,8 @@
/turf/exterior/open,
/area/exoplanet/kleibkhar/sky)
"ac" = (
-/obj/abstract/map_data{
- height = 4
- },
/obj/effect/overmap/visitable/sector/exoplanet/kleibkhar,
-/turf/exterior/open,
+/turf/exterior/planet_edge,
/area/exoplanet/kleibkhar/sky)
"ad" = (
/obj/structure/railing/mapped{
@@ -601,6 +598,16 @@
},
/turf/simulated/floor,
/area/kleibkhar/atmos_pump)
+"bn" = (
+/obj/abstract/level_data/exoplanet/kleibkhar/sky,
+/turf/exterior/planet_edge,
+/area/exoplanet/kleibkhar/sky)
+"bo" = (
+/obj/abstract/map_data{
+ height = 4
+ },
+/turf/exterior/planet_edge,
+/area/exoplanet/kleibkhar/sky)
(1,1,1) = {"
aa
@@ -801,8 +808,8 @@ aa
aa
aa
aa
-aa
-aa
+ac
+bn
"}
(2,1,1) = {"
aa
@@ -1004,7 +1011,7 @@ aa
aa
aa
aa
-aa
+bo
"}
(3,1,1) = {"
aa
@@ -2227,7 +2234,7 @@ aa
aa
aa
ab
-ac
+ab
ab
ab
ab
diff --git a/maps/kleibkhar/kleibkhar_defines.dm b/maps/kleibkhar/kleibkhar_defines.dm
index ca1fc081d5a..b74fc023cee 100644
--- a/maps/kleibkhar/kleibkhar_defines.dm
+++ b/maps/kleibkhar/kleibkhar_defines.dm
@@ -31,6 +31,7 @@
starting_money = 5000
department_money = 0
salary_modifier = 0.2
+ num_exoplanets = 0
/datum/map/kleibkhar/get_map_info()
return "Kleibkhar Independent Colony. A diverse new commercial venture on the fringe of known space."
diff --git a/maps/kleibkhar/kleibkhar_exoplanet.dm b/maps/kleibkhar/kleibkhar_exoplanet.dm
index 75eaab07715..64ea96894eb 100644
--- a/maps/kleibkhar/kleibkhar_exoplanet.dm
+++ b/maps/kleibkhar/kleibkhar_exoplanet.dm
@@ -1,7 +1,6 @@
/obj/effect/overmap/visitable/sector/exoplanet/kleibkhar
name = "\proper Kleibkhar"
desc = "A habitable border-world, home to a recent dime-a-dozen corporate colony."
- lightlevel = 1.0
daycycle = 25 MINUTES
daycycle_column_delay = 10 SECONDS
night = FALSE
@@ -29,7 +28,7 @@
megafauna_types = list(/mob/living/simple_animal/hostile/retaliate/parrot/space/megafauna, /mob/living/simple_animal/hostile/retaliate/goose/dire)
/obj/effect/overmap/visitable/sector/exoplanet/kleibkhar/Initialize(var/mapload, var/z_level)
- . = ..(mapload, global.using_map.station_levels[4])
+ . = ..()
docking_codes = "[global.using_map.dock_name]"
// Build Level workaround
@@ -49,56 +48,6 @@
generate_planet_image()
START_PROCESSING(SSobj, src)
-/obj/effect/overmap/visitable/sector/exoplanet/kleibkhar/update_daynight()
- var/light = 0.1
- if(!night)
- light = lightlevel
- for(var/turf/exterior/T in block(locate(daycolumn, TRANSITIONEDGE, max(map_z)), locate(daycolumn, maxy - TRANSITIONEDGE, max(map_z))))
- T.set_light(MINIMUM_USEFUL_LIGHT_RANGE, light)
- daycolumn++
- if(daycolumn > maxx)
- daycolumn = 0
-
-/obj/effect/overmap/visitable/sector/exoplanet/kleibkhar/generate_planet_image()
- skybox_image = image('icons/skybox/planet.dmi', "")
-
- skybox_image.overlays += get_base_image()
-
- if(water_color)
- var/image/water = image('icons/skybox/planet.dmi', "water")
- water.color = water_color
- water.appearance_flags = PIXEL_SCALE
- water.transform = water.transform.Turn(45)
- skybox_image.overlays += water
-
- if(atmosphere && atmosphere.return_pressure() > SOUND_MINIMUM_PRESSURE)
-
- var/atmo_color = get_atmosphere_color()
- if(!atmo_color)
- atmo_color = COLOR_WHITE
-
- var/image/clouds = image('icons/skybox/planet.dmi', "weak_clouds")
-
- if(water_color)
- clouds.overlays += image('icons/skybox/planet.dmi', "clouds")
-
- clouds.color = atmo_color
- skybox_image.overlays += clouds
-
- var/image/atmo = image('icons/skybox/planet.dmi', "atmoring")
- skybox_image.underlays += atmo
-
- var/image/shadow = image('icons/skybox/planet.dmi', "shadow")
- shadow.blend_mode = BLEND_MULTIPLY
- skybox_image.overlays += shadow
-
- var/image/light = image('icons/skybox/planet.dmi', "lightrim")
- skybox_image.overlays += light
-
- skybox_image.pixel_x = rand(0,64)
- skybox_image.pixel_y = rand(128,256)
- skybox_image.appearance_flags = RESET_COLOR
-
/obj/effect/overmap/visitable/sector/exoplanet/kleibkhar/generate_map()
for(var/zlevel in map_z)
var/list/edges
diff --git a/maps/kleibkhar/kleibkhar_overmap.dm b/maps/kleibkhar/kleibkhar_overmap.dm
index a3815951acf..2302026db6b 100644
--- a/maps/kleibkhar/kleibkhar_overmap.dm
+++ b/maps/kleibkhar/kleibkhar_overmap.dm
@@ -7,17 +7,12 @@
map_size_x = 50
map_size_y = 50
- var/map_file = "maps/kleibkhar/kleibkhar-overmap.dmm"
+ // var/map_file = "maps/kleibkhar/kleibkhar-overmap.dmm"
-/datum/overmap/kleibkhar/generate_overmap()
- testing("Building overmap [name]...")
- INCREMENT_WORLD_Z_SIZE
- assigned_z = world.maxz
- testing("Putting [name] on [assigned_z].")
- maploader.load_map(file(map_file), 1, 1, assigned_z)
-
- global.using_map.sealed_levels |= assigned_z
- testing("Overmap build for [name] complete.")
+// /datum/overmap/kleibkhar/generate_overmap()
+// . = ..()
+// maploader.load_map(file(map_file), 1, 1, assigned_z)
+// testing("Overmap build for [name] complete.")
/obj/effect/shuttle_landmark/supply/station
landmark_tag = "nav_cargo_station"
diff --git a/maps/kleibkhar/kleibkhar_species.dm b/maps/kleibkhar/kleibkhar_species.dm
index 66ddd8c467d..2cd56805b1c 100644
--- a/maps/kleibkhar/kleibkhar_species.dm
+++ b/maps/kleibkhar/kleibkhar_species.dm
@@ -1,23 +1,6 @@
/decl/species/unathi
spawn_flags = SPECIES_CAN_JOIN | SPECIES_NO_ROBOTIC_INTERNAL_ORGANS | SPECIES_IS_WHITELISTED
-/decl/species/vox
- spawn_flags = SPECIES_IS_WHITELISTED | SPECIES_IS_RESTRICTED
-
-/decl/species/tajaran
- spawn_flags = SPECIES_IS_WHITELISTED | SPECIES_IS_RESTRICTED
-
-/decl/species/mantid
- spawn_flags = SPECIES_IS_RESTRICTED | SPECIES_IS_WHITELISTED
-
-/decl/species/adherent
- spawn_flags = SPECIES_IS_RESTRICTED | SPECIES_IS_WHITELISTED
-
-/decl/species/human/tritonian
- spawn_flags = SPECIES_IS_RESTRICTED | SPECIES_IS_WHITELISTED
-
-/decl/species/skrell
- spawn_flags = SPECIES_IS_WHITELISTED | SPECIES_IS_RESTRICTED
-
+///Fix key collision between /decl/language/cortical and /decl/language/skrell/casteless
/decl/language/skrell/casteless
key = "m"
\ No newline at end of file
diff --git a/maps/kleibkhar/kleibkhar_zlevels.dm b/maps/kleibkhar/kleibkhar_zlevels.dm
index 0922ea386df..70051287fa1 100644
--- a/maps/kleibkhar/kleibkhar_zlevels.dm
+++ b/maps/kleibkhar/kleibkhar_zlevels.dm
@@ -1,11 +1,5 @@
/datum/map/kleibkhar
#ifndef UNIT_TEST
- station_levels = list(1, 2, 3, 4)
- contact_levels = list(1, 2, 3, 4)
- player_levels = list(1, 2, 3, 4)
- saved_levels = list(3, 4)
- mining_levels = list(1, 2)
-
// Hotloading module
default_levels = list(
"1" = "maps/kleibkhar/kleibkhar-1.dmm",
@@ -15,21 +9,7 @@
"5" = "maps/utility/cargo_shuttle_tmpl.dmm",
)
- // A list of turfs and their default turfs for serialization optimization.
- base_turf_by_z = list(
- "1" = /turf/exterior/barren/mining,
- "2" = /turf/exterior/barren/mining,
- "3" = /turf/exterior/kleibkhar_grass,
- "4" = /turf/exterior/open,
- "5" = /turf/space,
- )
#else
- station_levels = list(4, 5, 6, 7)
- contact_levels = list(4, 5, 6, 7)
- player_levels = list(4, 5, 6, 7)
- saved_levels = list(6, 7)
- mining_levels = list(4, 5)
-
default_levels = list(
"4" = "maps/kleibkhar/kleibkhar-1.dmm",
"5" = "maps/kleibkhar/kleibkhar-2.dmm",
@@ -37,13 +17,26 @@
"7" = "maps/kleibkhar/kleibkhar-4.dmm",
"8" = "maps/utility/cargo_shuttle_tmpl.dmm",
)
+#endif
- // A list of turfs and their default turfs for serialization optimization.
- base_turf_by_z = list(
- "4" = /turf/exterior/barren/mining,
- "5" = /turf/exterior/barren/mining,
- "6" = /turf/exterior/kleibkhar_grass,
- "7" = /turf/exterior/open,
- "8" = /turf/space,
+/obj/abstract/level_data/exoplanet/kleibkhar
+ level_flags = (ZLEVEL_CONTACT|ZLEVEL_PLAYER|ZLEVEL_SAVED)
+ ambient_light_level = 1.0
+ base_turf = /turf/exterior/kleibkhar_grass
+ exterior_atmosphere = list(
+ /decl/material/gas/oxygen = MOLES_O2STANDARD,
+ /decl/material/gas/nitrogen = MOLES_N2STANDARD
)
-#endif
\ No newline at end of file
+
+/obj/abstract/level_data/exoplanet/kleibkhar/sky
+ ambient_light_level = 1.0
+ base_turf = /turf/exterior/open
+
+/obj/abstract/level_data/exoplanet/kleibkhar/underground
+ level_flags = (ZLEVEL_CONTACT|ZLEVEL_PLAYER|ZLEVEL_MINING)
+ ambient_light_level = 0.1
+ base_turf = /turf/exterior/barren/mining
+
+/obj/abstract/level_data/exoplanet/kleibkhar/underground/bottom
+ ambient_light_level = 0.0
+ base_turf = /turf/exterior/barren/mining
\ No newline at end of file
diff --git a/maps/ministation/ministation.dmm b/maps/ministation/ministation.dmm
index ecd5be3df5b..7771ca36273 100644
--- a/maps/ministation/ministation.dmm
+++ b/maps/ministation/ministation.dmm
@@ -635,33 +635,19 @@
},
/turf/simulated/floor/carpet/blue,
/area/ministation/bridge)
-"bJ" = (
-/obj/machinery/atmospherics/pipe/simple/visible/black{
- dir = 4
- },
-/obj/machinery/meter,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
"bK" = (
/obj/machinery/alarm{
dir = 4;
pixel_x = -23
},
/obj/machinery/keycard_auth{
- dir = 1
+ pixel_y = -24
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 5
},
/turf/simulated/floor/tiled,
/area/ministation/bridge)
-"bL" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 4
- },
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
"bM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -694,7 +680,7 @@
/area/ministation/bridge)
"bQ" = (
/obj/machinery/keycard_auth{
- dir = 1
+ pixel_y = -24
},
/obj/machinery/light{
dir = 4;
@@ -818,6 +804,12 @@
/obj/item/storage/ore,
/turf/simulated/floor/airless,
/area/space)
+"cf" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"cg" = (
/obj/machinery/light{
dir = 8
@@ -880,7 +872,9 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
"cs" = (
@@ -939,7 +933,20 @@
/turf/simulated/wall,
/area/ministation/cargo)
"cA" = (
-/obj/machinery/door/airlock/external/glass,
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "mining_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "cargo_airlock";
+ name = "interior access button";
+ pixel_x = 20;
+ pixel_y = -10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
/area/ministation/cargo)
"cB" = (
@@ -947,6 +954,9 @@
icon_state = "4-8"
},
/obj/random/trash,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"cC" = (
@@ -994,24 +1004,14 @@
/obj/random/trash,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
-"cI" = (
-/obj/machinery/door/firedoor{
- dir = 8
- },
-/obj/machinery/camera/network/engineering,
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
"cJ" = (
/turf/simulated/floor/plating,
/area/ministation/maint/ne)
"cK" = (
-/obj/machinery/door/airlock/external/glass{
- autoset_access = 0;
- name = "External Airlock Hatch";
- req_access = list("ACCESS_EXTERNAL")
- },
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/plating,
-/area/ministation/maint/ne)
+/area/ministation/ai_sat)
"cL" = (
/obj/effect/wallframe_spawn/reinforced,
/turf/simulated/floor/plating,
@@ -1058,6 +1058,9 @@
/obj/machinery/light/small{
dir = 8
},
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "mining_vent"
+ },
/turf/simulated/floor/plating,
/area/ministation/cargo)
"cU" = (
@@ -1345,22 +1348,39 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/nw)
-"dM" = (
-/obj/structure/sign/warning/radioactive{
- dir = 4
+"dL" = (
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 0;
+ id_tag = "sat1_airlock";
+ pixel_y = 24;
+ tag_airpump = "sat1_vent";
+ tag_chamber_sensor = "sat1_sensor";
+ tag_exterior_door = "sat1_airlock_exterior";
+ tag_interior_door = "sat1_airlock_interior"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "sat1_vent"
},
-/turf/simulated/wall/r_wall/prepainted,
-/area/ministation/engine)
+/obj/machinery/airlock_sensor{
+ id_tag = "sat1_sensor";
+ pixel_y = 20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"dN" = (
/obj/structure/cable{
icon_state = "4-8"
},
/obj/machinery/door/airlock/hatch/maintenance,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/nw)
"dO" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
},
/turf/simulated/floor/plating,
/area/ministation/maint/w)
@@ -1414,6 +1434,11 @@
/obj/structure/cable,
/turf/simulated/floor/plating,
/area/ministation/maint/sec)
+"dW" = (
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
"dX" = (
/obj/machinery/papershredder,
/turf/simulated/floor/tiled,
@@ -1429,6 +1454,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/security)
+"ea" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 2
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"eb" = (
/obj/structure/cable,
/obj/structure/cable{
@@ -1501,13 +1533,6 @@
},
/turf/simulated/floor,
/area/ministation/science)
-"ei" = (
-/obj/machinery/door/airlock/external/shuttle{
- autoset_access = 0;
- name = "Arrivals Shuttle Airlock"
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"ej" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled,
@@ -1515,6 +1540,9 @@
"ek" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/effect/decal/cleanable/blood/oil,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"el" = (
@@ -1545,8 +1573,8 @@
/turf/simulated/floor/plating,
/area/ministation/hall/s)
"eq" = (
-/obj/machinery/atmospherics/pipe/simple/visible{
- dir = 6
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200
},
/turf/simulated/floor/plating,
/area/ministation/maint/w)
@@ -1602,6 +1630,15 @@
},
/turf/simulated/wall/r_wall,
/area/ministation/security)
+"ex" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"ez" = (
/obj/structure/bed,
/turf/simulated/floor,
@@ -1611,6 +1648,10 @@
/obj/machinery/faxmachine,
/turf/simulated/floor/tiled,
/area/ministation/court)
+"eC" = (
+/obj/machinery/door/airlock/hatch/maintenance,
+/turf/simulated/floor/plating,
+/area/ministation/court)
"eD" = (
/obj/machinery/light{
dir = 4;
@@ -1629,6 +1670,7 @@
dir = 4;
pixel_x = -22
},
+/obj/vehicle/train/cargo/engine,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"eF" = (
@@ -1644,6 +1686,23 @@
},
/turf/simulated/floor/tiled,
/area/ministation/cargo)
+"eJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/wall/r_wall,
+/area/ministation/ai_sat)
+"eK" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 1;
+ id_tag = "stern_engineering_vent"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/engine)
"eL" = (
/obj/machinery/light{
dir = 1
@@ -1669,6 +1728,15 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"eP" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
"eQ" = (
/obj/machinery/door/airlock/hatch/maintenance,
/obj/structure/cable{
@@ -1773,7 +1841,7 @@
dir = 8
},
/turf/simulated/floor/tiled,
-/area/ministation/court)
+/area/ministation/disused_office)
"fb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -1870,6 +1938,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"fo" = (
@@ -1892,6 +1961,11 @@
/obj/machinery/status_display/supply_display{
pixel_y = -32
},
+/obj/machinery/atmospherics/portables_connector{
+ pixel_x = -3;
+ dir = 4
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"fr" = (
@@ -1993,6 +2067,15 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"fB" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"fC" = (
/obj/machinery/power/apc{
areastring = null;
@@ -2025,6 +2108,14 @@
},
/turf/simulated/floor/tiled,
/area/ministation/cargo)
+"fG" = (
+/obj/machinery/door/airlock/glass/command{
+ autoset_access = 0;
+ name = "Telecommunications glass airlock";
+ req_access = list("ACCESS_TELECOMS")
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"fH" = (
/obj/effect/floor_decal/industrial/warning{
dir = 9
@@ -2035,27 +2126,23 @@
/turf/simulated/floor/tiled,
/area/ministation/security)
"fI" = (
-/obj/machinery/door/airlock/glass/security{
- autoset_access = 0;
- name = "Brig Access Airlock";
- req_access = list(list("ACCESS_SECURITY","ACCESS_LAWYER"))
- },
-/obj/machinery/door/firedoor{
- dir = 8
- },
-/turf/simulated/floor/tiled,
-/area/ministation/security)
-"fJ" = (
/obj/machinery/door/firedoor{
dir = 8
},
/obj/machinery/door/airlock/glass/security{
- autoset_access = 0;
name = "Brig Access Airlock";
- req_access = list(list("ACCESS_SECURITY","ACCESS_LAWYER"))
+ req_access = list(list("ACCESS_SECURITY","ACCESS_LAWYER"));
+ autoset_access = 0
},
/turf/simulated/floor/tiled,
-/area/ministation/security)
+/area/ministation/court)
+"fJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"fK" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -2268,11 +2355,17 @@
"gk" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"gl" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"go" = (
@@ -2295,6 +2388,12 @@
/obj/machinery/fabricator,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
+"gr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"gs" = (
/obj/abstract/landmark/start{
name = "Cargo Technician"
@@ -2353,6 +2452,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"gA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"gB" = (
/obj/machinery/door/airlock/glass/command{
autoset_access = 0;
@@ -2473,7 +2579,6 @@
/obj/machinery/door/firedoor{
dir = 8
},
-/obj/machinery/door/airlock/glass/mining,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"gP" = (
@@ -2506,6 +2611,25 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"gU" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "pqm_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "pqm_airlock";
+ name = "interior access button";
+ pixel_x = 10;
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
"gV" = (
/obj/machinery/light/small{
dir = 8
@@ -2520,12 +2644,6 @@
/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/ministation/security)
-"gY" = (
-/obj/structure/sign/warning/radioactive{
- dir = 8
- },
-/turf/simulated/wall,
-/area/ministation/engine)
"ha" = (
/obj/machinery/firealarm{
dir = 8;
@@ -2569,9 +2687,12 @@
/turf/simulated/floor/tiled,
/area/ministation/security)
"he" = (
-/obj/effect/wallframe_spawn/reinforced,
-/turf/simulated/floor/plating,
-/area/ministation/hall/n)
+/obj/machinery/door/airlock/glass,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled,
+/area/ministation/disused)
"hf" = (
/obj/structure/table,
/obj/item/wrench,
@@ -2592,6 +2713,15 @@
/obj/structure/closet/l3closet/scientist,
/turf/simulated/floor/tiled/white,
/area/ministation/science)
+"hi" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"hj" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -2617,7 +2747,10 @@
/turf/simulated/floor/tiled/dark,
/area/ministation/science)
"ho" = (
-/obj/vehicle/train/cargo/engine,
+/obj/machinery/atmospherics/portables_connector{
+ pixel_x = -3
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"hp" = (
@@ -2636,10 +2769,10 @@
pixel_y = -32
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/turf/simulated/floor/tiled,
@@ -2652,10 +2785,6 @@
dir = 8
},
/obj/effect/floor_decal/corner/paleblue/full,
-/obj/machinery/door/airlock/medical{
- id_tag = "medleave";
- name = "medbay airlock"
- },
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
"hs" = (
@@ -2735,13 +2864,6 @@
},
/turf/simulated/floor/tiled,
/area/ministation/security)
-"hy" = (
-/obj/machinery/atmospherics/binary/circulator{
- anchored = 1;
- dir = 1
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
"hz" = (
/obj/structure/extinguisher_cabinet{
pixel_x = 27
@@ -2766,7 +2888,7 @@
/area/ministation/detective)
"hC" = (
/obj/structure/table/woodentable,
-/obj/item/camera/detective,
+/obj/item/camera,
/obj/machinery/atmospherics/unary/vent_pump/on,
/obj/item/taperecorder,
/obj/item/folder/yellow,
@@ -2779,6 +2901,13 @@
},
/turf/simulated/floor/carpet/red,
/area/ministation/detective)
+"hE" = (
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"hF" = (
/obj/machinery/button/blast_door{
id_tag = "scishut";
@@ -2888,8 +3017,12 @@
pixel_y = 30
},
/obj/machinery/door/airlock/external/bolted{
- id_tag = "cargo_bay_door";
- name = "Cargo Docking Airlock"
+ id_tag = "cargo_airlock_interior";
+ name = "Cargo Docking Airlock";
+ autoset_access = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
},
/turf/simulated/floor/plating,
/area/ministation/cargo)
@@ -2897,11 +3030,18 @@
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"hR" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 8
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"hS" = (
@@ -2909,6 +3049,9 @@
/obj/structure/closet/crate,
/obj/item/stack/material/ore/slag,
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"hT" = (
@@ -2918,6 +3061,9 @@
/obj/machinery/camera/network/mining{
dir = 8
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"hU" = (
@@ -3008,9 +3154,13 @@
/turf/simulated/floor/carpet/red,
/area/ministation/detective)
"ie" = (
-/obj/effect/floor_decal/industrial/loading,
-/turf/simulated/floor/reinforced/airless,
-/area/ministation/engine)
+/obj/machinery/door/airlock/external/bolted{
+ id_tag = "cargo_airlock_exterior";
+ name = "Cargo Docking Airlock";
+ autoset_access = 0
+ },
+/turf/simulated/floor/plating,
+/area/ministation/cargo)
"if" = (
/obj/machinery/door/window/eastright,
/obj/machinery/door/blast/shutters/open{
@@ -3293,6 +3443,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 8
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"iV" = (
@@ -3300,6 +3454,9 @@
/obj/structure/closet/crate,
/obj/item/stack/material/ore/glass,
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"iW" = (
@@ -3309,13 +3466,16 @@
},
/obj/structure/closet/crate,
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"iX" = (
/turf/simulated/wall,
/area/ministation/commons)
"iY" = (
-/obj/machinery/door/window/eastright,
+/obj/machinery/door/airlock/double/glass/civilian,
/turf/simulated/floor/tiled,
/area/ministation/commons)
"iZ" = (
@@ -3347,6 +3507,10 @@
},
/turf/simulated/floor/tiled,
/area/ministation/security)
+"jc" = (
+/obj/effect/shuttle_landmark/escape_shuttle/station,
+/turf/space,
+/area/space)
"jd" = (
/obj/machinery/computer/station_alert/security{
dir = 8
@@ -3642,25 +3806,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/wood,
/area/ministation/detective)
-"jM" = (
-/obj/machinery/door/airlock/hatch{
- id_tag = "engine_access_hatch";
- locked = 1
- },
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/ministation/engine)
-"jN" = (
-/obj/machinery/door/firedoor{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 4
- },
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
"jO" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -3718,25 +3863,39 @@
pixel_y = -30
},
/obj/machinery/door/airlock/external/bolted{
- id_tag = "cargo_bay_door";
- name = "Cargo Docking Airlock"
+ id_tag = "cargo_airlock_interior";
+ name = "Cargo Docking Airlock";
+ autoset_access = 0
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
},
/turf/simulated/floor/plating,
/area/ministation/cargo)
"jV" = (
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/light,
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 8
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"jW" = (
/obj/structure/closet/crate,
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"jX" = (
/obj/structure/closet/crate,
/obj/item/stack/material/ore/iron,
/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"jY" = (
@@ -3848,6 +4007,13 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/detective)
+"km" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"kn" = (
/obj/effect/floor_decal/industrial/warning{
dir = 9
@@ -3998,6 +4164,17 @@
/obj/machinery/light,
/turf/simulated/floor/tiled,
/area/ministation/commons)
+"kG" = (
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"kH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"kI" = (
/obj/abstract/landmark/start{
name = "Assistant"
@@ -4032,7 +4209,6 @@
/turf/simulated/floor/tiled,
/area/ministation/commons)
"kK" = (
-/obj/machinery/door/window/eastleft,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
@@ -4143,10 +4319,12 @@
/turf/simulated/floor/tiled/white,
/area/ministation/science)
"kX" = (
-/obj/structure/table/reinforced,
-/obj/item/storage/toolbox/emergency,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/abstract/landmark{
+ name = "Observer-Start"
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"kY" = (
/obj/structure/closet,
/obj/item/clothing/mask/gas/clown_hat,
@@ -4166,7 +4344,10 @@
/turf/simulated/floor/plating,
/area/ministation/hall/w)
"lb" = (
-/obj/structure/reagent_dispensers/watertank,
+/obj/machinery/atmospherics/portables_connector{
+ pixel_x = -3
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"lc" = (
@@ -4179,14 +4360,14 @@
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"ld" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
/obj/random/trash,
/obj/random/trash,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"le" = (
@@ -4256,8 +4437,8 @@
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
"ln" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"lo" = (
@@ -4302,16 +4483,6 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
-"lu" = (
-/obj/machinery/door/airlock/hatch{
- id_tag = "engine_access_hatch";
- locked = 1
- },
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/ministation/engine)
"lv" = (
/obj/structure/closet/emcloset,
/obj/effect/floor_decal/industrial/warning{
@@ -4429,20 +4600,46 @@
dir = 1
},
/obj/structure/closet/crate/bin/ministation,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"lL" = (
/obj/machinery/vending/snack,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"lM" = (
/obj/machinery/vending/cola,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"lN" = (
/obj/machinery/space_heater,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
+"lO" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sat1_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sat1_airlock";
+ name = "exterior access button";
+ pixel_x = -10;
+ pixel_y = 20;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"lP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -4466,6 +4663,12 @@
/obj/random/gloves,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
+"lS" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"lT" = (
/obj/machinery/firealarm{
dir = 8;
@@ -4508,6 +4711,7 @@
/turf/simulated/floor/tiled,
/area/ministation/commons)
"lY" = (
+/obj/structure/closet/wardrobe/mixed,
/turf/simulated/floor/tiled,
/area/ministation/commons)
"lZ" = (
@@ -4593,17 +4797,10 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
-"ml" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/binary/pump,
-/obj/effect/engine_setup/pump_max,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
"mo" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"mp" = (
@@ -4738,9 +4935,11 @@
/turf/simulated/floor/tiled/white,
/area/ministation/science)
"mI" = (
-/obj/machinery/door/airlock,
-/turf/simulated/floor,
-/area/ministation/science)
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 2
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"mJ" = (
/turf/simulated/floor/reinforced,
/area/ministation/science)
@@ -4760,20 +4959,14 @@
/obj/machinery/suit_cycler/ministation,
/turf/simulated/floor/tiled,
/area/ministation/eva)
-"mN" = (
-/obj/machinery/door/airlock/external/escapepod{
- id_tag = "escape_pod_1_berth_hatch";
- name = "Escape Shuttle Docking Airlock"
- },
-/turf/simulated/floor/plating,
-/area/ministation/hall/w)
"mO" = (
+/obj/abstract/landmark/latejoin,
/turf/simulated/floor/plating,
/area/ministation/hall/w)
"mP" = (
-/obj/machinery/door/airlock/external/glass{
- autoset_access = 0;
- name = "Dock Airlock"
+/obj/machinery/door/airlock/external{
+ name = "Arrival Airlock";
+ autoset_access = 0
},
/turf/simulated/floor/plating,
/area/ministation/hall/w)
@@ -4785,11 +4978,26 @@
/obj/effect/floor_decal/industrial/loading{
dir = 8
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"mS" = (
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
+"mV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"mW" = (
+/obj/effect/floor_decal/corner/beige{
+ dir = 5
+ },
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"mY" = (
/obj/machinery/atmospherics/portables_connector{
dir = 8
@@ -4798,7 +5006,7 @@
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"mZ" = (
-/obj/item/twohanded/spear,
+/obj/machinery/network/relay,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"na" = (
@@ -5029,13 +5237,17 @@
},
/obj/item/clothing/glasses/meson,
/obj/item/flashlight,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"nF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/obj/random/trash,
+/obj/structure/reagent_dispensers/watertank,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"nI" = (
@@ -5230,12 +5442,14 @@
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
-/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod_berth{
+/obj/machinery/embedded_controller/radio/airlock/docking_port{
dir = 4;
- frequency = null;
- id_tag = "escape_pod_1_berth";
- pixel_x = -30;
- tag_door = "escape_pod_1_berth_hatch"
+ id_tag = "station1";
+ tag_airpump = "escape1_vent";
+ tag_chamber_sensor = "escape1_sensor";
+ tag_exterior_door = "escape1_airlock_exterior";
+ tag_interior_door = "escape1_airlock_interior";
+ pixel_x = -20
},
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
@@ -5287,12 +5501,10 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"on" = (
@@ -5440,6 +5652,9 @@
/obj/structure/extinguisher_cabinet{
pixel_x = 27
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"oK" = (
@@ -5447,6 +5662,10 @@
dir = 4;
pixel_x = -22
},
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 8
+ },
/turf/simulated/floor/plating,
/area/ministation/hall/w)
"oL" = (
@@ -5460,6 +5679,9 @@
dir = 8;
pixel_x = 24
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
/turf/simulated/floor/plating,
/area/ministation/janitor)
"oN" = (
@@ -5579,6 +5801,9 @@
/obj/machinery/light{
dir = 4
},
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 8
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"pi" = (
@@ -5590,6 +5815,9 @@
/obj/structure/cable{
icon_state = "0-4"
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/hall/w)
"pj" = (
@@ -5600,6 +5828,10 @@
icon_state = "1-4"
},
/obj/machinery/light/small,
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"pk" = (
@@ -5655,6 +5887,13 @@
/obj/item/grenade/chem_grenade/cleaner,
/turf/simulated/floor/tiled,
/area/ministation/janitor)
+"pp" = (
+/obj/effect/decal/cleanable/blood/oil,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/ne)
"pq" = (
/obj/machinery/atmospherics/portables_connector{
dir = 1
@@ -6053,6 +6292,13 @@
/obj/effect/wallframe_spawn/no_grille,
/turf/simulated/floor/tiled,
/area/ministation/eva)
+"qj" = (
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"qk" = (
/turf/simulated/wall,
/area/ministation/hall/e)
@@ -6109,9 +6355,10 @@
dir = 8
},
/obj/effect/floor_decal/corner/paleblue/full,
-/obj/machinery/door/airlock/medical{
- id_tag = "medleave";
- name = "medbay airlock"
+/obj/machinery/door/airlock/double/medical{
+ name = "medbay airlock";
+ autoset_access = 0;
+ id_tag = "medleave"
},
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
@@ -6479,6 +6726,9 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 2
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"rr" = (
@@ -6577,6 +6827,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/eva)
+"rE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"rF" = (
/obj/item/soap{
icon_state = "soap-oval"
@@ -6706,6 +6963,9 @@
"rW" = (
/obj/machinery/light,
/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"rX" = (
@@ -6713,6 +6973,9 @@
dir = 1;
pixel_y = -22
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
"rY" = (
@@ -6799,9 +7062,9 @@
id_tag = "quarantine";
name = "quarantine shutters"
},
-/obj/machinery/door/airlock/medical{
- autoset_access = 0;
- name = "Medbay Lobby airlock"
+/obj/machinery/door/airlock/double/medical{
+ name = "Medbay Lobby airlock";
+ autoset_access = 0
},
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
@@ -6813,10 +7076,6 @@
id_tag = "quarantine";
name = "quarantine shutters"
},
-/obj/machinery/door/airlock/medical{
- autoset_access = 0;
- name = "Medbay Lobby airlock"
- },
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
"sk" = (
@@ -6942,16 +7201,6 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/e)
-"sE" = (
-/obj/machinery/emitter{
- anchored = 1;
- id_tag = "EngineEmitter";
- state = 2
- },
-/obj/structure/cable,
-/obj/machinery/power/terminal,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
"sF" = (
/obj/machinery/light{
dir = 1
@@ -7782,13 +8031,6 @@
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
-"uG" = (
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/door/airlock/engineering,
-/turf/simulated/floor/tiled,
-/area/ministation/hall/s)
"uI" = (
/turf/simulated/wall/r_wall,
/area/ministation/hop)
@@ -8122,6 +8364,9 @@
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
"vI" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
/obj/machinery/computer/modular/preset/engineering{
dir = 8
},
@@ -8309,6 +8554,18 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"wf" = (
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "_North APC";
+ pixel_y = 24
+ },
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"wh" = (
/obj/machinery/door/firedoor{
dir = 8
@@ -9090,6 +9347,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/structure/closet/wardrobe/mixed,
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
"yg" = (
@@ -9110,16 +9368,6 @@
},
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
-"yi" = (
-/turf/simulated/shuttle/wall,
-/area/ministation/arrival_shuttle)
-"yj" = (
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"yk" = (
-/obj/structure/shuttle/window,
-/turf/simulated/floor/shuttle/black,
-/area/ministation/arrival_shuttle)
"yl" = (
/obj/structure/displaycase,
/obj/item/clothing/mask/gas/owl_mask{
@@ -9327,51 +9575,37 @@
},
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
-"yL" = (
-/obj/machinery/light{
- dir = 8
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"yM" = (
-/obj/machinery/computer/arcade/battle,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"yN" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"yO" = (
-/obj/structure/sign/warning/radioactive{
- dir = 4
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
},
-/turf/simulated/wall,
-/area/ministation/engine)
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
+"yP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5;
+ pixel_x = 2;
+ pixel_y = 1
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"yQ" = (
/obj/structure/cable{
icon_state = "1-4"
},
/turf/simulated/floor/airless,
/area/space)
-"yR" = (
-/obj/machinery/computer/cryopod{
- dir = 2
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"yS" = (
-/obj/machinery/light{
- dir = 4
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"yT" = (
-/obj/structure/shuttle/engine/propulsion{
- dir = 8
+/obj/abstract/landmark{
+ name = "bluespace_a"
},
-/turf/simulated/floor/airless,
-/area/ministation/arrival_shuttle)
+/turf/space,
+/area/space)
"yU" = (
/obj/machinery/alarm{
dir = 4;
@@ -9485,6 +9719,12 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/wood,
/area/ministation/cafe)
+"zg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"zh" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/civilian{
@@ -9517,35 +9757,6 @@
/obj/effect/wallframe_spawn/reinforced,
/turf/simulated/floor/plating,
/area/ministation/hydro)
-"zl" = (
-/obj/structure/table/reinforced,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"zm" = (
-/obj/structure/bed/chair/shuttle/white{
- dir = 8
- },
-/obj/machinery/light{
- dir = 4
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"zo" = (
-/obj/structure/bed/chair/shuttle/white{
- dir = 8
- },
-/obj/abstract/landmark/latejoin,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"zp" = (
-/obj/structure/shuttle/engine/heater{
- dir = 4
- },
-/obj/structure/window/borosilicate_reinforced{
- dir = 8
- },
-/turf/simulated/floor/airless,
-/area/ministation/arrival_shuttle)
"zq" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -9713,22 +9924,11 @@
"zQ" = (
/turf/simulated/wall,
/area/ministation/hydro)
-"zR" = (
-/obj/machinery/computer/modular/preset/civilian{
- dir = 4
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"zS" = (
-/obj/abstract/landmark{
- name = "Observer-Start"
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"zT" = (
/obj/structure/cable{
icon_state = "1-2"
},
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"zU" = (
@@ -9795,16 +9995,17 @@
},
/area/ministation/telecomms)
"Ad" = (
-/obj/effect/wallframe_spawn/reinforced,
-/obj/machinery/door/blast/regular{
- density = 0;
- dir = 2;
- icon_state = "pdoor0";
- id_tag = "EngineBlast";
- name = "Engine Monitoring Room Blast Doors";
- opacity = 0
+/obj/structure/rack{
+ dir = 8
},
-/turf/simulated/floor/plating,
+/obj/item/storage/belt/utility,
+/obj/item/wrench,
+/obj/item/weldingtool,
+/obj/item/clothing/head/welding,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ae" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -9908,8 +10109,17 @@
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"Aq" = (
-/obj/structure/sign/warning/secure_area,
-/turf/simulated/wall,
+/obj/structure/rack{
+ dir = 8
+ },
+/obj/item/storage/belt/utility,
+/obj/item/wrench,
+/obj/item/weldingtool,
+/obj/item/clothing/head/welding/engie,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ar" = (
/obj/structure/lattice,
@@ -9919,6 +10129,11 @@
/obj/machinery/atmospherics/pipe/simple/visible,
/turf/space,
/area/space)
+"As" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"At" = (
/obj/structure/extinguisher_cabinet{
pixel_x = -27
@@ -10028,6 +10243,26 @@
temperature = 263
},
/area/ministation/telecomms)
+"AN" = (
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 0;
+ id_tag = "pfm_airlock";
+ pixel_y = 24;
+ tag_airpump = "pfm_vent";
+ tag_chamber_sensor = "pfm_sensor";
+ tag_exterior_door = "pfm_airlock_exterior";
+ tag_interior_door = "pfm_airlock_interior"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "pfm_vent"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "pfm_sensor";
+ pixel_y = 20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
"AO" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/hatch/maintenance,
@@ -10119,9 +10354,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
- },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/plating,
/area/ministation/maint/se)
"AZ" = (
@@ -10133,8 +10366,21 @@
/obj/structure/cable{
icon_state = "0-8"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/cafe)
+"Ba" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"Bb" = (
/turf/simulated/floor/plating,
/area/ministation/maint/se)
@@ -10142,6 +10388,9 @@
/obj/structure/cable{
icon_state = "2-4"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"Bd" = (
@@ -10151,6 +10400,9 @@
/obj/machinery/light/small{
dir = 1
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"Bf" = (
@@ -10163,15 +10415,6 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
-"Bg" = (
-/obj/effect/floor_decal/corner/yellow{
- dir = 6
- },
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
"Bh" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 6
@@ -10190,6 +10433,17 @@
},
/turf/simulated/wall/r_wall,
/area/ministation/ai_sat)
+"Bj" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "escape3_sensor";
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "escape1_vent"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/hall/w)
"Bl" = (
/obj/structure/rack,
/obj/item/beartrap,
@@ -10200,7 +10454,18 @@
/obj/machinery/door/airlock/external/glass{
autoset_access = 0;
name = "External Airlock Hatch";
- req_access = list("ACCESS_EXTERNAL")
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sqm_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sqm_airlock";
+ name = "interior access button";
+ pixel_x = -10;
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
},
/turf/simulated/floor/plating,
/area/ministation/maint/se)
@@ -10282,16 +10547,27 @@
/obj/item/flashlight/lamp,
/turf/simulated/floor/holofloor/lino,
/area/ministation/telecomms)
+"Bz" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sat2_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sat2_airlock";
+ name = "exterior access button";
+ pixel_x = -10;
+ pixel_y = 20;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"BA" = (
/obj/effect/wallframe_spawn/reinforced,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
-"BB" = (
-/obj/machinery/atmospherics/pipe/simple/visible/black{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/ministation/engine)
"BC" = (
/obj/effect/floor_decal/industrial/warning{
dir = 4
@@ -10338,10 +10614,10 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/door/airlock,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/door/airlock/double,
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
"BJ" = (
@@ -10374,6 +10650,12 @@
/obj/effect/wallframe_spawn/reinforced,
/turf/simulated/floor/plating,
/area/ministation/maint/se)
+"BN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"BO" = (
/obj/machinery/meter,
/obj/machinery/atmospherics/pipe/simple/visible{
@@ -10480,6 +10762,23 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/holofloor/lino,
/area/ministation/telecomms)
+"Ca" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sqm_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sqm_airlock";
+ name = "exterior access button";
+ pixel_x = 10;
+ pixel_y = 20;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/se)
"Cb" = (
/obj/machinery/alarm{
pixel_y = 20
@@ -10572,6 +10871,10 @@
},
/turf/simulated/floor/holofloor/lino,
/area/ministation/telecomms)
+"Cm" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"Cn" = (
/turf/simulated/wall,
/area/ministation/atmospherics)
@@ -10757,6 +11060,7 @@
icon_state = "1-2"
},
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"CO" = (
@@ -10858,20 +11162,25 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
+"Da" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
+"Db" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"Dc" = (
/obj/machinery/newscaster{
pixel_y = 32
},
/obj/structure/table,
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
-"Dd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/floor_decal/industrial/radiation{
- dir = 8
- },
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
+/area/ministation/disused_office)
"De" = (
/obj/structure/table,
/obj/item/multitool,
@@ -10924,6 +11233,14 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"Dj" = (
+/obj/random/trash,
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -22
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Dk" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/camera/autoname{
@@ -11031,7 +11348,16 @@
/obj/machinery/door/airlock/external/glass{
autoset_access = 0;
name = "External Airlock Hatch";
- req_access = list("ACCESS_EXTERNAL")
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "pqm_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "pqm_airlock";
+ name = "exterior access button";
+ pixel_x = -10;
+ pixel_y = 20;
+ command = "cycle_exterior"
},
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
@@ -11045,6 +11371,9 @@
/obj/structure/cable{
icon_state = "2-8"
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"Dw" = (
@@ -11061,12 +11390,6 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
-/obj/effect/floor_decal/corner/yellow{
- dir = 10
- },
-/obj/structure/sign/warning/engineering_access{
- pixel_y = -32
- },
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
"Dy" = (
@@ -11079,11 +11402,15 @@
/obj/structure/cable{
icon_state = "2-8"
},
-/obj/effect/floor_decal/corner/yellow{
- dir = 10
- },
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"DA" = (
+/obj/item/radio/intercom{
+ dir = 1;
+ pixel_y = -32
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"DC" = (
/turf/simulated/floor/tiled,
/area/ministation/engine)
@@ -11101,14 +11428,34 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 6
},
-/turf/simulated/wall/r_wall,
+/turf/simulated/wall,
/area/ministation/engine)
"DG" = (
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1"
+ },
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4
},
-/turf/simulated/wall/r_wall,
+/obj/effect/floor_decal/corner/yellow{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"DH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
+"DI" = (
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
"DJ" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -11300,7 +11647,6 @@
name = "Engineering RC";
pixel_y = 30
},
-/obj/structure/reagent_dispensers/fueltank,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"DZ" = (
@@ -11337,6 +11683,9 @@
/obj/structure/cable{
icon_state = "0-8"
},
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/obj/effect/floor_decal/industrial/warning{
dir = 1
},
@@ -11463,13 +11812,7 @@
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ev" = (
-/obj/structure/rack{
- dir = 8
- },
-/obj/item/storage/belt/utility,
-/obj/item/wrench,
-/obj/item/weldingtool,
-/obj/item/clothing/head/welding/engie,
+/obj/structure/cable,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ew" = (
@@ -11610,10 +11953,6 @@
/obj/structure/sign/warning/engineering_access{
pixel_y = -32
},
-/obj/machinery/light{
- dir = 8;
- icon_state = "tube1"
- },
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
"EU" = (
@@ -11654,8 +11993,6 @@
dir = 8;
icon_state = "tube1"
},
-/obj/machinery/atmospherics/portables_connector,
-/obj/effect/engine_setup/coolant_canister,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"EY" = (
@@ -11712,7 +12049,7 @@
pixel_y = -24
},
/turf/simulated/floor/tiled,
-/area/ministation/court)
+/area/ministation/disused_office)
"Fh" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
@@ -11784,6 +12121,9 @@
/obj/machinery/portable_atmospherics/powered/scrubber,
/turf/simulated/floor/tiled,
/area/ministation/engine)
+"Fq" = (
+/turf/simulated/wall/r_wall,
+/area/ministation/court)
"Fr" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
@@ -11841,18 +12181,6 @@
/obj/effect/floor_decal/corner/yellow/three_quarters{
dir = 8
},
-/obj/machinery/button/blast_door{
- desc = "A remote control-switch for engine core.";
- id_tag = "EngineVent";
- name = "Engine Ventillatory Control";
- pixel_x = -24;
- pixel_y = 10
- },
-/obj/machinery/button/mass_driver{
- id_tag = "enginecore";
- name = "Emergency Core Eject";
- pixel_x = -24
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FA" = (
@@ -11931,9 +12259,6 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 6
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FL" = (
@@ -11943,9 +12268,6 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FN" = (
@@ -11953,7 +12275,7 @@
dir = 10
},
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"FO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -11961,9 +12283,6 @@
/obj/effect/floor_decal/corner/yellow{
dir = 10
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FP" = (
@@ -11972,18 +12291,12 @@
/obj/machinery/door/firedoor{
dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor,
/area/ministation/engine)
"FQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FR" = (
@@ -11993,13 +12306,6 @@
/obj/structure/cable{
icon_state = "1-4"
},
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
-/obj/machinery/meter,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FS" = (
@@ -12017,16 +12323,12 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 4
- },
/turf/simulated/floor,
/area/ministation/engine)
"FU" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/machinery/atmospherics/pipe/manifold/visible/yellow,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FV" = (
@@ -12039,7 +12341,6 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/manifold/visible/yellow,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FW" = (
@@ -12047,9 +12348,6 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FX" = (
@@ -12063,9 +12361,6 @@
/obj/structure/cable{
icon_state = "1-8"
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FY" = (
@@ -12075,18 +12370,13 @@
/obj/machinery/camera/network/engineering{
dir = 1
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"FZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 10
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 10
- },
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ga" = (
@@ -12112,39 +12402,21 @@
dir = 8;
pixel_x = -24
},
-/obj/machinery/computer/modular/preset/engineering{
- dir = 1
- },
+/obj/structure/closet/crate/bin/ministation,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gd" = (
-/obj/structure/table/reinforced,
-/obj/machinery/button/blast_door{
- desc = "A remote control-switch for the engine charging port.";
- id_tag = "SupermatterPort";
- name = "Reactor Blast Doors";
- pixel_x = -6;
- pixel_y = 7
- },
-/obj/machinery/button/blast_door{
- desc = "A remote control-switch for the engine control room blast doors.";
- id_tag = "EngineBlast";
- name = "Engine Monitoring Room Blast Doors";
- pixel_y = -3
- },
-/obj/machinery/button/toggle{
- desc = "A remote control-switch for the engine emitter.";
- id_tag = "EngineEmitter";
- name = "Engine Emitter";
- pixel_x = 6;
- pixel_y = 7
+/obj/structure/rack{
+ dir = 8
},
+/obj/item/clothing/suit/storage/hazardvest,
+/obj/item/tank/emergency/oxygen/engi,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ge" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gf" = (
@@ -12155,12 +12427,11 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/effect/floor_decal/industrial/radiation,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gg" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gh" = (
@@ -12173,10 +12444,6 @@
"Gi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/obj/machinery/door/airlock/hatch/maintenance{
- name = "Engine Access"
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gj" = (
@@ -12188,9 +12455,6 @@
icon_state = "1-2"
},
/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock/hatch/maintenance{
- name = "Engine Access"
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gk" = (
@@ -12204,7 +12468,7 @@
"Gl" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gm" = (
@@ -12212,28 +12476,45 @@
/turf/simulated/wall,
/area/ministation/engine)
"Gn" = (
-/obj/machinery/atmospherics/portables_connector,
-/obj/effect/engine_setup/coolant_canister,
-/turf/simulated/floor/tiled/techfloor,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/smes/buildable/preset,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gp" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 5
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable{
+ icon_state = "4-8"
},
-/turf/space,
-/area/space)
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Gq" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 9
+/obj/structure/cable{
+ icon_state = "1-8"
},
-/turf/space,
-/area/space)
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/floor_decal/corner/yellow{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Gr" = (
/obj/effect/floor_decal/corner/yellow{
dir = 9
},
/turf/simulated/floor/tiled,
/area/ministation/engine)
+"Gs" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Gt" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -12241,6 +12522,9 @@
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gu" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
/obj/machinery/power/smes/buildable/preset,
/turf/simulated/floor/tiled,
/area/ministation/engine)
@@ -12262,12 +12546,22 @@
/turf/simulated/floor/plating,
/area/space)
"Gx" = (
-/obj/machinery/atmospherics/binary/pump,
-/obj/effect/engine_setup/pump_max,
-/turf/simulated/floor/tiled/techfloor,
+/obj/structure/cable{
+ icon_state = "0-2";
+ pixel_y = 1
+ },
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gy" = (
-/turf/simulated/floor/tiled/techfloor/grid,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Gz" = (
/obj/structure/cable{
@@ -12276,7 +12570,14 @@
/obj/effect/floor_decal/corner/yellow{
dir = 6
},
-/turf/simulated/floor/tiled/techfloor,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"GA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"GB" = (
/obj/structure/cable{
@@ -12285,13 +12586,29 @@
/obj/structure/cable{
icon_state = "2-4"
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"GC" = (
-/obj/machinery/door/airlock/external,
+/obj/machinery/door/airlock/external{
+ autoset_access = 0;
+ id_tag = "starboard_engineering_airlock_interior";
+ locked = 1
+ },
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "starboard_engineering_airlock";
+ name = "interior access button";
+ pixel_x = -10;
+ pixel_y = 20
+ },
/turf/simulated/floor,
/area/ministation/engine)
"GD" = (
@@ -12301,13 +12618,28 @@
/obj/machinery/light/small{
dir = 1
},
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "starboard_engineering_vent";
+ dir = 8
+ },
/turf/simulated/floor/plating,
/area/ministation/engine)
"GF" = (
-/obj/machinery/door/airlock/external,
+/obj/machinery/door/airlock/external{
+ locked = 1;
+ id_tag = "starboard_engineering_airlock_exterior";
+ autoset_access = 0
+ },
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/machinery/button/access/interior{
+ id_tag = "starboard_engineering_airlock";
+ name = "exterior access button";
+ pixel_x = 10;
+ pixel_y = 20;
+ command = "cycle_exterior"
+ },
/turf/simulated/floor/plating,
/area/ministation/engine)
"GH" = (
@@ -12371,34 +12703,88 @@
/turf/simulated/floor/plating,
/area/space)
"GQ" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 4
+/obj/structure/cable{
+ icon_state = "0-4"
},
-/turf/space,
+/obj/machinery/power/tracker,
+/turf/simulated/floor/plating,
+/area/space)
+"GR" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/space)
+"GS" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plating,
+/area/space)
+"GT" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
/area/space)
-"GU" = (
-/obj/machinery/door/airlock/glass,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"GV" = (
-/obj/machinery/door/airlock/external/glass,
-/obj/machinery/atmospherics/pipe/simple/visible/black{
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/external/glass{
+ id_tag = "port_engineering_airlock_interior";
+ autoset_access = 0;
+ locked = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
+/obj/machinery/button/access/interior{
+ id_tag = "port_engineering_airlock";
+ name = "interior access button";
+ pixel_x = 10;
+ pixel_y = 20
+ },
/turf/simulated/floor/plating,
/area/ministation/engine)
"GW" = (
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/machinery/airlock_sensor{
+ id_tag = "port_engineering_sensor";
+ pixel_y = 20
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ id_tag = "port_engineering_airlock";
+ pixel_y = 24;
+ tag_airpump = "port_engineering_vent";
+ tag_chamber_sensor = "port_engineering_sensor";
+ tag_exterior_door = "port_engineering_airlock_exterior";
+ tag_interior_door = "port_engineering_airlock_interior"
+ },
/turf/simulated/floor/plating,
/area/ministation/engine)
"GX" = (
-/obj/machinery/atmospherics/pipe/manifold/visible/black{
- dir = 4
+/obj/structure/cable{
+ icon_state = "1-8"
},
-/obj/machinery/meter,
-/turf/simulated/floor/tiled/techfloor,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"GY" = (
/obj/machinery/power/solar_control{
@@ -12423,7 +12809,10 @@
pixel_x = 27;
pixel_y = -3
},
-/turf/simulated/floor/tiled/techfloor,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hb" = (
/obj/effect/floor_decal/industrial/warning{
@@ -12447,22 +12836,43 @@
},
/turf/simulated/floor/tiled,
/area/ministation/engine)
+"He" = (
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/space)
"Hf" = (
-/obj/machinery/atmospherics/binary/pump{
+/obj/structure/cable,
+/obj/machinery/power/solar_control{
dir = 1
},
-/turf/simulated/floor/tiled/techfloor,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hg" = (
+/obj/structure/reagent_dispensers/fueltank,
/obj/machinery/camera/network/engineering,
-/obj/machinery/portable_atmospherics/canister/nitrogen/engine_setup,
-/turf/simulated/floor/tiled/techfloor,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hh" = (
/obj/structure/reagent_dispensers/watertank,
/obj/machinery/camera/network/engineering,
/turf/simulated/floor,
/area/ministation/engine)
+"Hi" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Hj" = (
/obj/machinery/light/small,
/obj/effect/floor_decal/industrial/warning{
@@ -12528,53 +12938,46 @@
/turf/space,
/area/space)
"Hs" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/light{
dir = 8;
icon_state = "tube1"
},
-/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/simulated/floor/tiled/techfloor,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Ht" = (
-/obj/structure/lattice,
-/obj/structure/grille,
-/turf/space,
-/area/space)
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Hu" = (
/obj/machinery/alarm{
pixel_y = 23
},
/obj/effect/decal/cleanable/blood/oil,
-/turf/simulated/floor/tiled/techfloor/grid,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hv" = (
/obj/machinery/door/firedoor{
dir = 8
},
-/turf/simulated/floor/tiled/techfloor/grid,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hw" = (
/obj/machinery/light{
dir = 1
},
-/obj/machinery/air_sensor{
- id_tag = "engine_sensor"
- },
-/turf/simulated/floor/reinforced/airless,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hx" = (
/obj/effect/floor_decal/corner/yellow{
dir = 5
},
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/door/blast/regular/open{
- density = 0;
- dir = 4;
- id_tag = "SupermatterPort";
- name = "Reactor Blast Door"
- },
-/obj/effect/wallframe_spawn/reinforced_borosilicate,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hy" = (
@@ -12583,8 +12986,10 @@
dir = 4;
icon_state = "tube1"
},
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Hz" = (
@@ -12602,42 +13007,40 @@
/turf/space,
/area/space)
"HB" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
+/obj/structure/cable{
+ icon_state = "1-4"
},
/obj/item/stool,
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
dir = 4
},
-/turf/simulated/floor/tiled/techfloor,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HC" = (
-/obj/machinery/atmospherics/unary/vent_pump/engine{
- external_pressure_bound = 100;
- external_pressure_bound_default = 0;
- icon_state = "map_vent_in";
- id_tag = "cooling_out";
- initialize_directions = 1;
- pump_direction = 0;
- use_power = 1;
- dir = 4
+/obj/structure/cable{
+ icon_state = "4-8"
},
-/turf/simulated/floor/reinforced/airless,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HD" = (
-/obj/machinery/door/blast/regular/open{
- dir = 2;
- id_tag = "SupermatterPort";
- name = "Reactor Blast Door"
+/obj/machinery/door/firedoor{
+ dir = 8
},
-/obj/effect/wallframe_spawn/reinforced_borosilicate,
-/turf/simulated/floor/plating,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HE" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
+/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
},
/turf/simulated/floor/tiled,
@@ -12647,8 +13050,8 @@
dir = 5
},
/obj/item/stool,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
+/obj/structure/cable{
+ icon_state = "4-8"
},
/turf/simulated/floor/tiled,
/area/ministation/engine)
@@ -12656,12 +13059,9 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 9
+/obj/structure/cable{
+ icon_state = "1-8"
},
-/obj/structure/closet/radiation,
-/obj/item/clothing/glasses/meson,
-/obj/item/clothing/glasses/meson,
/turf/simulated/floor/tiled,
/area/ministation/engine)
"HH" = (
@@ -12675,22 +13075,55 @@
/obj/item/stack/cable_coil,
/obj/item/stock_parts/circuitboard/airlock_electronics,
/obj/item/stock_parts/circuitboard/airlock_electronics,
-/turf/simulated/floor/tiled/techfloor,
+/obj/item/scanner/gas,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HJ" = (
/obj/structure/table,
/obj/item/folder/yellow,
/obj/item/clothing/head/earmuffs,
-/turf/simulated/floor/tiled/techfloor,
+/obj/item/stack/material/rods/fifty,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HK" = (
-/obj/structure/table,
-/obj/item/scanner/gas,
-/obj/item/stack/material/rods/fifty,
-/turf/simulated/floor/tiled/techfloor,
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HL" = (
-/turf/simulated/wall/r_wall/prepainted,
+/obj/structure/cable,
+/obj/machinery/power/smes/buildable/preset,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"HM" = (
+/obj/machinery/power/terminal{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"HN" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"HO" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/solar_control{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"HP" = (
/obj/structure/table,
@@ -12718,22 +13151,29 @@
/turf/space,
/area/space)
"HT" = (
-/obj/machinery/atmospherics/unary/outlet_injector{
- dir = 8;
- icon_state = "map_injector";
- id_tag = "cooling_in";
- name = "Coolant Injector";
- pixel_y = 1;
- power_rating = 30000;
- use_power = 1;
- volume_rate = 700
- },
-/turf/simulated/floor/reinforced/airless,
-/area/ministation/engine)
+/obj/structure/cable{
+ icon_state = "1-8"
+ },
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/plating,
+/area/space)
"HU" = (
-/obj/machinery/door/blast/regular{
- id_tag = "EngineVent";
- name = "Reactor Vent"
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ id_tag = "stern_engineering_airlock_interior";
+ locked = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/machinery/button/access/interior{
+ id_tag = "stern_engineering_airlock";
+ name = "interior access button";
+ pixel_x = 20;
+ pixel_y = 10
},
/turf/simulated/floor/plating,
/area/ministation/engine)
@@ -12744,23 +13184,33 @@
/turf/space,
/area/space)
"HW" = (
-/obj/structure/grille,
-/obj/structure/lattice,
-/turf/space,
-/area/space)
-"HY" = (
-/obj/effect/floor_decal/corner/yellow{
- dir = 5
+/obj/structure/cable{
+ icon_state = "1-2"
},
-/obj/machinery/door/blast/regular/open{
- density = 0;
+/obj/machinery/airlock_sensor{
+ id_tag = "stern_engineering_sensor";
+ pixel_y = 10;
+ pixel_x = -20
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ id_tag = "stern_engineering_airlock";
+ pixel_y = null;
+ tag_airpump = "stern_engineering_vent";
+ tag_chamber_sensor = "stern_engineering_sensor";
+ tag_exterior_door = "stern_engineering_airlock_exterior";
+ tag_interior_door = "stern_engineering_airlock_interior";
dir = 4;
- id_tag = "SupermatterPort";
- name = "Reactor Blast Door"
+ pixel_x = -20
},
-/obj/effect/wallframe_spawn/reinforced_borosilicate,
-/turf/simulated/floor/tiled,
+/turf/simulated/floor/plating,
/area/ministation/engine)
+"HY" = (
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/obj/machinery/power/solar,
+/turf/simulated/floor/plating,
+/area/space)
"HZ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -12772,12 +13222,18 @@
/turf/simulated/floor/plating,
/area/ministation/maint/se)
"Ia" = (
-/obj/effect/wallframe_spawn/reinforced,
+/obj/structure/window/basic{
+ dir = 1
+ },
+/obj/structure/curtain/open/bed{
+ icon_state = "closed";
+ opacity = 1
+ },
/turf/simulated/floor/plating,
-/area/ministation/court)
+/area/ministation/disused_office)
"Ib" = (
/turf/simulated/wall,
-/area/ministation/court)
+/area/ministation/disused_office)
"Ic" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -12807,14 +13263,10 @@
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
"If" = (
-/obj/machinery/mass_driver{
- id_tag = "enginecore"
- },
-/obj/machinery/power/supermatter,
-/obj/effect/engine_setup/core,
-/obj/effect/decal/warning_stripes,
-/turf/simulated/floor/reinforced/airless,
-/area/ministation/engine)
+/obj/structure/cable,
+/obj/machinery/power/solar,
+/turf/simulated/floor/plating,
+/area/space)
"Ig" = (
/obj/structure/lattice,
/obj/structure/transit_tube{
@@ -12834,11 +13286,21 @@
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
"Ik" = (
-/obj/machinery/door/airlock/external/glass,
/obj/machinery/door/airlock/external/glass{
autoset_access = 0;
name = "External Airlock Hatch";
- req_access = list("ACCESS_EXTERNAL")
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sat2_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sat2_airlock";
+ name = "interior access button";
+ pixel_x = 10;
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
},
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
@@ -12864,8 +13326,11 @@
/obj/structure/bed/chair/wood/maple{
dir = 8
},
+/obj/abstract/landmark/start{
+ name = "Enclave Representative"
+ },
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"Ip" = (
/obj/machinery/atmospherics/binary/pump/on{
dir = 4
@@ -12879,6 +13344,9 @@
"Is" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"It" = (
@@ -12891,6 +13359,7 @@
/obj/machinery/light/small{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
"Iv" = (
@@ -12932,7 +13401,7 @@
/area/ministation/court)
"IC" = (
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"ID" = (
/obj/structure/closet/emcloset,
/turf/simulated/floor/plating,
@@ -12950,9 +13419,9 @@
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
"IH" = (
-/obj/machinery/door/airlock,
-/turf/simulated/floor/plating,
-/area/ministation/ai_sat)
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"II" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
/turf/simulated/floor/plating,
@@ -12976,15 +13445,6 @@
/obj/structure/rack,
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
-"IM" = (
-/obj/machinery/door/firedoor{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
"IN" = (
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 1
@@ -12995,12 +13455,16 @@
/obj/effect/floor_decal/industrial/warning{
dir = 8
},
-/obj/machinery/embedded_controller/radio/simple_docking_controller{
+/obj/machinery/embedded_controller/radio/airlock/docking_port{
dir = 4;
id_tag = "cargo_bay";
- pixel_x = -15;
- tag_door = "cargo_bay_door"
+ tag_airpump = "cargo_vent";
+ tag_chamber_sensor = "cargo_sensor";
+ tag_exterior_door = "cargo_airlock_exterior";
+ tag_interior_door = "cargo_airlock_interior";
+ pixel_x = -20
},
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"IQ" = (
@@ -13039,12 +13503,44 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ministation/ai_core)
+"IZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Jc" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/visible/cyan,
-/turf/simulated/floor/tiled/techfloor,
+/obj/effect/decal/cleanable/blood/oil,
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
+"Jd" = (
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 0;
+ id_tag = "sat3_airlock";
+ pixel_y = 24;
+ tag_airpump = "sat3_vent";
+ tag_chamber_sensor = "sat3_sensor";
+ tag_exterior_door = "sat3_airlock_exterior";
+ tag_interior_door = "sat3_airlock_interior"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "sat3_vent"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "sat3_sensor";
+ pixel_y = 20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"Je" = (
/obj/machinery/light/small{
dir = 1
@@ -13052,15 +13548,17 @@
/obj/machinery/alarm{
pixel_y = 23
},
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/cafe)
"Jf" = (
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5
- },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"Jg" = (
@@ -13148,6 +13646,14 @@
"Jt" = (
/turf/simulated/floor/plating,
/area/space)
+"Ju" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -22
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Jv" = (
/obj/machinery/light/small,
/turf/simulated/floor/plating,
@@ -13252,6 +13758,11 @@
"JN" = (
/turf/simulated/wall/r_wall,
/area/ministation/ai_upload)
+"JO" = (
+/obj/structure/cable,
+/obj/machinery/power/tracker,
+/turf/simulated/floor/plating,
+/area/space)
"JP" = (
/obj/structure/transit_tube{
icon_state = "N-SE"
@@ -13613,6 +14124,15 @@
},
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
+"KI" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
"KJ" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -14005,12 +14525,6 @@
"LM" = (
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
-"LO" = (
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 4
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
"LP" = (
/obj/effect/floor_decal/corner/purple{
dir = 6
@@ -14058,6 +14572,10 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"LU" = (
+/obj/random/trash,
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"LV" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
@@ -14191,6 +14709,12 @@
},
/turf/simulated/floor/tiled/white,
/area/ministation/science)
+"Mj" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"Mk" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -14199,8 +14723,11 @@
/turf/simulated/floor/plating,
/area/ministation/maint/ne)
"Ml" = (
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"Mm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -14244,12 +14771,6 @@
},
/turf/simulated/floor/airless,
/area/space)
-"Mv" = (
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 4
- },
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
"Mw" = (
/obj/machinery/cryopod{
dir = 1
@@ -14274,6 +14795,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"MC" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 4;
+ level = 2
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"MD" = (
/obj/item/stool/padded,
/obj/structure/sign/warning/nosmoking_2{
@@ -14282,6 +14810,19 @@
/obj/random_multi/single_item/captains_spare_id,
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
+"MF" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
+"MG" = (
+/obj/structure/bed/chair,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"MH" = (
/obj/structure/table,
/obj/item/implantcase/tracking,
@@ -14301,10 +14842,33 @@
/obj/item/bedsheet/purple,
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
+"MK" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"MM" = (
-/obj/structure/reagent_dispensers/watertank,
+/obj/machinery/door/firedoor{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/tiled,
/area/ministation/engine)
+"MN" = (
+/obj/structure/cable{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
"MO" = (
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/floor/plating,
@@ -14318,6 +14882,10 @@
/area/ministation/library)
"MQ" = (
/obj/structure/closet,
+/obj/item/gun/launcher/crossbow,
+/obj/item/arrow,
+/obj/item/arrow,
+/obj/item/cell/crap,
/obj/item/storage/briefcase,
/obj/machinery/firealarm{
dir = 4;
@@ -14330,18 +14898,18 @@
dir = 10
},
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"MT" = (
/obj/machinery/door/firedoor{
dir = 8
},
-/obj/machinery/door/airlock/glass/mining,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/machinery/door/airlock/double/glass/mining,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"MU" = (
@@ -14358,6 +14926,16 @@
},
/turf/simulated/floor/tiled,
/area/ministation/bridge)
+"MY" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"Na" = (
/obj/effect/floor_decal/corner/blue{
dir = 5
@@ -14377,16 +14955,12 @@
},
/turf/simulated/floor/wood/yew,
/area/ministation/court)
-"Nf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
-/obj/effect/floor_decal/industrial/radiation{
- dir = 8
+"Ne" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 6
},
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"Nh" = (
/obj/structure/sign/directions/engineering{
pixel_x = -32;
@@ -14399,7 +14973,13 @@
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
"Ni" = (
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock{
+ pixel_x = 1
+ },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"Nj" = (
@@ -14410,24 +14990,6 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
-"Nl" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
-"Nn" = (
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
-/obj/machinery/door/airlock/hatch/maintenance{
- name = "Engine Access"
- },
-/obj/machinery/door/firedoor,
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
"No" = (
/obj/machinery/light{
dir = 8
@@ -14448,10 +15010,34 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"Ns" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"Nt" = (
/obj/structure/flora/pottedplant/smalltree,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"Nu" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "escape2_sensor";
+ pixel_y = -20
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "escape1_vent"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/hall/w)
+"Nv" = (
+/obj/machinery/door/airlock/glass,
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/tiled,
+/area/ministation/disused)
"Nw" = (
/turf/simulated/floor/tiled,
/area/ministation/court)
@@ -14498,6 +15084,9 @@
icon_state = "0-4"
},
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"NH" = (
@@ -14512,6 +15101,12 @@
},
/turf/simulated/floor/tiled,
/area/ministation/bridge)
+"NI" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"NJ" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -14532,13 +15127,17 @@
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
+"NL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"NO" = (
-/obj/abstract/level_data/main_level,
-/turf/space,
-/area/space)
-"NP" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
+/obj/abstract/level_data/main_level{
+ name = "Outpost Zebra";
+},
/turf/space,
/area/space)
"NR" = (
@@ -14553,30 +15152,43 @@
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
"NT" = (
-/obj/machinery/generator{
- anchored = 1;
- dir = 4
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
+"NU" = (
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 1;
+ id_tag = "sat2_airlock";
+ pixel_y = -24;
+ tag_airpump = "sat2_vent";
+ tag_chamber_sensor = "sat2_sensor";
+ tag_exterior_door = "sat2_airlock_exterior";
+ tag_interior_door = "sat2_airlock_interior"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "sat2_vent"
},
-/obj/structure/cable,
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
-"NY" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/omni/filter{
- tag_east = 4;
- tag_north = 2;
- use_power = 0;
- tag_south = 1
+/obj/machinery/airlock_sensor{
+ id_tag = "sat2_sensor";
+ pixel_y = -20;
+ pixel_x = -10
},
-/obj/effect/engine_setup/filter,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
-"Oa" = (
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
+"NW" = (
+/obj/effect/decal/cleanable/dirt{
+ dir = 9
},
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ministation/engine)
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
+"NX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/se)
"Oc" = (
/obj/effect/floor_decal/corner/blue{
dir = 10
@@ -14590,15 +15202,17 @@
},
/turf/simulated/floor/wood/yew,
/area/ministation/court)
-"Oe" = (
-/obj/structure/lattice,
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 10
+"Of" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
},
-/turf/space,
-/area/space)
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"Oh" = (
/obj/machinery/light/small,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
/turf/simulated/floor,
/area/ministation/atmospherics)
"Oi" = (
@@ -14607,12 +15221,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
-"Oj" = (
-/obj/structure/grille,
-/obj/structure/grille,
-/obj/structure/lattice,
-/turf/space,
-/area/space)
"Om" = (
/obj/item/stool,
/obj/machinery/alarm{
@@ -14638,18 +15246,26 @@
},
/area/ministation/maint/w)
"Oq" = (
-/obj/machinery/door/airlock/glass/security{
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/airlock/double/glass/security{
id_tag = "secdoor";
name = "security outer airlock"
},
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/ministation/security)
"Or" = (
/obj/random/trash,
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/plating,
/area/ministation/maint/se)
+"Os" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/wall,
+/area/ministation/hall/w)
"Ou" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -14683,11 +15299,12 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/se)
-"Oy" = (
-/obj/structure/sign/warning/radioactive,
-/turf/simulated/wall/r_wall/prepainted,
-/area/ministation/engine)
"OB" = (
+/obj/machinery/power/apc{
+ dir = 1;
+ name = "_North APC";
+ pixel_y = 24
+ },
/obj/structure/cable{
icon_state = "0-2"
},
@@ -14696,7 +15313,7 @@
pixel_x = 24
},
/turf/simulated/floor/plating,
-/area/ministation/court)
+/area/ministation/disused_office)
"OC" = (
/obj/machinery/door/airlock/hatch/maintenance,
/obj/structure/cable{
@@ -14707,15 +15324,11 @@
"OD" = (
/obj/machinery/door/airlock/hatch/maintenance,
/turf/simulated/floor/plating,
-/area/ministation/court)
+/area/ministation/disused_office)
"OF" = (
/obj/machinery/atmospherics/unary/vent_pump/on,
/turf/simulated/floor,
/area/ministation/atmospherics)
-"OG" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
-/turf/space,
-/area/space)
"OL" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/tiled/white,
@@ -14730,20 +15343,66 @@
},
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
+"OO" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sat3_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sat3_airlock";
+ name = "exterior access button";
+ pixel_x = -10;
+ pixel_y = 20;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"OP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/turf/simulated/floor/tiled,
/area/ministation/court)
+"OQ" = (
+/obj/machinery/door/airlock/glass/command{
+ autoset_access = 0;
+ name = "Telecommunications relay airlock";
+ req_access = list("ACCESS_TELECOMS")
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"OR" = (
-/obj/machinery/door/airlock/external/glass,
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "mining_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "cargo_airlock";
+ name = "exterior access button";
+ pixel_x = -20;
+ pixel_y = 10;
+ command = "cycle_exterior"
+ },
/turf/simulated/floor/airless,
/area/ministation/cargo)
-"OS" = (
-/obj/machinery/computer/arcade/orion_trail,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
+"OT" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ locked = 1;
+ id_tag = "escape1_airlock_interior"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/hall/w)
"OU" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 4
@@ -14782,7 +15441,18 @@
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
"OX" = (
-/obj/machinery/door/airlock/external,
+/obj/machinery/door/airlock/external{
+ autoset_access = 0;
+ id_tag = "atmos_airlock_interior";
+ locked = 1
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "atmos_airlock";
+ name = "interior access button";
+ pixel_x = 20;
+ pixel_y = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor,
/area/ministation/atmospherics)
"OY" = (
@@ -14815,11 +15485,12 @@
/turf/simulated/floor/tiled/white,
/area/ministation/hall/e)
"Pe" = (
-/obj/machinery/atmospherics/pipe/simple/visible/black{
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 10
},
-/turf/simulated/wall,
-/area/ministation/engine)
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"Pg" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -14859,6 +15530,7 @@
/obj/structure/sign/warning/airlock{
pixel_x = 32
},
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"Po" = (
@@ -14872,6 +15544,29 @@
"Pp" = (
/turf/space,
/area/ministation/supply_dock)
+"Pr" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ locked = 1;
+ id_tag = "pfm_airlock_exterior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "pfm_airlock";
+ name = "exterior access button";
+ pixel_x = -10;
+ pixel_y = 20;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
+"Pu" = (
+/obj/item/radio/intercom{
+ dir = 4;
+ pixel_x = -25
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Px" = (
/obj/structure/table/woodentable/walnut,
/obj/item/folder/red,
@@ -14887,9 +15582,6 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"PA" = (
@@ -14929,12 +15621,6 @@
/obj/random/trash,
/turf/simulated/floor/tiled,
/area/ministation/engine)
-"PG" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 10
- },
-/turf/space,
-/area/space)
"PH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -14956,9 +15642,6 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
- },
/turf/simulated/floor/tiled,
/area/ministation/engine)
"PM" = (
@@ -14973,6 +15656,15 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"PN" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ locked = 1;
+ id_tag = "escape1_airlock_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/hall/w)
"PP" = (
/obj/structure/closet,
/obj/random/maintenance,
@@ -15011,17 +15703,33 @@
dir = 4;
level = 2
},
+/obj/item/modular_computer/tablet/preset/custom_loadout/cheap,
+/obj/item/mollusc/clam,
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"PX" = (
-/obj/machinery/portable_atmospherics/canister/empty,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 2
+ },
/turf/simulated/floor/tiled,
-/area/ministation/engine)
-"PZ" = (
-/obj/machinery/door/airlock/external/glass,
-/obj/machinery/atmospherics/pipe/simple/visible/green,
+/area/ministation/hall/w)
+"PY" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "escape1_sensor";
+ pixel_y = -20
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "escape1_vent"
+ },
/turf/simulated/floor/plating,
-/area/ministation/engine)
+/area/ministation/hall/w)
+"Qb" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"Qh" = (
/obj/structure/bed/chair/wood/walnut{
dir = 4
@@ -15031,6 +15739,16 @@
},
/turf/simulated/floor/wood/yew,
/area/ministation/court)
+"Qi" = (
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Qk" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -15043,10 +15761,16 @@
"Qm" = (
/obj/machinery/cryopod/robot,
/obj/machinery/computer/cryopod/robot{
- dir = 1
+ pixel_y = -32
},
/turf/simulated/floor/tiled/white,
/area/ministation/science)
+"Qp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/hall/w)
"Qq" = (
/obj/machinery/power/apc{
dir = 1;
@@ -15059,6 +15783,14 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/ne)
+"Qr" = (
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"Qu" = (
/obj/structure/cable{
icon_state = "1-8"
@@ -15081,6 +15813,9 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/se)
"Qz" = (
@@ -15088,6 +15823,13 @@
/obj/structure/sign/botany,
/turf/simulated/floor/tiled,
/area/ministation/hydro)
+"QA" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"QB" = (
/obj/machinery/light,
/turf/simulated/floor/tiled,
@@ -15113,10 +15855,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
-"QH" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/turf/simulated/wall/r_wall,
-/area/ministation/hall/s)
"QI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -15126,6 +15864,12 @@
},
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
+"QJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"QL" = (
/obj/structure/table/reinforced,
/obj/machinery/door/window/brigdoor,
@@ -15135,10 +15879,6 @@
},
/turf/simulated/floor/plating,
/area/ministation/security)
-"QM" = (
-/obj/structure/sign/warning/vent_port,
-/turf/simulated/wall/r_wall/prepainted,
-/area/ministation/engine)
"QN" = (
/obj/structure/sign/id_office{
dir = 1;
@@ -15173,6 +15913,15 @@
},
/turf/simulated/floor/tiled,
/area/ministation/security)
+"QS" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"QU" = (
/obj/effect/floor_decal/industrial/warning{
dir = 8
@@ -15207,13 +15956,17 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"QZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"Ra" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
- dir = 5
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
},
-/obj/structure/lattice,
-/turf/space,
-/area/space)
+/turf/simulated/wall/r_wall,
+/area/ministation/ai_core)
"Rb" = (
/obj/machinery/cryopod{
dir = 1
@@ -15248,6 +16001,17 @@
},
/turf/simulated/floor/plating,
/area/ministation/library)
+"Rh" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "cargo_vent"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "cargo2_sensor";
+ pixel_y = -20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/cargo)
"Ri" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -15273,6 +16037,35 @@
},
/turf/simulated/floor/tiled/white,
/area/ministation/science)
+"Rm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"Rn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 2
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
+"Rq" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "cargo_vent"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "cargo_sensor";
+ pixel_y = -20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/cargo)
"Rr" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled,
@@ -15310,6 +16103,16 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/wood,
/area/ministation/cafe)
+"Rx" = (
+/turf/simulated/wall,
+/area/ministation/court)
+"Ry" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"RB" = (
/obj/effect/decal/cleanable/blood/oil,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -15321,14 +16124,24 @@
/turf/simulated/floor/plating,
/area/ministation/maint/se)
"RC" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/obj/effect/floor_decal/industrial/radiation,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"RD" = (
/turf/simulated/wall/r_wall,
/area/ministation/cryo)
+"RF" = (
+/obj/random/trash,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"RG" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/wood/mahogany,
@@ -15347,12 +16160,23 @@
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
"RJ" = (
-/obj/machinery/door/airlock/external/glass,
-/obj/machinery/atmospherics/pipe/simple/visible/black{
- dir = 4
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/external/glass{
+ id_tag = "port_engineering_airlock_exterior";
+ locked = 1;
+ autoset_access = 0
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "port_engineering_airlock";
+ name = "exterior access button";
+ pixel_x = -10;
+ pixel_y = 20;
+ command = "cycle_exterior"
},
/turf/simulated/floor/plating,
-/area/space)
+/area/ministation/engine)
"RK" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -15362,10 +16186,15 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
-"RL" = (
-/obj/machinery/atmospherics/unary/vent_pump/on,
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
+"RM" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock{
+ pixel_x = 1
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"RN" = (
/obj/effect/floor_decal/corner/paleblue{
dir = 10
@@ -15381,6 +16210,7 @@
icon_state = "1-2"
},
/obj/effect/decal/cleanable/blood/oil,
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"RP" = (
@@ -15418,6 +16248,12 @@
},
/turf/simulated/floor/tiled/white,
/area/ministation/science)
+"RW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"RY" = (
/obj/machinery/door/airlock/hatch/maintenance,
/turf/simulated/wall,
@@ -15478,6 +16314,13 @@
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
+"Sn" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"So" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
@@ -15494,14 +16337,35 @@
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
"Sq" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 10
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 10
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"Sr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor,
+/area/ministation/atmospherics)
+"Ss" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
+"Sv" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/visible/universal{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"Sy" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -15516,6 +16380,17 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"SA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 2
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"SC" = (
/obj/machinery/light/small{
dir = 8
@@ -15550,12 +16425,25 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
+"SI" = (
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"SN" = (
/obj/machinery/camera/autoname{
dir = 1
},
/turf/simulated/floor/tiled,
-/area/ministation/court)
+/area/ministation/disused_office)
+"SO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"SP" = (
/obj/item/stool/padded,
/turf/simulated/floor/wood/mahogany,
@@ -15567,9 +16455,15 @@
/turf/simulated/floor/tiled,
/area/ministation/cargo)
"ST" = (
-/obj/structure/lattice,
-/turf/simulated/wall,
-/area/space)
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"SV" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 1
@@ -15592,7 +16486,17 @@
/obj/machinery/door/airlock/external/glass{
autoset_access = 0;
name = "External Airlock Hatch";
- req_access = list("ACCESS_EXTERNAL")
+ locked = 1;
+ id_tag = "pfm_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "pfm_airlock";
+ name = "interior access button";
+ pixel_x = 10;
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
},
/turf/simulated/floor/plating,
/area/ministation/maint/nw)
@@ -15605,30 +16509,40 @@
/obj/machinery/light/small{
dir = 1
},
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/obj/machinery/atmospherics/portables_connector,
/turf/simulated/floor,
/area/ministation/atmospherics)
+"Ta" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"Tb" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/tiled,
/area/ministation/janitor)
-"Te" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
+"Tc" = (
+/obj/structure/cable{
+ icon_state = "4-8"
},
-/obj/machinery/atmospherics/binary/pump{
- dir = 1;
- name = "waste pump"
+/turf/simulated/floor/plating,
+/area/ministation/maint/ne)
+"Td" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 1
},
-/obj/effect/engine_setup/pump_max,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
-"Tf" = (
-/obj/machinery/atmospherics/pipe/simple/visible/black{
- dir = 4
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
+"Te" = (
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -22
},
-/turf/simulated/wall,
-/area/ministation/engine)
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Tg" = (
/obj/structure/cable{
icon_state = "2-4"
@@ -15674,36 +16588,43 @@
},
/turf/simulated/floor/tiled,
/area/ministation/court)
-"Tw" = (
-/obj/item/radio/intercom{
- dir = 4;
- pixel_x = -25
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
-"Tx" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+"Ts" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 6
},
-/turf/space,
-/area/space)
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
+"Tv" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 1;
+ id_tag = "atmos_vent"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "atmos_sensor";
+ pixel_y = 10;
+ pixel_x = -20
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ id_tag = "atmos_airlock";
+ pixel_y = null;
+ tag_airpump = "atmos_vent";
+ tag_chamber_sensor = "atmos_sensor";
+ tag_exterior_door = "atmos_airlock_exterior";
+ tag_interior_door = "atmos_airlock_interior";
+ dir = 4;
+ pixel_x = -20
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"Ty" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor,
/area/ministation/atmospherics)
-"TA" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging,
-/obj/structure/lattice,
-/turf/space,
-/area/space)
-"TB" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
"TC" = (
/obj/machinery/firealarm{
dir = 1;
@@ -15717,6 +16638,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"TD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"TF" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
@@ -15724,6 +16652,12 @@
},
/turf/simulated/floor/wood/yew,
/area/ministation/court)
+"TG" = (
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"TH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -15764,6 +16698,13 @@
/obj/item/stool,
/turf/simulated/floor/plating,
/area/ministation/maint/se)
+"TP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"TQ" = (
/obj/machinery/light_switch{
dir = 8;
@@ -15783,10 +16724,24 @@
},
/turf/simulated/floor/airless,
/area/ministation/atmospherics)
-"TU" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,
-/turf/space,
-/area/space)
+"TT" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/external/glass{
+ locked = 1;
+ id_tag = "stern_engineering_airlock_exterior";
+ autoset_access = 0
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "stern_engineering_airlock";
+ name = "exterior access button";
+ pixel_x = -20;
+ pixel_y = -10;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor/plating,
+/area/ministation/engine)
"TV" = (
/obj/machinery/door/firedoor{
dir = 8
@@ -15800,6 +16755,26 @@
},
/turf/simulated/floor/tiled,
/area/ministation/security)
+"TW" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "sqm_vent";
+ dir = 8
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 0;
+ id_tag = "sqm_airlock";
+ pixel_y = 24;
+ tag_airpump = "sqm_vent";
+ tag_chamber_sensor = "sqm_sensor";
+ tag_exterior_door = "sqm_airlock_exterior";
+ tag_interior_door = "sqm_airlock_interior"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "sqm_sensor";
+ pixel_y = 20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/se)
"TX" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -15822,6 +16797,18 @@
/obj/effect/decal/cleanable/blood/oil,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
+"Uc" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"Ud" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Ue" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -15834,7 +16821,10 @@
/area/ministation/maint/se)
"Um" = (
/obj/random/trash,
-/turf/simulated/floor/tiled/techfloor,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
/area/ministation/engine)
"Un" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -15880,26 +16870,24 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
-"Uy" = (
-/obj/machinery/atmospherics/unary/vent_pump{
- dir = 1;
- external_pressure_bound = 0;
- external_pressure_bound_default = 0;
- icon_state = "map_vent_in";
- initialize_directions = 1;
- internal_pressure_bound = 4000;
- internal_pressure_bound_default = 4000;
- pressure_checks = 2;
- pressure_checks_default = 2;
- pump_direction = 0;
- use_power = 1
+"Ux" = (
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"Uz" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "Dock Airlock";
+ locked = 1
},
/turf/simulated/floor/plating,
-/area/ministation/engine)
+/area/ministation/hall/w)
"UA" = (
/obj/machinery/camera/network/ministation/sat{
dir = 8
},
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
"UB" = (
@@ -15940,26 +16928,20 @@
/turf/simulated/floor/plating,
/area/ministation/court)
"UK" = (
-/obj/structure/closet,
-/obj/random/maintenance,
-/obj/random/suit,
-/obj/random/gloves,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/portables_connector{
+ pixel_x = -3
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
/turf/simulated/floor/plating,
/area/ministation/maint/sw)
"UL" = (
/obj/effect/decal/cleanable/filth,
/turf/simulated/floor/plating,
/area/ministation/maint/ne)
-"UN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable{
- icon_state = "2-4"
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
"UO" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 9
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
},
/turf/simulated/floor,
/area/ministation/atmospherics)
@@ -15979,7 +16961,30 @@
},
/turf/simulated/floor/tiled,
/area/ministation/bridge)
+"UT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/binary/pump/on{
+ target_pressure = 200;
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"UV" = (
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ id_tag = "mining_airlock";
+ pixel_y = null;
+ tag_airpump = "mining_vent";
+ tag_chamber_sensor = "mining_sensor";
+ tag_exterior_door = "mining_airlock_exterior";
+ tag_interior_door = "mining_airlock_interior";
+ dir = 4;
+ pixel_x = -20
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "mining_sensor";
+ pixel_y = 10;
+ pixel_x = -20
+ },
/turf/simulated/floor/plating,
/area/ministation/cargo)
"Va" = (
@@ -15993,6 +16998,10 @@
},
/turf/simulated/floor,
/area/ministation/atmospherics)
+"Vc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"Vd" = (
/obj/structure/filing_cabinet,
/obj/machinery/firealarm{
@@ -16001,13 +17010,17 @@
},
/turf/simulated/floor/tiled,
/area/ministation/court)
+"Ve" = (
+/obj/abstract/landmark/start{
+ name = "Station Engineer"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Vf" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
-"Vh" = (
-/turf/simulated/floor/reinforced/airless,
-/area/ministation/engine)
"Vi" = (
/obj/machinery/light_switch{
pixel_y = 25
@@ -16033,7 +17046,7 @@
dir = 4
},
/turf/simulated/floor/tiled,
-/area/ministation/court)
+/area/ministation/disused_office)
"Vn" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4;
@@ -16053,6 +17066,12 @@
/obj/structure/bookcase/skill_books/random,
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
+"Vs" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"Vt" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
@@ -16096,28 +17115,57 @@
/obj/effect/decal/cleanable/filth,
/turf/simulated/floor/tiled,
/area/ministation/hall/e)
+"Vy" = (
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"Vz" = (
/obj/structure/cable{
icon_state = "1-2"
},
/turf/simulated/floor/airless,
/area/space)
-"VE" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/pipe/simple/visible/yellow,
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
+"VA" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sat1_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sat1_airlock";
+ name = "interior access button";
+ pixel_x = 10;
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
+"VD" = (
+/obj/effect/wallframe_spawn/reinforced,
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"VF" = (
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"VG" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/structure/sign/warning/airlock,
/turf/simulated/floor/plating,
/area/ministation/engine)
-"VH" = (
-/obj/structure/sign/warning/secure_area{
- dir = 4
- },
-/turf/simulated/wall/r_wall/prepainted,
-/area/ministation/engine)
+"VJ" = (
+/obj/machinery/door/airlock/hatch/maintenance,
+/turf/simulated/floor/plating,
+/area/ministation/maint/ne)
"VK" = (
/obj/machinery/ai_slipper{
uses = 10
@@ -16159,6 +17207,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/commons)
+"VS" = (
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"VU" = (
/obj/structure/rack,
/obj/item/radio/intercom{
@@ -16184,13 +17239,6 @@
},
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
-"VX" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/atmospherics/binary/circulator{
- anchored = 1
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
"VZ" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
dir = 8
@@ -16204,6 +17252,10 @@
"Wb" = (
/turf/simulated/wall,
/area/ministation/cryo)
+"Wc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
"Wd" = (
/obj/machinery/alarm{
dir = 1;
@@ -16211,6 +17263,12 @@
},
/turf/simulated/floor/plating,
/area/ministation/detective)
+"Wg" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"Wi" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 4;
@@ -16218,13 +17276,6 @@
},
/turf/simulated/floor/tiled,
/area/ministation/security)
-"Wj" = (
-/obj/abstract/landmark{
- name = "carpspawn"
- },
-/obj/abstract/ministation/random_asteroid_spawner,
-/turf/space,
-/area/space)
"Wk" = (
/obj/machinery/door/airlock/glass/atmos,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -16241,10 +17292,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/engine)
-"Wp" = (
-/obj/abstract/ministation/random_asteroid_spawner,
-/turf/space,
-/area/space)
+"Wo" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/hall/w)
"Wr" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/light{
@@ -16260,8 +17314,8 @@
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
"Wt" = (
-/obj/machinery/atmospherics/pipe/manifold/visible{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
},
/turf/simulated/floor/plating,
/area/ministation/maint/w)
@@ -16282,6 +17336,7 @@
/area/ministation/atmospherics)
"WC" = (
/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/manifold/hidden,
/turf/simulated/floor/plating,
/area/ministation/maint/se)
"WD" = (
@@ -16290,7 +17345,7 @@
pixel_x = 32
},
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"WF" = (
/obj/structure/closet/secure_closet/security,
/turf/simulated/floor/tiled,
@@ -16300,10 +17355,10 @@
/turf/simulated/floor/plating,
/area/ministation/maint/e)
"WH" = (
-/obj/machinery/atmospherics/pipe/simple/visible/universal,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
"WL" = (
@@ -16344,6 +17399,13 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"WP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/se)
"WQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -16357,12 +17419,16 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"WS" = (
+/obj/effect/wallframe_spawn/no_grille,
+/turf/simulated/floor/tiled,
+/area/ministation/disused)
"WT" = (
/obj/structure/bed/padded,
/obj/item/bedsheet/green,
/obj/random_multi/single_item/captains_spare_id,
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"WU" = (
/turf/simulated/floor,
/area/space)
@@ -16384,10 +17450,6 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/se)
-"WX" = (
-/obj/machinery/cryopod,
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"WY" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -16399,9 +17461,13 @@
/turf/simulated/floor/tiled,
/area/ministation/security)
"WZ" = (
-/obj/item/chems/syringe/drugs,
+/obj/machinery/light/small,
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/obj/machinery/atmospherics/portables_connector{
+ dir = 8
+ },
/turf/simulated/floor/plating,
-/area/ministation/maint/w)
+/area/ministation/ai_sat)
"Xd" = (
/obj/structure/bed/chair{
dir = 4
@@ -16431,10 +17497,33 @@
},
/turf/simulated/floor,
/area/ministation/atmospherics)
+"Xk" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"Xl" = (
/obj/structure/lattice,
/turf/simulated/wall/r_wall,
/area/ministation/cryo)
+"Xo" = (
+/obj/effect/decal/cleanable/filth,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"Xp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Xr" = (
/obj/abstract/landmark{
name = "bluespace_a"
@@ -16451,10 +17540,6 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/machinery/door/airlock/glass/security{
- id_tag = "secdoor";
- name = "security outer airlock"
- },
/turf/simulated/floor/tiled,
/area/ministation/security)
"Xt" = (
@@ -16481,13 +17566,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
-"Xz" = (
-/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{
- dir = 8
- },
-/obj/structure/lattice,
-/turf/space,
-/area/space)
"XA" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
@@ -16497,10 +17575,46 @@
},
/turf/simulated/floor/tiled/white,
/area/ministation/medical)
-"XB" = (
-/obj/structure/sign/warning/vent_port,
-/turf/simulated/wall,
+"XD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/ministation/maint/nw)
+"XE" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "starboard_engineering_sensor";
+ pixel_y = 20
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ id_tag = "starboard_engineering_airlock";
+ pixel_y = 24;
+ tag_airpump = "starboard_engineering_vent";
+ tag_chamber_sensor = "starboard_engineering_sensor";
+ tag_exterior_door = "starboard_engineering_airlock_exterior";
+ tag_interior_door = "starboard_engineering_airlock_interior"
+ },
+/turf/simulated/floor/plating,
/area/ministation/engine)
+"XF" = (
+/obj/machinery/door/airlock,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"XJ" = (
+/obj/structure/closet,
+/obj/random/maintenance,
+/obj/random/suit,
+/obj/random/gloves,
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
"XL" = (
/obj/machinery/alarm{
pixel_y = 23
@@ -16543,6 +17657,22 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"XT" = (
+/obj/machinery/light/small{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
+"XV" = (
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/w)
"XX" = (
/obj/machinery/alarm{
dir = 8;
@@ -16605,6 +17735,11 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/w)
+"Yh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Yi" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -16618,14 +17753,6 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/nw)
-"Yl" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/portables_connector,
-/obj/effect/engine_setup/empty_canister,
-/turf/simulated/floor/tiled,
-/area/ministation/engine)
"Ym" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -16639,22 +17766,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
-"Yn" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/effect/floor_decal/corner/yellow{
- dir = 10
- },
-/obj/structure/sign/engineering{
- dir = 1;
- pixel_y = -32
- },
-/turf/simulated/floor/tiled,
-/area/ministation/hall/s)
"Yo" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
@@ -16664,17 +17775,27 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/e)
-"Yt" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+"Yp" = (
+/obj/random/trash,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/visible/yellow{
- dir = 4
+/turf/simulated/floor/plating,
+/area/ministation/disused)
+"Yq" = (
+/turf/simulated/wall{
+ can_open = 1
},
-/obj/structure/closet/radiation,
-/obj/item/clothing/glasses/meson,
-/obj/item/clothing/glasses/meson,
-/turf/simulated/floor/tiled,
+/area/ministation/maint/ne)
+"Yt" = (
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "port_engineering_vent"
+ },
+/turf/simulated/floor/plating,
/area/ministation/engine)
"Yv" = (
/obj/structure/cable{
@@ -16706,7 +17827,16 @@
dir = 4
},
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
+"YA" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
"YB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
@@ -16723,6 +17853,25 @@
},
/turf/simulated/floor/tiled,
/area/ministation/eva)
+"YG" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ req_access = list("ACCESS_EXTERNAL");
+ locked = 1;
+ id_tag = "sat3_airlock_interior"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "sat3_airlock";
+ name = "interior access button";
+ pixel_x = 10;
+ pixel_y = 20
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ministation/ai_sat)
"YH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable{
@@ -16745,16 +17894,7 @@
pixel_y = -32
},
/turf/simulated/floor/tiled,
-/area/ministation/court)
-"YL" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/visible/cyan{
- dir = 5
- },
-/turf/simulated/floor/tiled/techfloor,
-/area/ministation/engine)
+/area/ministation/disused_office)
"YM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -16773,7 +17913,7 @@
dir = 1
},
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"YQ" = (
/obj/structure/closet/lawcloset,
/obj/machinery/light{
@@ -16800,6 +17940,9 @@
/obj/machinery/camera/network/ministation/sat,
/turf/simulated/floor/plating,
/area/ministation/ai_sat)
+"YW" = (
+/turf/simulated/wall,
+/area/ministation/disused)
"YY" = (
/obj/structure/closet/wardrobe/lawyer_black,
/obj/machinery/atmospherics/unary/vent_pump/on{
@@ -16816,17 +17959,47 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/s)
+"Za" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/engine)
+"Zb" = (
+/obj/effect/wallframe_spawn/reinforced,
+/turf/space,
+/area/ministation/hall/w)
+"Ze" = (
+/obj/machinery/door/airlock/external{
+ locked = 1;
+ id_tag = "atmos_airlock_exterior";
+ autoset_access = 0
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "atmos_airlock";
+ name = "exterior access button";
+ pixel_x = -20;
+ pixel_y = -10;
+ command = "cycle_exterior"
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"Zf" = (
/obj/effect/decal/cleanable/filth,
/turf/simulated/floor/plating,
/area/ministation/maint/w)
-"Zi" = (
-/obj/machinery/door/airlock/hatch/maintenance{
- name = "Engine Access"
- },
-/obj/machinery/door/firedoor,
-/turf/simulated/floor/tiled/techfloor/grid,
+"Zh" = (
+/obj/machinery/network/relay,
+/turf/simulated/floor/tiled,
/area/ministation/engine)
+"Zj" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
"Zk" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -16844,7 +18017,7 @@
dir = 5
},
/turf/simulated/floor/tiled,
-/area/ministation/court)
+/area/ministation/disused_office)
"Zm" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -16854,12 +18027,46 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hop)
+"Zo" = (
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ dir = 0;
+ id_tag = "pqm_airlock";
+ pixel_y = 24;
+ tag_airpump = "pqm_vent";
+ tag_chamber_sensor = "pqm_sensor";
+ tag_exterior_door = "pqm_airlock_exterior";
+ tag_interior_door = "pqm_airlock_interior"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "pqm_vent"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "pqm_sensor";
+ pixel_y = 20
+ },
+/turf/simulated/floor/plating,
+/area/ministation/maint/sw)
"Zr" = (
/obj/structure/cable{
icon_state = "1-8"
},
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
/turf/simulated/floor/plating,
/area/ministation/maint/ne)
+"Zs" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/simulated/floor/plating,
+/area/ministation/disused)
"Zt" = (
/obj/structure/bed/chair/wood/walnut{
dir = 4
@@ -16898,6 +18105,10 @@
},
/turf/simulated/floor/plating,
/area/ministation/maint/se)
+"ZA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"ZB" = (
/obj/structure/closet,
/obj/random/maintenance,
@@ -16940,7 +18151,7 @@
/area/ministation/cryo)
"ZK" = (
/obj/machinery/computer/cryopod{
- dir = 2
+ pixel_y = 32
},
/obj/machinery/alarm{
dir = 8;
@@ -16951,6 +18162,12 @@
},
/turf/simulated/floor/tiled/dark,
/area/ministation/cryo)
+"ZL" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ministation/cargo)
"ZN" = (
/obj/effect/floor_decal/corner/red{
dir = 5
@@ -16962,6 +18179,12 @@
},
/turf/simulated/floor/tiled,
/area/ministation/hall/n)
+"ZO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor,
+/area/ministation/atmospherics)
"ZP" = (
/obj/effect/wallframe_spawn/no_grille,
/turf/simulated/floor/plating,
@@ -17000,19 +18223,13 @@
/obj/item/paper_bin,
/obj/item/pen,
/turf/simulated/floor/carpet/green,
-/area/ministation/court)
+/area/ministation/disused_office)
"ZW" = (
/obj/machinery/light/small{
dir = 4
},
/turf/simulated/floor/wood/mahogany,
/area/ministation/library)
-"ZY" = (
-/obj/structure/cryofeed{
- dir = 4
- },
-/turf/simulated/floor/shuttle/blue,
-/area/ministation/arrival_shuttle)
"ZZ" = (
/obj/structure/table/woodentable_reinforced/walnut,
/obj/item/bell,
@@ -18088,71 +19305,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -18298,13 +19450,10 @@ aa
aa
aa
aa
-NO
aa
aa
aa
aa
-"}
-(6,1,1) = {"
aa
aa
aa
@@ -18345,71 +19494,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -18431,10 +19515,13 @@ aa
aa
aa
aa
+NO
aa
aa
aa
aa
+"}
+(6,1,1) = {"
aa
aa
aa
@@ -18560,8 +19647,6 @@ aa
aa
aa
aa
-"}
-(7,1,1) = {"
aa
aa
aa
@@ -18602,71 +19687,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -18757,6 +19777,8 @@ aa
aa
aa
aa
+"}
+(7,1,1) = {"
aa
aa
aa
@@ -18817,8 +19839,6 @@ aa
aa
aa
aa
-"}
-(8,1,1) = {"
aa
aa
aa
@@ -18859,71 +19879,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -19074,13 +20029,13 @@ aa
aa
aa
aa
-"}
-(9,1,1) = {"
aa
aa
aa
aa
aa
+"}
+(8,1,1) = {"
aa
aa
aa
@@ -19116,71 +20071,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -19331,8 +20221,6 @@ aa
aa
aa
aa
-"}
-(10,1,1) = {"
aa
aa
aa
@@ -19373,71 +20261,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -19468,6 +20291,8 @@ aa
aa
aa
aa
+"}
+(9,1,1) = {"
aa
aa
aa
@@ -19588,8 +20413,6 @@ aa
aa
aa
aa
-"}
-(11,1,1) = {"
aa
aa
aa
@@ -19630,71 +20453,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -19790,6 +20548,8 @@ aa
aa
aa
aa
+"}
+(10,1,1) = {"
aa
aa
aa
@@ -19845,8 +20605,6 @@ aa
aa
aa
aa
-"}
-(12,1,1) = {"
aa
aa
aa
@@ -19887,71 +20645,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -20102,8 +20795,6 @@ aa
aa
aa
aa
-"}
-(13,1,1) = {"
aa
aa
aa
@@ -20114,6 +20805,8 @@ aa
aa
aa
aa
+"}
+(11,1,1) = {"
aa
aa
aa
@@ -20144,71 +20837,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -20359,8 +20987,6 @@ aa
aa
aa
aa
-"}
-(14,1,1) = {"
aa
aa
aa
@@ -20401,71 +21027,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -20501,6 +21062,8 @@ aa
aa
aa
aa
+"}
+(12,1,1) = {"
aa
aa
aa
@@ -20616,8 +21179,6 @@ aa
aa
aa
aa
-"}
-(15,1,1) = {"
aa
aa
aa
@@ -20658,71 +21219,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -20823,6 +21319,8 @@ aa
aa
aa
aa
+"}
+(13,1,1) = {"
aa
aa
aa
@@ -20873,8 +21371,6 @@ aa
aa
aa
aa
-"}
-(16,1,1) = {"
aa
aa
aa
@@ -20915,71 +21411,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -21130,8 +21561,6 @@ aa
aa
aa
aa
-"}
-(17,1,1) = {"
aa
aa
aa
@@ -21147,6 +21576,8 @@ aa
aa
aa
aa
+"}
+(14,1,1) = {"
aa
aa
aa
@@ -21172,71 +21603,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -21387,8 +21753,6 @@ aa
aa
aa
aa
-"}
-(18,1,1) = {"
aa
aa
aa
@@ -21429,71 +21793,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -21534,6 +21833,8 @@ aa
aa
aa
aa
+"}
+(15,1,1) = {"
aa
aa
aa
@@ -21644,8 +21945,6 @@ aa
aa
aa
aa
-"}
-(19,1,1) = {"
aa
aa
aa
@@ -21686,71 +21985,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -21856,6 +22090,8 @@ aa
aa
aa
aa
+"}
+(16,1,1) = {"
aa
aa
aa
@@ -21901,8 +22137,6 @@ aa
aa
aa
aa
-"}
-(20,1,1) = {"
aa
aa
aa
@@ -21943,71 +22177,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -22158,8 +22327,6 @@ aa
aa
aa
aa
-"}
-(21,1,1) = {"
aa
aa
aa
@@ -22180,6 +22347,8 @@ aa
aa
aa
aa
+"}
+(17,1,1) = {"
aa
aa
aa
@@ -22200,71 +22369,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -22415,8 +22519,6 @@ aa
aa
aa
aa
-"}
-(22,1,1) = {"
aa
aa
aa
@@ -22457,71 +22559,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -22567,6 +22604,8 @@ aa
aa
aa
aa
+"}
+(18,1,1) = {"
aa
aa
aa
@@ -22672,8 +22711,6 @@ aa
aa
aa
aa
-"}
-(23,1,1) = {"
aa
aa
aa
@@ -22714,71 +22751,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -22889,6 +22861,8 @@ aa
aa
aa
aa
+"}
+(19,1,1) = {"
aa
aa
aa
@@ -22929,8 +22903,6 @@ aa
aa
aa
aa
-"}
-(24,1,1) = {"
aa
aa
aa
@@ -22947,6 +22919,7 @@ aa
aa
aa
aa
+af
aa
aa
aa
@@ -22971,71 +22944,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -23186,8 +23094,6 @@ aa
aa
aa
aa
-"}
-(25,1,1) = {"
aa
aa
aa
@@ -23212,6 +23118,8 @@ aa
aa
aa
aa
+"}
+(20,1,1) = {"
aa
aa
aa
@@ -23228,71 +23136,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -23443,8 +23286,6 @@ aa
aa
aa
aa
-"}
-(26,1,1) = {"
aa
aa
aa
@@ -23485,71 +23326,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -23599,6 +23375,8 @@ aa
aa
aa
aa
+"}
+(21,1,1) = {"
aa
aa
aa
@@ -23700,8 +23478,6 @@ aa
aa
aa
aa
-"}
-(27,1,1) = {"
aa
aa
aa
@@ -23742,71 +23518,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -23921,6 +23632,8 @@ aa
aa
aa
aa
+"}
+(22,1,1) = {"
aa
aa
aa
@@ -23957,8 +23670,6 @@ aa
aa
aa
aa
-"}
-(28,1,1) = {"
aa
aa
aa
@@ -23999,71 +23710,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -24214,8 +23860,6 @@ aa
aa
aa
aa
-"}
-(29,1,1) = {"
aa
aa
aa
@@ -24245,6 +23889,8 @@ aa
aa
aa
aa
+"}
+(23,1,1) = {"
aa
aa
aa
@@ -24256,71 +23902,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -24471,8 +24052,6 @@ aa
aa
aa
aa
-"}
-(30,1,1) = {"
aa
aa
aa
@@ -24513,71 +24092,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -24632,6 +24146,8 @@ aa
aa
aa
aa
+"}
+(24,1,1) = {"
aa
aa
aa
@@ -24728,8 +24244,6 @@ aa
aa
aa
aa
-"}
-(31,1,1) = {"
aa
aa
aa
@@ -24770,71 +24284,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -24954,6 +24403,8 @@ aa
aa
aa
aa
+"}
+(25,1,1) = {"
aa
aa
aa
@@ -24985,8 +24436,6 @@ aa
aa
aa
aa
-"}
-(32,1,1) = {"
aa
aa
aa
@@ -25027,71 +24476,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -25242,8 +24626,6 @@ aa
aa
aa
aa
-"}
-(33,1,1) = {"
aa
aa
aa
@@ -25278,77 +24660,14 @@ aa
aa
aa
aa
+"}
+(26,1,1) = {"
aa
aa
aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -25499,8 +24818,6 @@ aa
aa
aa
aa
-"}
-(34,1,1) = {"
aa
aa
aa
@@ -25541,71 +24858,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -25665,6 +24917,8 @@ aa
aa
aa
aa
+"}
+(27,1,1) = {"
aa
aa
aa
@@ -25756,8 +25010,6 @@ aa
aa
aa
aa
-"}
-(35,1,1) = {"
aa
aa
aa
@@ -25798,71 +25050,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -25987,6 +25174,8 @@ aa
aa
aa
aa
+"}
+(28,1,1) = {"
aa
aa
aa
@@ -26013,8 +25202,6 @@ aa
aa
aa
aa
-"}
-(36,1,1) = {"
aa
aa
aa
@@ -26055,71 +25242,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -26270,8 +25392,6 @@ aa
aa
aa
aa
-"}
-(37,1,1) = {"
aa
aa
aa
@@ -26311,72 +25431,9 @@ aa
aa
aa
aa
+"}
+(29,1,1) = {"
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -26527,8 +25584,6 @@ aa
aa
aa
aa
-"}
-(38,1,1) = {"
aa
aa
aa
@@ -26569,71 +25624,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -26698,6 +25688,8 @@ aa
aa
aa
aa
+"}
+(30,1,1) = {"
aa
aa
aa
@@ -26784,8 +25776,6 @@ aa
aa
aa
aa
-"}
-(39,1,1) = {"
aa
aa
aa
@@ -26826,71 +25816,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -27020,6 +25945,8 @@ aa
aa
aa
aa
+"}
+(31,1,1) = {"
aa
aa
aa
@@ -27041,8 +25968,6 @@ aa
aa
aa
aa
-"}
-(40,1,1) = {"
aa
aa
aa
@@ -27083,71 +26008,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -27298,8 +26158,6 @@ aa
aa
aa
aa
-"}
-(41,1,1) = {"
aa
aa
aa
@@ -27340,75 +26198,12 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
aa
+"}
+(32,1,1) = {"
aa
aa
aa
@@ -27555,8 +26350,6 @@ aa
aa
aa
aa
-"}
-(42,1,1) = {"
aa
aa
aa
@@ -27597,71 +26390,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -27731,6 +26459,8 @@ aa
aa
aa
aa
+"}
+(33,1,1) = {"
aa
aa
aa
@@ -27812,8 +26542,6 @@ aa
aa
aa
aa
-"}
-(43,1,1) = {"
aa
aa
aa
@@ -27854,71 +26582,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -28053,6 +26716,8 @@ aa
aa
aa
aa
+"}
+(34,1,1) = {"
aa
aa
aa
@@ -28069,8 +26734,6 @@ aa
aa
aa
aa
-"}
-(44,1,1) = {"
aa
aa
aa
@@ -28111,71 +26774,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -28326,8 +26924,6 @@ aa
aa
aa
aa
-"}
-(45,1,1) = {"
aa
aa
aa
@@ -28368,71 +26964,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -28442,6 +26973,8 @@ aa
aa
aa
aa
+"}
+(35,1,1) = {"
aa
aa
aa
@@ -28504,6 +27037,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -28583,8 +27118,6 @@ aa
aa
aa
aa
-"}
-(46,1,1) = {"
aa
aa
aa
@@ -28625,71 +27158,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -28762,6 +27230,8 @@ aa
aa
aa
aa
+"}
+(36,1,1) = {"
aa
aa
aa
@@ -28822,6 +27292,11 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -28840,8 +27315,6 @@ aa
aa
aa
aa
-"}
-(47,1,1) = {"
aa
aa
aa
@@ -28882,71 +27355,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -29079,6 +27487,8 @@ aa
aa
aa
aa
+"}
+(37,1,1) = {"
aa
aa
aa
@@ -29097,8 +27507,6 @@ aa
aa
aa
aa
-"}
-(48,1,1) = {"
aa
aa
aa
@@ -29139,72 +27547,12 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -29281,7 +27629,6 @@ aa
aa
aa
aa
-ab
aa
aa
aa
@@ -29354,8 +27701,6 @@ aa
aa
aa
aa
-"}
-(49,1,1) = {"
aa
aa
aa
@@ -29396,74 +27741,11 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wj
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
+"}
+(38,1,1) = {"
aa
aa
aa
@@ -29523,6 +27805,12 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -29611,8 +27899,6 @@ aa
aa
aa
aa
-"}
-(50,1,1) = {"
aa
aa
aa
@@ -29653,71 +27939,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -29780,6 +28001,8 @@ aa
aa
aa
aa
+"}
+(39,1,1) = {"
aa
aa
aa
@@ -29832,11 +28055,19 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -29868,8 +28099,6 @@ aa
aa
aa
aa
-"}
-(51,1,1) = {"
aa
aa
aa
@@ -29910,71 +28139,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -30094,6 +28258,8 @@ aa
aa
aa
aa
+"}
+(40,1,1) = {"
aa
aa
aa
@@ -30125,8 +28291,6 @@ aa
aa
aa
aa
-"}
-(52,1,1) = {"
aa
aa
aa
@@ -30148,12 +28312,18 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -30167,71 +28337,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -30382,13 +28487,6 @@ aa
aa
aa
aa
-"}
-(53,1,1) = {"
-aa
-aa
-aa
-aa
-aa
aa
aa
aa
@@ -30417,6 +28515,8 @@ aa
aa
aa
aa
+"}
+(41,1,1) = {"
aa
aa
aa
@@ -30424,71 +28524,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -30545,11 +28580,15 @@ aa
aa
aa
aa
+af
aa
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -30639,8 +28678,6 @@ aa
aa
aa
aa
-"}
-(54,1,1) = {"
aa
aa
aa
@@ -30681,71 +28718,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -30800,6 +28772,8 @@ aa
aa
aa
aa
+"}
+(42,1,1) = {"
aa
aa
aa
@@ -30869,6 +28843,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -30896,8 +28873,6 @@ aa
aa
aa
aa
-"}
-(55,1,1) = {"
aa
aa
aa
@@ -30938,71 +28913,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -31119,6 +29029,8 @@ aa
aa
aa
aa
+"}
+(43,1,1) = {"
aa
aa
aa
@@ -31153,8 +29065,6 @@ aa
aa
aa
aa
-"}
-(56,1,1) = {"
aa
aa
aa
@@ -31177,6 +29087,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -31188,6 +29100,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -31195,71 +29110,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -31410,8 +29260,6 @@ aa
aa
aa
aa
-"}
-(57,1,1) = {"
aa
aa
aa
@@ -31438,6 +29286,8 @@ aa
aa
aa
aa
+"}
+(44,1,1) = {"
aa
aa
aa
@@ -31452,71 +29302,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -31559,6 +29344,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -31569,6 +29356,10 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -31667,8 +29458,6 @@ aa
aa
aa
aa
-"}
-(58,1,1) = {"
aa
aa
aa
@@ -31709,71 +29498,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -31819,6 +29543,8 @@ aa
aa
aa
aa
+"}
+(45,1,1) = {"
aa
aa
aa
@@ -31870,6 +29596,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -31885,6 +29613,10 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -31924,8 +29656,6 @@ aa
aa
aa
aa
-"}
-(59,1,1) = {"
aa
aa
aa
@@ -31966,71 +29696,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -32135,6 +29800,8 @@ aa
aa
aa
aa
+"}
+(46,1,1) = {"
aa
aa
aa
@@ -32181,18 +29848,21 @@ aa
aa
aa
aa
-"}
-(60,1,1) = {"
aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
aa
aa
+af
aa
aa
aa
@@ -32200,6 +29870,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -32223,71 +29896,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -32438,8 +30046,6 @@ aa
aa
aa
aa
-"}
-(61,1,1) = {"
aa
aa
aa
@@ -32451,6 +30057,8 @@ aa
aa
aa
aa
+"}
+(47,1,1) = {"
aa
aa
aa
@@ -32480,71 +30088,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -32566,12 +30109,17 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -32585,6 +30133,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -32695,8 +30245,6 @@ aa
aa
aa
aa
-"}
-(62,1,1) = {"
aa
aa
aa
@@ -32737,71 +30285,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -32831,6 +30314,8 @@ aa
aa
aa
aa
+"}
+(48,1,1) = {"
aa
aa
aa
@@ -32882,12 +30367,18 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -32899,6 +30390,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -32952,8 +30445,6 @@ aa
aa
aa
aa
-"}
-(63,1,1) = {"
aa
aa
aa
@@ -32994,71 +30485,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -33072,6 +30498,7 @@ aa
aa
aa
aa
+ab
aa
aa
aa
@@ -33144,6 +30571,8 @@ aa
aa
aa
aa
+"}
+(49,1,1) = {"
aa
aa
aa
@@ -33198,20 +30627,33 @@ aa
aa
aa
aa
+af
+af
+af
aa
+af
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
-"}
-(64,1,1) = {"
aa
+ab
aa
aa
aa
@@ -33251,71 +30693,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -33451,6 +30828,8 @@ aa
aa
aa
aa
+"}
+(50,1,1) = {"
aa
aa
aa
@@ -33466,8 +30845,6 @@ aa
aa
aa
aa
-"}
-(65,1,1) = {"
aa
aa
aa
@@ -33507,76 +30884,29 @@ aa
aa
aa
aa
+af
+af
+af
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
+af
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -33723,8 +31053,6 @@ aa
aa
aa
aa
-"}
-(66,1,1) = {"
aa
aa
aa
@@ -33757,6 +31085,8 @@ aa
aa
aa
aa
+"}
+(51,1,1) = {"
aa
aa
aa
@@ -33765,71 +31095,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -33876,15 +31141,36 @@ aa
aa
aa
aa
+af
+af
+af
aa
+af
+af
+af
+af
+af
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -33980,8 +31266,6 @@ aa
aa
aa
aa
-"}
-(67,1,1) = {"
aa
aa
aa
@@ -34022,71 +31306,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -34123,6 +31342,8 @@ aa
aa
aa
aa
+"}
+(52,1,1) = {"
aa
aa
aa
@@ -34181,13 +31402,33 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -34237,8 +31478,6 @@ aa
aa
aa
aa
-"}
-(68,1,1) = {"
aa
aa
aa
@@ -34279,71 +31518,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -34425,6 +31599,8 @@ aa
aa
aa
aa
+"}
+(53,1,1) = {"
aa
aa
aa
@@ -34484,18 +31660,32 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
-"}
-(69,1,1) = {"
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -34536,71 +31726,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -34731,6 +31856,8 @@ aa
aa
aa
aa
+"}
+(54,1,1) = {"
aa
aa
aa
@@ -34751,8 +31878,6 @@ aa
aa
aa
aa
-"}
-(70,1,1) = {"
aa
aa
aa
@@ -34792,84 +31917,32 @@ aa
aa
aa
aa
+af
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wj
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
aa
+af
+af
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -34877,6 +31950,7 @@ aa
aa
aa
aa
+af
aa
aa
aa
@@ -35008,8 +32082,6 @@ aa
aa
aa
aa
-"}
-(71,1,1) = {"
aa
aa
aa
@@ -35041,6 +32113,8 @@ aa
aa
aa
aa
+"}
+(55,1,1) = {"
aa
aa
aa
@@ -35050,71 +32124,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wj
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -35172,6 +32181,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -35183,6 +32195,11 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -35265,8 +32282,6 @@ aa
aa
aa
aa
-"}
-(72,1,1) = {"
aa
aa
aa
@@ -35307,71 +32322,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -35402,7 +32352,6 @@ aa
aa
aa
aa
-ab
aa
aa
aa
@@ -35421,6 +32370,8 @@ aa
aa
aa
aa
+"}
+(56,1,1) = {"
aa
aa
aa
@@ -35482,6 +32433,7 @@ aa
aa
aa
aa
+af
aa
aa
aa
@@ -35501,6 +32453,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -35522,8 +32476,6 @@ aa
aa
aa
aa
-"}
-(73,1,1) = {"
aa
aa
aa
@@ -35564,71 +32516,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -35740,6 +32627,8 @@ aa
aa
aa
aa
+"}
+(57,1,1) = {"
aa
aa
aa
@@ -35779,8 +32668,6 @@ aa
aa
aa
aa
-"}
-(74,1,1) = {"
aa
aa
aa
@@ -35801,6 +32688,12 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -35820,72 +32713,6 @@ aa
aa
aa
aa
-af
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -36036,8 +32863,6 @@ aa
aa
aa
aa
-"}
-(75,1,1) = {"
aa
aa
aa
@@ -36059,6 +32884,8 @@ aa
aa
aa
aa
+"}
+(58,1,1) = {"
aa
aa
aa
@@ -36077,72 +32904,6 @@ aa
aa
aa
aa
-af
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -36184,6 +32945,12 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -36193,6 +32960,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -36293,8 +33063,6 @@ aa
aa
aa
aa
-"}
-(76,1,1) = {"
aa
aa
aa
@@ -36335,71 +33103,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -36438,6 +33141,8 @@ aa
aa
aa
aa
+"}
+(59,1,1) = {"
aa
aa
aa
@@ -36497,12 +33202,24 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -36519,6 +33236,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -36550,8 +33270,6 @@ aa
aa
aa
aa
-"}
-(77,1,1) = {"
aa
aa
aa
@@ -36592,71 +33310,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -36745,6 +33398,8 @@ aa
aa
aa
aa
+"}
+(60,1,1) = {"
aa
aa
aa
@@ -36804,15 +33459,25 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
-"}
-(78,1,1) = {"
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -36828,6 +33493,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -36849,71 +33517,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -37052,6 +33655,8 @@ aa
aa
aa
aa
+"}
+(61,1,1) = {"
aa
aa
aa
@@ -37064,8 +33669,6 @@ aa
aa
aa
aa
-"}
-(79,1,1) = {"
aa
aa
aa
@@ -37106,71 +33709,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -37179,6 +33717,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -37186,17 +33727,32 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -37226,7 +33782,6 @@ aa
aa
aa
aa
-ab
aa
aa
aa
@@ -37321,8 +33876,6 @@ aa
aa
aa
aa
-"}
-(80,1,1) = {"
aa
aa
aa
@@ -37359,75 +33912,12 @@ aa
aa
aa
aa
+"}
+(62,1,1) = {"
aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -37494,15 +33984,32 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
+af
aa
+af
+af
+af
+af
aa
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -37578,8 +34085,6 @@ aa
aa
aa
aa
-"}
-(81,1,1) = {"
aa
aa
aa
@@ -37620,71 +34125,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -37729,6 +34169,8 @@ aa
aa
aa
aa
+"}
+(63,1,1) = {"
aa
aa
aa
@@ -37799,9 +34241,24 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -37835,8 +34292,6 @@ aa
aa
aa
aa
-"}
-(82,1,1) = {"
aa
aa
aa
@@ -37877,71 +34332,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -38036,6 +34426,8 @@ aa
aa
aa
aa
+"}
+(64,1,1) = {"
aa
aa
aa
@@ -38092,8 +34484,6 @@ aa
aa
aa
aa
-"}
-(83,1,1) = {"
aa
aa
aa
@@ -38109,10 +34499,22 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -38134,71 +34536,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -38346,11 +34683,11 @@ aa
aa
aa
aa
+"}
+(65,1,1) = {"
aa
aa
aa
-"}
-(84,1,1) = {"
aa
aa
aa
@@ -38391,71 +34728,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -38484,9 +34756,22 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -38606,8 +34891,6 @@ aa
aa
aa
aa
-"}
-(85,1,1) = {"
aa
aa
aa
@@ -38648,71 +34931,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -38722,6 +34940,8 @@ aa
aa
aa
aa
+"}
+(66,1,1) = {"
aa
aa
aa
@@ -38780,6 +35000,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -38794,10 +35016,19 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -38813,6 +35044,7 @@ aa
aa
aa
aa
+af
aa
aa
aa
@@ -38825,6 +35057,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -38863,8 +35098,6 @@ aa
aa
aa
aa
-"}
-(86,1,1) = {"
aa
aa
aa
@@ -38905,71 +35138,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -39029,6 +35197,8 @@ aa
aa
aa
aa
+"}
+(67,1,1) = {"
aa
aa
aa
@@ -39086,8 +35256,16 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -39103,10 +35281,16 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -39120,8 +35304,6 @@ aa
aa
aa
aa
-"}
-(87,1,1) = {"
aa
aa
aa
@@ -39132,6 +35314,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -39162,71 +35347,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -39334,6 +35454,8 @@ aa
aa
aa
aa
+"}
+(68,1,1) = {"
aa
aa
aa
@@ -39377,8 +35499,6 @@ aa
aa
aa
aa
-"}
-(88,1,1) = {"
aa
aa
aa
@@ -39393,8 +35513,16 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -39412,78 +35540,17 @@ aa
aa
aa
aa
+af
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -39504,6 +35571,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -39634,8 +35704,6 @@ aa
aa
aa
aa
-"}
-(89,1,1) = {"
aa
aa
aa
@@ -39643,6 +35711,8 @@ aa
aa
aa
aa
+"}
+(69,1,1) = {"
aa
aa
aa
@@ -39676,71 +35746,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -39765,8 +35770,17 @@ aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -39775,6 +35789,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -39783,6 +35800,12 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -39891,8 +35914,6 @@ aa
aa
aa
aa
-"}
-(90,1,1) = {"
aa
aa
aa
@@ -39933,71 +35954,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -40012,6 +35968,8 @@ aa
aa
aa
aa
+"}
+(70,1,1) = {"
aa
aa
aa
@@ -40066,16 +36024,31 @@ aa
aa
aa
aa
+af
+af
aa
+af
+af
+af
+af
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
+ab
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
@@ -40084,6 +36057,12 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -40148,8 +36127,6 @@ aa
aa
aa
aa
-"}
-(91,1,1) = {"
aa
aa
aa
@@ -40190,71 +36167,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -40313,24 +36225,8 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ad
-ad
-aa
+"}
+(71,1,1) = {"
aa
aa
aa
@@ -40383,6 +36279,14 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -40399,20 +36303,26 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
aa
aa
aa
-"}
-(92,1,1) = {"
-aa
-aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
+ab
aa
aa
aa
@@ -40447,71 +36357,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -40581,22 +36426,6 @@ aa
aa
aa
aa
-ad
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-Ht
-ad
aa
aa
aa
@@ -40653,6 +36482,8 @@ aa
aa
aa
aa
+"}
+(72,1,1) = {"
aa
aa
aa
@@ -40662,8 +36493,6 @@ aa
aa
aa
aa
-"}
-(93,1,1) = {"
aa
aa
aa
@@ -40704,74 +36533,17 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wj
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -40782,11 +36554,15 @@ aa
aa
aa
aa
+af
aa
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -40795,6 +36571,9 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
@@ -40838,22 +36617,10 @@ aa
aa
aa
aa
-Ht
-Tx
-Gp
-Tx
-Gp
-Tx
-Gp
-Tx
-TA
-Gp
aa
-Tx
-Gp
aa
+ab
aa
-Ht
aa
aa
aa
@@ -40919,8 +36686,6 @@ aa
aa
aa
aa
-"}
-(94,1,1) = {"
aa
aa
aa
@@ -40961,71 +36726,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -41039,6 +36739,8 @@ aa
aa
aa
aa
+"}
+(73,1,1) = {"
aa
aa
aa
@@ -41090,37 +36792,33 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
aa
aa
aa
aa
aa
+af
+af
+af
aa
aa
aa
aa
aa
+af
aa
aa
aa
@@ -41176,8 +36874,6 @@ aa
aa
aa
aa
-"}
-(95,1,1) = {"
aa
aa
aa
@@ -41218,71 +36914,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -41330,11 +36961,6 @@ aa
aa
aa
aa
-yi
-yk
-yk
-yk
-yi
aa
aa
aa
@@ -41352,26 +36978,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
-aa
-aa
-aa
-aa
aa
aa
aa
@@ -41390,6 +36996,8 @@ aa
aa
aa
aa
+"}
+(74,1,1) = {"
aa
aa
aa
@@ -41429,12 +37037,11 @@ aa
aa
aa
aa
+af
aa
aa
aa
aa
-"}
-(96,1,1) = {"
aa
aa
aa
@@ -41442,6 +37049,14 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -41451,6 +37066,11 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
@@ -41459,6 +37079,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -41475,73 +37097,11 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
+af
+af
+af
aa
aa
aa
@@ -41587,11 +37147,6 @@ aa
aa
aa
aa
-yk
-kX
-zR
-zl
-yk
aa
aa
aa
@@ -41609,22 +37164,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
aa
aa
aa
@@ -41690,8 +37229,6 @@ aa
aa
aa
aa
-"}
-(97,1,1) = {"
aa
aa
aa
@@ -41716,6 +37253,8 @@ aa
aa
aa
aa
+"}
+(75,1,1) = {"
aa
aa
aa
@@ -41732,71 +37271,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -41820,6 +37294,7 @@ aa
aa
aa
aa
+af
aa
aa
aa
@@ -41831,6 +37306,14 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -41840,48 +37323,47 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
aa
-yk
-zm
-yj
-zm
-yk
aa
aa
aa
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
aa
aa
-ad
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
aa
aa
aa
@@ -41892,7 +37374,6 @@ aa
aa
aa
aa
-ab
aa
aa
aa
@@ -41947,8 +37428,6 @@ aa
aa
aa
aa
-"}
-(98,1,1) = {"
aa
aa
aa
@@ -41989,71 +37468,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -42068,30 +37482,6 @@ aa
aa
aa
aa
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ad
-la
-mN
-la
-ad
-ad
-ad
-la
-mN
-la
-mN
-la
aa
aa
aa
@@ -42100,13 +37490,6 @@ aa
aa
aa
aa
-yi
-yi
-yi
-GU
-yi
-yi
-yi
aa
aa
aa
@@ -42123,26 +37506,12 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
aa
aa
aa
aa
+"}
+(76,1,1) = {"
aa
aa
aa
@@ -42195,6 +37564,59 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -42204,8 +37626,6 @@ aa
aa
aa
aa
-"}
-(99,1,1) = {"
aa
aa
aa
@@ -42246,71 +37666,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -42325,45 +37680,12 @@ aa
aa
aa
aa
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-ac
-ad
-la
-mO
-la
-ad
-ad
-ad
-la
-mO
-la
-mO
-la
-ad
-ad
aa
aa
aa
aa
aa
aa
-yi
-yL
-Tw
-yj
-yj
-yL
-yi
aa
aa
aa
@@ -42380,22 +37702,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
aa
aa
aa
@@ -42462,7 +37768,7 @@ aa
aa
aa
"}
-(100,1,1) = {"
+(77,1,1) = {"
aa
aa
aa
@@ -42503,71 +37809,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -42581,47 +37822,9 @@ aa
aa
aa
aa
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-kZ
-kZ
-la
-mP
-Sd
-kZ
-la
-kZ
-la
-mP
-Sd
-mP
-la
-ad
-kZ
-la
-la
-kZ
-kZ
-kZ
-kZ
-yi
-OS
-zo
-zo
-zo
-yj
-yi
aa
+af
+af
aa
aa
aa
@@ -42635,38 +37838,43 @@ aa
aa
aa
aa
+af
+af
+af
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
aa
aa
aa
aa
aa
+af
+af
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
+aa
aa
aa
aa
@@ -42718,8 +37926,6 @@ aa
aa
aa
aa
-"}
-(101,1,1) = {"
aa
aa
aa
@@ -42760,71 +37966,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -42838,46 +37979,6 @@ aa
aa
aa
aa
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-kZ
-lI
-mh
-mQ
-mh
-oh
-oH
-rc
-mh
-mQ
-mh
-rW
-kZ
-ad
-kZ
-uB
-mS
-vO
-mP
-mO
-mP
-ei
-yj
-yj
-yj
-yj
-yj
-yk
aa
aa
aa
@@ -42894,22 +37995,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
aa
aa
aa
@@ -42939,6 +38024,16 @@ aa
aa
aa
aa
+"}
+(78,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -42975,8 +38070,6 @@ aa
aa
aa
aa
-"}
-(102,1,1) = {"
aa
aa
aa
@@ -43006,10 +38099,42 @@ aa
aa
aa
aa
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
aa
aa
aa
@@ -43017,71 +38142,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -43095,46 +38155,6 @@ aa
aa
aa
aa
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-LJ
-Pp
-Pp
-Pp
-Pp
-Pp
-la
-lJ
-mi
-mR
-nB
-mS
-mS
-mS
-mS
-mR
-rm
-rX
-kZ
-kZ
-kZ
-uC
-mS
-vP
-kZ
-la
-kZ
-yi
-yM
-zo
-zo
-zo
-yj
-yi
aa
aa
aa
@@ -43151,22 +38171,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
aa
aa
aa
@@ -43232,8 +38236,6 @@ aa
aa
aa
aa
-"}
-(103,1,1) = {"
aa
aa
aa
@@ -43274,76 +38276,13 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
aa
aa
+"}
+(79,1,1) = {"
aa
aa
aa
@@ -43351,47 +38290,6 @@ aa
aa
aa
aa
-ad
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-la
-lJ
-mj
-mS
-mS
-mS
-mS
-mS
-mS
-nB
-rn
-mS
-mS
-te
-mS
-mS
-nB
-nB
-mS
-xf
-la
-yk
-yj
-yj
-zS
-yj
-yj
-yk
aa
aa
aa
@@ -43408,22 +38306,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
aa
aa
aa
@@ -43474,13 +38356,22 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
aa
+af
+af
+af
+af
+af
aa
aa
aa
+af
+af
aa
aa
aa
@@ -43489,8 +38380,15 @@ aa
aa
aa
aa
-"}
-(104,1,1) = {"
+af
+af
+af
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -43531,71 +38429,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wj
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -43608,47 +38441,22 @@ aa
aa
aa
aa
-ad
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-kZ
-lK
-mj
-mS
-nB
-oi
-oI
-oI
-pY
-oI
-ro
-pY
-oI
-tf
-tW
-mS
-mS
-mS
-mS
-xf
-la
-yk
-yj
-zo
-zo
-zo
-yj
-yk
+aa
+aa
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -43665,22 +38473,6 @@ aa
aa
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
aa
aa
aa
@@ -43747,7 +38539,7 @@ aa
aa
aa
"}
-(105,1,1) = {"
+(80,1,1) = {"
aa
aa
aa
@@ -43788,71 +38580,6 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
aa
aa
aa
@@ -43864,54 +38591,18 @@ aa
aa
aa
aa
-ad
-ad
-ad
-ad
-ad
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-Pp
-kZ
-lL
-mk
-nC
-nC
-oj
-nC
-nC
-nC
-nC
-rp
-nC
-ss
-tg
-tX
-nC
-vb
-mS
-mS
-kE
-la
-yk
-yj
-yj
-yj
-yj
-yj
-yk
aa
aa
aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
aa
aa
aa
@@ -43919,30 +38610,21 @@ aa
aa
aa
aa
-ad
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
+aa
+af
+af
+af
aa
aa
aa
aa
aa
+af
+af
+af
+aa
aa
aa
aa
@@ -43957,6 +38639,16 @@ aa
aa
aa
aa
+af
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
aa
aa
aa
@@ -44003,8 +38695,6 @@ aa
aa
aa
aa
-"}
-(106,1,1) = {"
aa
aa
aa
@@ -44045,71 +38735,6598 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(81,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(82,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(83,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(84,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(85,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(86,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(87,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(88,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(89,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+yS
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(90,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(91,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+jc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(92,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(93,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(94,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(95,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(96,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ad
+la
+PN
+kZ
+ad
+ad
+ad
+la
+PN
+kZ
+PN
+la
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+GQ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(97,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+ac
+ad
+la
+PY
+kZ
+ad
+ad
+ad
+la
+Nu
+kZ
+Bj
+la
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+GJ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(98,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+ac
+ad
+la
+Qp
+kZ
+ad
+ad
+ad
+la
+Qp
+kZ
+Qp
+la
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+GJ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(99,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+ac
+ad
+Zb
+Qp
+kZ
+ad
+ad
+ad
+Zb
+Qp
+kZ
+Qp
+Zb
+ad
+ad
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+FE
+FE
+FE
+Gh
+Gh
+aa
+GH
+aa
+Gh
+Gh
+FE
+FE
+FE
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(100,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+LJ
+Pp
+Pp
+Pp
+Pp
+Pp
+kZ
+kZ
+la
+OT
+Sd
+kZ
+la
+kZ
+la
+OT
+Sd
+OT
+la
+ad
+kZ
+la
+la
+kZ
+kZ
+kZ
+kZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+FF
+Ga
+Ga
+Ga
+Ga
+Gw
+Jt
+GM
+GN
+GN
+GN
+GN
+GO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(101,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+kZ
+lI
+mh
+Ry
+mh
+oh
+oH
+rc
+mh
+Ry
+mh
+rW
+kZ
+ad
+kZ
+uB
+mS
+vO
+mP
+mO
+Uz
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+FG
+FG
+FG
+FG
+FG
+aa
+Jt
+aa
+FG
+FG
+FG
+FG
+FG
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(102,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+la
+lJ
+mi
+mR
+nB
+mS
+mS
+mS
+mS
+mR
+rm
+rX
+kZ
+kZ
+kZ
+uC
+mS
+vP
+kZ
+kZ
+kZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+aa
+aa
+aa
+Jt
+aa
+aa
+aa
+ad
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(103,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+ad
+ad
+ad
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+Pp
+la
+MG
+Rn
+Da
+Db
+PX
+PX
+PX
+PX
+rE
+rn
+Vs
+mS
+te
+mS
+mS
+nB
+nB
+mS
+xf
+la
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+FE
+FE
+FE
+FE
+FE
+aa
+Jt
+aa
+FE
+FE
+FE
+FE
+FE
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(104,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+ad
+ad
+ad
+ad
+ad
+au
+ie
+cy
+cy
+ie
+au
+ad
+kZ
+lK
+mj
+mS
+Sn
+oi
+oI
+oI
+pY
+oI
+ro
+MY
+oI
+tf
+tW
+mS
+mS
+mS
+mS
+xf
+la
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+FF
+Ga
+Ga
+Ga
+Ga
+Gw
+Jt
+GM
+GN
+GN
+GN
+GN
+GO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(105,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+ad
+ad
+ad
+ad
+ad
+ad
+au
+Rq
+cy
+cy
+Rh
+au
+ad
+kZ
+lL
+mk
+Wo
+QZ
+oj
+nC
+nC
+nC
+nC
+rp
+TD
+ss
+tg
+tX
+kX
+vb
+mS
+mS
+kE
+la
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ad
+aa
+aa
+aa
+aa
+FG
+FG
+FG
+FG
+FG
+aa
+Jt
+aa
+FG
+FG
+FG
+FG
+FG
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+"}
+(106,1,1) = {"
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
+af
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44138,15 +45355,15 @@ au
kZ
lM
mS
-mS
-mS
+Vs
+Vs
ok
oJ
ph
-nD
-nD
+ea
+ea
rq
-nD
+gA
st
th
tY
@@ -44156,13 +45373,13 @@ mS
mS
xh
la
-yk
-yj
-zo
-zo
-zo
-yj
-yk
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44179,22 +45396,22 @@ aa
ad
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
+aa
+aa
+aa
+aa
ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
+aa
+aa
+aa
+Jt
+aa
+aa
+aa
+ad
+aa
+aa
+aa
aa
aa
aa
@@ -44302,71 +45519,71 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
aa
aa
aa
@@ -44386,20 +45603,20 @@ fL
gj
gL
ho
-hQ
+fB
IO
-hQ
+Vy
hQ
fq
au
kZ
+Os
kZ
-kZ
-kZ
-kZ
+Os
+Os
ol
-kZ
-kZ
+Os
+Os
kZ
qE
rr
@@ -44411,15 +45628,15 @@ mS
mS
vQ
kZ
-la
kZ
-yi
-yR
-yj
-yj
-yj
-yj
-yi
+kZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44436,22 +45653,55 @@ ad
ad
aa
aa
-Ht
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-GQ
-ad
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
+aa
+aa
+FE
+FE
+FE
+FE
+FE
+aa
+Jt
+aa
+FE
+FE
+FE
+FE
+FE
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44484,6 +45734,13 @@ aa
aa
aa
aa
+"}
+(108,1,1) = {"
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44517,8 +45774,6 @@ aa
aa
aa
aa
-"}
-(108,1,1) = {"
aa
aa
aa
@@ -44537,6 +45792,15 @@ aa
aa
aa
aa
+af
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44559,71 +45823,24 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+af
+af
ad
ad
ad
@@ -44640,19 +45857,19 @@ cl
dI
fj
fM
-dI
-dI
-dI
-dI
+yO
+mI
+mI
+SO
gN
-dI
-ej
-dI
+cf
+Pe
+IH
au
lb
-lN
-lN
-mq
+Ta
+qj
+XV
nE
om
oK
@@ -44669,14 +45886,14 @@ nB
vP
mP
mO
-mP
-ei
-yS
-WX
-ZY
-WX
-yS
-yk
+Uz
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
ad
@@ -44693,22 +45910,22 @@ uK
ad
aa
aa
-Ht
-GQ
-PG
-Gq
-PG
-Gq
-PG
-Gq
-ad
-GQ
-Tx
-Gq
-PG
-OG
-Gp
-Ht
+aa
+aa
+FF
+Ga
+Ga
+Ga
+Ga
+Gw
+Jt
+GM
+GN
+GN
+GN
+GN
+GO
+aa
aa
aa
aa
@@ -44816,71 +46033,71 @@ aa
aa
aa
aa
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
-Wp
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -44901,18 +46118,18 @@ gk
fN
Mq
hR
-fN
+Mq
iU
SR
jV
au
lc
-jY
-mo
+Ts
mo
+SA
Is
it
-DJ
+Sv
pj
kZ
qG
@@ -44927,13 +46144,13 @@ Yg
kZ
kZ
kZ
-yi
-yi
-zp
-zp
-zp
-yi
-yi
+aa
+aa
+aa
+aa
+aa
+aa
+aa
ad
ad
ad
@@ -44945,30 +46162,26 @@ ad
ad
ad
uK
-zr
+Zo
uK
ad
ad
aa
-Ht
-PG
-OG
-OG
-OG
-OG
-OG
-OG
-Ra
-GQ
-PG
-Gp
-Tx
-OG
-Gq
-Ht
aa
aa
+FG
+FG
+FG
+FG
+FG
aa
+GI
+aa
+FG
+FG
+FG
+FG
+FG
aa
aa
aa
@@ -45031,12 +46244,14 @@ aa
aa
aa
aa
-"}
-(110,1,1) = {"
aa
aa
aa
aa
+"}
+(110,1,1) = {"
+aa
+aa
aa
aa
aa
@@ -45128,6 +46343,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -45158,16 +46375,16 @@ gl
fO
Lt
hS
-fO
+fJ
iV
fF
jW
au
ld
-Zf
+Qr
eq
Wt
-WH
+lP
dO
oM
pk
@@ -45184,13 +46401,13 @@ VQ
kZ
aa
ad
-yi
-yT
-yT
-yT
-yT
-yT
-yi
+aa
+aa
+aa
+aa
+aa
+aa
+aa
ad
aa
aa
@@ -45202,12 +46419,12 @@ aa
uK
uK
uK
-Du
+gU
uK
ad
aa
aa
-Ht
+aa
aa
aa
aa
@@ -45215,14 +46432,8 @@ aa
aa
aa
ad
-Xz
-PG
-OG
-Gq
-PG
-OG
-Gp
-Ht
+GJ
+ad
aa
aa
aa
@@ -45288,14 +46499,14 @@ aa
aa
aa
aa
-"}
-(111,1,1) = {"
aa
aa
aa
aa
aa
aa
+"}
+(111,1,1) = {"
aa
aa
aa
@@ -45389,6 +46600,12 @@ aa
aa
aa
aa
+af
+af
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -45411,21 +46628,21 @@ dI
dI
fm
dI
-dI
+cf
gM
Zk
hT
-dI
+NI
iW
-Zk
+Ba
jX
au
YM
-iq
-mp
-mY
-nF
-PA
+QA
+Ne
+Wg
+WH
+QJ
oN
oN
oN
@@ -45458,8 +46675,8 @@ ad
aa
uK
UK
-zr
-To
+XJ
+NW
DD
ad
ad
@@ -45467,20 +46684,17 @@ ad
ad
aa
aa
-ad
-ad
+aa
+aa
aa
ad
-ST
+Gm
RJ
-ST
+Gm
ad
aa
-Tx
-NP
-Gq
-Ht
aa
+ad
aa
aa
aa
@@ -45545,11 +46759,11 @@ aa
aa
aa
aa
-"}
-(112,1,1) = {"
aa
aa
aa
+"}
+(112,1,1) = {"
aa
aa
aa
@@ -45618,6 +46832,9 @@ aa
aa
aa
aa
+af
+af
+aa
aa
aa
aa
@@ -45663,12 +46880,12 @@ cn
au
cQ
cy
-dD
-dI
+mW
+SO
eF
fm
ej
-ej
+Ss
dI
hp
au
@@ -45679,10 +46896,10 @@ au
au
dj
lQ
-mq
-mq
-mq
-lP
+mp
+mY
+nF
+PA
oN
pl
pZ
@@ -45728,15 +46945,15 @@ Dt
ad
ad
ad
-Eo
-BB
+Dt
+GW
Eo
ad
ad
-Oe
-NP
-Gp
-Ht
+ad
+ad
+aa
+aa
aa
aa
aa
@@ -45872,8 +47089,8 @@ aa
aa
aa
aa
-aa
-aa
+af
+af
aa
aa
aa
@@ -45922,10 +47139,10 @@ cR
cx
dG
ek
-dI
+ZA
fn
-dI
-dI
+ZA
+ZL
dI
hq
au
@@ -45937,7 +47154,7 @@ Mx
le
lR
mq
-mZ
+mq
mq
Ub
oN
@@ -45963,8 +47180,8 @@ lZ
AD
uK
Bc
-zT
-CN
+vm
+Zj
zT
zT
zT
@@ -45972,7 +47189,7 @@ zT
RO
CN
zT
-zT
+eP
Dv
DE
DT
@@ -45986,14 +47203,14 @@ aa
ad
aa
Eo
-BB
+Yt
Eo
aa
ad
-Tx
-OG
-Gq
-Ht
+aa
+aa
+aa
+aa
aa
aa
aa
@@ -46178,7 +47395,7 @@ au
au
au
dH
-dI
+cf
eF
fo
fP
@@ -46194,8 +47411,8 @@ iX
iX
iX
iX
-WZ
-mq
+mZ
+fG
lP
oN
pn
@@ -46247,12 +47464,7 @@ GV
Eo
Eo
Dt
-PG
-OG
-Gp
-Ht
aa
-HW
aa
aa
aa
@@ -46316,13 +47528,15 @@ aa
aa
aa
aa
-"}
-(115,1,1) = {"
aa
aa
aa
aa
aa
+"}
+(115,1,1) = {"
+aa
+aa
aa
aa
aa
@@ -46401,6 +47615,9 @@ aa
aa
aa
aa
+af
+af
+aa
aa
aa
aa
@@ -46435,7 +47652,7 @@ UV
cS
cA
Pl
-ej
+TP
eG
fp
fQ
@@ -46476,7 +47693,7 @@ zU
za
AF
uK
-Am
+KI
bl
aG
of
@@ -46501,16 +47718,11 @@ Dt
Gn
Gx
GX
-hy
+Gb
Hf
-PZ
-TU
-OG
-Gq
-ad
-ad
-ad
-HW
+Dt
+aa
+aa
aa
aa
aa
@@ -46573,13 +47785,16 @@ aa
aa
aa
aa
-"}
-(116,1,1) = {"
aa
aa
aa
aa
aa
+"}
+(116,1,1) = {"
+aa
+aa
+aa
aa
aa
aa
@@ -46657,6 +47872,8 @@ aa
aa
aa
aa
+af
+af
aa
aa
aa
@@ -46753,18 +47970,18 @@ Fc
Fm
FJ
Dt
-yO
Dt
-Ml
+Dt
+Uc
Um
-UN
-NT
-Ml
+UT
+mV
+Ft
Dt
Dt
Dt
Dt
-ad
+aa
aa
aa
aa
@@ -46972,7 +48189,7 @@ BX
pq
mq
iq
-iq
+lN
mq
LI
mS
@@ -47009,20 +48226,20 @@ EN
Fd
Fu
FK
-ln
-RC
+EZ
+EZ
Gi
-VE
-TB
-Nl
-VX
-Jc
+Gp
+Gy
+EZ
+EZ
+ln
Hs
-YL
+zg
HI
Dt
aa
-HW
+aa
aa
aa
aa
@@ -47269,18 +48486,18 @@ FL
Gb
Gf
Gj
+Gq
Gz
Gz
-Bg
Ha
-Ml
-RL
+YA
+Ht
HB
HJ
Dt
aa
aa
-HW
+aa
aa
aa
aa
@@ -47454,7 +48671,7 @@ bI
ah
ad
co
-SX
+Pr
co
ad
aa
@@ -47486,7 +48703,7 @@ oR
mq
mq
is
-iq
+lN
mq
mS
tq
@@ -47522,23 +48739,23 @@ En
EL
Ff
Fw
-Yt
-Aq
-gY
-Dt
-Ad
Ad
-Ad
-HL
+Dt
+Dt
+Dt
+Eo
+Eo
+Eo
+Dt
Hg
-Ml
-LO
+DC
+ex
HK
Dt
aa
aa
aa
-HW
+aa
aa
aa
aa
@@ -47711,7 +48928,7 @@ ah
ah
ad
co
-cC
+AN
co
ad
aa
@@ -47779,34 +48996,34 @@ DC
DC
EY
DC
-HE
+Aq
Dt
ad
ad
aa
aa
aa
-HL
-HL
-Gy
-Mv
-HL
+Dt
+Dt
+DC
+QS
+Dt
Dt
aa
aa
aa
aa
-Oj
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+HY
+GS
+If
aa
+HY
+GS
+If
aa
+HY
+GS
+If
aa
aa
aa
@@ -47920,8 +49137,8 @@ aa
aa
aa
aa
-aa
-aa
+af
+af
aa
aa
aa
@@ -48037,33 +49254,33 @@ FS
DC
DC
FO
-Ad
+Eo
ad
aa
aa
aa
aa
ad
-HL
+Dt
Hu
-bL
-HL
-ad
+ST
+Dt
ad
ad
ad
ad
-HW
-aa
-aa
-aa
-aa
-aa
-aa
-aa
aa
+HY
+GT
+If
aa
+HY
+GT
+If
aa
+HY
+GT
+If
aa
aa
aa
@@ -48177,8 +49394,8 @@ aa
aa
aa
aa
-aa
-aa
+af
+af
aa
aa
aa
@@ -48224,8 +49441,8 @@ bw
TH
bU
aD
-cC
-cC
+dW
+NT
co
co
co
@@ -48293,7 +49510,7 @@ Ev
EQ
DC
DC
-HE
+EB
Dt
aa
aa
@@ -48301,26 +49518,26 @@ aa
aa
aa
ad
-HL
-Gy
-Mv
-HL
-aa
-aa
-aa
-aa
-aa
-HW
-aa
-aa
-aa
-aa
-aa
+Dt
+DC
+QS
+Dt
aa
aa
aa
aa
aa
+HY
+GT
+If
+ad
+HY
+GT
+If
+ad
+HY
+GT
+If
aa
aa
aa
@@ -48482,11 +49699,11 @@ MV
aJ
aD
XL
-cC
-cC
-cC
-cC
-dJ
+MF
+DI
+Wc
+XD
+MN
Qu
di
di
@@ -48550,7 +49767,7 @@ av
ER
yz
Fx
-HE
+EB
Dt
aa
aa
@@ -48558,26 +49775,26 @@ aa
aa
aa
aa
-Oy
+Dt
Hv
-jN
-HL
-HL
-aa
-aa
-aa
-aa
-aa
-Ht
-aa
-aa
-aa
-aa
-aa
-aa
+MM
+Dt
+Dt
+ad
+ad
+ad
aa
+HY
+GT
+If
aa
+HY
+GT
+If
aa
+HY
+GT
+If
aa
aa
aa
@@ -48815,26 +50032,26 @@ aa
aa
aa
aa
+Eo
+bk
+HE
HL
-HY
-jM
-HL
-QM
-aa
-aa
-aa
-aa
-aa
-Ht
-aa
-aa
-aa
+Eo
aa
aa
aa
aa
+HY
+GT
+If
aa
+HY
+GT
+If
aa
+HY
+GT
+If
aa
aa
aa
@@ -49066,31 +50283,31 @@ Fi
Fz
FQ
Gc
-Ad
+Eo
ad
aa
aa
aa
aa
-HD
-Vh
-HT
-Vh
-Oy
-aa
-aa
-aa
-aa
-aa
-aa
+Eo
+bk
+ST
+HM
+VG
+Eo
+Dt
+Dt
aa
aa
+GH
aa
aa
aa
+GH
aa
aa
aa
+GH
aa
aa
aa
@@ -49315,43 +50532,43 @@ CW
Rt
Pg
Dy
-uG
+Pg
Ef
Pg
EU
Fj
FA
FR
-sE
-Ad
-aa
-aa
+DC
+Eo
+ad
+ad
aa
aa
aa
-HD
+Dt
Hw
-If
-ie
+hi
+HN
HU
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+eK
+HW
+TT
+GR
+Gw
+Jt
+Jt
+Jt
+Jt
+Jt
+Jt
+Jt
+Jt
+Jt
+GM
+GR
+GR
+JO
aa
aa
aa
@@ -49571,8 +50788,8 @@ CE
Co
ui
QG
-Yn
-QH
+XS
+ui
Eg
aV
EV
@@ -49580,31 +50797,31 @@ Fi
FB
PK
Gd
-Ad
+Eo
aa
aa
aa
aa
aa
-HD
-Vh
+Eo
+bk
HC
-Vh
-Oy
-aa
-aa
-aa
-aa
-aa
-aa
+Gt
+Eo
+Eo
+Eo
+Dt
aa
aa
+GI
aa
aa
aa
+GI
aa
aa
aa
+GI
aa
aa
aa
@@ -49770,13 +50987,13 @@ ah
ah
ah
dR
-Ib
+UI
UI
UI
CY
UI
ZP
-Ib
+Rx
di
eQ
di
@@ -49829,7 +51046,7 @@ ms
ms
ms
nQ
-av
+Dt
Eh
Ex
EW
@@ -49843,26 +51060,26 @@ aa
aa
aa
aa
-HL
+Eo
Hx
-lu
-HL
-QM
-aa
-aa
-aa
-aa
-aa
-Ht
-aa
-aa
-aa
+Gt
+HO
+Eo
aa
aa
aa
aa
+HY
+He
+If
aa
+HY
+He
+If
aa
+HY
+He
+If
aa
aa
aa
@@ -50027,13 +51244,13 @@ cu
Mk
cV
dS
-Ib
+Rx
Qh
Od
ND
Od
Xe
-Ib
+Rx
eR
fD
fV
@@ -50100,26 +51317,26 @@ aa
aa
aa
ad
-Oy
-cI
-IM
-HL
-HL
-aa
-aa
-aa
-aa
-aa
-Ht
-aa
-aa
-aa
-aa
-aa
-aa
+Dt
+Hv
+HD
+Dt
+Dt
+ad
+ad
+ad
aa
+HY
+He
+If
aa
+HY
+He
+If
aa
+HY
+He
+If
aa
aa
aa
@@ -50284,13 +51501,13 @@ cv
cJ
UL
dT
-Ib
+Rx
Zt
Od
ND
Od
Od
-Ib
+Rx
eS
dm
dU
@@ -50347,36 +51564,36 @@ av
Ei
Ey
EX
-ml
-Ni
+EB
+DC
FV
-Ad
+Eo
ad
ad
ad
ad
ad
ad
-HL
-Gy
-Oa
-HL
-aa
-aa
-aa
-aa
-aa
-Ht
-aa
-aa
-aa
-aa
-aa
+Dt
+DC
+Gt
+Dt
aa
aa
aa
aa
aa
+HY
+He
+If
+ad
+HY
+He
+If
+ad
+HY
+He
+If
aa
aa
aa
@@ -50541,19 +51758,19 @@ cw
Qq
cW
Zr
-OD
+eC
Ir
Ir
UD
Ir
Ny
-Ib
-cY
+Rx
cY
cY
cY
cY
Ut
+dr
Wi
iz
ix
@@ -50599,7 +51816,7 @@ Sa
Wu
av
bd
-PX
+DC
nz
DC
DC
@@ -50614,26 +51831,26 @@ ad
ad
aa
aa
-HL
-Gy
-Oa
-HL
-ad
+Dt
+DC
+Gt
+Dt
ad
ad
ad
ad
-Ht
-aa
-aa
-aa
-aa
-aa
-aa
-aa
aa
+HY
+He
+If
aa
+HY
+He
+If
aa
+HY
+He
+If
aa
aa
aa
@@ -50797,14 +52014,14 @@ ad
cw
cJ
cX
-QX
-Ib
+pp
+Rx
Sf
Pk
TF
Px
Ov
-Ib
+Rx
eT
fX
VU
@@ -50870,27 +52087,27 @@ aa
ad
aa
aa
-HL
-dM
-Zi
-Nn
-VH
+Dt
+Dt
+DC
+Gt
+Dt
Dt
aa
aa
aa
aa
-Ht
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+HY
+HT
+If
aa
+HY
+HT
+If
aa
+HY
+HT
+If
aa
aa
aa
@@ -51054,14 +52271,14 @@ aa
cw
cw
cw
-cJ
-Ib
+Tc
+Rx
Ir
Ir
ND
Ir
Ir
-Ib
+Rx
eU
fH
QU
@@ -51124,19 +52341,19 @@ FY
Dt
Dt
Dt
-Ad
-Ad
-Ad
-HL
+Eo
+Eo
+Eo
+Dt
Hh
-Dd
-Nf
+En
+HC
HP
Dt
aa
aa
aa
-Ht
+aa
aa
aa
aa
@@ -51311,20 +52528,20 @@ aa
aa
aa
cw
-cK
-Ib
+Tc
+Rx
IB
ZZ
PT
dn
Ir
-Ib
-cY
+Rx
cY
cY
gB
cY
da
+da
hZ
TV
da
@@ -51374,9 +52591,9 @@ Dl
DK
Ek
En
-Yl
-Te
-NY
+Gt
+EB
+En
FU
DC
RP
@@ -51392,7 +52609,7 @@ HQ
Dt
aa
aa
-Ht
+aa
aa
aa
aa
@@ -51568,8 +52785,8 @@ ad
aa
aa
cw
-cJ
-Ib
+Tc
+Rx
Nc
Ms
Vv
@@ -51632,23 +52849,23 @@ DL
El
DC
Gt
-EB
-bJ
+Xk
+Ve
FZ
Ge
Gg
Gl
-Gg
-Gg
-Gg
-Gg
-Ge
+Gs
+IZ
+GA
+GA
+Hi
Hy
HG
HR
Dt
aa
-Ht
+aa
aa
aa
aa
@@ -51825,16 +53042,16 @@ ad
ad
aa
cw
-cJ
-Ib
-Ib
-Ib
-Ib
-Ib
-Ib
-Ib
+Tc
+Rx
+Rx
+Rx
+Rx
+Rx
+Rx
+Rx
eW
-fJ
+Fq
fZ
gC
hb
@@ -51887,16 +53104,16 @@ Dn
Dn
DM
Ek
-FD
+DC
Gt
Fn
-Tf
+Dt
Eo
Eo
Eo
Gm
-DC
-EY
+Gt
+Jc
En
Hb
Hj
@@ -52082,16 +53299,16 @@ ad
aa
aa
VV
-cK
-Ib
-Ib
-Ib
+pp
+cw
+QX
+Rx
MA
YQ
dX
eB
eX
-cY
+Fq
ga
gD
hc
@@ -52147,13 +53364,13 @@ Ek
DC
Ea
Fo
-Tf
+Dt
ad
ad
ad
Dt
-MM
-En
+Ni
+As
DC
Hc
Hk
@@ -52338,17 +53555,17 @@ bg
aa
aa
aa
-ad
-aa
-aa
-aa
-Ib
+cw
+Tc
+Yq
+QX
+Rx
Nw
dq
dY
dY
eY
-cY
+Fq
dZ
dr
eZ
@@ -52404,13 +53621,13 @@ Ek
En
Gt
Fp
-Pe
-Uy
+Dt
+aa
ad
ad
Dt
Gu
-DC
+Za
DC
Hd
Hl
@@ -52595,17 +53812,17 @@ aa
aa
aa
aa
-aa
-ad
-aa
-aa
-Ib
+cw
+Tc
+cw
+cw
+Rx
Nw
OP
Nw
Nw
Tq
-cY
+Fq
TJ
gE
hd
@@ -52661,7 +53878,7 @@ Ek
DC
dQ
Fp
-XB
+Dt
aa
ad
aa
@@ -52852,17 +54069,17 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-Ib
+YW
+wf
+cJ
+cJ
+Rx
Vj
YY
Po
Vd
Nw
-cY
+Fq
cY
cY
cY
@@ -52938,7 +54155,7 @@ aa
aa
aa
aa
-HW
+aa
aa
aa
aa
@@ -53106,14 +54323,14 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-Ib
+YW
+YW
+YW
+YW
+YW
+YW
+VJ
+YW
Ib
Ib
Ib
@@ -53194,7 +54411,7 @@ aa
aa
aa
aa
-HW
+aa
aa
aa
aa
@@ -53363,14 +54580,14 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+VD
+Ux
+Ux
+Pu
+Te
+Ux
+Ux
+Ux
Ib
Dc
ZV
@@ -53437,8 +54654,8 @@ aa
ad
aa
aa
-Eo
-GW
+Dt
+XE
Eo
aa
Hp
@@ -53450,7 +54667,7 @@ aa
aa
aa
aa
-HW
+aa
ad
aa
aa
@@ -53620,14 +54837,14 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ad
+VD
+LU
+Ux
+VF
+Ux
+Ux
+Ux
+Ux
Ib
IC
Io
@@ -53671,8 +54888,8 @@ wT
Ak
AB
AP
-WC
-Bb
+WP
+NX
AC
aa
ad
@@ -53683,7 +54900,7 @@ CM
WW
av
Dt
-Dt
+OQ
Dt
Re
ED
@@ -53706,7 +54923,7 @@ ad
aa
aa
aa
-HW
+aa
aa
ad
aa
@@ -53875,16 +55092,16 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+YW
+YW
+YW
+Ux
+Ux
+Ux
+Ux
+VF
+Ux
+LU
Ia
IC
FN
@@ -53939,8 +55156,8 @@ AC
Cn
Wk
XO
-aa
-aa
+Zh
+DC
Dt
Eo
BS
@@ -54132,16 +55349,16 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+VD
+Ux
+Ux
+Ux
+Ux
+Ux
+VF
+VF
+Ux
+Ux
Ia
WT
WD
@@ -54389,23 +55606,23 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+VD
+VF
+Ux
+LU
+Ux
+VF
+Ux
+Ux
+Ux
+Ux
Ib
Ib
Ib
Ib
Vl
Ib
-di
+Ib
kl
JZ
JZ
@@ -54443,7 +55660,7 @@ zQ
ad
aa
AC
-Bb
+TW
AC
aa
aa
@@ -54452,10 +55669,10 @@ PD
RR
Xj
PC
-WB
-OX
-WB
+ZO
OX
+Tv
+Ze
WU
Mt
Vz
@@ -54646,19 +55863,19 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-he
+VD
+Ux
+Ux
+Ux
+Ux
+Ux
+Ux
+Ux
+VF
+Ux
+Ux
+Ux
+Nv
Sz
Ic
gQ
@@ -54700,7 +55917,7 @@ zQ
aa
aa
AC
-Bm
+Ca
AC
aa
aa
@@ -54709,7 +55926,7 @@ PD
kS
QC
Qw
-WB
+Qb
PD
PD
PD
@@ -54903,19 +56120,19 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-he
+VD
+Ux
+Ux
+VF
+Ux
+MC
+Yp
+Ux
+Ux
+Ux
+Ux
+Ux
+WS
gQ
Ic
gQ
@@ -54964,10 +56181,10 @@ ad
ad
PD
SZ
-WB
+kH
Ty
-WB
-Xj
+MK
+km
Oh
PD
Ep
@@ -55160,18 +56377,18 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ad
+VD
+Ux
+Ux
+Rm
+Yh
+Zs
+NL
+Qi
+TG
+Yh
+TG
+Yh
he
Nt
Sq
@@ -55223,9 +56440,9 @@ PD
WB
OF
UO
-WB
-WB
-WB
+Sr
+Ml
+DH
DS
Ep
EI
@@ -55417,15 +56634,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+YW
+YW
+YW
+XF
+YW
+YW
+YW
+XF
+YW
ae
ae
ae
@@ -55674,15 +56891,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+YW
+Ux
+Ud
+Xp
+Dj
+YW
+Ju
+RF
+DA
ae
ar
dt
@@ -55931,15 +57148,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+YW
+VF
+kG
+VS
+DA
+YW
+Ux
+Xo
+Ux
ae
aw
du
@@ -56188,15 +57405,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+YW
+YW
+YW
+Ux
+Ux
+YW
+kG
+VF
+Ux
ae
aw
dd
@@ -56447,13 +57664,13 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+YW
+VD
+VD
+YW
+YW
+VD
+VD
ae
aA
dv
@@ -57758,9 +58975,9 @@ kv
kW
lD
ae
-mI
+oD
nv
-mI
+oD
oD
oz
pP
@@ -59371,7 +60588,7 @@ aa
ad
ad
Ih
-Ik
+Bz
aS
JR
Kf
@@ -59628,7 +60845,7 @@ ad
ad
ad
Ih
-Il
+NU
aS
JR
Kg
@@ -60142,7 +61359,7 @@ aS
aS
Ih
aS
-Im
+XT
Il
Il
Jv
@@ -60393,13 +61610,13 @@ aa
aa
ad
aS
-Ik
+lO
aS
-ID
-Il
-Il
-Il
+cK
+Vc
+Ns
Il
+RC
Il
Il
Il
@@ -60650,15 +61867,15 @@ aa
aa
ad
aS
-Il
+dL
aS
ID
Il
+RC
Il
-Il
-Il
-Il
-Il
+Td
+hE
+yP
Il
Il
Il
@@ -60907,13 +62124,13 @@ aa
aa
ad
aS
-Ik
+VA
aS
-IE
-Il
-Il
-Il
+ID
+Of
+Cm
Il
+RC
JF
UA
Ki
@@ -61164,23 +62381,23 @@ aa
aa
ad
aS
-Il
+gr
Iu
-Il
-Il
-Il
-Il
-Jv
+Vc
+RW
+SI
+IE
+WZ
JG
-Jh
Kj
+Ra
JB
Ji
Im
Il
Il
aS
-Ik
+OO
aS
ad
aa
@@ -61425,7 +62642,7 @@ Il
Iv
IF
IF
-IF
+eJ
Jg
Jg
JH
@@ -61437,7 +62654,7 @@ JB
JB
Lc
aS
-Il
+Jd
aS
ad
aa
@@ -61682,7 +62899,7 @@ Il
Iw
ID
Il
-Il
+BN
Jh
Jw
JI
@@ -61694,7 +62911,7 @@ KJ
Jh
KF
aS
-Ik
+YG
aS
ad
aa
@@ -61939,7 +63156,7 @@ Il
Iw
ID
II
-Lc
+KE
Jh
Jx
JJ
@@ -61951,7 +63168,7 @@ Jx
KV
KF
Il
-Il
+RC
aS
ad
aa
@@ -62208,7 +63425,7 @@ KK
KW
Ld
Il
-Il
+RC
aS
ad
aa
@@ -62465,7 +63682,7 @@ KL
KX
Ld
Im
-Il
+RC
aS
ad
aa
@@ -62721,8 +63938,8 @@ JJ
KM
Jh
Ld
-Il
-Il
+Of
+Cm
aS
ad
aa
@@ -62978,8 +64195,8 @@ JJ
Jx
KY
KF
-Il
-Il
+SI
+RM
aS
ad
aa
@@ -63235,7 +64452,7 @@ KC
IY
Jh
KF
-Il
+BN
aS
aS
ad
@@ -63479,7 +64696,7 @@ ad
Ih
Il
Iw
-IH
+Il
BI
JN
Jh
@@ -63491,8 +64708,8 @@ JA
Jh
KN
Jh
-KF
-Il
+lS
+Mj
aS
ad
ad
diff --git a/maps/ministation/ministation_areas.dm b/maps/ministation/ministation_areas.dm
index c965ec4cdc6..b8472417cec 100644
--- a/maps/ministation/ministation_areas.dm
+++ b/maps/ministation/ministation_areas.dm
@@ -12,30 +12,26 @@
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg')
icon = 'maps/ministation/ministation_areas.dmi'
icon_state = "default"
-
-/area/ministation/arrival_shuttle
- name = "Arrivals Shuttle"
- requires_power = 0
- icon_state = "light_blue"
- sound_env = SMALL_ENCLOSED
- base_turf = /turf/space
- area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_ION_SHIELDED
+ holomap_color = HOLOMAP_AREACOLOR_CREW
/area/ministation/supply_dock
name = "Supply Shuttle Dock"
icon_state = "yellow"
base_turf = /turf/space
+ holomap_color = HOLOMAP_AREACOLOR_CARGO
/area/ministation/supply
name = "Supply Shuttle"
icon_state = "shuttle3"
req_access = list(access_cargo)
requires_power = 0
+ holomap_color = HOLOMAP_AREACOLOR_CARGO
//Hallways
/area/ministation/hall
icon_state = "white"
area_flags = AREA_FLAG_HALLWAY
+ holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
/area/ministation/hall/w
name = "\improper Port Hallway"
@@ -56,6 +52,7 @@
turf_initializer = /decl/turf_initializer/maintenance
icon_state = "orange"
secure = TRUE
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ministation/maint/nw
name = "\improper Port Forward Maintenance"
@@ -102,6 +99,7 @@
req_access = list(access_cargo)
icon_state = "brown"
secure = TRUE
+ holomap_color = HOLOMAP_AREACOLOR_CARGO
/area/ministation/bridge
name = "\improper Bridge"
@@ -121,6 +119,7 @@
secure = TRUE
icon_state = "red"
area_flags = AREA_FLAG_SECURITY
+ holomap_color = HOLOMAP_AREACOLOR_SECURITY
/area/ministation/detective
name = "\improper Detective Office"
@@ -138,16 +137,26 @@
name = "\improper Library"
icon_state = "LIB"
+/area/ministation/disused
+ name = "\improper Disused Section"
+ icon_state = "pink"
+
+/area/ministation/disused_office
+ name = "\improper Disused Office"
+ icon_state = "dark_blue"
+
/area/ministation/atmospherics
name = "\improper Atmospherics"
req_access = list(access_atmospherics)
icon_state = "ATMOS"
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ministation/science
name = "\improper Research & Development Laboratory"
req_access = list(access_research)
secure = TRUE
icon_state = "purple"
+ holomap_color = HOLOMAP_AREACOLOR_SCIENCE
/area/ministation/eva
name = "\improper EVA Storage"
@@ -160,6 +169,7 @@
req_access = list(access_medical)
icon_state = "light_blue"
secure = TRUE
+ holomap_color = HOLOMAP_AREACOLOR_MEDICAL
/area/ministation/cryo
name = "\improper Cryogenic Storage"
@@ -183,6 +193,7 @@
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambieng1.ogg')
secure = TRUE
icon_state = "yellow"
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ministation/telecomms
name = "\improper Telecommunications Control"
@@ -190,6 +201,7 @@
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/signal.ogg','sound/ambience/sonar.ogg')
secure = TRUE
icon_state = "light_blue"
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
//satellite
/area/ministation/ai_sat
@@ -208,4 +220,8 @@
name = "\improper AI Upload Control"
secure = TRUE
req_access = list(access_ai_upload)
- icon_state = "light_blue"
\ No newline at end of file
+ icon_state = "light_blue"
+
+/area/shuttle/escape_shuttle
+ name = "\improper Emergency Shuttle"
+ icon_state = "shuttle"
diff --git a/maps/ministation/ministation_define.dm b/maps/ministation/ministation_define.dm
index b78289a5b1d..7c880356722 100644
--- a/maps/ministation/ministation_define.dm
+++ b/maps/ministation/ministation_define.dm
@@ -17,11 +17,19 @@
lobby_screens = list('maps/ministation/ministation_lobby.png')
- //TEMPORARY NOTE: Evac messages are temporary until its set up properly. Make sure they're changed later.
- emergency_shuttle_leaving_dock = "Attention all crew members: the escape shuttle will be arriving shortly, please prepare to board."
- emergency_shuttle_called_message = "Attention all crew members: emergency evacuation procedures are now in effect. Please make your way to the port hallway docking area in a calm and orderly manner."
- emergency_shuttle_recall_message = "Attention all crew members: emergency evacuation sequence aborted. Return to normal operating conditions."
- evac_controller_type = /datum/evacuation_controller/ministation_substitute
+ shuttle_docked_message = "The public ferry to %dock_name% has docked with the station. It will depart in approximately %ETD%"
+ shuttle_leaving_dock = "The public ferry has left the station. Estimate %ETA% until the ferry docks at %dock_name%."
+ shuttle_called_message = "A public ferry to %dock_name% has been scheduled. It will arrive in approximately %ETA%"
+ shuttle_recall_message = "The scheduled ferry has been cancelled."
+
+ emergency_shuttle_docked_message = "The emergency shuttle has docked with the station. You have approximately %ETD% to board the emergency shuttle."
+ emergency_shuttle_leaving_dock = "The emergency shuttle has left the station. Estimate %ETA% until the shuttle docks at %dock_name%."
+ emergency_shuttle_called_message = "An emergency evacuation shuttle has been called. It will arrive in approximately %ETA%."
+ emergency_shuttle_called_sound = 'sound/AI/shuttlecalled.ogg'
+
+ emergency_shuttle_recall_message = "The emergency shuttle has been recalled."
+
+ evac_controller_type = /datum/evacuation_controller/shuttle
pray_reward_type = /obj/item/mollusc/clam
@@ -40,10 +48,4 @@
/datum/map/ministation/get_map_info()
return "You're aboard the [station_name], an older station once used for unethical scientific research. It has long since been repurposed as deep space communication relay, though only on paper. \
- Onboard activity is at the whims of the [boss_name] who treat the station as a glorafied dogsbody, and sometimes guinea pig."
-
-/datum/evacuation_controller/ministation_substitute
- name = "lazy ministation evac controller"
- evac_prep_delay = 6 MINUTES
- evac_launch_delay = 1 SECONDS
- evac_transit_delay = 1 SECONDS
\ No newline at end of file
+ Onboard activity is at the whims of the [boss_name] who treat the station as a glorified dogsbody, and sometimes guinea pig."
diff --git a/maps/ministation/ministation_shuttles.dm b/maps/ministation/ministation_shuttles.dm
index 7210c792dd8..e82fc97b319 100644
--- a/maps/ministation/ministation_shuttles.dm
+++ b/maps/ministation/ministation_shuttles.dm
@@ -1,30 +1,3 @@
-#define ESCAPE_POD(NUMBER) \
-/datum/shuttle/autodock/ferry/escape_pod/pod##NUMBER { \
- shuttle_area = /area/shuttle/escape_pod_##NUMBER; \
- name = "Escape Pod " + #NUMBER; \
- dock_target = "escape_pod_" + #NUMBER; \
- arming_controller = "escape_pod_"+ #NUMBER +"_berth"; \
- waypoint_station = "escape_pod_"+ #NUMBER +"_start"; \
- landmark_transition = "escape_pod_"+ #NUMBER +"_transit"; \
- waypoint_offsite = "escape_pod_"+ #NUMBER +"_out"; \
-} \
-/obj/effect/shuttle_landmark/escape_pod/start/pod##NUMBER { \
- landmark_tag = "escape_pod_"+ #NUMBER +"_start"; \
- docking_controller = "escape_pod_"+ #NUMBER +"_berth"; \
-} \
-/obj/effect/shuttle_landmark/escape_pod/transit/pod##NUMBER { \
- landmark_tag = "escape_pod_"+ #NUMBER +"_transit"; \
-} \
-/obj/effect/shuttle_landmark/escape_pod/out/pod##NUMBER { \
- landmark_tag = "escape_pod_"+ #NUMBER +"_out"; \
-} \
-/area/shuttle/escape_pod_##NUMBER { \
- name = "Escape Pod " + #NUMBER; \
- area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_ION_SHIELDED | AREA_FLAG_IS_NOT_PERSISTENT; \
-}
-
-ESCAPE_POD(1)
-
//supply
/datum/shuttle/autodock/ferry/supply/cargo
name = "Supply"
@@ -42,4 +15,25 @@ ESCAPE_POD(1)
landmark_tag = "nav_cargo_station"
docking_controller = "cargo_bay"
base_area = /area/ministation/supply_dock
- base_turf = /turf/space
\ No newline at end of file
+ base_turf = /turf/space
+
+/datum/shuttle/autodock/ferry/emergency/escape_shuttle
+ name = "Escape Shuttle"
+ warmup_time = 10
+ location = 1
+ dock_target = "shuttle1"
+ shuttle_area = /area/shuttle/escape_shuttle
+ waypoint_offsite = "nav_escape_shuttle_start"
+ waypoint_station = "nav_escape_shuttle_station"
+ landmark_transition = "nav_escape_shuttle_transit"
+
+/obj/effect/shuttle_landmark/escape_shuttle/start
+ landmark_tag = "nav_escape_shuttle_start"
+ //docking_controller = "centcom_escape_dock"
+
+/obj/effect/shuttle_landmark/escape_shuttle/transit
+ landmark_tag = "nav_escape_shuttle_transit"
+
+/obj/effect/shuttle_landmark/escape_shuttle/station
+ landmark_tag = "nav_escape_shuttle_station"
+ docking_controller = "station1"
diff --git a/maps/ministation/ministation_unit_testing.dm b/maps/ministation/ministation_unit_testing.dm
index 3994764cca9..d2242b32d00 100644
--- a/maps/ministation/ministation_unit_testing.dm
+++ b/maps/ministation/ministation_unit_testing.dm
@@ -3,9 +3,8 @@
apc_test_exempt_areas = list(
/area/space = NO_SCRUBBER|NO_VENT|NO_APC,
/area/exoplanet = NO_SCRUBBER|NO_VENT|NO_APC,
- /area/shuttle/escape_pod_1 = NO_SCRUBBER|NO_VENT|NO_APC,
+ /area/shuttle/escape_shuttle = NO_SCRUBBER|NO_VENT|NO_APC,
/area/ministation/supply = NO_SCRUBBER|NO_VENT|NO_APC,
- /area/ministation/arrival_shuttle = NO_SCRUBBER|NO_VENT|NO_APC,
/area/ministation/maint = NO_SCRUBBER|NO_VENT,
/area/ministation/bridge/vault = NO_SCRUBBER|NO_VENT,
/area/ministation/supply_dock = NO_SCRUBBER|NO_VENT|NO_APC,
diff --git a/maps/ministation/space.dmm b/maps/ministation/space.dmm
index d7b408ed471..852ee767338 100644
--- a/maps/ministation/space.dmm
+++ b/maps/ministation/space.dmm
@@ -34,35 +34,27 @@
/obj/effect/paint/sun,
/turf/simulated/wall/r_titanium,
/area/ministation/supply)
-"ah" = (
-/obj/effect/shuttle_landmark/escape_pod/transit/pod1,
-/turf/space,
-/area/space)
-"ai" = (
-/obj/effect/shuttle_landmark/escape_pod/out/pod1,
-/turf/space,
-/area/space)
"aj" = (
/obj/effect/paint/silver,
/turf/simulated/wall/r_titanium,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ak" = (
/obj/effect/wallframe_spawn/reinforced/titanium,
/turf/simulated/floor/shuttle/black,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"al" = (
/obj/machinery/computer/modular/preset/cardslot/command,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"am" = (
/obj/item/boombox,
/obj/structure/table/steel_reinforced,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"an" = (
/obj/machinery/computer/shuttle_control/emergency,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ao" = (
/obj/structure/bed/chair/shuttle/black{
icon_state = "shuttle_chair";
@@ -70,48 +62,58 @@
},
/obj/machinery/light,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ap" = (
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aq" = (
/obj/structure/bed/chair/shuttle/black{
icon_state = "shuttle_chair";
dir = 1
},
/obj/machinery/light,
-/obj/machinery/embedded_controller/radio/simple_docking_controller/escape_pod{
- dir = 1;
- frequency = 1379;
- icon_state = "airlock_control_off";
- id_tag = "escape_pod_1";
- pixel_y = -30;
- tag_door = "escape_pod_1_hatch"
+/obj/machinery/embedded_controller/radio/airlock/docking_port{
+ id_tag = "shuttle1";
+ tag_airpump = "shuttle1_vent";
+ tag_chamber_sensor = "shuttle1_sensor";
+ tag_exterior_door = "shuttle1_airlock_exterior";
+ tag_interior_door = "shuttle1_airlock_interior";
+ pixel_y = -25;
+ dir = 1
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ar" = (
/obj/machinery/door/airlock/command{
autoset_access = 0;
req_access = list("ACCESS_HEADS")
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"as" = (
/obj/structure/closet/emcloset,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"at" = (
/obj/machinery/door/airlock/external/glass{
autoset_access = 0;
- id_tag = "escape_pod_1_hatch";
- name = "Escape Shuttle Airlock"
+ name = "External Airlock Hatch";
+ locked = 1;
+ id_tag = "shuttle1_airlock_exterior"
},
/turf/simulated/floor/shuttle/black,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"au" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "shuttle3_sensor";
+ pixel_y = -20
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "shuttle1_vent"
+ },
/turf/simulated/floor/shuttle/black,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"av" = (
/obj/effect/floor_decal/industrial/traffic{
icon_state = "stripe";
@@ -126,7 +128,7 @@
dir = 8
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aw" = (
/obj/effect/floor_decal/industrial/traffic{
icon_state = "stripe";
@@ -137,7 +139,7 @@
dir = 1
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ax" = (
/obj/effect/floor_decal/industrial/traffic{
icon_state = "stripe";
@@ -148,36 +150,37 @@
dir = 1
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ay" = (
/obj/machinery/light{
dir = 4
},
+/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"az" = (
/obj/effect/floor_decal/industrial/traffic{
icon_state = "stripe";
dir = 4
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aA" = (
/obj/machinery/sleeper/standard,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aB" = (
/obj/structure/table/reinforced,
/obj/machinery/sleeper/standard,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aC" = (
/obj/structure/bed/chair/shuttle{
icon_state = "shuttle_chair";
dir = 1
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aD" = (
/obj/effect/floor_decal/industrial/traffic{
icon_state = "stripe";
@@ -188,19 +191,19 @@
dir = 1
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aE" = (
/obj/structure/table/reinforced,
/obj/item/storage/firstaid/adv,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aF" = (
/obj/structure/table/reinforced,
/obj/item/robot_rack/roller{
pixel_y = 10
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aG" = (
/obj/effect/floor_decal/industrial/traffic,
/obj/structure/bed/chair/shuttle{
@@ -212,7 +215,7 @@
dir = 8
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aH" = (
/obj/effect/floor_decal/industrial/traffic,
/obj/structure/bed/chair/shuttle{
@@ -220,7 +223,7 @@
dir = 1
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aI" = (
/obj/effect/floor_decal/industrial/traffic{
icon_state = "stripe";
@@ -230,53 +233,53 @@
icon_state = "shuttle_chair";
dir = 1
},
-/obj/effect/shuttle_landmark/escape_pod/start/pod1,
+/obj/effect/shuttle_landmark/escape_shuttle/start,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aJ" = (
/obj/structure/extinguisher_cabinet{
pixel_y = -30
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aK" = (
/obj/machinery/status_display{
pixel_y = -30
},
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aL" = (
/obj/machinery/door/airlock,
/turf/simulated/floor/shuttle/blue,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aM" = (
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aN" = (
/obj/structure/extinguisher_cabinet{
pixel_y = 30
},
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aO" = (
/obj/machinery/light{
dir = 1
},
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aP" = (
/obj/machinery/computer/modular/preset/security{
icon_state = "computer";
dir = 4
},
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aQ" = (
/obj/structure/window/reinforced{
dir = 1
},
/turf/simulated/floor/shuttle/red,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aR" = (
/obj/structure/window/reinforced{
dir = 1
@@ -286,42 +289,42 @@
req_access = list("ACCESS_BRIG")
},
/turf/simulated/floor/shuttle/red,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aS" = (
/obj/machinery/oxygen_pump{
pixel_x = -30
},
/turf/simulated/floor/shuttle/red,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aT" = (
/obj/structure/window/reinforced{
dir = 4
},
/turf/simulated/floor/shuttle/red,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aU" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aV" = (
/obj/machinery/light,
/obj/structure/table/reinforced,
/obj/machinery/recharger,
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aW" = (
/obj/structure/closet/toolcloset,
/obj/item/screwdriver,
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aX" = (
/obj/structure/closet/crate/freezer/rations,
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aY" = (
/obj/machinery/recharge_station,
/turf/simulated/floor/shuttle/yellow,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"aZ" = (
/obj/structure/shuttle/engine/heater,
/obj/structure/window/borosilicate_reinforced{
@@ -329,11 +332,55 @@
dir = 1
},
/turf/simulated/floor/shuttle/black,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
"ba" = (
/obj/structure/shuttle/engine/propulsion,
/turf/space,
-/area/shuttle/escape_pod_1)
+/area/shuttle/escape_shuttle)
+"bm" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock,
+/turf/simulated/floor/shuttle/yellow,
+/area/shuttle/escape_shuttle)
+"fy" = (
+/obj/machinery/door/airlock/external/glass{
+ autoset_access = 0;
+ name = "External Airlock Hatch";
+ locked = 1;
+ id_tag = "shuttle1_airlock_interior"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/floor/shuttle/black,
+/area/shuttle/escape_shuttle)
+"hM" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "shuttle2_sensor";
+ pixel_y = -20
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "shuttle1_vent"
+ },
+/turf/simulated/floor/shuttle/black,
+/area/shuttle/escape_shuttle)
+"lo" = (
+/turf/space/transit/north,
+/area/space)
+"qu" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "shuttle1_sensor";
+ pixel_y = -20
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "shuttle1_vent"
+ },
+/turf/simulated/floor/shuttle/black,
+/area/shuttle/escape_shuttle)
"tC" = (
/turf/simulated/shuttle/wall,
/area/space)
@@ -341,10 +388,23 @@
/obj/structure/window/borosilicate_reinforced,
/turf/simulated/floor/bluegrid,
/area/ministation/supply)
+"AH" = (
+/obj/effect/paint/silver,
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/wall/r_titanium,
+/area/shuttle/escape_shuttle)
+"EW" = (
+/obj/effect/step_trigger/teleporter/random,
+/turf/space,
+/area/space)
+"FN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/floor/shuttle/blue,
+/area/shuttle/escape_shuttle)
"Kt" = (
/obj/structure/window/borosilicate_reinforced,
/obj/structure/showcase{
- desc = "It's actually a possum inside the box piloting the shuttle but don't tell anyone.";
+ desc = "It's actually a yinglet inside the box piloting the shuttle but don't tell anyone.";
icon_state = "message_server_o_off";
name = "auto-pilot system"
},
@@ -367,68 +427,98 @@
},
/turf/simulated/floor/shuttle/yellow,
/area/ministation/supply)
+"MW" = (
+/obj/machinery/atmospherics/pipe/manifold{
+ dir = 8
+ },
+/turf/simulated/floor/shuttle/blue,
+/area/shuttle/escape_shuttle)
+"Qd" = (
+/obj/machinery/atmospherics/pipe/manifold{
+ dir = 8
+ },
+/turf/simulated/floor/shuttle/yellow,
+/area/shuttle/escape_shuttle)
+"QS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/shuttle/blue,
+/area/shuttle/escape_shuttle)
+"Ub" = (
+/obj/effect/shuttle_landmark/escape_shuttle/transit,
+/turf/space/transit/north,
+/area/space)
+"UO" = (
+/obj/effect/step_trigger/teleporter/random,
+/turf/space/transit/north,
+/area/space)
+"YY" = (
+/obj/abstract/level_data/admin_level,
+/turf/space,
+/area/space)
(1,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
aa
aa
aa
@@ -499,6 +589,66 @@ aa
aa
"}
(2,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -567,6 +717,68 @@ aa
aa
aa
aa
+"}
+(3,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -627,28 +839,76 @@ aa
aa
aa
aa
-"}
-(3,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
aa
aa
aa
aa
aa
+YY
aa
aa
+"}
+(4,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -717,6 +977,68 @@ aa
aa
aa
aa
+"}
+(5,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -757,8 +1079,6 @@ aa
aa
aa
aa
-"}
-(4,1,1) = {"
aa
aa
aa
@@ -787,6 +1107,68 @@ aa
aa
aa
aa
+"}
+(6,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -841,11 +1223,82 @@ aa
aa
aa
aa
+tC
+tC
+tC
+tC
+tC
+tC
+tC
+tC
+tC
aa
aa
aa
aa
aa
+"}
+(7,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -887,8 +1340,6 @@ aa
aa
aa
aa
-"}
-(5,1,1) = {"
aa
aa
aa
@@ -901,10 +1352,83 @@ aa
aa
aa
aa
+tC
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+tC
aa
aa
aa
aa
+"}
+(8,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -957,10 +1481,84 @@ aa
aa
aa
aa
+tC
+ab
+ab
+ac
+ac
+ac
+ac
+ac
+ac
+ab
+ab
+tC
aa
aa
aa
aa
+"}
+(9,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -1013,18 +1611,84 @@ aa
aa
aa
aa
+tC
+ab
+AD
+ac
+ac
+ac
+ac
+ac
+ac
+af
+ag
+tC
aa
aa
aa
aa
"}
-(6,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
+(10,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -1077,10 +1741,84 @@ aa
aa
aa
aa
+tC
+ab
+Kt
+ac
+ac
+ad
+ac
+ac
+ac
+af
+ag
+tC
aa
aa
aa
aa
+"}
+(11,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -1134,3347 +1872,83 @@ aa
aa
aa
tC
-tC
-tC
-tC
-tC
-tC
-tC
-tC
+ab
+AD
+ac
+ac
+ac
+ac
+ac
+ac
+af
+ag
tC
aa
aa
aa
aa
-aa
"}
-(7,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-tC
-aa
-aa
-aa
-aa
-"}
-(8,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-ab
-ac
-ac
-ac
-ac
-ac
-ac
-ab
-ab
-tC
-aa
-aa
-aa
-aa
-"}
-(9,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-AD
-ac
-ac
-ac
-ac
-ac
-ac
-af
-ag
-tC
-aa
-aa
-aa
-aa
-"}
-(10,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-Kt
-ac
-ac
-ad
-ac
-ac
-ac
-af
-ag
-tC
-aa
-aa
-aa
-aa
-"}
-(11,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-AD
-ac
-ac
-ac
-ac
-ac
-ac
-af
-ag
-tC
-aa
-aa
-aa
-aa
-"}
-(12,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-ab
-ac
-ac
-ac
-Mu
-KH
-ac
-ab
-ab
-tC
-aa
-aa
-aa
-aa
-"}
-(13,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-ab
-ab
-ab
-ae
-ab
-ab
-ae
-ab
-ab
-tC
-aa
-aa
-aa
-aa
-"}
-(14,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-tC
-tC
-tC
-tC
-tC
-tC
-tC
-tC
-tC
-aa
-aa
-aa
-aa
-aa
-"}
-(15,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(16,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(17,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(18,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(19,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(20,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(21,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(22,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(23,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(24,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(25,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(26,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(27,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(28,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(29,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(30,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(31,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(32,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+(12,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4527,12 +2001,84 @@ aa
aa
aa
aa
-"}
-(33,1,1) = {"
+tC
+ab
+ab
+ac
+ac
+ac
+Mu
+KH
+ac
+ab
+ab
+tC
aa
aa
aa
aa
+"}
+(13,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4586,10 +2132,83 @@ aa
aa
aa
aa
+tC
+ab
+ab
+ab
+ae
+ab
+ab
+ae
+ab
+ab
+tC
aa
aa
aa
aa
+"}
+(14,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4644,11 +2263,82 @@ aa
aa
aa
aa
+tC
+tC
+tC
+tC
+tC
+tC
+tC
+tC
+tC
aa
aa
aa
aa
aa
+"}
+(15,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4657,8 +2347,6 @@ aa
aa
aa
aa
-"}
-(34,1,1) = {"
aa
aa
aa
@@ -4719,6 +2407,68 @@ aa
aa
aa
aa
+"}
+(16,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4788,7 +2538,67 @@ aa
aa
aa
"}
-(35,1,1) = {"
+(17,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4857,6 +2667,68 @@ aa
aa
aa
aa
+"}
+(18,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4917,8 +2789,6 @@ aa
aa
aa
aa
-"}
-(36,1,1) = {"
aa
aa
aa
@@ -4927,6 +2797,68 @@ aa
aa
aa
aa
+"}
+(19,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -4995,6 +2927,68 @@ aa
aa
aa
aa
+"}
+(20,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5047,8 +3041,6 @@ aa
aa
aa
aa
-"}
-(37,1,1) = {"
aa
aa
aa
@@ -5065,6 +3057,68 @@ aa
aa
aa
aa
+"}
+(21,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5133,6 +3187,68 @@ aa
aa
aa
aa
+"}
+(22,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5177,8 +3293,6 @@ aa
aa
aa
aa
-"}
-(38,1,1) = {"
aa
aa
aa
@@ -5203,6 +3317,68 @@ aa
aa
aa
aa
+"}
+(23,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5271,6 +3447,68 @@ aa
aa
aa
aa
+"}
+(24,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5307,8 +3545,6 @@ aa
aa
aa
aa
-"}
-(39,1,1) = {"
aa
aa
aa
@@ -5341,6 +3577,68 @@ aa
aa
aa
aa
+"}
+(25,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5409,6 +3707,68 @@ aa
aa
aa
aa
+"}
+(26,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+Ub
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5437,8 +3797,6 @@ aa
aa
aa
aa
-"}
-(40,1,1) = {"
aa
aa
aa
@@ -5479,6 +3837,68 @@ aa
aa
aa
aa
+"}
+(27,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5547,6 +3967,68 @@ aa
aa
aa
aa
+"}
+(28,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5567,8 +4049,6 @@ aa
aa
aa
aa
-"}
-(41,1,1) = {"
aa
aa
aa
@@ -5617,6 +4097,68 @@ aa
aa
aa
aa
+"}
+(29,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5685,6 +4227,68 @@ aa
aa
aa
aa
+"}
+(30,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5697,8 +4301,6 @@ aa
aa
aa
aa
-"}
-(42,1,1) = {"
aa
aa
aa
@@ -5755,6 +4357,68 @@ aa
aa
aa
aa
+"}
+(31,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5823,12 +4487,72 @@ aa
aa
aa
aa
+"}
+(32,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
aa
-"}
-(43,1,1) = {"
aa
aa
aa
@@ -5893,6 +4617,68 @@ aa
aa
aa
aa
+"}
+(33,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -5957,12 +4743,72 @@ aa
aa
aa
aa
-"}
-(44,1,1) = {"
aa
aa
aa
aa
+"}
+(34,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6031,6 +4877,68 @@ aa
aa
aa
aa
+"}
+(35,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6087,8 +4995,6 @@ aa
aa
aa
aa
-"}
-(45,1,1) = {"
aa
aa
aa
@@ -6101,6 +5007,68 @@ aa
aa
aa
aa
+"}
+(36,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6169,6 +5137,68 @@ aa
aa
aa
aa
+"}
+(37,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6217,8 +5247,6 @@ aa
aa
aa
aa
-"}
-(46,1,1) = {"
aa
aa
aa
@@ -6239,6 +5267,68 @@ aa
aa
aa
aa
+"}
+(38,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6307,6 +5397,68 @@ aa
aa
aa
aa
+"}
+(39,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6347,8 +5499,6 @@ aa
aa
aa
aa
-"}
-(47,1,1) = {"
aa
aa
aa
@@ -6377,6 +5527,68 @@ aa
aa
aa
aa
+"}
+(40,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6445,6 +5657,68 @@ aa
aa
aa
aa
+"}
+(41,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6477,8 +5751,6 @@ aa
aa
aa
aa
-"}
-(48,1,1) = {"
aa
aa
aa
@@ -6515,6 +5787,68 @@ aa
aa
aa
aa
+"}
+(42,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6583,6 +5917,68 @@ aa
aa
aa
aa
+"}
+(43,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6607,8 +6003,6 @@ aa
aa
aa
aa
-"}
-(49,1,1) = {"
aa
aa
aa
@@ -6653,6 +6047,68 @@ aa
aa
aa
aa
+"}
+(44,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6721,6 +6177,68 @@ aa
aa
aa
aa
+"}
+(45,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6737,8 +6255,6 @@ aa
aa
aa
aa
-"}
-(50,1,1) = {"
aa
aa
aa
@@ -6791,6 +6307,68 @@ aa
aa
aa
aa
+"}
+(46,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6859,6 +6437,68 @@ aa
aa
aa
aa
+"}
+(47,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6867,8 +6507,6 @@ aa
aa
aa
aa
-"}
-(51,1,1) = {"
aa
aa
aa
@@ -6929,6 +6567,68 @@ aa
aa
aa
aa
+"}
+(48,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -6998,10 +6698,67 @@ aa
aa
aa
"}
-(52,1,1) = {"
-aa
-aa
-aa
+(49,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -7070,6 +6827,68 @@ aa
aa
aa
aa
+"}
+(50,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -7127,8 +6946,6 @@ aa
aa
aa
aa
-"}
-(53,1,1) = {"
aa
aa
aa
@@ -7140,6 +6957,68 @@ aa
aa
aa
aa
+"}
+(51,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -7208,6 +7087,68 @@ aa
aa
aa
aa
+"}
+(52,1,1) = {"
+UO
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+lo
+UO
aa
aa
aa
@@ -7257,8 +7198,6 @@ aa
aa
aa
aa
-"}
-(54,1,1) = {"
aa
aa
aa
@@ -7278,6 +7217,68 @@ aa
aa
aa
aa
+"}
+(53,1,1) = {"
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
+UO
aa
aa
aa
@@ -7346,6 +7347,9 @@ aa
aa
aa
aa
+"}
+(54,1,1) = {"
+EW
aa
aa
aa
@@ -7387,8 +7391,6 @@ aa
aa
aa
aa
-"}
-(55,1,1) = {"
aa
aa
aa
@@ -7406,6 +7408,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -7474,6 +7477,9 @@ aa
aa
aa
aa
+"}
+(55,1,1) = {"
+EW
aa
aa
aa
@@ -7517,8 +7523,6 @@ aa
aa
aa
aa
-"}
-(56,1,1) = {"
aa
aa
aa
@@ -7534,6 +7538,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -7602,6 +7607,9 @@ aa
aa
aa
aa
+"}
+(56,1,1) = {"
+EW
aa
aa
aa
@@ -7647,8 +7655,6 @@ aa
aa
aa
aa
-"}
-(57,1,1) = {"
aa
aa
aa
@@ -7662,6 +7668,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -7722,9 +7729,6 @@ aa
aa
aa
aa
-aj
-aj
-aj
aa
aa
aa
@@ -7733,6 +7737,9 @@ aa
aa
aa
aa
+"}
+(57,1,1) = {"
+EW
aa
aa
aa
@@ -7777,8 +7784,6 @@ aa
aa
aa
aa
-"}
-(58,1,1) = {"
aa
aa
aa
@@ -7793,6 +7798,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -7840,21 +7846,6 @@ aa
aa
aa
aa
-aj
-aj
-aj
-ak
-ak
-ak
-aj
-aj
-aj
-aj
-aj
-ak
-aj
-aj
-aj
aa
aa
aa
@@ -7876,6 +7867,9 @@ aa
aa
aa
aa
+"}
+(58,1,1) = {"
+EW
aa
aa
aa
@@ -7907,8 +7901,6 @@ aa
aa
aa
aa
-"}
-(59,1,1) = {"
aa
aa
aa
@@ -7936,6 +7928,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -7969,22 +7962,6 @@ aa
aa
aa
aa
-aj
-aj
-ap
-av
-ap
-aC
-ap
-aG
-ap
-aL
-aM
-aP
-aQ
-aS
-aZ
-ba
aa
aa
aa
@@ -8020,6 +7997,9 @@ aa
aa
aa
aa
+"}
+(59,1,1) = {"
+EW
aa
aa
aa
@@ -8037,8 +8017,6 @@ aa
aa
aa
aa
-"}
-(60,1,1) = {"
aa
aa
aa
@@ -8080,6 +8058,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -8096,25 +8075,6 @@ aa
aa
aa
aa
-aj
-ak
-ak
-aj
-as
-ap
-aw
-ap
-aC
-ap
-aH
-ap
-aj
-aM
-aM
-aR
-aT
-aZ
-ba
aa
aa
aa
@@ -8168,7 +8128,8 @@ aa
aa
aa
"}
-(61,1,1) = {"
+(60,1,1) = {"
+EW
aa
aa
aa
@@ -8226,26 +8187,8 @@ aa
aa
aa
aa
-ak
-al
-ao
-aj
-as
-ap
-aw
-ap
-aC
-ap
-aH
-aJ
-aj
-aN
-aM
-aM
-aU
-aZ
-ba
aa
+EW
aa
aa
aa
@@ -8297,8 +8240,6 @@ aa
aa
aa
aa
-"}
-(62,1,1) = {"
aa
aa
aa
@@ -8316,6 +8257,9 @@ aa
aa
aa
aa
+"}
+(61,1,1) = {"
+EW
aa
aa
aa
@@ -8356,24 +8300,6 @@ aa
aa
aa
aa
-ak
-am
-ap
-ar
-ap
-ap
-ax
-az
-aD
-az
-aI
-aK
-aj
-aO
-aM
-aM
-aV
-aj
aa
aa
aa
@@ -8392,6 +8318,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -8427,8 +8354,6 @@ aa
aa
aa
aa
-"}
-(63,1,1) = {"
aa
aa
aa
@@ -8462,6 +8387,9 @@ aa
aa
aa
aa
+"}
+(62,1,1) = {"
+EW
aa
aa
aa
@@ -8486,25 +8414,6 @@ aa
aa
aa
aa
-ak
-an
-aq
-aj
-ap
-ap
-ay
-ap
-ap
-ap
-ay
-ap
-aj
-aM
-aM
-aM
-aW
-aZ
-ba
aa
aa
aa
@@ -8539,6 +8448,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -8557,8 +8467,6 @@ aa
aa
aa
aa
-"}
-(64,1,1) = {"
aa
aa
aa
@@ -8609,6 +8517,9 @@ aa
aa
aa
aa
+"}
+(63,1,1) = {"
+EW
aa
aa
aa
@@ -8616,25 +8527,6 @@ aa
aa
aa
aa
-aj
-ak
-ak
-aj
-aj
-at
-aj
-aA
-ap
-aE
-aj
-at
-aj
-at
-aj
-aM
-aX
-aZ
-ba
aa
aa
aa
@@ -8686,9 +8578,8 @@ aa
aa
aa
aa
+EW
aa
-"}
-(65,1,1) = {"
aa
aa
aa
@@ -8749,22 +8640,6 @@ aa
aa
aa
aa
-aj
-aj
-au
-aj
-aB
-ap
-aF
-aj
-au
-aj
-au
-aj
-aM
-aY
-aZ
-ba
aa
aa
aa
@@ -8772,6 +8647,9 @@ aa
aa
aa
aa
+"}
+(64,1,1) = {"
+EW
aa
aa
aa
@@ -8817,8 +8695,6 @@ aa
aa
aa
aa
-"}
-(66,1,1) = {"
aa
aa
aa
@@ -8832,6 +8708,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -8880,21 +8757,6 @@ aa
aa
aa
aa
-aj
-at
-aj
-ak
-ak
-ak
-aj
-at
-aj
-at
-aj
-ak
-aj
-aj
-aj
aa
aa
aa
@@ -8915,6 +8777,9 @@ aa
aa
aa
aa
+"}
+(65,1,1) = {"
+EW
aa
aa
aa
@@ -8947,8 +8812,6 @@ aa
aa
aa
aa
-"}
-(67,1,1) = {"
aa
aa
aa
@@ -8975,6 +8838,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9022,9 +8886,6 @@ aa
aa
aa
aa
-aj
-aj
-aj
aa
aa
aa
@@ -9046,6 +8907,9 @@ aa
aa
aa
aa
+"}
+(66,1,1) = {"
+EW
aa
aa
aa
@@ -9077,8 +8941,6 @@ aa
aa
aa
aa
-"}
-(68,1,1) = {"
aa
aa
aa
@@ -9106,6 +8968,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9174,6 +9037,9 @@ aa
aa
aa
aa
+"}
+(67,1,1) = {"
+EW
aa
aa
aa
@@ -9207,8 +9073,6 @@ aa
aa
aa
aa
-"}
-(69,1,1) = {"
aa
aa
aa
@@ -9234,6 +9098,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9302,6 +9167,9 @@ aa
aa
aa
aa
+"}
+(68,1,1) = {"
+EW
aa
aa
aa
@@ -9337,8 +9205,6 @@ aa
aa
aa
aa
-"}
-(70,1,1) = {"
aa
aa
aa
@@ -9362,6 +9228,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9430,6 +9297,9 @@ aa
aa
aa
aa
+"}
+(69,1,1) = {"
+EW
aa
aa
aa
@@ -9467,8 +9337,6 @@ aa
aa
aa
aa
-"}
-(71,1,1) = {"
aa
aa
aa
@@ -9490,6 +9358,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9558,6 +9427,9 @@ aa
aa
aa
aa
+"}
+(70,1,1) = {"
+EW
aa
aa
aa
@@ -9597,8 +9469,6 @@ aa
aa
aa
aa
-"}
-(72,1,1) = {"
aa
aa
aa
@@ -9618,6 +9488,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9686,6 +9557,9 @@ aa
aa
aa
aa
+"}
+(71,1,1) = {"
+EW
aa
aa
aa
@@ -9727,8 +9601,6 @@ aa
aa
aa
aa
-"}
-(73,1,1) = {"
aa
aa
aa
@@ -9746,6 +9618,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9814,6 +9687,9 @@ aa
aa
aa
aa
+"}
+(72,1,1) = {"
+EW
aa
aa
aa
@@ -9857,8 +9733,6 @@ aa
aa
aa
aa
-"}
-(74,1,1) = {"
aa
aa
aa
@@ -9874,6 +9748,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -9942,6 +9817,9 @@ aa
aa
aa
aa
+"}
+(73,1,1) = {"
+EW
aa
aa
aa
@@ -9987,8 +9865,6 @@ aa
aa
aa
aa
-"}
-(75,1,1) = {"
aa
aa
aa
@@ -10002,6 +9878,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -10070,6 +9947,9 @@ aa
aa
aa
aa
+"}
+(74,1,1) = {"
+EW
aa
aa
aa
@@ -10117,8 +9997,6 @@ aa
aa
aa
aa
-"}
-(76,1,1) = {"
aa
aa
aa
@@ -10130,6 +10008,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -10198,6 +10077,9 @@ aa
aa
aa
aa
+"}
+(75,1,1) = {"
+EW
aa
aa
aa
@@ -10247,8 +10129,6 @@ aa
aa
aa
aa
-"}
-(77,1,1) = {"
aa
aa
aa
@@ -10258,6 +10138,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -10326,6 +10207,9 @@ aa
aa
aa
aa
+"}
+(76,1,1) = {"
+EW
aa
aa
aa
@@ -10377,8 +10261,6 @@ aa
aa
aa
aa
-"}
-(78,1,1) = {"
aa
aa
aa
@@ -10386,6 +10268,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -10454,6 +10337,9 @@ aa
aa
aa
aa
+"}
+(77,1,1) = {"
+EW
aa
aa
aa
@@ -10507,13 +10393,12 @@ aa
aa
aa
aa
-"}
-(79,1,1) = {"
aa
aa
aa
aa
aa
+EW
aa
aa
aa
@@ -10582,6 +10467,9 @@ aa
aa
aa
aa
+"}
+(78,1,1) = {"
+EW
aa
aa
aa
@@ -10637,11 +10525,10 @@ aa
aa
aa
aa
-"}
-(80,1,1) = {"
aa
aa
aa
+EW
aa
aa
aa
@@ -10710,6 +10597,9 @@ aa
aa
aa
aa
+"}
+(79,1,1) = {"
+EW
aa
aa
aa
@@ -10767,9 +10657,8 @@ aa
aa
aa
aa
-"}
-(81,1,1) = {"
aa
+EW
aa
aa
aa
@@ -10838,6 +10727,9 @@ aa
aa
aa
aa
+"}
+(80,1,1) = {"
+EW
aa
aa
aa
@@ -10896,9 +10788,8 @@ aa
aa
aa
aa
+EW
aa
-"}
-(82,1,1) = {"
aa
aa
aa
@@ -10966,6 +10857,9 @@ aa
aa
aa
aa
+"}
+(81,1,1) = {"
+EW
aa
aa
aa
@@ -11024,11 +10918,10 @@ aa
aa
aa
aa
+EW
aa
aa
aa
-"}
-(83,1,1) = {"
aa
aa
aa
@@ -11094,6 +10987,9 @@ aa
aa
aa
aa
+"}
+(82,1,1) = {"
+EW
aa
aa
aa
@@ -11152,13 +11048,12 @@ aa
aa
aa
aa
+EW
aa
aa
aa
aa
aa
-"}
-(84,1,1) = {"
aa
aa
aa
@@ -11222,6 +11117,9 @@ aa
aa
aa
aa
+"}
+(83,1,1) = {"
+EW
aa
aa
aa
@@ -11280,6 +11178,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -11287,8 +11186,6 @@ aa
aa
aa
aa
-"}
-(85,1,1) = {"
aa
aa
aa
@@ -11350,6 +11247,9 @@ aa
aa
aa
aa
+"}
+(84,1,1) = {"
+EW
aa
aa
aa
@@ -11408,6 +11308,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -11417,8 +11318,6 @@ aa
aa
aa
aa
-"}
-(86,1,1) = {"
aa
aa
aa
@@ -11478,6 +11377,9 @@ aa
aa
aa
aa
+"}
+(85,1,1) = {"
+EW
aa
aa
aa
@@ -11536,6 +11438,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -11547,8 +11450,6 @@ aa
aa
aa
aa
-"}
-(87,1,1) = {"
aa
aa
aa
@@ -11606,6 +11507,9 @@ aa
aa
aa
aa
+"}
+(86,1,1) = {"
+EW
aa
aa
aa
@@ -11641,6 +11545,10 @@ aa
aa
aa
aa
+aj
+aj
+aj
+aa
aa
aa
aa
@@ -11660,6 +11568,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -11677,8 +11586,6 @@ aa
aa
aa
aa
-"}
-(88,1,1) = {"
aa
aa
aa
@@ -11730,6 +11637,11 @@ aa
aa
aa
aa
+"}
+(87,1,1) = {"
+EW
+aa
+aa
aa
aa
aa
@@ -11751,6 +11663,24 @@ aa
aa
aa
aa
+aj
+aj
+aj
+ak
+ak
+ak
+aj
+aj
+aj
+aj
+aj
+ak
+aj
+aj
+aj
+aa
+aa
+aa
aa
aa
aa
@@ -11768,6 +11698,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -11807,8 +11738,6 @@ aa
aa
aa
aa
-"}
-(89,1,1) = {"
aa
aa
aa
@@ -11838,6 +11767,11 @@ aa
aa
aa
aa
+"}
+(88,1,1) = {"
+EW
+aa
+aa
aa
aa
aa
@@ -11858,6 +11792,22 @@ aa
aa
aa
aa
+aj
+aj
+ap
+av
+ap
+aC
+ap
+aG
+ap
+aL
+aM
+aP
+aQ
+aS
+aZ
+ba
aa
aa
aa
@@ -11878,6 +11828,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -11937,8 +11888,6 @@ aa
aa
aa
aa
-"}
-(90,1,1) = {"
aa
aa
aa
@@ -11948,6 +11897,9 @@ aa
aa
aa
aa
+"}
+(89,1,1) = {"
+EW
aa
aa
aa
@@ -11967,6 +11919,25 @@ aa
aa
aa
aa
+aj
+ak
+ak
+aj
+as
+ap
+aw
+ap
+aC
+ap
+aH
+ap
+aj
+aM
+aM
+aR
+aT
+aZ
+ba
aa
aa
aa
@@ -11987,6 +11958,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -12055,6 +12027,9 @@ aa
aa
aa
aa
+"}
+(90,1,1) = {"
+EW
aa
aa
aa
@@ -12067,8 +12042,6 @@ aa
aa
aa
aa
-"}
-(91,1,1) = {"
aa
aa
aa
@@ -12076,6 +12049,25 @@ aa
aa
aa
aa
+ak
+al
+ao
+aj
+as
+ap
+aw
+ap
+aC
+ap
+aH
+aJ
+aj
+aN
+aM
+aM
+aU
+aZ
+ba
aa
aa
aa
@@ -12096,13 +12088,13 @@ aa
aa
aa
aa
+EW
aa
aa
aa
aa
aa
aa
-ah
aa
aa
aa
@@ -12165,6 +12157,9 @@ aa
aa
aa
aa
+"}
+(91,1,1) = {"
+EW
aa
aa
aa
@@ -12184,6 +12179,24 @@ aa
aa
aa
aa
+ak
+am
+ap
+ar
+ap
+ap
+ax
+az
+aD
+az
+aI
+aK
+aj
+aO
+aM
+aM
+aV
+aj
aa
aa
aa
@@ -12197,8 +12210,6 @@ aa
aa
aa
aa
-"}
-(92,1,1) = {"
aa
aa
aa
@@ -12207,6 +12218,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -12275,6 +12287,9 @@ aa
aa
aa
aa
+"}
+(92,1,1) = {"
+EW
aa
aa
aa
@@ -12294,6 +12309,25 @@ aa
aa
aa
aa
+ak
+an
+aq
+aj
+ap
+QS
+ay
+FN
+FN
+FN
+ay
+MW
+AH
+Qd
+bm
+aM
+aW
+aZ
+ba
aa
aa
aa
@@ -12314,6 +12348,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -12327,8 +12362,6 @@ aa
aa
aa
aa
-"}
-(93,1,1) = {"
aa
aa
aa
@@ -12384,6 +12417,9 @@ aa
aa
aa
aa
+"}
+(93,1,1) = {"
+EW
aa
aa
aa
@@ -12403,6 +12439,25 @@ aa
aa
aa
aa
+aj
+ak
+ak
+aj
+aj
+fy
+aj
+aA
+ap
+aE
+aj
+fy
+aj
+fy
+aj
+aM
+aX
+aZ
+ba
aa
aa
aa
@@ -12423,6 +12478,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -12457,8 +12513,6 @@ aa
aa
aa
aa
-"}
-(94,1,1) = {"
aa
aa
aa
@@ -12493,6 +12547,9 @@ aa
aa
aa
aa
+"}
+(94,1,1) = {"
+EW
aa
aa
aa
@@ -12515,6 +12572,22 @@ aa
aa
aa
aa
+aj
+aj
+qu
+aj
+aB
+ap
+aF
+aj
+hM
+aj
+au
+aj
+aM
+aY
+aZ
+ba
aa
aa
aa
@@ -12535,6 +12608,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -12559,7 +12633,6 @@ aa
aa
aa
aa
-ai
aa
aa
aa
@@ -12587,8 +12660,6 @@ aa
aa
aa
aa
-"}
-(95,1,1) = {"
aa
aa
aa
@@ -12606,6 +12677,9 @@ aa
aa
aa
aa
+"}
+(95,1,1) = {"
+EW
aa
aa
aa
@@ -12629,6 +12703,21 @@ aa
aa
aa
aa
+aj
+at
+aj
+ak
+ak
+ak
+aj
+at
+aj
+at
+aj
+ak
+aj
+aj
+aj
aa
aa
aa
@@ -12649,6 +12738,7 @@ aa
aa
aa
aa
+EW
aa
aa
aa
@@ -12719,6 +12809,7 @@ aa
aa
"}
(96,1,1) = {"
+EW
aa
aa
aa
@@ -12754,6 +12845,9 @@ aa
aa
aa
aa
+aj
+aj
+aj
aa
aa
aa
@@ -12774,11 +12868,7 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
+EW
aa
aa
aa
@@ -12849,6 +12939,7 @@ aa
aa
"}
(97,1,1) = {"
+EW
aa
aa
aa
@@ -12907,8 +12998,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -12979,6 +13069,7 @@ aa
aa
"}
(98,1,1) = {"
+EW
aa
aa
aa
@@ -13037,8 +13128,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13109,6 +13199,7 @@ aa
aa
"}
(99,1,1) = {"
+EW
aa
aa
aa
@@ -13167,8 +13258,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13239,6 +13329,7 @@ aa
aa
"}
(100,1,1) = {"
+EW
aa
aa
aa
@@ -13297,8 +13388,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13369,6 +13459,7 @@ aa
aa
"}
(101,1,1) = {"
+EW
aa
aa
aa
@@ -13427,8 +13518,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13499,6 +13589,7 @@ aa
aa
"}
(102,1,1) = {"
+EW
aa
aa
aa
@@ -13557,8 +13648,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13629,6 +13719,7 @@ aa
aa
"}
(103,1,1) = {"
+EW
aa
aa
aa
@@ -13687,8 +13778,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13759,6 +13849,7 @@ aa
aa
"}
(104,1,1) = {"
+EW
aa
aa
aa
@@ -13817,8 +13908,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -13889,6 +13979,7 @@ aa
aa
"}
(105,1,1) = {"
+EW
aa
aa
aa
@@ -13947,8 +14038,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14019,6 +14109,7 @@ aa
aa
"}
(106,1,1) = {"
+EW
aa
aa
aa
@@ -14077,8 +14168,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14149,6 +14239,7 @@ aa
aa
"}
(107,1,1) = {"
+EW
aa
aa
aa
@@ -14207,8 +14298,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14279,6 +14369,7 @@ aa
aa
"}
(108,1,1) = {"
+EW
aa
aa
aa
@@ -14337,8 +14428,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14409,6 +14499,7 @@ aa
aa
"}
(109,1,1) = {"
+EW
aa
aa
aa
@@ -14467,8 +14558,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14539,6 +14629,7 @@ aa
aa
"}
(110,1,1) = {"
+EW
aa
aa
aa
@@ -14597,8 +14688,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14669,6 +14759,7 @@ aa
aa
"}
(111,1,1) = {"
+EW
aa
aa
aa
@@ -14727,8 +14818,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14799,6 +14889,7 @@ aa
aa
"}
(112,1,1) = {"
+EW
aa
aa
aa
@@ -14857,8 +14948,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -14929,6 +15019,7 @@ aa
aa
"}
(113,1,1) = {"
+EW
aa
aa
aa
@@ -14987,8 +15078,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15059,6 +15149,7 @@ aa
aa
"}
(114,1,1) = {"
+EW
aa
aa
aa
@@ -15117,8 +15208,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15189,6 +15279,7 @@ aa
aa
"}
(115,1,1) = {"
+EW
aa
aa
aa
@@ -15247,8 +15338,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15319,6 +15409,7 @@ aa
aa
"}
(116,1,1) = {"
+EW
aa
aa
aa
@@ -15377,8 +15468,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15449,6 +15539,7 @@ aa
aa
"}
(117,1,1) = {"
+EW
aa
aa
aa
@@ -15507,8 +15598,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15579,6 +15669,7 @@ aa
aa
"}
(118,1,1) = {"
+EW
aa
aa
aa
@@ -15637,8 +15728,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15709,6 +15799,7 @@ aa
aa
"}
(119,1,1) = {"
+EW
aa
aa
aa
@@ -15767,8 +15858,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15839,6 +15929,7 @@ aa
aa
"}
(120,1,1) = {"
+EW
aa
aa
aa
@@ -15897,8 +15988,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -15969,6 +16059,7 @@ aa
aa
"}
(121,1,1) = {"
+EW
aa
aa
aa
@@ -16027,8 +16118,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16099,6 +16189,7 @@ aa
aa
"}
(122,1,1) = {"
+EW
aa
aa
aa
@@ -16157,8 +16248,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16229,6 +16319,7 @@ aa
aa
"}
(123,1,1) = {"
+EW
aa
aa
aa
@@ -16287,8 +16378,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16359,6 +16449,7 @@ aa
aa
"}
(124,1,1) = {"
+EW
aa
aa
aa
@@ -16417,8 +16508,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16489,6 +16579,7 @@ aa
aa
"}
(125,1,1) = {"
+EW
aa
aa
aa
@@ -16547,8 +16638,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16619,6 +16709,7 @@ aa
aa
"}
(126,1,1) = {"
+EW
aa
aa
aa
@@ -16677,8 +16768,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16749,6 +16839,7 @@ aa
aa
"}
(127,1,1) = {"
+EW
aa
aa
aa
@@ -16807,8 +16898,7 @@ aa
aa
aa
aa
-aa
-aa
+EW
aa
aa
aa
@@ -16879,66 +16969,66 @@ aa
aa
"}
(128,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
+EW
aa
aa
aa
diff --git a/maps/modpack_testing/blank.dmm b/maps/modpack_testing/blank.dmm
index 4031d6f40ec..f52568add50 100644
--- a/maps/modpack_testing/blank.dmm
+++ b/maps/modpack_testing/blank.dmm
@@ -12,6 +12,10 @@
/obj/abstract/landmark/latejoin,
/turf/simulated/floor/tiled,
/area/space)
+"R" = (
+/obj/abstract/level_data/player_level,
+/turf/space,
+/area/space)
(1,1,1) = {"
a
@@ -27,7 +31,7 @@ a
"}
(2,1,1) = {"
a
-a
+R
a
a
a
diff --git a/maps/nexus/nexus-1.dmm b/maps/nexus/nexus-1.dmm
index a679b60e921..ed952f31e80 100644
--- a/maps/nexus/nexus-1.dmm
+++ b/maps/nexus/nexus-1.dmm
@@ -2556,7 +2556,9 @@
/turf/simulated/floor/plating,
/area/nexus/command)
"xX" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Nexus Lower Deck";
+},
/turf/space,
/area/space)
"yf" = (
diff --git a/maps/nexus/nexus-2.dmm b/maps/nexus/nexus-2.dmm
index 72c89ae4168..473099b7a1b 100644
--- a/maps/nexus/nexus-2.dmm
+++ b/maps/nexus/nexus-2.dmm
@@ -907,7 +907,9 @@
/turf/simulated/floor/carpet/blue3,
/area/nexus/civilian/bar)
"Oa" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Nexus Upper Deck";
+},
/turf/space,
/area/space)
"Ok" = (
diff --git a/maps/nexus/nexus_areas.dm b/maps/nexus/nexus_areas.dm
index 4f661f864bb..28ccc1e11b3 100644
--- a/maps/nexus/nexus_areas.dm
+++ b/maps/nexus/nexus_areas.dm
@@ -1,10 +1,12 @@
/area/nexus
name = "Nexus Area"
+ holomap_color = HOLOMAP_AREACOLOR_CREW
//Engineering
/area/nexus/engineering
name = "Engineering Office"
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/nexus/engineering/engine
name = "Engine Bay"
@@ -36,6 +38,7 @@
/area/nexus/hallway
name = "Central Hallway"
+ holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
/area/nexus/hallway/port
name = "Port Docking Pylon"
@@ -73,6 +76,7 @@
/area/nexus/maint
area_flags = AREA_FLAG_RAD_SHIELDED
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/nexus/maint/custodial
name = "Cleaning Supplies"
diff --git a/maps/outreach/outreach-1.dmm b/maps/outreach/outreach-1.dmm
index 48d2db4302d..1e7b3581625 100644
--- a/maps/outreach/outreach-1.dmm
+++ b/maps/outreach/outreach-1.dmm
@@ -1,211 +1,40442 @@
-"a" = (/turf/exterior/barren,/area/exoplanet/outreach/mines/depth_2)
-"b" = (/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"c" = (/turf/unsimulated/wall,/area/exoplanet/outreach/mines/exits)
-"d" = (/obj/structure/stairs/long/west,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"e" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"f" = (/obj/structure/stairs/long/west,/obj/structure/railing/mapped,/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"g" = (/obj/structure/railing/mapped,/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"h" = (/turf/exterior/planet_edge,/area/exoplanet/outreach/mines/depth_2)
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/depth_2)
+"b" = (
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"c" = (
+/turf/unsimulated/wall,
+/area/exoplanet/outreach/mines/exits)
+"d" = (
+/obj/structure/stairs/long/west,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"e" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"f" = (
+/obj/structure/stairs/long/west,
+/obj/structure/railing/mapped,
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"g" = (
+/obj/structure/railing/mapped,
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"h" = (
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach/mines/depth_2)
+"i" = (
+/obj/abstract/level_data/exoplanet/outreach/mining,
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach/mines/depth_2)
(1,1,1) = {"
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcdebbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabcfgbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbcdebbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbcfgbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
-hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+i
+"}
+(2,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(3,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(4,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(5,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(6,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(7,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(8,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(9,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(10,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(11,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(12,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(13,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(14,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(15,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(16,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(17,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(18,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(19,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(20,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(21,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(22,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(23,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(24,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(25,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(26,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(27,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(28,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(29,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(30,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(31,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(32,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(33,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(34,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(35,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(36,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(37,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(38,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(39,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(40,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(41,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(42,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(43,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(44,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(45,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(46,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(47,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(48,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(49,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(50,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(51,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(52,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(53,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(54,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(55,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(56,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(57,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(58,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(59,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(60,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(61,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(62,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(63,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(64,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(65,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(66,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(67,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(68,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(69,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(70,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(71,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(72,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(73,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(74,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(75,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(76,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(77,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(78,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(79,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(80,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(81,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(82,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(83,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(84,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(85,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(86,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(87,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(88,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(89,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(90,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(91,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(92,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(93,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(94,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(95,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(96,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(97,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(98,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(99,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(100,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(101,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(102,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(103,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(104,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(105,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(106,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(107,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(108,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(109,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(110,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(111,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(112,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(113,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(114,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(115,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(116,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(117,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(118,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(119,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(120,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(121,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(122,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(123,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(124,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(125,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(126,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(127,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(128,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(129,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(130,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(131,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(132,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(133,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(134,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(135,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(136,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(137,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(138,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(139,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(140,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(141,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(142,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(143,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(144,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(145,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(146,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(147,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(148,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+c
+c
+b
+b
+b
+b
+c
+c
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(149,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+d
+f
+b
+b
+b
+b
+d
+f
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(150,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+e
+g
+b
+b
+b
+b
+e
+g
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(151,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+b
+b
+b
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(152,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+b
+b
+b
+a
+a
+b
+b
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(153,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+b
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(154,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(155,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(156,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(157,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(158,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(159,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(160,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(161,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(162,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(163,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(164,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(165,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(166,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(167,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(168,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(169,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(170,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(171,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(172,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(173,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(174,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(175,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(176,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(177,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(178,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(179,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(180,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(181,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(182,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(183,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(184,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(185,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(186,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(187,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(188,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(189,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(190,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(191,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(192,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(193,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+h
+h
+h
+h
+h
+h
+h
+"}
+(194,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(195,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(196,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(197,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(198,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(199,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+"}
+(200,1,1) = {"
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
+h
"}
diff --git a/maps/outreach/outreach-2.dmm b/maps/outreach/outreach-2.dmm
index 79684d39ae5..eb72e36f809 100644
--- a/maps/outreach/outreach-2.dmm
+++ b/maps/outreach/outreach-2.dmm
@@ -1,213 +1,40452 @@
-"a" = (/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"b" = (/turf/unsimulated/wall,/area/exoplanet/outreach/mines/exits)
-"c" = (/obj/structure/stairs/long/west,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"d" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"e" = (/turf/exterior/barren,/area/exoplanet/outreach/mines/depth_1)
-"f" = (/turf/exterior/open,/area/exoplanet/outreach/mines/exits)
-"g" = (/obj/structure/stairs/long/west,/obj/structure/railing/mapped,/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"h" = (/obj/structure/railing/mapped,/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"i" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/exterior/barren,/area/exoplanet/outreach/mines/exits)
-"j" = (/turf/exterior/planet_edge,/area/exoplanet/outreach/mines/depth_1)
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"a" = (
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"b" = (
+/turf/unsimulated/wall,
+/area/exoplanet/outreach/mines/exits)
+"c" = (
+/obj/structure/stairs/long/west,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"d" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"e" = (
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/depth_1)
+"f" = (
+/turf/exterior/open,
+/area/exoplanet/outreach/mines/exits)
+"g" = (
+/obj/structure/stairs/long/west,
+/obj/structure/railing/mapped,
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"h" = (
+/obj/structure/railing/mapped,
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"i" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/exterior/barren,
+/area/exoplanet/outreach/mines/exits)
+"j" = (
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach/mines/depth_1)
+"k" = (
+/obj/abstract/level_data/exoplanet/outreach/mining,
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach/mines/depth_1)
(1,1,1) = {"
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaahhaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaabcdaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaffiaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeabghaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaffiaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaddaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaahhaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaabcdaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaffieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaabghaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaffiaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaddaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
-jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+k
+"}
+(2,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(3,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(4,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(5,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(6,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(7,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(8,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(9,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(10,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(11,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(12,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(13,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(14,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(15,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(16,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(17,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(18,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(19,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(20,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(21,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(22,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(23,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(24,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(25,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(26,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(27,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(28,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(29,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(30,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(31,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(32,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(33,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(34,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(35,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(36,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(37,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(38,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(39,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(40,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(41,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(42,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(43,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(44,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(45,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(46,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+e
+e
+e
+e
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(47,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+e
+a
+a
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(48,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+b
+b
+a
+a
+a
+a
+b
+b
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(49,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+c
+g
+a
+a
+a
+a
+c
+g
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(50,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+d
+h
+a
+a
+a
+a
+d
+h
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(51,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(52,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+e
+a
+a
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(53,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+e
+e
+e
+e
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(54,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(55,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(56,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(57,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(58,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(59,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(60,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(61,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(62,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(63,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(64,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(65,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(66,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(67,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(68,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(69,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(70,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(71,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(72,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(73,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(74,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(75,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(76,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(77,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(78,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(79,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(80,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(81,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(82,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(83,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(84,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(85,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(86,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(87,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(88,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(89,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(90,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(91,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(92,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(93,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(94,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(95,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(96,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(97,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(98,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(99,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(100,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(101,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(102,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(103,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(104,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(105,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(106,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(107,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(108,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(109,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(110,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(111,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(112,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(113,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(114,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(115,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(116,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(117,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(118,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(119,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(120,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(121,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(122,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(123,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(124,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(125,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(126,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(127,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(128,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(129,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(130,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(131,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(132,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(133,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(134,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(135,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(136,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(137,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(138,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(139,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(140,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(141,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(142,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(143,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(144,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(145,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(146,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(147,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+a
+a
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(148,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+a
+a
+a
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(149,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+h
+f
+f
+d
+a
+a
+h
+f
+f
+d
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(150,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+h
+f
+f
+d
+a
+a
+h
+f
+f
+d
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(151,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+i
+i
+a
+a
+e
+a
+i
+i
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(152,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+a
+a
+e
+e
+e
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(153,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+a
+a
+a
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(154,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(155,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(156,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(157,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(158,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(159,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(160,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(161,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(162,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(163,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(164,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(165,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(166,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(167,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(168,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(169,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(170,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(171,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(172,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(173,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(174,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(175,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(176,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(177,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(178,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(179,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(180,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(181,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(182,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(183,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(184,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(185,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(186,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(187,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(188,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(189,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(190,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(191,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(192,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(193,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+e
+j
+j
+j
+j
+j
+j
+j
+"}
+(194,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(195,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(196,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(197,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(198,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(199,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+"}
+(200,1,1) = {"
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
"}
diff --git a/maps/outreach/outreach-3.dmm b/maps/outreach/outreach-3.dmm
index 90690a94c73..5eeb511b23b 100644
--- a/maps/outreach/outreach-3.dmm
+++ b/maps/outreach/outreach-3.dmm
@@ -1,623 +1,44110 @@
-"aa" = (/turf/exterior/chlorine_sand,/area/exoplanet/outreach)
-"ab" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/barracks/second)
-"ac" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"ad" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"ae" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"af" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"ag" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"ah" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"ai" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aj" = (/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"ak" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"al" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"am" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/obj/structure/stairs/long/north{icon_state = ""; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"an" = (/obj/machinery/atm{pixel_x = 24},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"ao" = (/obj/machinery/light{icon_state = "tube_map"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/universal{icon_state = "map_universal"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"ap" = (/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/door/airlock/security{name = "Judge Office"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"aq" = (/turf/exterior/planet_edge,/area/exoplanet/outreach)
-"ar" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"as" = (/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"at" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"au" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"av" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aw" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/maint)
-"ax" = (/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"ay" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"az" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aC" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aG" = (/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"aH" = (/obj/structure/cable/green{icon_state = "16-0"},/obj/structure/cable/green{dir = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"aI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aJ" = (/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/up/supply,/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"aK" = (/obj/structure/cable/green{icon_state = "1-4"},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/obj/machinery/power/apc/critical{dir = 8; icon_state = "apc0"; pixel_x = -24},/obj/structure/cable/green{icon_state = "0-4"},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"aL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aN" = (/turf/exterior/concrete,/area/exoplanet/outreach)
-"aO" = (/obj/machinery/airlock_sensor{id_tag = "outreach_3_exterior_sensor"; pixel_x = -24},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"aP" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/hallway)
-"aQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"aR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/second)
-"aT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/cable/green{icon_state = "2-4"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aU" = (/obj/machinery/power/apc/critical{dir = 4; pixel_x = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"aV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"aW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"aX" = (/obj/structure/railing/mapped,/turf/exterior/concrete,/area/exoplanet/outreach)
-"aY" = (/obj/machinery/airlock_sensor{id_tag = "outreach_2_exterior_sensor"; pixel_x = 0; pixel_y = 24},/turf/exterior/chlorine_sand,/area/outreach/outpost/solar_array)
-"aZ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"ba" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bb" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/vending/infini/botany,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bc" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "2-8"},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 4},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"bd" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/infini/science,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"be" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"bf" = (/turf/exterior/chlorine_sand,/area/outreach/outpost/solar_array)
-"bg" = (/turf/exterior/open,/area/exoplanet/outreach)
-"bh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"bi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"bj" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/judges)
-"bk" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/table/steel,/obj/machinery/recharger/wallcharger{pixel_y = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bl" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/space,/area/outreach/outpost/hallway)
-"bm" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"bn" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bo" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"bp" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bq" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"br" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/second)
-"bs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/second)
-"bt" = (/obj/machinery/power/apc/critical{dir = 1; pixel_y = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-2"},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bu" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/obj/structure/table/steel,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bv" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/obj/structure/table/steel,/obj/machinery/recharger/wallcharger{pixel_y = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bw" = (/obj/structure/cable/green{icon_state = "2-4"},/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bx" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/vending/infini/industrial,/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"by" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atm{pixel_x = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bz" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bA" = (/obj/machinery/door/airlock/glass/civilian,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bC" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bD" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/firedoor/autoset,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bE" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bF" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 1},/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood/splatter,/obj/machinery/airlock_sensor{id_tag = "outreach_3_interior_sensor"; pixel_x = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bJ" = (/obj/machinery/door/firedoor/autoset,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"bK" = (/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-8"},/obj/structure/cable/green{icon_state = "2-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bM" = (/obj/structure/closet,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{icon_state = "4-8"},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"bP" = (/obj/machinery/cryopod/despawner,/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/sleeproom)
-"bQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "4-8"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bR" = (/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "2-4"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/wallframe_spawn/reinforced/titanium,/obj/structure/cable/green{icon_state = "4-8"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bW" = (/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bX" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/firedoor/autoset,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"ca" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/autoset,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"cd" = (/obj/machinery/door/airlock/external{id_tag = "outreach_3_inner"},/obj/machinery/button/access/interior{id_tag = "outreach_3"; pixel_y = 24},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"ce" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "stripecorner"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"cf" = (/obj/effect/floor_decal/industrial/hatch/orange,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{cycle_to_external_air = 1; frequency = 1381; id_tag = "outreach_3"; pixel_y = 24; tag_airpump = null; tag_exterior_door = null; tag_interior_door = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{id_tag = "outreach_3_pump"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"cg" = (/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"ch" = (/obj/machinery/door/airlock/external{id_tag = "outreach_3_outer"},/obj/machinery/button/access/exterior{id_tag = "outreach_3"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"ci" = (/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cj" = (/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"ck" = (/obj/structure/closet,/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cl" = (/obj/effect/floor_decal/industrial/hatch/orange,/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 4; icon_state = "map_vent"; id_tag = "outreach_3_pump_out_internal"},/obj/machinery/airlock_sensor{id_tag = "outreach_3_sensor"; pixel_x = 0; pixel_y = 24},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"cm" = (/obj/effect/decal/cleanable/vomit,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cn" = (/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"co" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cp" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cq" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cr" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cs" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/exterior/concrete,/area/exoplanet/outreach)
-"ct" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cu" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cv" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cw" = (/obj/machinery/door/airlock/double/civilian,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/second)
-"cx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cy" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cz" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/exterior/concrete,/area/exoplanet/outreach)
-"cA" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 8; icon_state = "map_on"; regulate_mode = 1; target_pressure = 300},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"cB" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/sleeproom)
-"cC" = (/obj/effect/decal/cleanable/filth,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cE" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cI" = (/obj/structure/closet/secure_closet/guncabinet,/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cJ" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cL" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cM" = (/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/second)
-"cN" = (/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"cO" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 4},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"cP" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"cQ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/airlock_sensor{id_tag = "outreach_1_exterior_sensor"; pixel_x = 24},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"cR" = (/obj/machinery/power/apc/critical{dir = 1; pixel_y = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"cS" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 8},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"cT" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/barracks/first)
-"cU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cV" = (/obj/machinery/door/airlock/double/civilian,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/first)
-"cW" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cY" = (/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"cZ" = (/obj/machinery/door/firedoor/autoset,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"da" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/firedoor/autoset,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"db" = (/obj/machinery/cryopod/despawner{icon_state = "body_scanner_0"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/sleeproom)
-"dc" = (/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/outreach/outpost/sleeproom)
-"dd" = (/obj/effect/floor_decal/industrial/warning{icon_state = "stripe"; dir = 8},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"de" = (/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"df" = (/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/outreach/outpost/sleeproom)
-"dg" = (/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/first)
-"dh" = (/obj/effect/decal/cleanable/generic,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"di" = (/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/outreach/outpost/judges)
-"dj" = (/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/outreach/outpost/sleeproom)
-"dk" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"dl" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"dm" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/it)
-"dn" = (/obj/machinery/door/airlock/highsecurity,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/tiled,/area/outreach/outpost/it)
-"do" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"dq" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"ds" = (/obj/machinery/atmospherics/unary/freezer,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dt" = (/obj/machinery/light{icon_state = "tube_map"; dir = 1},/obj/machinery/atmospherics/unary/freezer,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"du" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/nitrogen/prechilled,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-4"},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dw" = (/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dx" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 4},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dy" = (/obj/machinery/power/smes/buildable/max_cap_in_out,/obj/structure/cable/blue{icon_state = "0-2"},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dz" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"dB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dC" = (/obj/effect/floor_decal/industrial/warning{icon_state = "stripe"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"dD" = (/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/turf/simulated/floor/plating,/area/outreach/outpost/sleeproom)
-"dE" = (/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"dF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"dH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"dI" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dJ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; icon_state = "map"},/obj/machinery/alarm{dir = 4; pixel_x = -24},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dK" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dL" = (/obj/machinery/atmospherics/pipe/simple/visible{connect_dir_type = 6; dir = 9; icon_state = "intact"},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{icon_state = "intact-supply"; dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dO" = (/obj/structure/cable/blue{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dP" = (/obj/structure/cable/blue{icon_state = "1-8"},/obj/structure/cable/blue,/obj/machinery/power/apc/critical{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"dQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"dS" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dT" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"dU" = (/obj/effect/floor_decal/industrial/warning{icon_state = "stripe"; dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 8},/turf/simulated/floor/tiled/white,/area/outreach/outpost/sleeproom)
-"dV" = (/obj/structure/railing/mapped,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "11"; dir = 5},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"dW" = (/obj/machinery/door/airlock/hatch/autoname/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"dX" = (/obj/machinery/computer/modular/preset/civilian,/obj/machinery/light/small/red{icon_state = "bulb_map"; dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/computer)
-"dY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"dZ" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/simulated/floor/plating,/area/outreach/outpost/computer)
-"ea" = (/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plating,/area/outreach/outpost/computer)
-"eb" = (/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"ec" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"ed" = (/obj/structure/cable/blue{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"ee" = (/turf/simulated/floor/tiled/techfloor,/area/outreach/outpost/it)
-"ef" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; icon_state = "map"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"eg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"eh" = (/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/obj/structure/cable/green{icon_state = "2-4"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"ei" = (/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"ej" = (/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass/civilian,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"ek" = (/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/sleeproom)
-"el" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"em" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"en" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"eo" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/visible{connect_dir_type = 6; dir = 10; icon_state = "intact"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"ep" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"eq" = (/obj/machinery/door/airlock/hatch/maintenance,/obj/structure/cable/blue{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"er" = (/obj/structure/cable/blue{icon_state = "2-4"},/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"es" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/spiderling_remains,/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"et" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"eu" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/atm{pixel_x = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"ev" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"ew" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"ex" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"ey" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"ez" = (/obj/structure/cable/blue{icon_state = "1-4"},/obj/structure/cable/blue{icon_state = "1-8"},/obj/structure/cable/blue{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"eA" = (/obj/structure/cable/blue{icon_state = "2-8"},/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"eB" = (/obj/effect/floor_decal/industrial/hatch/orange,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{cycle_to_external_air = 1; frequency = 1381; id_tag = "outreach_1"; pixel_y = 24; tag_airpump = null; tag_exterior_door = null; tag_interior_door = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{id_tag = "outreach_1_pump"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"eC" = (/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{icon_state = "2-8"},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"eD" = (/obj/effect/floor_decal/industrial/warning{icon_state = "stripe"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 4; icon_state = "map_vent"; id_tag = "outreach_1_pump_out_external"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"eE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"eF" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"eG" = (/obj/machinery/computer/modular/preset/civilian,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/computer)
-"eH" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/computer)
-"eI" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"eJ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/obj/machinery/light/small/red,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/it)
-"eK" = (/obj/machinery/door/airlock/highsecurity,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"eL" = (/obj/machinery/network/mainframe{initial_network_id = "outreach"},/obj/structure/cable/blue,/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"eM" = (/obj/machinery/network/router{initial_network_id = "outreach"},/obj/machinery/light/small/red,/obj/structure/cable/blue,/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"eN" = (/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"eO" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/mucus,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"eP" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"eQ" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/computer)
-"eR" = (/obj/structure/bed/chair,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/computer)
-"eS" = (/obj/structure/bed/chair,/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/computer)
-"eT" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"eU" = (/obj/effect/floor_decal/industrial/hatch/orange,/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 8; icon_state = "map_vent"; id_tag = "outreach_1_pump_out_internal"},/obj/machinery/airlock_sensor{id_tag = "outreach_1_sensor"; pixel_x = 0; pixel_y = 24},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"eV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"eW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"eX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"eY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/door/airlock/glass,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"eZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/outreach/outpost/computer)
-"fa" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"fb" = (/obj/machinery/power/apc{pixel_y = -24},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/computer)
-"fc" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "stripecorner"; dir = 4},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"fd" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{icon_state = "intact-supply"; dir = 6},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fe" = (/obj/structure/cable/green{icon_state = "1-8"},/obj/structure/cable/green{icon_state = "4-8"},/obj/structure/cable/green{icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"ff" = (/obj/machinery/atmospherics/pipe/simple/visible/red{icon_state = "intact"; dir = 10},/obj/machinery/meter,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fg" = (/obj/effect/decal/cleanable/vomit,/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"fh" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"fi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fj" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"fk" = (/obj/machinery/door/airlock/external{id_tag = "outreach_1_outer"},/obj/machinery/button/access/exterior{id_tag = "outreach_1"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"fl" = (/obj/machinery/computer/air_control{dir = 1; input_tag = "air_in"; name = "Air Supply Control"; output_tag = "air_out"; sensor_name = "Air Supply Tank"; sensor_tag = "air_sensor"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 4},/obj/machinery/light,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fm" = (/obj/machinery/power/apc/critical{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"fn" = (/obj/machinery/door/airlock/external{id_tag = "outreach_1_inner"},/obj/machinery/button/access/interior{id_tag = "outreach_1"; pixel_y = 24},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"fo" = (/obj/machinery/atmospherics/binary/passive_gate/on{icon_state = "map_on"; dir = 4},/obj/structure/railing/mapped,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fp" = (/obj/machinery/computer/air_control{dir = 1; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensor_name = "Nitrogen Supply Tank"; sensor_tag = "n2_sensor"},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fq" = (/obj/structure/cable/green{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fr" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/airlock_sensor{id_tag = "outreach_1_interior_sensor"; pixel_x = -24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"fs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/firedoor/autoset,/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"ft" = (/obj/machinery/power/apc/critical{dir = 1; pixel_y = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/structure/cable/green{icon_state = "1-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fw" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 8; icon_state = "map_vent"; id_tag = "outreach_3_pump_out_external"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"fx" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fy" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fz" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/obj/structure/railing/mapped,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fA" = (/obj/machinery/atmospherics/pipe/manifold/hidden{icon_state = "map"; dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fB" = (/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/door/airlock/external{id_tag = "outreach_2_inner"},/obj/machinery/button/access/interior{id_tag = "outreach_2"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fC" = (/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/embedded_controller/radio/airlock/airlock_controller{cycle_to_external_air = 1; dir = 4; frequency = 1381; icon_state = "airlock_control_off"; id_tag = "outreach_2"; pixel_x = -24; pixel_y = 0; tag_airpump = null; tag_exterior_door = null; tag_interior_door = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 4; icon_state = "map_vent"; id_tag = "outreach_4_pump_out_external"},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fD" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "11"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/structure/cable/green{icon_state = "2-4"},/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fF" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 4; icon_state = "map_on"; regulate_mode = 1; target_pressure = 300},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fG" = (/obj/structure/railing/mapped,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "11"; dir = 4},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fH" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"fI" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"fJ" = (/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/airlock_sensor{id_tag = "outreach_2_sensor"; pixel_x = -24; pixel_y = 0},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 8},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fK" = (/obj/structure/cable/yellow{icon_state = "1-2"},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fL" = (/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/door/airlock/external{id_tag = "outreach_2_outer"},/obj/machinery/button/access/exterior{id_tag = "outreach_2"; pixel_x = 24; pixel_y = 0},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"fM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fN" = (/obj/machinery/atmospherics/binary/passive_gate/on{icon_state = "map_on"; dir = 8},/obj/structure/railing/mapped,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fO" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/atmospherics)
-"fP" = (/obj/machinery/door/airlock/glass,/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"fR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"fS" = (/obj/machinery/atmospherics/unary/heater,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fT" = (/obj/machinery/atmospherics/unary/freezer,/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fU" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fV" = (/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fX" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{icon_state = "map-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"fY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"fZ" = (/obj/structure/grille,/turf/exterior/chlorine_sand,/area/exoplanet/outreach)
-"ga" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gb" = (/obj/machinery/atmospherics/pipe/simple/visible{connect_dir_type = 4; dir = 5; icon_state = "intact"},/obj/machinery/light{icon_state = "tube_map"; dir = 8},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gc" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gd" = (/obj/machinery/atmospherics/pipe/manifold/visible{icon_state = "map"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"ge" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gf" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 8},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gh" = (/obj/machinery/atmospherics/binary/pump/high_power/on/max_pressure,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gi" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"gj" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gk" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 1; icon_state = "map_on"; regulate_mode = 1; target_pressure = 300},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gl" = (/obj/machinery/power/apc/critical{dir = 8; icon_state = "apc0"; pixel_x = -24},/obj/structure/cable/green{dir = 2; icon_state = "0-2"},/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gm" = (/obj/machinery/atmospherics/binary/pump/on,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gn" = (/obj/machinery/atmospherics/binary/pump/on{icon_state = "map_on"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"go" = (/obj/effect/decal/cleanable/blood/oil,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gp" = (/obj/machinery/atmospherics/binary/passive_gate/on{icon_state = "map_on"; dir = 1},/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gq" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/obj/machinery/atmospherics/pipe/simple/visible/green{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gr" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 10; icon_state = "intact"},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gs" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gt" = (/obj/machinery/atmospherics/binary/passive_gate/on,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gu" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"gv" = (/obj/structure/cable/yellow{icon_state = "0-4"},/obj/machinery/power/solar,/obj/effect/floor_decal/solarpanel,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gw" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gx" = (/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gy" = (/obj/machinery/atmospherics/pipe/simple/visible{connect_dir_type = 4; dir = 5; icon_state = "intact"},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gz" = (/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gA" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 4},/obj/effect/decal/cleanable/blood/oil,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gB" = (/obj/machinery/atmospherics/pipe/manifold/visible{icon_state = "map"; dir = 4},/obj/machinery/meter,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gC" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gD" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 5; icon_state = "intact"},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gE" = (/obj/machinery/atmospherics/omni/filter{tag_east = 2; tag_north = 1; tag_south = 4; tag_west = 3},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gF" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gG" = (/obj/structure/cable/yellow{icon_state = "2-8"},/obj/structure/cable/yellow{icon_state = "2-4"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gH" = (/obj/structure/cable/yellow{icon_state = "0-8"},/obj/machinery/power/solar,/obj/effect/floor_decal/solarpanel,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gI" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/obj/structure/railing/mapped,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gJ" = (/obj/machinery/door/airlock/glass,/obj/structure/cable/green{icon_state = "4-8"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"gK" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/green,/obj/structure/cable/green{icon_state = "1-8"},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gL" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 6},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gM" = (/obj/machinery/light,/obj/machinery/computer/air_control{dir = 1; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensor_name = "Oxygen Supply Tank"; sensor_tag = "o2_sensor"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gN" = (/obj/machinery/atmospherics/omni/mixer{tag_east = 1; tag_east_con = 0.79; tag_south = 2; tag_south_con = 1; tag_west = 1; tag_west_con = 0.21},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 4},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gP" = (/obj/machinery/power/solar,/obj/effect/floor_decal/solarpanel,/obj/structure/cable/yellow{icon_state = "0-8"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gQ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/visible/cyan{icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gS" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/obj/effect/floor_decal/industrial/warning{dir = 2; icon_state = "warning"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"gT" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden/green,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gU" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gV" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden/blue,/turf/simulated/floor/plating,/area/outreach/outpost/atmospherics)
-"gW" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; icon_state = "map_injector"; use_power = 1},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 50000); name = /decl/material/gas/oxygen},/area/outreach/outpost/atmospherics)
-"gX" = (/obj/machinery/atmospherics/unary/vent_pump/tank{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; id_tag = "o2_out"; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 50000); name = /decl/material/gas/oxygen},/area/outreach/outpost/atmospherics)
-"gY" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; icon_state = "map_injector"; use_power = 1},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147); name = "air"},/area/outreach/outpost/atmospherics)
-"gZ" = (/obj/machinery/atmospherics/unary/vent_pump/tank{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; id_tag = "air_out"; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147); name = "air"},/area/outreach/outpost/atmospherics)
-"ha" = (/obj/machinery/atmospherics/unary/vent_pump/tank{dir = 1; external_pressure_bound = 0; external_pressure_bound_default = 0; icon_state = "map_vent_in"; id_tag = "n2_out"; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/nitrogen = 90000); name = /decl/material/gas/nitrogen},/area/outreach/outpost/atmospherics)
-"hb" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; icon_state = "map_injector"; use_power = 1},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/nitrogen = 90000); name = /decl/material/gas/nitrogen},/area/outreach/outpost/atmospherics)
-"hc" = (/obj/machinery/air_sensor{identifier = "o2_sensor"},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 50000); name = /decl/material/gas/oxygen},/area/outreach/outpost/atmospherics)
-"hd" = (/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 50000); name = /decl/material/gas/oxygen},/area/outreach/outpost/atmospherics)
-"he" = (/obj/machinery/air_sensor{id_tag = "air_sensor"},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147); name = "air"},/area/outreach/outpost/atmospherics)
-"hf" = (/obj/structure/railing/mapped,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hg" = (/obj/structure/cable/yellow{icon_state = "2-8"},/obj/structure/cable/yellow{icon_state = "2-4"},/obj/structure/cable/yellow{icon_state = "1-2"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hh" = (/obj/structure/cable/yellow{icon_state = "1-2"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hi" = (/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147); name = "air"},/area/outreach/outpost/atmospherics)
-"hj" = (/obj/machinery/air_sensor{id_tag = "n2_sensor"},/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/nitrogen = 90000); name = /decl/material/gas/nitrogen},/area/outreach/outpost/atmospherics)
-"hk" = (/turf/simulated/floor/reinforced{initial_gas = list(/decl/material/gas/nitrogen = 90000); name = /decl/material/gas/nitrogen},/area/outreach/outpost/atmospherics)
-"hl" = (/obj/structure/cable/yellow{icon_state = "4-8"},/obj/structure/cable/yellow{icon_state = "2-4"},/obj/structure/cable/yellow{icon_state = "2-8"},/obj/structure/cable/yellow{icon_state = "1-4"},/obj/structure/cable/yellow{icon_state = "1-8"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hm" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/solar_array)
-"hn" = (/obj/structure/cable/yellow{icon_state = "4-8"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"ho" = (/obj/structure/cable/yellow{icon_state = "4-8"},/obj/structure/cable/yellow{icon_state = "2-8"},/obj/structure/cable/yellow{icon_state = "1-4"},/obj/structure/cable/yellow{icon_state = "1-8"},/obj/structure/cable/yellow{icon_state = "2-4"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hp" = (/obj/structure/cable/yellow{icon_state = "2-4"},/obj/structure/cable/yellow{icon_state = "2-8"},/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"hq" = (/obj/machinery/power/solar_control/autostart{icon_state = "solar"; dir = 1},/obj/structure/cable/yellow{icon_state = "0-8"},/obj/machinery/airlock_sensor{id_tag = "outreach_2_interior_sensor"; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"hr" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable/yellow{icon_state = "0-4"},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"hs" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"ht" = (/obj/machinery/power/tracker,/obj/structure/cable/yellow{icon_state = "0-8"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hu" = (/obj/structure/cable/yellow{icon_state = "1-8"},/obj/structure/cable/yellow{icon_state = "1-4"},/obj/structure/cable/yellow{icon_state = "1-2"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hv" = (/obj/structure/cable/yellow{icon_state = "1-8"},/obj/structure/cable/yellow{icon_state = "1-4"},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"hw" = (/obj/machinery/network/acl,/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/bluegrid,/area/outreach/outpost/it)
-"hy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/cable/green{icon_state = "1-4"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hz" = (/obj/machinery/power/smes/buildable/max_cap_in_out,/obj/structure/cable/green{icon_state = "0-4"},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"hA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/power/apc/critical{dir = 4; pixel_x = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hB" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"hC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hD" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hG" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/first)
-"hJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hL" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"hM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/first)
-"hO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/first)
-"hP" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/simulated/floor/plating,/area/outreach/outpost/solar_array)
-"hQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hS" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hT" = (/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/first)
-"hU" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hV" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hW" = (/obj/machinery/atm{pixel_x = 24},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"hX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"hY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"hZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"ia" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"ib" = (/obj/structure/stairs,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"ic" = (/obj/machinery/light,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/first)
-"id" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"ie" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/first)
-"if" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"ih" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/exterior/chlorine_sand,
+/area/exoplanet/outreach)
+"ab" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/barracks/second)
+"ac" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"ad" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"ae" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"af" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"ag" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"ah" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"ai" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aj" = (
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"ak" = (
+/obj/structure/bed/padded,
+/obj/item/bedsheet/blue,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"al" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"am" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/obj/structure/stairs/long/north{
+ icon_state = "";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"an" = (
+/obj/machinery/atm{
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"ao" = (
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/universal{
+ icon_state = "map_universal";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"ap" = (
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/security{
+ name = "Judge Office"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"aq" = (
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach)
+"ar" = (
+/obj/machinery/door/airlock,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"as" = (
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"at" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"au" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"av" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aw" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/maint)
+"ax" = (
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"ay" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"az" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aA" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aB" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aC" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aE" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aF" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aG" = (
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"aH" = (
+/obj/structure/cable/green{
+ icon_state = "16-0"
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"aI" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aJ" = (
+/obj/machinery/atmospherics/pipe/zpipe/up/scrubbers,
+/obj/machinery/atmospherics/pipe/zpipe/up/supply,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"aK" = (
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/obj/machinery/power/apc/critical{
+ dir = 8;
+ icon_state = "apc0";
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"aL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aM" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aN" = (
+/turf/exterior/concrete,
+/area/exoplanet/outreach)
+"aO" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_3_exterior_sensor";
+ pixel_x = -24
+ },
+/obj/effect/floor_decal/industrial/warning/corner{
+ icon_state = "warningcorner";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"aP" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/hallway)
+"aQ" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"aR" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aS" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/second)
+"aT" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aU" = (
+/obj/machinery/power/apc/critical{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"aV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"aW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"aX" = (
+/obj/structure/railing/mapped,
+/turf/exterior/concrete,
+/area/exoplanet/outreach)
+"aY" = (
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_2_exterior_sensor";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/turf/exterior/chlorine_sand,
+/area/outreach/outpost/solar_array)
+"aZ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/generic,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"ba" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bb" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/vending/infini/botany,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 4
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"bd" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/vending/infini/science,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"be" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"bf" = (
+/turf/exterior/chlorine_sand,
+/area/outreach/outpost/solar_array)
+"bg" = (
+/turf/exterior/open,
+/area/exoplanet/outreach)
+"bh" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"bi" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atm{
+ pixel_x = -24
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"bj" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/judges)
+"bk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/structure/table/steel,
+/obj/machinery/recharger/wallcharger{
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bl" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/space,
+/area/outreach/outpost/hallway)
+"bm" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"bn" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bo" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"bp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atm{
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bq" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"br" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/second)
+"bs" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/second)
+"bt" = (
+/obj/machinery/power/apc/critical{
+ dir = 1;
+ pixel_y = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bu" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/obj/structure/table/steel,
+/obj/machinery/alarm{
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bv" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/obj/structure/table/steel,
+/obj/machinery/recharger/wallcharger{
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bw" = (
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bx" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/vending/infini/industrial,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"by" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atm{
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bz" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/cobweb,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bA" = (
+/obj/machinery/door/airlock/glass/civilian,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bC" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bD" = (
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bE" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bF" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bH" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/splatter,
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_3_interior_sensor";
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bJ" = (
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"bK" = (
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bM" = (
+/obj/structure/closet,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bN" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bO" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"bP" = (
+/obj/machinery/cryopod/despawner,
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/sleeproom)
+"bQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/generic,
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bR" = (
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bW" = (
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bX" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"ca" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cb" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cc" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"cd" = (
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_3_inner"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "outreach_3";
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"ce" = (
+/obj/effect/floor_decal/industrial/warning/corner{
+ icon_state = "stripecorner";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"cf" = (
+/obj/effect/floor_decal/industrial/hatch/orange,
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ cycle_to_external_air = 1;
+ frequency = 1381;
+ id_tag = "outreach_3";
+ pixel_y = 24;
+ tag_airpump = null;
+ tag_exterior_door = null;
+ tag_interior_door = null
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "outreach_3_pump"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"cg" = (
+/obj/effect/decal/cleanable/blood/splatter,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"ch" = (
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_3_outer"
+ },
+/obj/machinery/button/access/exterior{
+ id_tag = "outreach_3";
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"ci" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cj" = (
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"ck" = (
+/obj/structure/closet,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cl" = (
+/obj/effect/floor_decal/industrial/hatch/orange,
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ icon_state = "map_vent";
+ id_tag = "outreach_3_pump_out_internal"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_3_sensor";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"cm" = (
+/obj/effect/decal/cleanable/vomit,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cn" = (
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"co" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cp" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cq" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cr" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cs" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/exterior/concrete,
+/area/exoplanet/outreach)
+"ct" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cu" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cv" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cw" = (
+/obj/machinery/door/airlock/double/civilian,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/second)
+"cx" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cy" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cz" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/exterior/concrete,
+/area/exoplanet/outreach)
+"cA" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ dir = 8;
+ icon_state = "map_on";
+ regulate_mode = 1;
+ target_pressure = 300
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"cB" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/sleeproom)
+"cC" = (
+/obj/effect/decal/cleanable/filth,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cE" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cF" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cI" = (
+/obj/structure/closet/secure_closet/guncabinet,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cJ" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cM" = (
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/second)
+"cN" = (
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"cO" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"cP" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4;
+ icon_state = "map"
+ },
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"cQ" = (
+/obj/effect/floor_decal/industrial/warning/corner,
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_1_exterior_sensor";
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"cR" = (
+/obj/machinery/power/apc/critical{
+ dir = 1;
+ pixel_y = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"cS" = (
+/obj/machinery/alarm{
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"cT" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/barracks/first)
+"cU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ icon_state = "intact-supply";
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cV" = (
+/obj/machinery/door/airlock/double/civilian,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/first)
+"cW" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cY" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"cZ" = (
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"da" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/firedoor/autoset,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"db" = (
+/obj/machinery/cryopod/despawner{
+ icon_state = "body_scanner_0";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/sleeproom)
+"dc" = (
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/sleeproom)
+"dd" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "stripe";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"de" = (
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"df" = (
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/sleeproom)
+"dg" = (
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/first)
+"dh" = (
+/obj/effect/decal/cleanable/generic,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"di" = (
+/obj/structure/table/steel,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/judges)
+"dj" = (
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/sleeproom)
+"dk" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"dl" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"dm" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/it)
+"dn" = (
+/obj/machinery/door/airlock/highsecurity,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/it)
+"do" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/atm{
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dp" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"dq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"ds" = (
+/obj/machinery/atmospherics/unary/freezer,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dt" = (
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/freezer,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"du" = (
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/portable_atmospherics/canister/nitrogen/prechilled,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dw" = (
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dx" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dy" = (
+/obj/machinery/power/smes/buildable/max_cap_in_out,
+/obj/structure/cable/blue{
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dz" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dA" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"dB" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dC" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "stripe";
+ dir = 8
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"dD" = (
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/sleeproom)
+"dE" = (
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"dF" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dG" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"dH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"dI" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dJ" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 8;
+ icon_state = "map"
+ },
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dK" = (
+/obj/machinery/atmospherics/pipe/manifold/visible,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dL" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ connect_dir_type = 6;
+ dir = 9;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ icon_state = "intact-supply";
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dN" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dO" = (
+/obj/structure/cable/blue{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dP" = (
+/obj/structure/cable/blue{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/blue,
+/obj/machinery/power/apc/critical{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"dQ" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"dS" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"dU" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "stripe";
+ dir = 8
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/white,
+/area/outreach/outpost/sleeproom)
+"dV" = (
+/obj/structure/railing/mapped,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "11";
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"dW" = (
+/obj/machinery/door/airlock/hatch/autoname/maintenance,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"dX" = (
+/obj/machinery/computer/modular/preset/civilian,
+/obj/machinery/light/small/red{
+ icon_state = "bulb_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/computer)
+"dY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"dZ" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/computer)
+"ea" = (
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/alarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/computer)
+"eb" = (
+/obj/machinery/atmospherics/pipe/simple/visible,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"ec" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"ed" = (
+/obj/structure/cable/blue{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"ee" = (
+/turf/simulated/floor/tiled/techfloor,
+/area/outreach/outpost/it)
+"ef" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ dir = 8;
+ icon_state = "map"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"eg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"eh" = (
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"ei" = (
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"ej" = (
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/door/airlock/glass/civilian,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"ek" = (
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/sleeproom)
+"el" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"em" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"en" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"eo" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ connect_dir_type = 6;
+ dir = 10;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"ep" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"eq" = (
+/obj/machinery/door/airlock/hatch/maintenance,
+/obj/structure/cable/blue{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"er" = (
+/obj/structure/cable/blue{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"es" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/spiderling_remains,
+/obj/machinery/alarm{
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"et" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"eu" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atm{
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"ev" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atm{
+ pixel_x = -24
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"ew" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"ex" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"ey" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"ez" = (
+/obj/structure/cable/blue{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/blue{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/blue{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"eA" = (
+/obj/structure/cable/blue{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"eB" = (
+/obj/effect/floor_decal/industrial/hatch/orange,
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ cycle_to_external_air = 1;
+ frequency = 1381;
+ id_tag = "outreach_1";
+ pixel_y = 24;
+ tag_airpump = null;
+ tag_exterior_door = null;
+ tag_interior_door = null
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "outreach_1_pump"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"eC" = (
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"eD" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "stripe";
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ icon_state = "map_vent";
+ id_tag = "outreach_1_pump_out_external"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"eE" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"eF" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"eG" = (
+/obj/machinery/computer/modular/preset/civilian,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/computer)
+"eH" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/computer)
+"eI" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 5
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"eJ" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 9
+ },
+/obj/machinery/light/small/red,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/it)
+"eK" = (
+/obj/machinery/door/airlock/highsecurity,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"eL" = (
+/obj/machinery/network/mainframe{
+ initial_network_id = "outreach"
+ },
+/obj/structure/cable/blue,
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"eM" = (
+/obj/machinery/network/router{
+ initial_network_id = "outreach"
+ },
+/obj/machinery/light/small/red,
+/obj/structure/cable/blue,
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"eN" = (
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"eO" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/mucus,
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"eP" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"eQ" = (
+/obj/structure/bed/chair,
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/computer)
+"eR" = (
+/obj/structure/bed/chair,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/computer)
+"eS" = (
+/obj/structure/bed/chair,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/computer)
+"eT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"eU" = (
+/obj/effect/floor_decal/industrial/hatch/orange,
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ icon_state = "map_vent";
+ id_tag = "outreach_1_pump_out_internal"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_1_sensor";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"eV" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"eW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"eX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"eY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/door/airlock/glass,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"eZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/computer)
+"fa" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"fb" = (
+/obj/machinery/power/apc{
+ pixel_y = -24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/computer)
+"fc" = (
+/obj/effect/floor_decal/industrial/warning/corner{
+ icon_state = "stripecorner";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"fd" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply{
+ icon_state = "intact-supply";
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fe" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"ff" = (
+/obj/machinery/atmospherics/pipe/simple/visible/red{
+ icon_state = "intact";
+ dir = 10
+ },
+/obj/machinery/meter,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fg" = (
+/obj/effect/decal/cleanable/vomit,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"fh" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"fi" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fj" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"fk" = (
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_1_outer"
+ },
+/obj/machinery/button/access/exterior{
+ id_tag = "outreach_1";
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"fl" = (
+/obj/machinery/computer/air_control{
+ dir = 1;
+ input_tag = "air_in";
+ name = "Air Supply Control";
+ output_tag = "air_out";
+ sensor_name = "Air Supply Tank";
+ sensor_tag = "air_sensor"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ icon_state = "intact";
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fm" = (
+/obj/machinery/power/apc/critical{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/green,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"fn" = (
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_1_inner"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "outreach_1";
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"fo" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ icon_state = "map_on";
+ dir = 4
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fp" = (
+/obj/machinery/computer/air_control{
+ dir = 1;
+ input_tag = "n2_in";
+ name = "Nitrogen Supply Control";
+ output_tag = "n2_out";
+ sensor_name = "Nitrogen Supply Tank";
+ sensor_tag = "n2_sensor"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/green,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fq" = (
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fr" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_1_interior_sensor";
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"fs" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/firedoor/autoset,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"ft" = (
+/obj/machinery/power/apc/critical{
+ dir = 1;
+ pixel_y = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fu" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fv" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fw" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ icon_state = "map_vent";
+ id_tag = "outreach_3_pump_out_external"
+ },
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"fx" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fy" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fz" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fA" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ icon_state = "map";
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fB" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_2_inner"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "outreach_2";
+ pixel_x = -24;
+ pixel_y = 0
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fC" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ cycle_to_external_air = 1;
+ dir = 4;
+ frequency = 1381;
+ icon_state = "airlock_control_off";
+ id_tag = "outreach_2";
+ pixel_x = -24;
+ pixel_y = 0;
+ tag_airpump = null;
+ tag_exterior_door = null;
+ tag_interior_door = null
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ icon_state = "map_vent";
+ id_tag = "outreach_4_pump_out_external"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fD" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "11";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fE" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fF" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ dir = 4;
+ icon_state = "map_on";
+ regulate_mode = 1;
+ target_pressure = 300
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fG" = (
+/obj/structure/railing/mapped,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "11";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fH" = (
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction,
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"fI" = (
+/obj/structure/bed/padded,
+/obj/item/bedsheet/blue,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"fJ" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_2_sensor";
+ pixel_x = -24;
+ pixel_y = 0
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fK" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fL" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_2_outer"
+ },
+/obj/machinery/button/access/exterior{
+ id_tag = "outreach_2";
+ pixel_x = 24;
+ pixel_y = 0
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"fM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fN" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ icon_state = "map_on";
+ dir = 8
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fO" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/atmospherics)
+"fP" = (
+/obj/machinery/door/airlock/glass,
+/obj/machinery/atmospherics/pipe/simple/visible/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"fR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"fS" = (
+/obj/machinery/atmospherics/unary/heater,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fT" = (
+/obj/machinery/atmospherics/unary/freezer,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fU" = (
+/obj/machinery/atmospherics/portables_connector,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fV" = (
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fX" = (
+/obj/machinery/atmospherics/pipe/manifold/visible/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"fY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"fZ" = (
+/obj/structure/grille,
+/turf/exterior/chlorine_sand,
+/area/exoplanet/outreach)
+"ga" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/universal,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gb" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ connect_dir_type = 4;
+ dir = 5;
+ icon_state = "intact"
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gc" = (
+/obj/machinery/atmospherics/pipe/manifold4w/visible,
+/obj/machinery/meter,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gd" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ icon_state = "map";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"ge" = (
+/obj/machinery/atmospherics/pipe/simple/visible/universal,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gf" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gg" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gh" = (
+/obj/machinery/atmospherics/binary/pump/high_power/on/max_pressure,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gi" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"gj" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gk" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ dir = 1;
+ icon_state = "map_on";
+ regulate_mode = 1;
+ target_pressure = 300
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gl" = (
+/obj/machinery/power/apc/critical{
+ dir = 8;
+ icon_state = "apc0";
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gm" = (
+/obj/machinery/atmospherics/binary/pump/on,
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gn" = (
+/obj/machinery/atmospherics/binary/pump/on{
+ icon_state = "map_on";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"go" = (
+/obj/effect/decal/cleanable/blood/oil,
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gp" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ icon_state = "map_on";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gq" = (
+/obj/machinery/atmospherics/pipe/simple/visible/supply,
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gr" = (
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ dir = 10;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gs" = (
+/obj/machinery/atmospherics/pipe/simple/visible/red,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gt" = (
+/obj/machinery/atmospherics/binary/passive_gate/on,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gu" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"gv" = (
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/obj/machinery/power/solar,
+/obj/effect/floor_decal/solarpanel,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gw" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4;
+ icon_state = "map"
+ },
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gx" = (
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/green,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gy" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ connect_dir_type = 4;
+ dir = 5;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gz" = (
+/obj/machinery/atmospherics/pipe/manifold/visible,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gA" = (
+/obj/machinery/atmospherics/pipe/simple/visible{
+ icon_state = "intact";
+ dir = 4
+ },
+/obj/effect/decal/cleanable/blood/oil,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gB" = (
+/obj/machinery/atmospherics/pipe/manifold/visible{
+ icon_state = "map";
+ dir = 4
+ },
+/obj/machinery/meter,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gC" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gD" = (
+/obj/machinery/atmospherics/pipe/simple/visible/green{
+ dir = 5;
+ icon_state = "intact"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gE" = (
+/obj/machinery/atmospherics/omni/filter{
+ tag_east = 2;
+ tag_north = 1;
+ tag_south = 4;
+ tag_west = 3
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gF" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gG" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gH" = (
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/solar,
+/obj/effect/floor_decal/solarpanel,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gI" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gJ" = (
+/obj/machinery/door/airlock/glass,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"gK" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/visible/green,
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gL" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ icon_state = "intact";
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gM" = (
+/obj/machinery/light,
+/obj/machinery/computer/air_control{
+ dir = 1;
+ input_tag = "o2_in";
+ name = "Oxygen Supply Control";
+ output_tag = "o2_out";
+ sensor_name = "Oxygen Supply Tank";
+ sensor_tag = "o2_sensor"
+ },
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gN" = (
+/obj/machinery/atmospherics/omni/mixer{
+ tag_east = 1;
+ tag_east_con = 0.79;
+ tag_south = 2;
+ tag_south_con = 1;
+ tag_west = 1;
+ tag_west_con = 0.21
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gO" = (
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ icon_state = "intact";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/visible,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gP" = (
+/obj/machinery/power/solar,
+/obj/effect/floor_decal/solarpanel,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gQ" = (
+/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/simple/visible/cyan{
+ icon_state = "intact";
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gR" = (
+/obj/abstract/level_data/exoplanet/outreach,
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach)
+"gS" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden,
+/obj/effect/floor_decal/industrial/warning{
+ dir = 2;
+ icon_state = "warning"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"gT" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden/green,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gU" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gV" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden/blue,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/atmospherics)
+"gW" = (
+/obj/machinery/atmospherics/unary/outlet_injector{
+ dir = 1;
+ icon_state = "map_injector";
+ use_power = 1
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 50000);
+ name = /decl/material/gas/oxygen
+ },
+/area/outreach/outpost/atmospherics)
+"gX" = (
+/obj/machinery/atmospherics/unary/vent_pump/tank{
+ dir = 1;
+ external_pressure_bound = 0;
+ external_pressure_bound_default = 0;
+ icon_state = "map_vent_in";
+ id_tag = "o2_out";
+ internal_pressure_bound = 4000;
+ internal_pressure_bound_default = 4000;
+ pressure_checks = 2;
+ pressure_checks_default = 2;
+ pump_direction = 0;
+ use_power = 1
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 50000);
+ name = /decl/material/gas/oxygen
+ },
+/area/outreach/outpost/atmospherics)
+"gY" = (
+/obj/machinery/atmospherics/unary/outlet_injector{
+ dir = 1;
+ icon_state = "map_injector";
+ use_power = 1
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147);
+ name = "air"
+ },
+/area/outreach/outpost/atmospherics)
+"gZ" = (
+/obj/machinery/atmospherics/unary/vent_pump/tank{
+ dir = 1;
+ external_pressure_bound = 0;
+ external_pressure_bound_default = 0;
+ icon_state = "map_vent_in";
+ id_tag = "air_out";
+ internal_pressure_bound = 4000;
+ internal_pressure_bound_default = 4000;
+ pressure_checks = 2;
+ pressure_checks_default = 2;
+ pump_direction = 0;
+ use_power = 1
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147);
+ name = "air"
+ },
+/area/outreach/outpost/atmospherics)
+"ha" = (
+/obj/machinery/atmospherics/unary/vent_pump/tank{
+ dir = 1;
+ external_pressure_bound = 0;
+ external_pressure_bound_default = 0;
+ icon_state = "map_vent_in";
+ id_tag = "n2_out";
+ internal_pressure_bound = 4000;
+ internal_pressure_bound_default = 4000;
+ pressure_checks = 2;
+ pressure_checks_default = 2;
+ pump_direction = 0;
+ use_power = 1
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/nitrogen = 90000);
+ name = /decl/material/gas/nitrogen
+ },
+/area/outreach/outpost/atmospherics)
+"hb" = (
+/obj/machinery/atmospherics/unary/outlet_injector{
+ dir = 1;
+ icon_state = "map_injector";
+ use_power = 1
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/nitrogen = 90000);
+ name = /decl/material/gas/nitrogen
+ },
+/area/outreach/outpost/atmospherics)
+"hc" = (
+/obj/machinery/air_sensor{
+ identifier = "o2_sensor"
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 50000);
+ name = /decl/material/gas/oxygen
+ },
+/area/outreach/outpost/atmospherics)
+"hd" = (
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 50000);
+ name = /decl/material/gas/oxygen
+ },
+/area/outreach/outpost/atmospherics)
+"he" = (
+/obj/machinery/air_sensor{
+ id_tag = "air_sensor"
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147);
+ name = "air"
+ },
+/area/outreach/outpost/atmospherics)
+"hf" = (
+/obj/structure/railing/mapped,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hg" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hh" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hi" = (
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/oxygen = 210.837, /decl/material/gas/nitrogen = 820.147);
+ name = "air"
+ },
+/area/outreach/outpost/atmospherics)
+"hj" = (
+/obj/machinery/air_sensor{
+ id_tag = "n2_sensor"
+ },
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/nitrogen = 90000);
+ name = /decl/material/gas/nitrogen
+ },
+/area/outreach/outpost/atmospherics)
+"hk" = (
+/turf/simulated/floor/reinforced{
+ initial_gas = list(/decl/material/gas/nitrogen = 90000);
+ name = /decl/material/gas/nitrogen
+ },
+/area/outreach/outpost/atmospherics)
+"hl" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hm" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/solar_array)
+"hn" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"ho" = (
+/obj/structure/cable/yellow{
+ icon_state = "4-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hp" = (
+/obj/structure/cable/yellow{
+ icon_state = "2-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"hq" = (
+/obj/machinery/power/solar_control/autostart{
+ icon_state = "solar";
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_2_interior_sensor";
+ pixel_x = 0;
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"hr" = (
+/obj/machinery/power/terminal{
+ icon_state = "term";
+ dir = 1
+ },
+/obj/structure/cable/yellow{
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"hs" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"ht" = (
+/obj/machinery/power/tracker,
+/obj/structure/cable/yellow{
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hu" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hv" = (
+/obj/structure/cable/yellow{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/yellow{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"hw" = (
+/obj/machinery/network/acl,
+/obj/machinery/atmospherics/pipe/simple/heat_exchanging{
+ dir = 9
+ },
+/turf/simulated/floor/bluegrid,
+/area/outreach/outpost/it)
+"hy" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hz" = (
+/obj/machinery/power/smes/buildable/max_cap_in_out,
+/obj/structure/cable/green{
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"hA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/power/apc/critical{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hB" = (
+/obj/machinery/door/airlock,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"hC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hD" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hE" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hF" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hG" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hH" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/first)
+"hJ" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hL" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"hM" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hN" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/first)
+"hO" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/first)
+"hP" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/solar_array)
+"hQ" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hR" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hS" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hT" = (
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/first)
+"hU" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hV" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hW" = (
+/obj/machinery/atm{
+ pixel_x = 24
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"hX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"hY" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"hZ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"ia" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"ib" = (
+/obj/structure/stairs,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"ic" = (
+/obj/machinery/light,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/first)
+"id" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"ie" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/first)
+"if" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"ih" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
(1,1,1) = {"
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababababababaaaaabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabacadabadacabacadabadacababababacadabadacabacadabadacabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaeafabagahabaeafabagahabamajabaeafabagahabaeafabagahabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabakalabalakabakalabalakabaianabakalabalakabakalabalakabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababarabarabababarabarababasasababarabarabababarabarababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabasatauatasavaxatauataxavasasayaxatazatasayaxatazatasabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawawawabaxaAaBaCaDaEaFaCaBaCaFaIaLaFaBaFaCaIaCaFaMaFaCaIaRasabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawaHaJababarabarabababarabarababataSababarabarabababarabarababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawaKbcabakalabalakabakalabalakabaTaUabakalabalakabakalabalakabgigigiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaXaXaNaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaPaPaPaPaQifabaVaWabbebhabaVaWabbebhabbibmabaVaWabbebhabaVaWabbebhabaZbagigiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNbgbgcsaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPbbbxbdaPhsihabbobrabbrboabbobrabbrboabbsasabbobrabbrboabbobrabbrboabdTbaaZgiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNbgbgcsaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbjbjbjbjaPaPgigiaPaPaPdobnbyaPaPbqabababababababababababababcwcMabababababababababababababbpbabagiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNczczaNaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbtbubkbvaPbzbabLcgbAbababababababBbabCbabEbabCbDbnbabEbnbFbabGbababCbabHbnbabJbCbabEaZbCbabababIaPaPaPaPaOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaNaNaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjbwbNbObNapbQbRbSbTbUbVbVbVbVbVbVbWbVbXbYbVbVbXbZbVbVbVbVbXbVbKcacacbcacacacacccbcacacacbcacacaemcdcfclchfwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaNaNaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcicjcjckaPcmbBbncnbAbabncobnbabababacqbncrbacqbDbabacrbacqbabGbnbacqbacrbabnbJcqbacrbacqbababactaPcucvaPceaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaXaXaNaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcicjcjbMaPcycxcJaPcBcBcBcBcBcBcBcBcTcTcTcTcTcTcTcTcTcTcTcTcTcVdgcTcTcTcTcTcTcTcTcTcTcTcTcTbacCcDcEcAcPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNbgbgcsaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcFcGcHcIaPcLcKcLaPcNcNcOcRcScNcNcNcTdkdlcTdldkcTdkdlcTdldkcTdrdEcTdkdlcTdldkcTdkdlcTdldkcTdTbacUcEfofzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNbgbgcsaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcYcWcXcpaPcZdacZaPaGbPdbdcddbPdbdecTdGdHcTdYegcTdGdHcTdYegcTeveVcTdGdHcTdYegcTdGdHcTdYegcTdhbagigiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNczczaNaNaNaNaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjcicjcjdiaPcLcKcLaPcNbPdbdcddbPdbcNcTfIfQcTfQfIcTfIfQcTfQfIcThyhAcTfIfQcTfQfIcTfIfQcTfQfIcTgigigiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmdmdmdmdndmdmdmaPdodpdqaPcNbPdbdcddbPdbcNcTcThBcThBcTcTcThBcThBcTcThChDcTcThBcThBcTcTcThBcThBcTcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmdsdtdudvdwdxdyaPdzdAdBaPcNbPdbdfdCbPdbcNcTdEhEhFhGhHhJhKhGhFhGhKhMhNhKhFhKhGhMhGhKhOhKhGhMhQdEcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmdJdKdLdMdNdOdPaPcLdRaZaPaGbPdbdDdUbPdbdecTdEhChRhCdEhShThChRhChThSdEdEhDdEhChUhChThDdEhChUhChTcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmebeeeeeeecedeeeKcLeheiejekekekdjcNcNcNcNcTcThBcThBcTcTcThBcThBcTcTdEhTcTcThBcThBcTcTcThBcThBcTcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmefeneneoepeqepaPdFetdIaPcBcBcBcBcBcBcBcBcTfIfQcTfQfIcTfIfQcTfQfIcThVhWcTfIfQcTfQfIcTfIfQcTfQfIcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmewexeyfHerezeAaPdQeEdSbleGeGdXeHaaaaaaaacThXhYcThZiacThXhYcThZiacTibiccThXhYcThZiacThXhYcThZiacTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmeIeJeIhweLeMeLaPcLeNbaePeQeReSdZaaaaaaaacTidiecTieidcTidiecTieidcTcTcTcTidiecTieidcTidiecTieidcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPaPaPaPaPaPaPaPaPcLeheXeYeZeafbeHaaaaaaaacTcTcTcTcTcTcTcTcTcTcTcTcTaaaacTcTcTcTcTcTcTcTcTcTcTcTcTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNcQaPaPaPaPcLelaZbabJelbaesfjbBeuaPeHeHeHeHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNeDfkeUeBfnbafqbVbVfsbVbVbVfufvcLgiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNfcaPfxfyaPfrdRbnbLbJeFbafjcLeWeOgiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafAfFcEeTfMbaaPfOfOfOfOfOfPfOfOfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadVfNcEfafRbaaPfSfTfUfVfdfXaofffOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPfgdRfhaPgbgcgdfVgegfggghfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagibadRbaaPglgmgngogpgqgrgsfOgjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagidzgudBaPgxgygzgAgBgCgDgEgFgwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagibafEeCgJgKgLgMgNgOflgQfpfOgIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagibafifmaPgTgUfOgUgVfOgUgTfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaPdTdRfhaPgWgXfOgYgZfOhahbfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagibadRbaaPhchdfOhehifOhjhkfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahmhmdWhmhmfOfOfOfOfOfOfOfOfOaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahPhzfefthLfWfYfZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahPhrhphqhPgagafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZhmhmfBhmhmgkgtfZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvgGgHaagvgGgPaagvgGgHaagvgGgHaahmfCfDfGgShffZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhggHaagvhggHaagvhggHaagvhggHaahmfJhPaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhggHaagvhggHaagvhggHaagvhggHaahmfLhmaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhggHaagvhggHaagvhggHaagvhggHaaaYfKbfaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhggHaagvhggHaagvhggHaagvhggHaaaahhaaaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhlhnhnhnhlhnhnhnhlhnhnhnhohnhnhnhohnhtaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhugHaagvhugHaagvhugHaagvhugHaagvhugHaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhugHaagvhugHaagvhugHaagvhugHaagvhugHaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhugHaagvhugHaagvhugHaagvhugHaagvhugHaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhugHaagvhugHaagvhugHaagvhugHaagvhugHaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZaagvhvgHaagvhvgHaagvhvgHaagvhvgHaagvhvgHaaaaaafZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZfZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
-aqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaqaq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+gR
+"}
+(2,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(3,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(4,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(5,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(6,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(7,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(8,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(9,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(10,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(11,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(12,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(13,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(14,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(15,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(16,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(17,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(18,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(19,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(20,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(21,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(22,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(23,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(24,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(25,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(26,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(27,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(28,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(29,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(30,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(31,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(32,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(33,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(34,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(35,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(36,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(37,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(38,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(39,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(40,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(41,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(42,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(43,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(44,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(45,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(46,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(47,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(48,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(49,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aX
+bg
+bg
+cz
+aN
+aN
+aX
+bg
+bg
+cz
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(50,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aX
+bg
+bg
+cz
+aN
+aN
+aX
+bg
+bg
+cz
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(51,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+cs
+cs
+aN
+aN
+aN
+aN
+cs
+cs
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(52,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(53,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(54,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(55,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(56,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(57,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(58,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(59,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(60,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(61,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(62,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(63,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(64,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(65,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(66,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(67,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(68,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(69,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(70,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(71,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(72,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(73,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(74,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(75,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(76,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gv
+gv
+gv
+gv
+gv
+gv
+gv
+gv
+gv
+gv
+gv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(77,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gG
+hg
+hg
+hg
+hg
+hl
+hu
+hu
+hu
+hu
+hv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(78,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gH
+gH
+gH
+gH
+gH
+hn
+gH
+gH
+gH
+gH
+gH
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(79,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+hn
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(80,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gv
+gv
+gv
+gv
+gv
+hn
+gv
+gv
+gv
+gv
+gv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(81,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gG
+hg
+hg
+hg
+hg
+hl
+hu
+hu
+hu
+hu
+hv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(82,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gP
+gH
+gH
+gH
+gH
+hn
+gH
+gH
+gH
+gH
+gH
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(83,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+hn
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(84,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gv
+gv
+gv
+gv
+gv
+hn
+gv
+gv
+gv
+gv
+gv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(85,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gG
+hg
+hg
+hg
+hg
+hl
+hu
+hu
+hu
+hu
+hv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(86,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aN
+aN
+aN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gH
+gH
+gH
+gH
+gH
+hn
+gH
+gH
+gH
+gH
+gH
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(87,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cQ
+eD
+fc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+hn
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(88,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+fk
+aP
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gv
+gv
+gv
+gv
+gv
+hn
+gv
+gv
+gv
+gv
+gv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(89,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+eU
+fx
+fA
+dV
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gG
+hg
+hg
+hg
+hg
+ho
+hu
+hu
+hu
+hu
+hv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(90,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+eB
+fy
+fF
+fN
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+gH
+gH
+gH
+gH
+gH
+hn
+gH
+gH
+gH
+gH
+gH
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(91,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dm
+dm
+dm
+dm
+dm
+dm
+dm
+aP
+aP
+fn
+aP
+cE
+cE
+aP
+gi
+gi
+gi
+gi
+aP
+gi
+hm
+hP
+hP
+hm
+aa
+aa
+aa
+aa
+aa
+hn
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(92,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dm
+ds
+dJ
+eb
+ef
+ew
+eI
+aP
+cL
+ba
+fr
+eT
+fa
+fg
+ba
+dz
+ba
+ba
+dT
+ba
+hm
+hz
+hr
+hm
+hm
+hm
+hm
+aY
+aa
+hn
+gv
+gv
+gv
+gv
+gv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(93,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+dm
+dt
+dK
+ee
+en
+ex
+eJ
+aP
+el
+fq
+dR
+fM
+fR
+dR
+dR
+gu
+fE
+fi
+dR
+dR
+dW
+fe
+hp
+fB
+fC
+fJ
+fL
+fK
+hh
+ho
+hu
+hu
+hu
+hu
+hv
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(94,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+bj
+bj
+bj
+bj
+bj
+bj
+bj
+bj
+dm
+du
+dL
+ee
+en
+ey
+eI
+aP
+aZ
+bV
+bn
+ba
+ba
+fh
+ba
+dB
+eC
+fm
+fh
+ba
+hm
+ft
+hq
+hm
+fD
+hP
+hm
+bf
+aa
+hn
+gH
+gH
+gH
+gH
+gH
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(95,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+bj
+bt
+bw
+ci
+ci
+cF
+cY
+ci
+dn
+dv
+dM
+ee
+eo
+fH
+hw
+aP
+ba
+bV
+bL
+aP
+aP
+aP
+aP
+aP
+gJ
+aP
+aP
+aP
+hm
+hL
+hP
+hm
+fG
+aa
+aa
+aa
+aa
+ht
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(96,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+bj
+bu
+bN
+cj
+cj
+cG
+cW
+cj
+dm
+dw
+dN
+ec
+ep
+er
+eL
+aP
+bJ
+fs
+bJ
+fO
+fS
+gb
+gl
+gx
+gK
+gT
+gW
+hc
+fO
+fW
+ga
+gk
+gS
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(97,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+bj
+bk
+bO
+cj
+cj
+cH
+cX
+cj
+dm
+dx
+dO
+ed
+eq
+ez
+eM
+aP
+el
+bV
+eF
+fO
+fT
+gc
+gm
+gy
+gL
+gU
+gX
+hd
+fO
+fY
+ga
+gt
+hf
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(98,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+bj
+bv
+bN
+ck
+bM
+cI
+cp
+di
+dm
+dy
+dP
+ee
+ep
+eA
+eL
+aP
+ba
+bV
+ba
+fO
+fU
+gd
+gn
+gz
+gM
+fO
+fO
+fO
+fO
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+fZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(99,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+aP
+ap
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+eK
+aP
+aP
+aP
+aP
+es
+bV
+fj
+fO
+fV
+fV
+go
+gA
+gN
+gU
+gY
+he
+fO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(100,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+bz
+bQ
+cm
+cy
+cL
+cZ
+cL
+do
+dz
+cL
+cL
+dF
+dQ
+cL
+cL
+fj
+fu
+cL
+fO
+fd
+ge
+gp
+gB
+gO
+gV
+gZ
+hi
+fO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(101,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gi
+ba
+bR
+bB
+cx
+cK
+da
+cK
+dp
+dA
+dR
+eh
+et
+eE
+eN
+eh
+bB
+fv
+eW
+fP
+fX
+gf
+gq
+gC
+fl
+fO
+fO
+fO
+fO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(102,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gi
+bL
+bS
+bn
+cJ
+cL
+cZ
+cL
+dq
+dB
+aZ
+ei
+dI
+dS
+ba
+eX
+eu
+cL
+eO
+fO
+ao
+gg
+gr
+gD
+gQ
+gU
+ha
+hj
+fO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(103,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+cg
+bT
+cn
+aP
+aP
+aP
+aP
+aP
+aP
+aP
+ej
+aP
+bl
+eP
+eY
+aP
+gi
+gi
+fO
+ff
+gh
+gs
+gE
+fp
+gT
+hb
+hk
+fO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(104,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+bA
+bU
+bA
+cB
+cN
+aG
+cN
+cN
+cN
+aG
+ek
+cB
+eG
+eQ
+eZ
+eH
+aa
+aa
+fO
+fO
+fO
+fO
+gF
+fO
+fO
+fO
+fO
+fO
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(105,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+aP
+aP
+ba
+bV
+ba
+cB
+cN
+bP
+bP
+bP
+bP
+bP
+ek
+cB
+eG
+eR
+ea
+eH
+aa
+aa
+aa
+aa
+aa
+gj
+gw
+gI
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(106,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+bb
+do
+ba
+bV
+bn
+cB
+cO
+db
+db
+db
+db
+db
+ek
+cB
+dX
+eS
+fb
+eH
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(107,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+bx
+bn
+ba
+bV
+co
+cB
+cR
+dc
+dc
+dc
+df
+dD
+dj
+cB
+eH
+dZ
+eH
+eH
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(108,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+bd
+by
+ba
+bV
+bn
+cB
+cS
+dd
+dd
+dd
+dC
+dU
+cN
+cB
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(109,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aw
+aw
+aw
+aP
+aP
+aP
+ba
+bV
+ba
+cB
+cN
+bP
+bP
+bP
+bP
+bP
+cN
+cB
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(110,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aw
+aH
+aK
+aQ
+hs
+aP
+ba
+bV
+ba
+cB
+cN
+db
+db
+db
+db
+db
+cN
+cB
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(111,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aw
+aJ
+bc
+if
+ih
+bq
+bB
+bW
+ba
+cB
+cN
+de
+cN
+cN
+cN
+de
+cN
+cB
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(112,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ba
+bV
+ba
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(113,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ak
+ab
+as
+ax
+ab
+ak
+aV
+bo
+ab
+bC
+bX
+cq
+cT
+dk
+dG
+fI
+cT
+dE
+dE
+cT
+fI
+hX
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(114,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+af
+al
+ar
+at
+aA
+ar
+al
+aW
+br
+ab
+ba
+bY
+bn
+cT
+dl
+dH
+fQ
+hB
+hE
+hC
+hB
+fQ
+hY
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(115,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+au
+aB
+ab
+ab
+ab
+ab
+ab
+bE
+bV
+cr
+cT
+cT
+cT
+cT
+cT
+hF
+hR
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(116,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+ag
+al
+ar
+at
+aC
+ar
+al
+be
+br
+ab
+ba
+bV
+ba
+cT
+dl
+dY
+fQ
+hB
+hG
+hC
+hB
+fQ
+hZ
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(117,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ah
+ak
+ab
+as
+aD
+ab
+ak
+bh
+bo
+ab
+bC
+bX
+cq
+cT
+dk
+eg
+fI
+cT
+hH
+dE
+cT
+fI
+ia
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(118,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+av
+aE
+ab
+ab
+ab
+ab
+ab
+bD
+bZ
+bD
+cT
+cT
+cT
+cT
+cT
+hJ
+hS
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(119,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ak
+ab
+ax
+aF
+ab
+ak
+aV
+bo
+ab
+bn
+bV
+ba
+cT
+dk
+dG
+fI
+cT
+hK
+hT
+cT
+fI
+hX
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(120,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+af
+al
+ar
+at
+aC
+ar
+al
+aW
+br
+ab
+ba
+bV
+ba
+cT
+dl
+dH
+fQ
+hB
+hG
+hC
+hB
+fQ
+hY
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(121,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+au
+aB
+ab
+ab
+ab
+ab
+ab
+bE
+bV
+cr
+cT
+cT
+cT
+cT
+cT
+hF
+hR
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(122,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+ag
+al
+ar
+at
+aC
+ar
+al
+be
+br
+ab
+bn
+bV
+ba
+cT
+dl
+dY
+fQ
+hB
+hG
+hC
+hB
+fQ
+hZ
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(123,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ah
+ak
+ab
+ax
+aF
+ab
+ak
+bh
+bo
+ab
+bF
+bX
+cq
+cT
+dk
+eg
+fI
+cT
+hK
+hT
+cT
+fI
+ia
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(124,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+av
+aI
+ab
+ab
+ab
+ab
+ab
+ba
+bV
+ba
+cT
+cT
+cT
+cT
+cT
+hM
+hS
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(125,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+am
+ai
+as
+as
+aL
+at
+aT
+bi
+bs
+cw
+bG
+bK
+bG
+cV
+dr
+ev
+hy
+hC
+hN
+dE
+dE
+hV
+ib
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(126,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+aj
+an
+as
+as
+aF
+aS
+aU
+bm
+as
+cM
+ba
+ca
+bn
+dg
+dE
+eV
+hA
+hD
+hK
+dE
+hT
+hW
+ic
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(127,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ay
+aB
+ab
+ab
+ab
+ab
+ab
+ba
+ca
+ba
+cT
+cT
+cT
+cT
+cT
+hF
+hD
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(128,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ak
+ab
+ax
+aF
+ab
+ak
+aV
+bo
+ab
+bC
+cb
+cq
+cT
+dk
+dG
+fI
+cT
+hK
+dE
+cT
+fI
+hX
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(129,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+af
+al
+ar
+at
+aC
+ar
+al
+aW
+br
+ab
+ba
+ca
+ba
+cT
+dl
+dH
+fQ
+hB
+hG
+hC
+hB
+fQ
+hY
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(130,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+az
+aI
+ab
+ab
+ab
+ab
+ab
+bH
+ca
+cr
+cT
+cT
+cT
+cT
+cT
+hM
+hU
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(131,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+ag
+al
+ar
+at
+aC
+ar
+al
+be
+br
+ab
+bn
+ca
+ba
+cT
+dl
+dY
+fQ
+hB
+hG
+hC
+hB
+fQ
+hZ
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(132,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ah
+ak
+ab
+as
+aF
+ab
+ak
+bh
+bo
+ab
+ba
+ca
+bn
+cT
+dk
+eg
+fI
+cT
+hK
+hT
+cT
+fI
+ia
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(133,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ay
+aM
+ab
+ab
+ab
+ab
+ab
+bJ
+cc
+bJ
+cT
+cT
+cT
+cT
+cT
+hO
+hD
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(134,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ae
+ak
+ab
+ax
+aF
+ab
+ak
+aV
+bo
+ab
+bC
+cb
+cq
+cT
+dk
+dG
+fI
+cT
+hK
+dE
+cT
+fI
+hX
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(135,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+af
+al
+ar
+at
+aC
+ar
+al
+aW
+br
+ab
+ba
+ca
+ba
+cT
+dl
+dH
+fQ
+hB
+hG
+hC
+hB
+fQ
+hY
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(136,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+az
+aI
+ab
+ab
+ab
+ab
+ab
+bE
+ca
+cr
+cT
+cT
+cT
+cT
+cT
+hM
+hU
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(137,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ad
+ag
+al
+ar
+at
+aR
+ar
+al
+be
+br
+ab
+aZ
+ca
+ba
+cT
+dl
+dY
+fQ
+hB
+hQ
+hC
+hB
+fQ
+hZ
+ie
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(138,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ac
+ah
+ak
+ab
+as
+as
+ab
+ak
+bh
+bo
+ab
+bC
+cb
+cq
+cT
+dk
+eg
+fI
+cT
+dE
+hT
+cT
+fI
+ia
+id
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(139,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ba
+ca
+ba
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+cT
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(140,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gi
+aZ
+dT
+bp
+ba
+ca
+ba
+ba
+dT
+dh
+gi
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(141,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gi
+ba
+ba
+ba
+ba
+ca
+ba
+cC
+ba
+ba
+gi
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(142,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gi
+gi
+aZ
+ba
+bI
+em
+ct
+cD
+cU
+gi
+gi
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(143,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+gi
+gi
+gi
+aP
+cd
+aP
+cE
+cE
+gi
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(144,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+cf
+cu
+cA
+fo
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(145,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+cl
+cv
+cP
+fz
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(146,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aP
+ch
+aP
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(147,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aO
+fw
+ce
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(148,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(149,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(150,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(151,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(152,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(153,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(154,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(155,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(156,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(157,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(158,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(159,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(160,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(161,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(162,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(163,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(164,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(165,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(166,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(167,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(168,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(169,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(170,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(171,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(172,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(173,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(174,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(175,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(176,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(177,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(178,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(179,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(180,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(181,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(182,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(183,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(184,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(185,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(186,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(187,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(188,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(189,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(190,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(191,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(192,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(193,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(194,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(195,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(196,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(197,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(198,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(199,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+"}
+(200,1,1) = {"
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
+aq
"}
diff --git a/maps/outreach/outreach-4.dmm b/maps/outreach/outreach-4.dmm
index 91f31efb7ab..61cf6f1dbd3 100644
--- a/maps/outreach/outreach-4.dmm
+++ b/maps/outreach/outreach-4.dmm
@@ -1,357 +1,41684 @@
-"aa" = (/turf/exterior/open,/area/exoplanet/outreach)
-"ab" = (/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"ac" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/barracks/fourth)
-"ad" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"ae" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"af" = (/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"ag" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"ah" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"ai" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"ak" = (/turf/simulated/open,/area/outreach/outpost/barracks/fourth)
-"al" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"am" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"an" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"ao" = (/obj/machinery/atm{pixel_x = 24},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"ap" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aq" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"ar" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"as" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"at" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"au" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/maint)
-"av" = (/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"ax" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"ay" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"az" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aA" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aE" = (/obj/structure/cable/green{icon_state = "32-2"},/turf/simulated/open,/area/outreach/outpost/maint)
-"aF" = (/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,/obj/machinery/atmospherics/pipe/zpipe/down/supply,/turf/simulated/open,/area/outreach/outpost/maint)
-"aG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aI" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"aJ" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"aK" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"aL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aN" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/fourth)
-"aO" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"aP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/cable/green{icon_state = "2-4"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aQ" = (/obj/machinery/power/apc/critical{dir = 4; pixel_x = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"aT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aX" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"aY" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"aZ" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/airlock_sensor{id_tag = "outreach_4_exterior_sensor"; pixel_x = 24},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"ba" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/hallway)
-"bb" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bc" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/fourth)
-"bd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/fourth)
-"be" = (/obj/machinery/door/airlock/double/civilian,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/fourth)
-"bf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{dir = 2; icon_state = "0-2"},/obj/machinery/power/apc/critical{dir = 1; pixel_y = 24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bi" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bj" = (/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/firedoor/autoset,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bk" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bl" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bm" = (/obj/effect/floor_decal/industrial/warning{icon_state = "stripe"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 4; icon_state = "map_vent"; id_tag = "outreach_4_pump_out_external"},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"bn" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bp" = (/obj/effect/decal/cleanable/dirt,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bq" = (/turf/simulated/open,/area/outreach/outpost/hallway)
-"br" = (/obj/machinery/light{icon_state = "tube_map"; dir = 1},/turf/simulated/open,/area/outreach/outpost/hallway)
-"bs" = (/obj/machinery/door/airlock/external{id_tag = "outreach_4_outer"},/obj/machinery/button/access/exterior{id_tag = "outreach_4"; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"bt" = (/obj/structure/cable/green{icon_state = "1-4"},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/obj/machinery/power/apc/critical{dir = 8; icon_state = "apc0"; pixel_x = -24},/obj/structure/cable/green{icon_state = "0-4"},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"bu" = (/obj/effect/floor_decal/industrial/hatch/orange,/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{dir = 8; icon_state = "map_vent"; id_tag = "outreach_4_pump_out_internal"},/obj/machinery/airlock_sensor{id_tag = "outreach_4_sensor"; pixel_x = 0; pixel_y = 24},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"bv" = (/obj/machinery/door/airlock/external{id_tag = "outreach_4_inner"},/obj/machinery/button/access/interior{id_tag = "outreach_4"; pixel_y = 24},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"bw" = (/obj/effect/catwalk_plated,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/cable/green{icon_state = "1-4"},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bx" = (/obj/effect/catwalk_plated,/obj/structure/cable/green{icon_state = "1-4"},/obj/structure/cable/green{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"by" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "stripecorner"; dir = 4},/turf/simulated/floor/tiled/techmaint,/area/outreach/outpost/hallway)
-"bz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/catwalk_plated,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/filth,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{icon_state = "4-8"},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/firedoor/autoset,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/monotile,/area/outreach/outpost/hallway)
-"bD" = (/obj/structure/cable/green{icon_state = "1-8"},/obj/structure/cable/green{icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/obj/effect/catwalk_plated,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bE" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bF" = (/obj/machinery/atmospherics/pipe/manifold/hidden{icon_state = "map"; dir = 8},/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"bG" = (/obj/machinery/atmospherics/binary/passive_gate/on{dir = 4; icon_state = "map_on"; regulate_mode = 1; target_pressure = 300},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"bH" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bI" = (/obj/effect/floor_decal/industrial/hatch/orange,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{cycle_to_external_air = 1; frequency = 1381; id_tag = "outreach_4"; pixel_y = 24; tag_airpump = null; tag_exterior_door = null; tag_interior_door = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{id_tag = "outreach_4_pump"},/turf/simulated/floor/tiled/techfloor/grid,/area/outreach/outpost/hallway)
-"bJ" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"},/obj/structure/railing/mapped,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"bK" = (/obj/machinery/atmospherics/binary/passive_gate/on{icon_state = "map_on"; dir = 8},/obj/structure/railing/mapped,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"bL" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bM" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bN" = (/obj/machinery/light,/turf/simulated/open,/area/outreach/outpost/hallway)
-"bO" = (/obj/effect/wallframe_spawn/reinforced/titanium,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"bP" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bQ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"bR" = (/turf/simulated/wall/r_titanium,/area/outreach/outpost/barracks/third)
-"bS" = (/obj/machinery/door/airlock/double/civilian,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/third)
-"bT" = (/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/third)
-"bU" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"bV" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"bW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "2-8"},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"bX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"bY" = (/obj/structure/railing/mapped,/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"bZ" = (/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"ca" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"cb" = (/obj/structure/railing/mapped,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"cc" = (/obj/structure/railing/mapped,/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"cd" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 4},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 1},/turf/simulated/floor/plating,/area/exoplanet/outreach)
-"ce" = (/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/tiled,/area/outreach/outpost/barracks/fourth)
-"cf" = (/obj/effect/wallframe_spawn/reinforced/titanium,/turf/simulated/floor/plating,/area/outreach/outpost/hallway)
-"cg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"ch" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/airlock_sensor{id_tag = "outreach_4_interior_sensor"; pixel_x = -24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"ci" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cj" = (/turf/exterior/planet_edge,/area/exoplanet/outreach)
-"ck" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atm{pixel_x = -24},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"co" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cp" = (/obj/structure/bed/padded,/obj/item/bedsheet/blue,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm{dir = 1; pixel_y = -24},/turf/simulated/floor/tiled,/area/outreach/outpost/hallway)
-"cr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cs" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -24},/obj/structure/cable/green{icon_state = "1-4"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"ct" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/power/apc/critical{dir = 4; pixel_x = 24},/obj/structure/cable/green{dir = 2; icon_state = "0-8"},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cu" = (/obj/machinery/door/airlock,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/firedoor/autoset,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cw" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 8},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cz" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/third)
-"cB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/third)
-"cF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{icon_state = "bulb_map"; dir = 1},/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/third)
-"cG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{icon_state = "map-supply"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cH" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cI" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cJ" = (/turf/simulated/floor/wood/mahogany{icon_state = "wood_broken2"},/area/outreach/outpost/barracks/third)
-"cK" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cL" = (/obj/structure/railing/mapped,/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cM" = (/turf/simulated/open,/area/outreach/outpost/barracks/third)
-"cN" = (/obj/machinery/atm{pixel_x = 24},/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cS" = (/obj/structure/railing/mapped{icon_state = "railing0-1"; dir = 8},/obj/machinery/light{icon_state = "tube_map"; dir = 4},/turf/simulated/floor/wood/mahogany,/area/outreach/outpost/barracks/third)
-"cT" = (/obj/structure/undies_wardrobe,/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 1},/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cU" = (/obj/machinery/atmospherics/unary/vent_pump/on{icon_state = "map_vent_out"; dir = 1},/obj/machinery/light/small,/turf/simulated/floor/carpet/blue2,/area/outreach/outpost/barracks/third)
-"cV" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{icon_state = "map_scrubber_on"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"cW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{icon_state = "map-scrubbers"; dir = 4},/turf/simulated/floor/plating,/area/outreach/outpost/maint)
-"cX" = (/obj/abstract/map_data{height = 4},/obj/effect/overmap/visitable/sector/exoplanet/outreach,/turf/exterior/planet_edge,/area/exoplanet/outreach)
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/exterior/open,
+/area/exoplanet/outreach)
+"ab" = (
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"ac" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/barracks/fourth)
+"ad" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"ae" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"af" = (
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"ag" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"ah" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"ai" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aj" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"ak" = (
+/turf/simulated/open,
+/area/outreach/outpost/barracks/fourth)
+"al" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"am" = (
+/obj/structure/bed/padded,
+/obj/item/bedsheet/blue,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"an" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"ao" = (
+/obj/machinery/atm{
+ pixel_x = 24
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"ap" = (
+/obj/machinery/door/airlock,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aq" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"ar" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"as" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"at" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"au" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/maint)
+"av" = (
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aw" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"ax" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"ay" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"az" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aA" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aC" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aE" = (
+/obj/structure/cable/green{
+ icon_state = "32-2"
+ },
+/turf/simulated/open,
+/area/outreach/outpost/maint)
+"aF" = (
+/obj/machinery/atmospherics/pipe/zpipe/down/scrubbers,
+/obj/machinery/atmospherics/pipe/zpipe/down/supply,
+/turf/simulated/open,
+/area/outreach/outpost/maint)
+"aG" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aH" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aI" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"aJ" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"aK" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"aL" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aM" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aN" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/fourth)
+"aO" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"aP" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ icon_state = "2-4"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aQ" = (
+/obj/machinery/power/apc/critical{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aS" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"aT" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aU" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aV" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atm{
+ pixel_x = -24
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aX" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"aY" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"aZ" = (
+/obj/effect/floor_decal/industrial/warning/corner,
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_4_exterior_sensor";
+ pixel_x = 24
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"ba" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/hallway)
+"bb" = (
+/obj/machinery/door/airlock/maintenance,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bc" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/fourth)
+"bd" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/fourth)
+"be" = (
+/obj/machinery/door/airlock/double/civilian,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/fourth)
+"bf" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-2"
+ },
+/obj/machinery/power/apc/critical{
+ dir = 1;
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bh" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bi" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bj" = (
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bl" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bm" = (
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "stripe";
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ icon_state = "map_vent";
+ id_tag = "outreach_4_pump_out_external"
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"bn" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bo" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bp" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bq" = (
+/turf/simulated/open,
+/area/outreach/outpost/hallway)
+"br" = (
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 1
+ },
+/turf/simulated/open,
+/area/outreach/outpost/hallway)
+"bs" = (
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_4_outer"
+ },
+/obj/machinery/button/access/exterior{
+ id_tag = "outreach_4";
+ pixel_y = -24
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ icon_state = "intact";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"bt" = (
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/obj/machinery/power/apc/critical{
+ dir = 8;
+ icon_state = "apc0";
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"bu" = (
+/obj/effect/floor_decal/industrial/hatch/orange,
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ icon_state = "map_vent";
+ id_tag = "outreach_4_pump_out_internal"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_4_sensor";
+ pixel_x = 0;
+ pixel_y = 24
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"bv" = (
+/obj/machinery/door/airlock/external{
+ id_tag = "outreach_4_inner"
+ },
+/obj/machinery/button/access/interior{
+ id_tag = "outreach_4";
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"bw" = (
+/obj/effect/catwalk_plated,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bx" = (
+/obj/effect/catwalk_plated,
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"by" = (
+/obj/effect/floor_decal/industrial/warning/corner{
+ icon_state = "stripecorner";
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techmaint,
+/area/outreach/outpost/hallway)
+"bz" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bA" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/catwalk_plated,
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/cleanable/filth,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/structure/cable/green{
+ icon_state = "4-8"
+ },
+/obj/effect/floor_decal/industrial/hatch/yellow,
+/obj/machinery/door/firedoor/autoset,
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled/monotile,
+/area/outreach/outpost/hallway)
+"bD" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/obj/effect/catwalk_plated,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bE" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bF" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ icon_state = "map";
+ dir = 8
+ },
+/obj/effect/floor_decal/industrial/warning{
+ icon_state = "warning";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"bG" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ dir = 4;
+ icon_state = "map_on";
+ regulate_mode = 1;
+ target_pressure = 300
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"bH" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bI" = (
+/obj/effect/floor_decal/industrial/hatch/orange,
+/obj/machinery/embedded_controller/radio/airlock/airlock_controller{
+ cycle_to_external_air = 1;
+ frequency = 1381;
+ id_tag = "outreach_4";
+ pixel_y = 24;
+ tag_airpump = null;
+ tag_exterior_door = null;
+ tag_interior_door = null
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "outreach_4_pump"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/outreach/outpost/hallway)
+"bJ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 5;
+ icon_state = "intact"
+ },
+/obj/structure/railing/mapped,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"bK" = (
+/obj/machinery/atmospherics/binary/passive_gate/on{
+ icon_state = "map_on";
+ dir = 8
+ },
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"bL" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bM" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bN" = (
+/obj/machinery/light,
+/turf/simulated/open,
+/area/outreach/outpost/hallway)
+"bO" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/simple/hidden/universal{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"bP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bQ" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"bR" = (
+/turf/simulated/wall/r_titanium,
+/area/outreach/outpost/barracks/third)
+"bS" = (
+/obj/machinery/door/airlock/double/civilian,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/third)
+"bT" = (
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/third)
+"bU" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"bV" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"bW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "2-8"
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"bX" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"bY" = (
+/obj/structure/railing/mapped,
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"bZ" = (
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"ca" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"cb" = (
+/obj/structure/railing/mapped,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"cc" = (
+/obj/structure/railing/mapped,
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"cd" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 4
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/exoplanet/outreach)
+"ce" = (
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/barracks/fourth)
+"cf" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/turf/simulated/floor/plating,
+/area/outreach/outpost/hallway)
+"cg" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"ch" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/airlock_sensor{
+ id_tag = "outreach_4_interior_sensor";
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"ci" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cj" = (
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach)
+"ck" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cl" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cm" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cn" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atm{
+ pixel_x = -24
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"co" = (
+/obj/machinery/atmospherics/unary/vent_pump/on,
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cp" = (
+/obj/structure/bed/padded,
+/obj/item/bedsheet/blue,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cq" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/machinery/alarm{
+ dir = 1;
+ pixel_y = -24
+ },
+/turf/simulated/floor/tiled,
+/area/outreach/outpost/hallway)
+"cr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cs" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/obj/structure/cable/green{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"ct" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/power/apc/critical{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/structure/cable/green{
+ dir = 2;
+ icon_state = "0-8"
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cu" = (
+/obj/machinery/door/airlock,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/door/firedoor/autoset,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cv" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cw" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cx" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 8
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cy" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cz" = (
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/third)
+"cB" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cD" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cE" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/third)
+"cF" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/light/small{
+ icon_state = "bulb_map";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/third)
+"cG" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ icon_state = "map-supply";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cH" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cI" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cJ" = (
+/turf/simulated/floor/wood/mahogany{
+ icon_state = "wood_broken2"
+ },
+/area/outreach/outpost/barracks/third)
+"cK" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cL" = (
+/obj/structure/railing/mapped,
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cM" = (
+/turf/simulated/open,
+/area/outreach/outpost/barracks/third)
+"cN" = (
+/obj/machinery/atm{
+ pixel_x = 24
+ },
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cO" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 9
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cQ" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cR" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 10
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cS" = (
+/obj/structure/railing/mapped{
+ icon_state = "railing0-1";
+ dir = 8
+ },
+/obj/machinery/light{
+ icon_state = "tube_map";
+ dir = 4
+ },
+/turf/simulated/floor/wood/mahogany,
+/area/outreach/outpost/barracks/third)
+"cT" = (
+/obj/structure/undies_wardrobe,
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 1
+ },
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cU" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ icon_state = "map_vent_out";
+ dir = 1
+ },
+/obj/machinery/light/small,
+/turf/simulated/floor/carpet/blue2,
+/area/outreach/outpost/barracks/third)
+"cV" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ icon_state = "map_scrubber_on";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"cW" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable/green{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ icon_state = "map-scrubbers";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/outreach/outpost/maint)
+"cX" = (
+/obj/abstract/level_data/exoplanet/outreach,
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach)
+"cY" = (
+/obj/effect/overmap/visitable/sector/exoplanet/outreach,
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach)
+"cZ" = (
+/obj/abstract/map_data{
+ height = 4
+ },
+/turf/exterior/planet_edge,
+/area/exoplanet/outreach)
(1,1,1) = {"
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacadaeacaeadacadaeacaeadacafafacadaeacaeadacadaeacaeadacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacagahacaiajacagahacaiajacakalacagahacaiajacagahacaiajacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacamanacanamacamanacanamacakaoacamanacanamacamanacanamacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacapacapacacacapacapacacaqafacacapacapacacacapacapacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacafarasarafatavarasaravatafafawavaraxarafawavaraxarafacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauauauacavayazaAaBaCaDaAazaAaDaGaHaDazaDaAaGaAaDaLaDaAaGaMafacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauaEaFacacapacapacacacapacapacacaraNacacapacapacacacapacapacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaubtbWacamanacanamacamanacanamacaPaQacamanacanamacamanacanamacabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaJaJaJaJauaOaSacaRaTacaUaVacaRaTacaUaVacaWaXacaRaTacaUaVacaRaTacaUaVacababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababaucVcWacaYbcacbcaYacaYbcacbcaYacbdafacaYbcacbcaYacaYbcacbcaYacababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaJaJaJaJaJaJaJaJaJabababababbababbacacacacacacacacacacacacacbeceacacacacacacacacacacacacacababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababaZbababababfbgbhbibhblbhbibjbkbhblbkbnbhbobpbqbqbqbrbqbqcfabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababbmbsbubIbvbwbxbzbAbBbzbzbAbCbzbzbzbzbAbzbDbpbqbqbqbqbqbqcfabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababbybabEbHbachbhbhbLbkbMbhbLbjbhcqbMbhbLbhbobpbqbqbqbNbqbqcfabababababababababababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababbFbGbObPbhbRbRbRbRbRbRbRbRbRbRbRbRbRbSbTbRbRbRbRbRbRbRbRbRbRbRbRbRababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababbJbKbObQcibRbUbVbRbVbUbRbUbVbRbVbUbRbXbZbRbUbVbRbVbUbRbUbVbRbVbUbRababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababababcfcfcfbRcgckbRclcmbRcgckbRclcmbRcncobRcgckbRclcmbRcgckbRclcmbRababababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabababababababababababababababababbRcpcrbRcrcpbRcpcrbRcrcpbRcsctbRcpcrbRcrcpbRcpcrbRcrcpbRabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaJaJababababababababababababababababababbRbRcubRcubRbRbRcubRcubRbRcvcwbRbRcubRcubRbRbRcubRcubRbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababababababababababbRbZcxcyczcAcBcCczcyczcCcDcEcCcycCczcDczcCcFcCczcDcGbZbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababababababababababbRbZcvcHcvbZcIcJcvcHcvcJcIbZbZcwbZcvcKcvcJcwbZcvcKcvcJbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababababababababababbRbRcubRcubRbRbRcubRcubRbRcLcJbRbRcubRcubRbRbRcubRcubRbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababababababbYbYbYbYbRcpcrbRcrcpbRcpcrbRcrcpbRcMcNbRcpcrbRcrcpbRcpcrbRcrcpbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabababababababababababababababcaaaaaaaaabRcOcPbRcQcRbRcOcPbRcQcRbRcMcSbRcOcPbRcQcRbRcOcPbRcQcRbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabababababababababababababababcaaaaaaaaabRcTcUbRcUcTbRcTcUbRcUcTbRbZcJbRcTcUbRcUcTbRcTcUbRcUcTbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabababababababababababababababcaaaaaaaaabRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRbRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIaJaJabababababababababababababbYbYbYcbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccbYbYababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababababababababababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKababababbYbYbYbYbYbYbYbYcbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabababcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccabababcbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaKabcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccbYcbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
-cXcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcjcj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cX
+cY
+"}
+(2,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cZ
+"}
+(3,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(4,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(5,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(6,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(7,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(8,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(9,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(10,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(11,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(12,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(13,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(14,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(15,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(16,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(17,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(18,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(19,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(20,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(21,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(22,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(23,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(24,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(25,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(26,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(27,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(28,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(29,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(30,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(31,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(32,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(33,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(34,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(35,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(36,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(37,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(38,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(39,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(40,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(41,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(42,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(43,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(44,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(45,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(46,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(47,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(48,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(49,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(50,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(51,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(52,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(53,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(54,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(55,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(56,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(57,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(58,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(59,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(60,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(61,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(62,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(63,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(64,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(65,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(66,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(67,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(68,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(69,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(70,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(71,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(72,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(73,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(74,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(75,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(76,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(77,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(78,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(79,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(80,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(81,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(82,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(83,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(84,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(85,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(86,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(87,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(88,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aI
+aK
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(89,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(90,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(91,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aI
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+ab
+ab
+ab
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(92,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aK
+aK
+cc
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(93,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(94,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aI
+aK
+aK
+aK
+aK
+aK
+aK
+aK
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ca
+ca
+cb
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(95,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ca
+ca
+cb
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(96,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(97,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(98,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(99,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(100,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(101,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(102,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(103,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ca
+ca
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(104,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aI
+aK
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+cd
+ca
+ca
+ca
+ca
+ca
+ca
+ca
+ca
+cb
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(105,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+aZ
+bm
+by
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(106,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ba
+bs
+ba
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(107,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ba
+bu
+bE
+bF
+bJ
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ca
+ca
+ca
+cb
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(108,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aJ
+ab
+ab
+ba
+bI
+bH
+bG
+bK
+ab
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(109,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+au
+au
+au
+au
+au
+ba
+ba
+bv
+ba
+bO
+bO
+cf
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(110,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+au
+aE
+bt
+aO
+cV
+ba
+bf
+bw
+ch
+bP
+bQ
+cf
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(111,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+au
+aF
+bW
+aS
+cW
+bb
+bg
+bx
+bh
+bh
+ci
+cf
+ab
+ab
+ab
+ab
+ab
+bY
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(112,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+bh
+bz
+bh
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(113,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+ag
+am
+ac
+af
+av
+ac
+am
+aR
+aY
+ac
+bi
+bA
+bL
+bR
+bU
+cg
+cp
+bR
+bZ
+bZ
+bR
+cp
+cO
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(114,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ah
+an
+ap
+ar
+ay
+ap
+an
+aT
+bc
+ac
+bh
+bB
+bk
+bR
+bV
+ck
+cr
+cu
+cx
+cv
+cu
+cr
+cP
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(115,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+as
+az
+ac
+ac
+ac
+ac
+ac
+bl
+bz
+bM
+bR
+bR
+bR
+bR
+bR
+cy
+cH
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(116,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ai
+an
+ap
+ar
+aA
+ap
+an
+aU
+bc
+ac
+bh
+bz
+bh
+bR
+bV
+cl
+cr
+cu
+cz
+cv
+cu
+cr
+cQ
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(117,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+aj
+am
+ac
+af
+aB
+ac
+am
+aV
+aY
+ac
+bi
+bA
+bL
+bR
+bU
+cm
+cp
+bR
+cA
+bZ
+bR
+cp
+cR
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(118,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+at
+aC
+ac
+ac
+ac
+ac
+ac
+bj
+bC
+bj
+bR
+bR
+bR
+bR
+bR
+cB
+cI
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(119,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+ag
+am
+ac
+av
+aD
+ac
+am
+aR
+aY
+ac
+bk
+bz
+bh
+bR
+bU
+cg
+cp
+bR
+cC
+cJ
+bR
+cp
+cO
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(120,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ah
+an
+ap
+ar
+aA
+ap
+an
+aT
+bc
+ac
+bh
+bz
+cq
+bR
+bV
+ck
+cr
+cu
+cz
+cv
+cu
+cr
+cP
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(121,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+as
+az
+ac
+ac
+ac
+ac
+ac
+bl
+bz
+bM
+bR
+bR
+bR
+bR
+bR
+cy
+cH
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(122,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ai
+an
+ap
+ar
+aA
+ap
+an
+aU
+bc
+ac
+bk
+bz
+bh
+bR
+bV
+cl
+cr
+cu
+cz
+cv
+cu
+cr
+cQ
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(123,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+aj
+am
+ac
+av
+aD
+ac
+am
+aV
+aY
+ac
+bn
+bA
+bL
+bR
+bU
+cm
+cp
+bR
+cC
+cJ
+bR
+cp
+cR
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(124,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+at
+aG
+ac
+ac
+ac
+ac
+ac
+bh
+bz
+bh
+bR
+bR
+bR
+bR
+bR
+cD
+cI
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(125,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+af
+ak
+ak
+aq
+af
+aH
+ar
+aP
+aW
+bd
+be
+bo
+bD
+bo
+bS
+bX
+cn
+cs
+cv
+cE
+bZ
+cL
+cM
+cM
+bZ
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(126,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+af
+al
+ao
+af
+af
+aD
+aN
+aQ
+aX
+af
+ce
+bp
+bp
+bp
+bT
+bZ
+co
+ct
+cw
+cC
+bZ
+cJ
+cN
+cS
+cJ
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(127,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+aw
+az
+ac
+ac
+ac
+ac
+ac
+bq
+bq
+bq
+bR
+bR
+bR
+bR
+bR
+cy
+cw
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(128,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+ag
+am
+ac
+av
+aD
+ac
+am
+aR
+aY
+ac
+bq
+bq
+bq
+bR
+bU
+cg
+cp
+bR
+cC
+bZ
+bR
+cp
+cO
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(129,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ah
+an
+ap
+ar
+aA
+ap
+an
+aT
+bc
+ac
+bq
+bq
+bq
+bR
+bV
+ck
+cr
+cu
+cz
+cv
+cu
+cr
+cP
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(130,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+ax
+aG
+ac
+ac
+ac
+ac
+ac
+br
+bq
+bN
+bR
+bR
+bR
+bR
+bR
+cD
+cK
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(131,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ai
+an
+ap
+ar
+aA
+ap
+an
+aU
+bc
+ac
+bq
+bq
+bq
+bR
+bV
+cl
+cr
+cu
+cz
+cv
+cu
+cr
+cQ
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(132,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+aj
+am
+ac
+af
+aD
+ac
+am
+aV
+aY
+ac
+bq
+bq
+bq
+bR
+bU
+cm
+cp
+bR
+cC
+cJ
+bR
+cp
+cR
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(133,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+aw
+aL
+ac
+ac
+ac
+ac
+ac
+cf
+cf
+cf
+bR
+bR
+bR
+bR
+bR
+cF
+cw
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(134,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+ag
+am
+ac
+av
+aD
+ac
+am
+aR
+aY
+ac
+ab
+ab
+ab
+bR
+bU
+cg
+cp
+bR
+cC
+bZ
+bR
+cp
+cO
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(135,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ah
+an
+ap
+ar
+aA
+ap
+an
+aT
+bc
+ac
+ab
+ab
+ab
+bR
+bV
+ck
+cr
+cu
+cz
+cv
+cu
+cr
+cP
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(136,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+ax
+aG
+ac
+ac
+ac
+ac
+ac
+ab
+ab
+ab
+bR
+bR
+bR
+bR
+bR
+cD
+cK
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(137,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ae
+ai
+an
+ap
+ar
+aM
+ap
+an
+aU
+bc
+ac
+ab
+ab
+ab
+bR
+bV
+cl
+cr
+cu
+cG
+cv
+cu
+cr
+cQ
+cU
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(138,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ad
+aj
+am
+ac
+af
+af
+ac
+am
+aV
+aY
+ac
+ab
+ab
+ab
+bR
+bU
+cm
+cp
+bR
+bZ
+cJ
+bR
+cp
+cR
+cT
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(139,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ac
+ab
+ab
+ab
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+bR
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(140,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(141,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(142,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(143,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(144,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(145,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(146,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+ab
+ab
+ab
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(147,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(148,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(149,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(150,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(151,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(152,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(153,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(154,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(155,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(156,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(157,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(158,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(159,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(160,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(161,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(162,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(163,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(164,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(165,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(166,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(167,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(168,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(169,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(170,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(171,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(172,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(173,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(174,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(175,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(176,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(177,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(178,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(179,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(180,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(181,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(182,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(183,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(184,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(185,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(186,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(187,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(188,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(189,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(190,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(191,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(192,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(193,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(194,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(195,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(196,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(197,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(198,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(199,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+"}
+(200,1,1) = {"
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
+cj
"}
diff --git a/maps/outreach/outreach_defines.dm b/maps/outreach/outreach_defines.dm
index d9123ca83fc..7e19c19bf0f 100644
--- a/maps/outreach/outreach_defines.dm
+++ b/maps/outreach/outreach_defines.dm
@@ -28,6 +28,8 @@
starting_money = 5000
department_money = 0
salary_modifier = 0.2
+ num_exoplanets = 0
+ overmap_ids = list(OVERMAP_ID_SPACE = /datum/overmap) //Default to null overmap, which prevents overmap marker from initializing properly
/datum/map/outreach/get_map_info()
return "You are en route to Outreach, a desolate planet previously targeted for mining operations, but now largely abandoned. Judges - corporate law enforcement - remain in the sector to keep the order. Colonists come from a wide variety of backgrounds, but universally with only the shirt on their backs."
\ No newline at end of file
diff --git a/maps/outreach/outreach_exoplanet.dm b/maps/outreach/outreach_exoplanet.dm
index 874e6ebe9e4..c8a275372a9 100644
--- a/maps/outreach/outreach_exoplanet.dm
+++ b/maps/outreach/outreach_exoplanet.dm
@@ -22,9 +22,8 @@
fauna_types = list(/mob/living/simple_animal/thinbug, /mob/living/simple_animal/hostile/retaliate/beast/samak/alt, /mob/living/simple_animal/yithian, /mob/living/simple_animal/tindalos, /mob/living/simple_animal/hostile/retaliate/jelly)
megafauna_types = list(/mob/living/simple_animal/hostile/retaliate/jelly/mega)
-
-/obj/effect/overmap/visitable/sector/exoplanet/outreach/Initialize(var/mapload, var/z_level)
- . = ..(mapload, global.using_map.station_levels[4])
+/obj/effect/overmap/visitable/sector/exoplanet/outreach/Initialize()
+ . = ..()
docking_codes = "[global.using_map.dock_name]"
// Build Level workaround
@@ -34,36 +33,16 @@
y_origin = TRANSITIONEDGE + 1
x_size = maxx - 2 * (TRANSITIONEDGE + 1)
y_size = maxy - 2 * (TRANSITIONEDGE + 1)
- landing_points_to_place = min(round(0.1 * (x_size * y_size) / (shuttle_size * shuttle_size)), 3)
+ landing_points_to_place = 0
planetary_area = ispath(planetary_area) ? new planetary_area : planetary_area
generate_habitability()
generate_atmosphere()
- generate_flora()
generate_planet_image()
START_PROCESSING(SSobj, src)
-/obj/effect/overmap/visitable/sector/exoplanet/outreach/update_daynight()
- var/light = 0.05
- if(!night)
- light = 0.5
- for(var/turf/exterior/T in block(locate(daycolumn, TRANSITIONEDGE, max(map_z)), locate(daycolumn,maxy - TRANSITIONEDGE, max(map_z))))
- T.set_light(light, 0.1, 2)
- daycolumn++
- if(daycolumn > maxx)
- daycolumn = 0
-
-
/obj/effect/overmap/visitable/sector/exoplanet/outreach/generate_habitability()
habitability_class = HABITABILITY_BAD
/obj/effect/overmap/visitable/sector/exoplanet/outreach/get_atmosphere_color()
return COLOR_GREEN_GRAY
-
-/obj/effect/overmap/visitable/sector/exoplanet/outreach/generate_atmosphere()
- atmosphere = new
- atmosphere.adjust_gas(/decl/material/gas/chlorine, MOLES_CELLSTANDARD * 0.17)
- atmosphere.adjust_gas(/decl/material/gas/carbon_dioxide, MOLES_CELLSTANDARD * 0.11)
- atmosphere.adjust_gas(/decl/material/gas/nitrogen, MOLES_CELLSTANDARD * 0.63)
- atmosphere.temperature = T0C + 7
- atmosphere.update_values()
\ No newline at end of file
diff --git a/maps/outreach/outreach_test.dm b/maps/outreach/outreach_test.dm
index 2502fc6576a..14f6e0a862d 100644
--- a/maps/outreach/outreach_test.dm
+++ b/maps/outreach/outreach_test.dm
@@ -1,11 +1,5 @@
/datum/map/outreach
#ifndef UNIT_TEST
- station_levels = list(1, 2, 3, 4)
- contact_levels = list(1, 2, 3, 4)
- player_levels = list(1, 2, 3, 4)
- saved_levels = list(3, 4)
- mining_levels = list(1, 2)
-
// Hotloading module
default_levels = list(
"1" = "maps/outreach/outreach-1.dmm",
@@ -14,20 +8,7 @@
"4" = "maps/outreach/outreach-4.dmm"
)
- // A list of turfs and their default turfs for serialization optimization.
- base_turf_by_z = list(
- "1" = /turf/exterior/barren,
- "2" = /turf/exterior/barren,
- "3" = /turf/exterior/barren,
- "4" = /turf/simulated/open
- )
#else
- station_levels = list(4, 5, 6, 7)
- contact_levels = list(4, 5, 6, 7)
- player_levels = list(4, 5, 6, 7)
- saved_levels = list(6, 7)
- mining_levels = list(4, 5)
-
default_levels = list(
"4" = "maps/outreach/outreach-1.dmm",
"5" = "maps/outreach/outreach-2.dmm",
@@ -35,14 +16,19 @@
"7" = "maps/outreach/outreach-4.dmm"
)
- // A list of turfs and their default turfs for serialization optimization.
- base_turf_by_z = list(
- "4" = /turf/exterior/barren,
- "5" = /turf/exterior/barren,
- "6" = /turf/exterior/barren,
- "7" = /turf/simulated/open
- )
#endif
lobby_tracks = list(
/decl/music_track/dirtyoldfrogg
- )
\ No newline at end of file
+ )
+
+/obj/abstract/level_data/exoplanet/outreach
+ level_flags = ZLEVEL_PLAYER | ZLEVEL_SEALED | ZLEVEL_SAVED
+ base_turf = /turf/exterior/barren
+ exterior_atmosphere = list(
+ /decl/material/gas/chlorine = MOLES_CELLSTANDARD,
+ /decl/material/gas/nitrogen = MOLES_CELLSTANDARD,
+ )
+
+/obj/abstract/level_data/exoplanet/outreach/mining
+ level_flags = ZLEVEL_PLAYER | ZLEVEL_SEALED | ZLEVEL_SAVED | ZLEVEL_MINING
+ base_turf = /turf/exterior/barren
diff --git a/maps/random_ruins/exoplanet_ruins/crashed_pod/crashed_pod.dmm b/maps/random_ruins/exoplanet_ruins/crashed_pod/crashed_pod.dmm
index b61dad4848b..f038b5a6abb 100644
--- a/maps/random_ruins/exoplanet_ruins/crashed_pod/crashed_pod.dmm
+++ b/maps/random_ruins/exoplanet_ruins/crashed_pod/crashed_pod.dmm
@@ -33,6 +33,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 6
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/wall/r_wall,
/area/map_template/crashed_pod)
"ag" = (
@@ -98,11 +99,13 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/techfloor/grid,
/area/map_template/crashed_pod)
"an" = (
/obj/machinery/atmospherics/omni/filter,
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/techfloor/grid,
/area/map_template/crashed_pod)
"ao" = (
@@ -112,6 +115,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/item/trash/tastybread,
/obj/item/chems/drinks/cans/speer,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/techfloor/grid,
/area/map_template/crashed_pod)
"ap" = (
@@ -180,11 +184,13 @@
},
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/techfloor,
/area/map_template/crashed_pod)
"av" = (
/obj/machinery/atmospherics/omni/filter,
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/techfloor,
/area/map_template/crashed_pod)
"aw" = (
@@ -192,6 +198,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/techfloor/grid,
/area/map_template/crashed_pod)
"ax" = (
@@ -234,6 +241,7 @@
/obj/machinery/atmospherics/pipe/simple/visible/red{
dir = 5
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/wall,
/area/map_template/crashed_pod)
"aE" = (
@@ -452,7 +460,6 @@
/obj/structure/window/reinforced{
dir = 8
},
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/light{
dir = 1
},
diff --git a/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm b/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm
index 98d6316b1a4..f9709e56936 100644
--- a/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm
+++ b/maps/random_ruins/exoplanet_ruins/monoliths/monoliths.dm
@@ -22,7 +22,7 @@
. = ..()
icon_state = "jaggy[rand(1,4)]"
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(z)]
if(istype(E))
desc += "\nThere are images on it: [E.get_engravings()]"
update_icon()
@@ -47,7 +47,7 @@
/obj/structure/monolith/attack_hand(mob/user)
visible_message("\The [user] touches \the [src].")
if(istype(user, /mob/living/carbon/human))
- var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors["[z]"]
+ var/obj/effect/overmap/visitable/sector/exoplanet/E = global.overmap_sectors[num2text(z)]
if(istype(E))
var/mob/living/carbon/human/H = user
if(!H.isSynthetic())
diff --git a/maps/random_ruins/exoplanet_ruins/oldpod/oldpod.dmm b/maps/random_ruins/exoplanet_ruins/oldpod/oldpod.dmm
index e2c5d115b68..44c9a9bfe0f 100644
--- a/maps/random_ruins/exoplanet_ruins/oldpod/oldpod.dmm
+++ b/maps/random_ruins/exoplanet_ruins/oldpod/oldpod.dmm
@@ -46,6 +46,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/map_template/oldpod)
"ai" = (
@@ -62,6 +63,7 @@
/obj/machinery/atmospherics/portables_connector{
dir = 8
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/map_template/oldpod)
"ak" = (
@@ -147,6 +149,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/monotile,
/area/map_template/oldpod)
"av" = (
@@ -155,6 +158,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/monotile,
/area/map_template/oldpod)
"aw" = (
diff --git a/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm
index 32cb98e13df..d6b27e9f581 100644
--- a/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm
+++ b/maps/random_ruins/exoplanet_ruins/playablecolony/colony.dmm
@@ -394,15 +394,15 @@
/turf/exterior/concrete,
/area/template_noop)
"bf" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 8
- },
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
},
/obj/structure/cable{
icon_state = "2-4"
},
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 6
+ },
/turf/simulated/floor/tiled/techfloor,
/area/map_template/colony/command)
"bg" = (
@@ -441,15 +441,13 @@
/turf/simulated/floor/tiled/techfloor,
/area/map_template/colony)
"bk" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
/turf/simulated/floor/tiled/techfloor,
/area/map_template/colony/command)
"bl" = (
@@ -2405,6 +2403,7 @@
/area/map_template/colony/atmospherics)
"fi" = (
/obj/machinery/atmospherics/pipe/simple/visible/black,
+/obj/abstract/landmark/allowed_leak,
/turf/exterior/concrete,
/area/template_noop)
"fj" = (
@@ -3662,6 +3661,7 @@
/obj/structure/railing/mapped{
dir = 8
},
+/obj/abstract/landmark/allowed_leak,
/turf/exterior/concrete,
/area/template_noop)
"hr" = (
@@ -7853,6 +7853,19 @@
/obj/structure/reagent_dispensers/watertank,
/turf/simulated/floor/tiled/techfloor/grid,
/area/map_template/colony/hydroponics)
+"CM" = (
+/obj/effect/floor_decal/techfloor{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/blue{
+ dir = 10
+ },
+/obj/effect/floor_decal/techfloor/hole/right{
+ dir = 1
+ },
+/obj/machinery/atmospherics/unary/vent_scrubber/on,
+/turf/simulated/floor/tiled/techfloor,
+/area/map_template/colony/command)
"Dj" = (
/obj/machinery/portable_atmospherics/hydroponics,
/obj/machinery/light{
@@ -9137,7 +9150,7 @@ os
(28,1,1) = {"
ad
aD
-aV
+CM
bk
bC
ac
diff --git a/maps/tradeship/tradeship-0.dmm b/maps/tradeship/tradeship-0.dmm
index 4803a2085b8..2b3c0e8b655 100644
--- a/maps/tradeship/tradeship-0.dmm
+++ b/maps/tradeship/tradeship-0.dmm
@@ -641,8 +641,6 @@
level = 2
},
/obj/effect/decal/cleanable/dirt,
-/obj/structure/table/gamblingtable,
-/obj/item/chems/food/fish/mollusc,
/obj/item/trash/mollusc_shell/clam,
/turf/simulated/floor,
/area/ship/trade/disused)
@@ -749,7 +747,6 @@
name = "shank"
},
/obj/item/synthesized_instrument/synthesizer,
-/obj/item/twohanded/spear,
/turf/simulated/floor,
/area/ship/trade/fore_port_underside_maint)
"bE" = (
@@ -1097,7 +1094,6 @@
/turf/simulated/floor/carpet/green,
/area/ship/trade/disused)
"hc" = (
-/obj/item/megaphone,
/obj/item/radio,
/obj/structure/table/woodentable/walnut,
/turf/simulated/floor/wood/walnut,
@@ -1159,6 +1155,10 @@
"jT" = (
/turf/simulated/floor/airless,
/area/ship/trade/livestock)
+"kH" = (
+/obj/structure/window/reinforced,
+/turf/simulated/floor,
+/area/ship/trade/loading_bay)
"kO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -1587,9 +1587,6 @@
/obj/random/trash,
/turf/simulated/floor,
/area/ship/trade/loading_bay)
-"zw" = (
-/turf/simulated/floor/carpet/green,
-/area/ship/trade/disused)
"AG" = (
/obj/structure/disposalpipe/segment{
dir = 1;
@@ -1604,6 +1601,9 @@
/mob/living/simple_animal/mouse,
/turf/simulated/floor,
/area/ship/trade/aft_starboard_underside_maint)
+"AT" = (
+/turf/simulated/floor/carpet/green,
+/area/ship/trade/disused)
"AZ" = (
/obj/machinery/smartfridge/secure/extract,
/turf/simulated/floor/tiled/white,
@@ -1631,7 +1631,9 @@
/turf/simulated/floor,
/area/ship/trade/fore_port_underside_maint)
"Dt" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Tradeship Basement Deck";
+},
/turf/space,
/area/space)
"Dz" = (
@@ -1820,6 +1822,11 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
+/obj/random/voidsuit,
+/obj/random/voidhelmet,
+/obj/structure/closet/emcloset,
+/obj/random/voidsuit,
+/obj/random/voidhelmet,
/turf/simulated/floor,
/area/ship/trade/aft_starboard_underside_maint)
"KZ" = (
@@ -1993,8 +2000,6 @@
/area/ship/trade/aft_starboard_underside_maint)
"Qh" = (
/obj/structure/table/woodentable/mahogany,
-/obj/item/gun/launcher/crossbow,
-/obj/item/stack/material/rods,
/obj/item/cell/crap/empty,
/turf/simulated/floor/wood/walnut,
/area/ship/trade/disused)
@@ -2068,7 +2073,6 @@
pixel_y = 25
},
/obj/effect/decal/cleanable/dirt,
-/obj/structure/flora/pottedplant/bamboo,
/turf/simulated/floor,
/area/ship/trade/disused)
"TA" = (
@@ -2083,9 +2087,6 @@
/obj/structure/curtain/medical,
/turf/simulated/floor,
/area/ship/trade/disused)
-"Ux" = (
-/turf/simulated/floor/carpet/red,
-/area/ship/trade/disused)
"UI" = (
/obj/structure/disposaloutlet{
dir = 4
@@ -2095,6 +2096,10 @@
},
/turf/simulated/floor,
/area/ship/trade/loading_bay)
+"VT" = (
+/obj/machinery/hologram/holopad/longrange,
+/turf/simulated/floor/wood/walnut,
+/area/ship/trade/disused)
"Xe" = (
/turf/simulated/wall,
/area/ship/trade/fore_port_underside_maint)
@@ -2130,6 +2135,9 @@
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/ship/trade/undercomms)
+"Ym" = (
+/turf/simulated/floor/carpet/red,
+/area/ship/trade/disused)
"YH" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -2187,6 +2195,12 @@
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/ship/trade/livestock)
+"ZC" = (
+/obj/structure/window/reinforced{
+ dir = 1
+ },
+/turf/simulated/floor,
+/area/ship/trade/loading_bay)
"ZR" = (
/obj/structure/window/basic,
/obj/structure/curtain/open/bed,
@@ -4854,7 +4868,7 @@ aa
aa
SC
Ff
-Ux
+Ym
Xe
Nq
ak
@@ -5265,7 +5279,7 @@ aa
ab
en
ae
-en
+VT
DV
ax
pU
@@ -5679,9 +5693,9 @@ JQ
JQ
ac
JQ
-sO
+kH
IQ
-sO
+ZC
tD
wG
Ky
@@ -5756,7 +5770,7 @@ aa
aa
ab
gf
-zw
+AT
JQ
Mb
ap
@@ -5837,8 +5851,8 @@ aa
aa
aa
SC
-zw
-Ux
+AT
+Ym
JQ
Yh
Ft
@@ -5919,8 +5933,8 @@ aa
aa
aa
SC
-zw
-Ux
+AT
+Ym
JQ
lv
DT
diff --git a/maps/tradeship/tradeship-1.dmm b/maps/tradeship/tradeship-1.dmm
index 39e82c75c17..70abb432e3c 100644
--- a/maps/tradeship/tradeship-1.dmm
+++ b/maps/tradeship/tradeship-1.dmm
@@ -1641,10 +1641,13 @@
},
/obj/structure/closet/secure_closet{
name = "secure engineering voidsuit locker";
- req_access = list("ACCESS_CHIEF_ENGINEER")
+ req_access = list("ACCESS_ENGINE_EQUIP")
},
/obj/item/clothing/head/helmet/space/void/engineering/salvage,
/obj/item/clothing/suit/space/void/engineering/salvage,
+/obj/item/tank/oxygen/yellow,
+/obj/item/tank/oxygen/yellow,
+/obj/item/tank/oxygen/yellow,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/storage)
"eo" = (
@@ -2044,7 +2047,9 @@
/turf/simulated/floor/tiled/techfloor,
/area/ship/trade/maintenance/techstorage)
"iS" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Tradeship Cargo Deck";
+},
/turf/space,
/area/space)
"iW" = (
diff --git a/maps/tradeship/tradeship-2.dmm b/maps/tradeship/tradeship-2.dmm
index 503614f2d13..329624a3a4b 100644
--- a/maps/tradeship/tradeship-2.dmm
+++ b/maps/tradeship/tradeship-2.dmm
@@ -3,31 +3,35 @@
/turf/space,
/area/space)
"ab" = (
-/obj/structure/shuttle/engine/propulsion/burst/left{
+/obj/structure/bed/chair/comfy/brown{
dir = 1
},
-/turf/simulated/floor/airless,
-/area/ship/trade/shuttle/outgoing)
-"ac" = (
-/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
- id_tag = "tradeship_shuttle_pump"
+/obj/effect/floor_decal/corner/beige{
+ dir = 10
+ },
+/obj/item/radio/intercom{
+ dir = 8;
+ pixel_x = 22
},
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
+"ac" = (
+/obj/structure/handrail,
/obj/machinery/embedded_controller/radio/airlock/docking_port{
- cycle_to_external_air = 1;
- dir = 1;
- id_tag = "tradeship_shuttle";
- pixel_y = 0;
- tag_airpump = "tradeship_shuttle_pump";
- tag_chamber_sensor = "tradeship_shuttle_sensor";
- tag_exterior_door = "tradeship_shuttle_out";
- tag_interior_door = "tradeship_shuttle_in"
+ id_tag = "bee_star";
+ pixel_y = null;
+ tag_pump_out_external = "bee_pump_out_external";
+ tag_interior_sensor = "bee_interior_sensor";
+ cycle_to_external_air = 1
},
-/obj/structure/cable{
+/obj/structure/cable/orange{
icon_state = "4-8"
},
-/obj/effect/shuttle_landmark/docking_arm_port/shuttle,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 10
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"ad" = (
/obj/effect/floor_decal/corner/blue,
/obj/effect/floor_decal/corner/yellow{
@@ -216,10 +220,12 @@
/turf/simulated/wall/r_wall,
/area/ship/trade/command/captain)
"at" = (
-/obj/effect/wallframe_spawn/reinforced/titanium,
-/obj/machinery/door/firedoor,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/obj/structure/lattice,
+/obj/machinery/light/navigation/delay5{
+ color = "#00ff00"
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"au" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -383,8 +389,11 @@
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/hallway)
"aL" = (
-/turf/simulated/wall/titanium,
-/area/ship/trade/shuttle/outgoing)
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/door/firedoor,
+/obj/effect/paint/sun,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"aM" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/door/blast/regular{
@@ -586,7 +595,9 @@
dir = 4;
pixel_x = 24
},
-/obj/machinery/computer/shuttle_control/explore/tradeship,
+/obj/machinery/computer/shuttle_control/explore/tradeship{
+ dir = 8
+ },
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
"bf" = (
@@ -603,22 +614,32 @@
/turf/simulated/floor/plating,
/area/ship/trade/command/bridge)
"bg" = (
-/obj/effect/floor_decal/industrial/outline/yellow,
-/obj/structure/emergency_dispenser/north,
-/obj/machinery/floodlight,
-/obj/structure/handrail{
- dir = 4
+/obj/effect/floor_decal/corner/beige{
+ dir = 6
},
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
-"bh" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/obj/structure/bed/chair/shuttle/black{
+ dir = 8
+ },
+/obj/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/obj/machinery/light{
+ dir = 1;
+ icon_state = "tube1"
+ },
+/obj/structure/emergency_dispenser/north,
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"bi" = (
-/obj/effect/floor_decal/industrial/outline/yellow,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/obj/effect/floor_decal/corner/beige{
+ dir = 6
+ },
+/obj/structure/bed/chair/shuttle/blue{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"bj" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/door/blast/regular{
@@ -688,24 +709,16 @@
},
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
-"bp" = (
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
-/obj/machinery/light,
-/obj/structure/bed/chair{
- dir = 1
- },
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
"bq" = (
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 8;
- level = 2
+/obj/structure/handrail{
+ dir = 4
},
-/obj/structure/bed/chair{
- dir = 1
+/obj/machinery/light,
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 10
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"br" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/emergency_dispenser/north,
@@ -790,15 +803,24 @@
/turf/simulated/floor/tiled/steel_ridged,
/area/ship/trade/dock)
"bx" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/floor_decal/corner/beige{
- dir = 9
+ dir = 6
},
-/obj/structure/handrail{
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4;
+ icon_state = "warning"
+ },
+/obj/structure/cable/orange{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/obj/structure/closet/medical_wall/filled{
+ pixel_y = -32
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"by" = (
/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
dir = 4;
@@ -921,19 +943,20 @@
/area/ship/trade/dock)
"bH" = (
/obj/machinery/door/airlock/external/bolted{
- id_tag = "tradeship_shuttle_out"
+ id_tag = "bee_star_outer"
},
/obj/machinery/button/access/exterior{
dir = 4;
- id_tag = "tradeship_shuttle";
- pixel_x = 12;
- pixel_y = -44
+ id_tag = "bee_star";
+ pixel_x = 16;
+ pixel_y = -26
},
-/obj/structure/cable{
+/obj/structure/cable/orange{
icon_state = "4-8"
},
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/obj/structure/sign/warning/docking_area,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"bI" = (
/obj/machinery/button/access/exterior{
dir = 8;
@@ -951,45 +974,46 @@
/turf/simulated/floor/tiled/steel_ridged,
/area/ship/trade/dock)
"bJ" = (
+/obj/structure/handrail,
/obj/machinery/airlock_sensor{
- dir = 1;
- id_tag = "tradeship_shuttle_sensor";
- pixel_y = 0
+ id_tag = "bee_star_sensor"
},
-/obj/structure/cable{
+/obj/structure/cable/orange{
icon_state = "4-8"
},
-/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
- dir = 1;
- id_tag = "tradeship_shuttle_pump_out_internal"
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4;
+ icon_state = "warning"
},
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"bK" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/floor_decal/corner/beige{
- dir = 9
+ dir = 6
},
/obj/structure/handrail{
- dir = 4
+ dir = 8
},
/obj/machinery/button/access/interior{
dir = 8;
- id_tag = "tradeship_shuttle";
+ id_tag = "bee_star";
pixel_x = 0;
pixel_y = 0
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"bL" = (
/obj/machinery/door/airlock/external/bolted{
- id_tag = "tradeship_shuttle_in"
+ id_tag = "bee_star_inner"
},
-/obj/structure/cable{
- icon_state = "4-10"
+/obj/structure/cable/orange{
+ icon_state = "4-8"
},
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"bM" = (
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/tiled/techmaint,
@@ -1045,25 +1069,48 @@
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
"cb" = (
-/obj/effect/shuttle_landmark/docking_arm_starboard/pod,
-/turf/space,
-/area/space)
-"cc" = (
-/obj/machinery/door/airlock/hatch,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/structure/cable{
- icon_state = "2-5"
+ icon_state = "1-8"
},
-/obj/structure/sign{
- icon_state = "radiation";
- pixel_x = 32
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "tradeship_rescue_shuttle_pump_out_internal"
+ },
+/obj/machinery/airlock_sensor{
+ id_tag = "tradeship_rescue_shuttle_sensor";
+ pixel_y = 20;
+ pixel_x = -22
+ },
+/obj/machinery/embedded_controller/radio/airlock/docking_port{
+ cycle_to_external_air = 1;
+ id_tag = "tradeship_rescue_shuttle";
+ pixel_y = 32;
+ tag_airpump = "tradeship_rescue_shuttle_pump";
+ tag_chamber_sensor = "tradeship_rescue_shuttle_sensor";
+ tag_exterior_door = "tradeship_rescue_shuttle_out";
+ dir = 4;
+ pixel_x = -20
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 9
},
+/obj/effect/shuttle_landmark/docking_arm_starboard/rescue,
/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/rescue)
"cd" = (
-/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/simulated/wall/titanium,
-/area/ship/trade/shuttle/outgoing)
+/obj/machinery/light{
+ dir = 8;
+ icon_state = "tube1"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 1;
+ id_tag = "bee_star_pump"
+ },
+/obj/structure/closet/walllocker/suit{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"cf" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/door/blast/regular{
@@ -1092,23 +1139,9 @@
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
"cp" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/structure/handrail{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
-"cq" = (
-/obj/structure/closet/crate/freezer/rations,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
-"cs" = (
/obj/machinery/atmospherics/unary/tank/air,
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/engineering)
"ct" = (
/obj/structure/sign/warning/docking_area,
/obj/effect/paint/brown,
@@ -1139,73 +1172,52 @@
/turf/space,
/area/space)
"cz" = (
-/obj/machinery/power/apc{
- dir = 8
- },
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/structure/cable,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 5
- },
-/obj/structure/handrail{
+/obj/machinery/atmospherics/pipe/manifold/hidden/blue{
dir = 4
},
+/obj/machinery/portable_atmospherics/powered/scrubber,
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
-"cA" = (
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
- dir = 1
- },
-/obj/item/wrench,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/engineering)
"cB" = (
-/obj/machinery/atmospherics/pipe/simple/visible/universal{
+/obj/structure/handrail{
dir = 4
},
-/obj/structure/cable{
- icon_state = "2-8"
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "bee_pump_out_external"
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 9
},
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/general)
"cC" = (
-/obj/machinery/alarm{
- dir = 8;
- pixel_x = 24
+/obj/machinery/atmospherics/pipe/manifold/hidden/red{
+ dir = 4
},
-/obj/machinery/atmospherics/pipe/simple/hidden/blue{
- dir = 9
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 5
},
-/obj/machinery/floodlight,
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/general)
"cE" = (
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/port)
"cG" = (
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/starboard)
-"cH" = (
-/obj/machinery/light{
- dir = 8
+"cI" = (
+/obj/structure/handrail{
+ dir = 4
},
-/obj/structure/closet/crate/uranium,
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 1;
- level = 2
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
},
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
-"cI" = (
-/obj/structure/cable,
-/obj/machinery/port_gen/pacman/super,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/general)
"cL" = (
/obj/random/maintenance,
/turf/simulated/floor/tiled/techmaint,
@@ -1496,6 +1508,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/structure/closet/walllocker,
/turf/simulated/floor/tiled/steel_ridged,
/area/ship/trade/crew/saloon)
"dA" = (
@@ -2237,16 +2250,8 @@
/turf/simulated/floor/tiled,
/area/ship/trade/crew/kitchen)
"fo" = (
-/obj/structure/table,
-/obj/item/glass_extra/straw,
-/obj/item/toy/therapy_blue,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/item/defibrillator/compact/loaded,
-/obj/machinery/computer/modular/telescreen/preset/medical{
- dir = 8;
- pixel_x = 31;
- pixel_y = -2
- },
+/obj/structure/closet/crate/freezer,
/turf/simulated/floor/tiled/white,
/area/ship/trade/crew/medbay)
"fp" = (
@@ -2307,6 +2312,11 @@
/obj/item/stack/medical/advanced/bruise_pack,
/obj/item/chems/syringe/antibiotic,
/obj/item/scanner/health,
+/obj/item/defibrillator/compact/loaded,
+/obj/item/toy/therapy_blue,
+/obj/item/glass_extra/straw,
+/obj/item/tank/oxygen/yellow,
+/obj/structure/closet/emcloset,
/turf/simulated/floor/tiled/white,
/area/ship/trade/crew/medbay)
"fx" = (
@@ -2760,6 +2770,12 @@
},
/turf/simulated/open,
/area/ship/trade/cargo)
+"gN" = (
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"gO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -2809,9 +2825,17 @@
/turf/simulated/open,
/area/ship/trade/cargo)
"hb" = (
-/obj/structure/shuttle/engine/propulsion/burst/left,
-/turf/simulated/floor/airless,
-/area/ship/trade/shuttle/outgoing)
+/obj/machinery/power/terminal{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/structure/closet/crate/uranium,
+/obj/item/wrench,
+/obj/structure/cable/orange,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"hd" = (
/obj/structure/closet/crate/uranium,
/obj/machinery/button/blast_door{
@@ -3086,6 +3110,7 @@
/obj/random/loot,
/obj/random/projectile,
/obj/random/projectile,
+/obj/item/tank/oxygen/yellow,
/turf/simulated/floor/plating,
/area/ship/trade/hidden)
"hD" = (
@@ -3669,13 +3694,29 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
-"iT" = (
-/obj/machinery/atmospherics/unary/vent_scrubber/on{
- dir = 1
+"iS" = (
+/obj/machinery/light{
+ dir = 4
},
-/turf/simulated/floor/tiled/techfloor/grid,
-/area/ship/trade/maintenance/power)
-"iU" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "tradeship_rescue_shuttle_pump"
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/obj/structure/bed/chair{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
+"iT" = (
+/obj/machinery/atmospherics/unary/vent_scrubber/on{
+ dir = 1
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/maintenance/power)
+"iU" = (
/obj/machinery/shield_generator,
/obj/structure/cable{
icon_state = "0-2";
@@ -4290,6 +4331,14 @@
/obj/structure/lattice,
/turf/space,
/area/space)
+"kr" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 8
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/rescue)
"ks" = (
/obj/effect/floor_decal/corner/blue,
/obj/effect/floor_decal/corner/yellow{
@@ -4405,6 +4454,25 @@
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
/area/space)
+"kX" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 8;
+ level = 2
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
+"lb" = (
+/obj/structure/catwalk,
+/obj/structure/handrail{
+ dir = 2
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4;
+ icon_state = "warning"
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"ld" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
/obj/machinery/power/apc/high{
@@ -4423,10 +4491,6 @@
/obj/machinery/meter,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
-"lx" = (
-/obj/structure/shuttle/engine/propulsion/burst/right,
-/turf/simulated/floor/airless,
-/area/ship/trade/shuttle/outgoing)
"lC" = (
/obj/machinery/portable_atmospherics/powered/scrubber,
/obj/machinery/atmospherics/portables_connector{
@@ -4434,6 +4498,30 @@
},
/turf/simulated/floor/tiled/techfloor,
/area/ship/trade/maintenance/atmos)
+"lJ" = (
+/obj/structure/table,
+/obj/machinery/light{
+ dir = 1;
+ icon_state = "tube1"
+ },
+/obj/item/deck/tarot,
+/obj/machinery/button/blast_door{
+ id_tag = "bee_shutters"
+ },
+/obj/item/stack/medical/bruise_pack,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
+"lW" = (
+/obj/structure/catwalk,
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8;
+ icon_state = "warning"
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"lZ" = (
/obj/structure/sign/redcross{
pixel_w = 32
@@ -4472,6 +4560,19 @@
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/hallway)
+"mf" = (
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ level = 2
+ },
+/obj/effect/floor_decal/corner/beige{
+ dir = 10
+ },
+/obj/machinery/alarm{
+ dir = 4;
+ pixel_x = -24
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"ml" = (
/obj/structure/table,
/obj/item/storage/toolbox/electrical{
@@ -4482,6 +4583,15 @@
/obj/random/powercell,
/turf/simulated/floor/plating,
/area/ship/trade/shieldbay)
+"mr" = (
+/obj/machinery/atmospherics/pipe/simple/visible/universal{
+ dir = 4
+ },
+/obj/structure/cable/orange{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"mt" = (
/obj/item/roller,
/obj/structure/hygiene/sink{
@@ -4489,15 +4599,19 @@
},
/turf/simulated/floor/tiled/white,
/area/ship/trade/crew/medbay)
-"mw" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/hologram/holopad/longrange,
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
"my" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
+"mW" = (
+/obj/structure/cable/orange{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"mX" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall,
@@ -4545,18 +4659,38 @@
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall,
/area/ship/trade/crew/medbay/chemistry)
-"nu" = (
-/obj/structure/shuttle/engine/propulsion/burst/right{
+"nm" = (
+/obj/machinery/power/apc{
+ dir = 4
+ },
+/obj/structure/cable,
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "tradeship_rescue_shuttle_pump"
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/obj/structure/bed/chair{
dir = 1
},
-/turf/simulated/floor/airless,
-/area/ship/trade/shuttle/outgoing)
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
"nv" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 9
},
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
+"nD" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 5
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"nH" = (
/obj/structure/table,
/obj/effect/floor_decal/corner/red/diagonal,
@@ -4593,13 +4727,16 @@
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
/area/ship/trade/dock)
-"ob" = (
-/obj/machinery/computer/shuttle_control/explore/tradeship,
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 6
+"og" = (
+/obj/structure/handrail{
+ dir = 8
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/obj/structure/catwalk,
+/obj/structure/railing/mapped{
+ dir = 1
+ },
+/turf/space,
+/area/space)
"oi" = (
/obj/machinery/vending/snack{
dir = 4
@@ -4652,6 +4789,39 @@
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall,
/area/ship/trade/command/fmate)
+"oM" = (
+/obj/machinery/power/terminal{
+ dir = 1
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "tradeship_rescue_shuttle_pump_out_internal"
+ },
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 9
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 4
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
+"oV" = (
+/obj/structure/catwalk,
+/obj/structure/handrail{
+ dir = 1
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 4;
+ icon_state = "warning"
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"pb" = (
/obj/item/radio/intercom{
pixel_y = 22
@@ -4691,6 +4861,13 @@
},
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
+"pv" = (
+/obj/structure/lattice,
+/obj/machinery/light/navigation/delay5{
+ color = "#ff3333"
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"pG" = (
/obj/structure/closet/crate/uranium,
/turf/simulated/floor/plating,
@@ -4746,6 +4923,42 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/port)
+"qt" = (
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 4
+ },
+/obj/machinery/light{
+ dir = 4;
+ icon_state = "bulb1"
+ },
+/obj/structure/closet/crate/freezer/rations,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
+"qv" = (
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"qA" = (
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "tradeship_rescue_shuttle_pump_out_internal"
+ },
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
"qE" = (
/obj/machinery/atmospherics/omni/mixer{
active_power_usage = 7500;
@@ -4761,6 +4974,14 @@
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/ship/trade/maintenance/atmos)
+"qM" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/rescue)
"qO" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/floor_decal/industrial/outline/yellow,
@@ -4811,6 +5032,15 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/garden)
+"rn" = (
+/obj/machinery/button/access/exterior{
+ dir = 4;
+ id_tag = "bee_star";
+ pixel_x = 16;
+ pixel_y = -26
+ },
+/turf/space,
+/area/space)
"rp" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/door/firedoor,
@@ -4861,6 +5091,15 @@
},
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
+"rL" = (
+/obj/effect/floor_decal/corner/beige{
+ dir = 9
+ },
+/obj/structure/bed/chair/shuttle/white{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"rR" = (
/obj/item/flashlight,
/turf/simulated/floor/wood/yew,
@@ -4910,12 +5149,49 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
+"sj" = (
+/obj/machinery/alarm{
+ pixel_y = 24
+ },
+/obj/machinery/atmospherics/portables_connector{
+ dir = 1
+ },
+/obj/machinery/portable_atmospherics/canister/air/airlock{
+ start_pressure = 730
+ },
+/obj/structure/cable/orange{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"sl" = (
/obj/machinery/atmospherics/unary/engine{
dir = 1
},
/turf/simulated/floor/airless,
/area/ship/trade/maintenance/engine/starboard)
+"sm" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/hidden/red,
+/obj/effect/paint/sun,
+/obj/machinery/door/blast/regular{
+ density = 0;
+ icon_state = "pdoor0";
+ id_tag = "bee_shutters";
+ opacity = 0
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"sw" = (
+/obj/structure/handrail,
+/obj/structure/catwalk,
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8;
+ icon_state = "warning"
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"sz" = (
/obj/machinery/door/blast/regular{
density = 0;
@@ -4927,6 +5203,12 @@
},
/turf/simulated/floor/airless,
/area/ship/trade/maintenance/engine/starboard)
+"sA" = (
+/obj/machinery/door/airlock/hatch,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"sB" = (
/obj/effect/floor_decal/industrial/warning,
/obj/structure/sign/warning/fall{
@@ -4939,6 +5221,25 @@
},
/turf/simulated/open,
/area/ship/trade/cargo)
+"sG" = (
+/obj/effect/floor_decal/corner/beige{
+ dir = 9
+ },
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/machinery/floodlight,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/button/access/interior{
+ dir = 4;
+ id_tag = "bee_port";
+ pixel_x = 0;
+ pixel_y = 0
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"sI" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall,
@@ -4956,23 +5257,64 @@
"tg" = (
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
-"tV" = (
-/turf/space,
-/area/ship/trade/command/fmate)
-"tW" = (
-/obj/machinery/door/blast/regular{
- density = 0;
- dir = 4;
- icon_state = "pdoor0";
- id_tag = "scraplock";
- name = "External Blast Doors";
- opacity = 0
+"to" = (
+/obj/structure/closet/crate,
+/obj/item/radio,
+/obj/item/spaceflare,
+/obj/item/clothing/head/helmet/space/void/pilot,
+/obj/item/clothing/suit/space/void/pilot,
+/obj/item/tank/oxygen,
+/obj/item/tank/oxygen,
+/obj/item/tank/oxygen,
+/obj/effect/floor_decal/corner/beige{
+ dir = 9
},
-/turf/simulated/floor/airless,
-/area/ship/trade/command/fmate)
-"uc" = (
-/obj/machinery/alarm{
- dir = 8;
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/machinery/power/apc/high{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-2"
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
+"tv" = (
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/machinery/power/apc{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/obj/machinery/light{
+ icon_state = "bulb1"
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
+"tV" = (
+/turf/space,
+/area/ship/trade/command/fmate)
+"tW" = (
+/obj/machinery/door/blast/regular{
+ density = 0;
+ dir = 4;
+ icon_state = "pdoor0";
+ id_tag = "scraplock";
+ name = "External Blast Doors";
+ opacity = 0
+ },
+/turf/simulated/floor/airless,
+/area/ship/trade/command/fmate)
+"uc" = (
+/obj/machinery/alarm{
+ dir = 8;
pixel_x = 24
},
/obj/effect/floor_decal/industrial/outline/yellow,
@@ -4986,6 +5328,22 @@
},
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
+"uf" = (
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"uk" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 4
+ },
+/obj/effect/paint/black,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/outgoing/engineering)
"ul" = (
/obj/machinery/door/blast/regular{
density = 0;
@@ -4997,6 +5355,29 @@
},
/turf/simulated/floor/airless,
/area/ship/trade/crew/medbay/chemistry)
+"uD" = (
+/obj/machinery/port_gen/pacman/super,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/structure/sign{
+ icon_state = "radiation";
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
+"uL" = (
+/obj/structure/railing/mapped{
+ dir = 2
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 6
+ },
+/obj/structure/railing/mapped{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"uP" = (
/obj/structure/handrail{
dir = 4
@@ -5100,6 +5481,19 @@
},
/turf/simulated/floor/tiled,
/area/ship/trade/crew/saloon)
+"vY" = (
+/obj/structure/handrail,
+/obj/machinery/embedded_controller/radio/airlock/docking_port{
+ id_tag = "bee_port";
+ tag_pump_out_external = "bee_pump_out_external";
+ tag_interior_sensor = "bee_interior_sensor";
+ cycle_to_external_air = 1
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 6
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"wb" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -5118,15 +5512,6 @@
},
/turf/simulated/floor/tiled,
/area/ship/trade/garden)
-"wc" = (
-/obj/machinery/portable_atmospherics/canister/air/airlock{
- start_pressure = 730
- },
-/obj/machinery/atmospherics/portables_connector{
- dir = 1
- },
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
"we" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
@@ -5165,14 +5550,6 @@
},
/turf/simulated/floor/tiled/freezer,
/area/ship/trade/crew/wash)
-"xb" = (
-/obj/effect/wallframe_spawn/reinforced/titanium,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 4
- },
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
"xc" = (
/obj/machinery/firealarm{
pixel_y = 24
@@ -5183,7 +5560,9 @@
/turf/simulated/floor/tiled,
/area/ship/trade/crew/saloon)
"xh" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Tradeship Habitation Deck"
+ },
/turf/space,
/area/space)
"xn" = (
@@ -5193,6 +5572,26 @@
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
+"xz" = (
+/obj/structure/closet/crate,
+/obj/item/tank/oxygen,
+/obj/item/tank/oxygen,
+/obj/item/roller,
+/obj/item/storage/firstaid/adv,
+/obj/item/storage/pill_bottle/painkillers,
+/obj/item/storage/pill_bottle/antitox,
+/obj/item/storage/pill_bottle/antibiotics,
+/obj/item/storage/pill_bottle/burn_meds,
+/obj/item/scanner/health,
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 9
+ },
+/obj/effect/floor_decal/corner/white,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
"xB" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -5216,6 +5615,14 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
+"xM" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/portables_connector,
+/obj/machinery/floodlight,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"xO" = (
/obj/machinery/power/terminal{
dir = 4
@@ -5228,6 +5635,18 @@
"xS" = (
/turf/simulated/floor/carpet,
/area/ship/trade/command/fmate)
+"xW" = (
+/obj/machinery/door/airlock/hatch,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/sign{
+ icon_state = "radiation";
+ dir = 4
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/engineering)
"xX" = (
/obj/item/mollusc/barnacle{
pixel_w = 17
@@ -5252,10 +5671,30 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/shieldbay)
+"yq" = (
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"yt" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
/area/ship/trade/shieldbay)
+"yy" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 4
+ },
+/obj/machinery/light,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"yA" = (
/obj/structure/closet,
/obj/random/clothing,
@@ -5272,16 +5711,6 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/starboard)
-"zb" = (
-/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
- dir = 8;
- id_tag = "tradeship_shuttle_pump_out_external"
- },
-/obj/structure/handrail{
- dir = 4
- },
-/turf/simulated/floor/airless,
-/area/ship/trade/shuttle/outgoing)
"zc" = (
/obj/structure/hygiene/shower{
dir = 4
@@ -5340,16 +5769,6 @@
/obj/structure/reagent_dispensers/water_cooler,
/turf/simulated/floor/tiled,
/area/ship/trade/crew/saloon)
-"Ah" = (
-/obj/structure/table,
-/obj/machinery/light{
- dir = 1;
- icon_state = "tube1"
- },
-/obj/item/deck/tarot,
-/obj/machinery/cell_charger,
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
"Ai" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -5381,6 +5800,13 @@
/obj/machinery/door/airlock/hatch/autoname/engineering,
/turf/simulated/floor/tiled,
/area/ship/trade/maintenance/engine/aft)
+"AE" = (
+/obj/effect/paint/red,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 4
+ },
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
"AH" = (
/obj/effect/paint/brown,
/turf/simulated/wall,
@@ -5403,6 +5829,10 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/port)
+"Ba" = (
+/obj/machinery/hologram/holopad/longrange,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"Bb" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -5432,6 +5862,38 @@
},
/turf/simulated/floor/tiled,
/area/ship/trade/crew/kitchen)
+"Bi" = (
+/obj/structure/catwalk,
+/obj/structure/railing/mapped{
+ dir = 1
+ },
+/obj/structure/railing/mapped{
+ dir = 4
+ },
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
+"Bl" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 9
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"Br" = (
+/obj/machinery/light{
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 1;
+ id_tag = "bee_port_pump"
+ },
+/obj/structure/closet/walllocker/suit{
+ dir = 8
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"Bx" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
@@ -5443,6 +5905,18 @@
},
/turf/simulated/floor/tiled/techfloor,
/area/ship/trade/maintenance/atmos)
+"BN" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/door/firedoor,
+/obj/machinery/door/blast/regular{
+ density = 0;
+ icon_state = "pdoor0";
+ id_tag = "bee_shutters";
+ opacity = 0
+ },
+/obj/effect/paint/black,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"BP" = (
/obj/random/maintenance,
/turf/simulated/floor/tiled/techmaint,
@@ -5500,6 +5974,24 @@
},
/turf/simulated/floor/tiled,
/area/ship/trade/crew/kitchen)
+"Cq" = (
+/obj/structure/railing/mapped{
+ dir = 8
+ },
+/obj/structure/railing/mapped{
+ dir = 2
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/navigation{
+ color = "#ff3333"
+ },
+/obj/structure/lattice,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
+"Cz" = (
+/obj/structure/shuttle/engine/propulsion/burst,
+/turf/simulated/floor/airless,
+/area/ship/trade/shuttle/rescue)
"CD" = (
/obj/effect/paint/red,
/turf/simulated/wall/r_wall/hull,
@@ -5516,6 +6008,10 @@
/obj/abstract/landmark/paperwork_spawn_tradeship,
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
+"CI" = (
+/obj/structure/shuttle/engine/propulsion/burst/left,
+/turf/simulated/floor/airless,
+/area/ship/trade/shuttle/outgoing/engineering)
"CP" = (
/obj/machinery/door/airlock/hatch/autoname/general,
/obj/machinery/door/firedoor,
@@ -5530,6 +6026,12 @@
},
/turf/simulated/floor/tiled/steel_ridged,
/area/ship/trade/command/fmate)
+"CV" = (
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"Db" = (
/obj/effect/floor_decal/corner/white{
dir = 9
@@ -5561,6 +6063,13 @@
},
/turf/simulated/floor/tiled/steel_ridged,
/area/ship/trade/crew/saloon)
+"Dj" = (
+/obj/machinery/power/smes/buildable/max_cap_in_out,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
"Dl" = (
/obj/machinery/power/apc{
name = "Medical Bay APC"
@@ -5573,6 +6082,39 @@
/obj/effect/paint/brown,
/turf/simulated/wall,
/area/ship/trade/crew/kitchen)
+"Dw" = (
+/obj/structure/railing/mapped{
+ dir = 4
+ },
+/obj/structure/railing/mapped{
+ dir = 2
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/navigation{
+ color = "#00ff00"
+ },
+/obj/structure/lattice,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
+"Dx" = (
+/obj/effect/paint/red,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 9
+ },
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
+"DC" = (
+/obj/machinery/door/airlock/external/bolted{
+ id_tag = "bee_port_outer"
+ },
+/obj/machinery/button/access/exterior{
+ dir = 8;
+ id_tag = "bee_port";
+ pixel_x = -16;
+ pixel_y = -26
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"DE" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -5582,10 +6124,34 @@
},
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
+"DH" = (
+/obj/structure/handrail,
+/obj/machinery/airlock_sensor{
+ id_tag = "bee_port_sensor"
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8;
+ icon_state = "warning"
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"DO" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall,
/area/ship/trade/command/bridge)
+"DY" = (
+/obj/machinery/door/airlock/external/bolted{
+ id_tag = "tradeship_rescue_shuttle_out"
+ },
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes,
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/rescue)
"Eb" = (
/obj/machinery/light{
dir = 4;
@@ -5637,6 +6203,21 @@
},
/turf/simulated/floor/tiled/techfloor,
/area/ship/trade/cargo)
+"Eh" = (
+/obj/structure/railing/mapped{
+ dir = 8
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/navigation{
+ color = "#ff3333"
+ },
+/obj/structure/lattice,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
+"Eq" = (
+/obj/effect/paint/sun,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/outgoing/general)
"Et" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -5661,6 +6242,12 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/starboard)
+"EA" = (
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 4
+ },
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
"EQ" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -5783,12 +6370,6 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/hidden)
-"Gv" = (
-/obj/machinery/door/airlock/hatch,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/machinery/door/firedoor,
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
"Gw" = (
/obj/machinery/computer/ship/sensors,
/obj/effect/floor_decal/corner/blue/diagonal,
@@ -5803,6 +6384,30 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/shieldbay)
+"GB" = (
+/obj/structure/railing/mapped{
+ dir = 2
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 10
+ },
+/obj/structure/railing/mapped{
+ dir = 8
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"GD" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/door/firedoor,
+/obj/effect/paint/sun,
+/obj/machinery/door/blast/regular{
+ density = 0;
+ icon_state = "pdoor0";
+ id_tag = "bee_shutters";
+ opacity = 0
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"GF" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
@@ -5820,6 +6425,21 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/maintenance/hallway)
+"GO" = (
+/obj/effect/paint/red,
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
+"GS" = (
+/obj/item/inflatable_dispenser,
+/obj/machinery/light{
+ dir = 1;
+ icon_state = "bulb1"
+ },
+/obj/machinery/cell_charger,
+/obj/structure/table/steel,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"GT" = (
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/shieldbay)
@@ -5862,6 +6482,7 @@
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/port)
"Hs" = (
+/obj/machinery/light,
/turf/simulated/floor/wood/yew,
/area/ship/trade/unused)
"HA" = (
@@ -5877,6 +6498,18 @@
"HT" = (
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/maintenance/hallway)
+"HZ" = (
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"Ib" = (
/obj/machinery/atmospherics/pipe/simple/visible/green{
dir = 5
@@ -5895,6 +6528,10 @@
/obj/structure/table,
/turf/simulated/floor/tiled/white,
/area/ship/trade/crew/medbay)
+"If" = (
+/obj/effect/paint/black,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/outgoing/engineering)
"Ig" = (
/obj/machinery/computer/account_database,
/turf/simulated/floor/bluegrid,
@@ -5951,6 +6588,11 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/starboard)
+"IH" = (
+/obj/structure/lattice,
+/obj/structure/grille,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"IJ" = (
/obj/structure/cable{
icon_state = "0-4"
@@ -5961,6 +6603,13 @@
"IM" = (
/turf/simulated/floor/airless,
/area/ship/trade/command/captain)
+"IW" = (
+/obj/effect/paint/red,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 10
+ },
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
"Jb" = (
/obj/structure/table,
/obj/machinery/cell_charger,
@@ -6073,6 +6722,7 @@
/obj/random/voidsuit,
/obj/random/voidhelmet,
/obj/random/voidhelmet,
+/obj/item/tank/oxygen,
/turf/simulated/floor/tiled,
/area/ship/trade/crew/saloon)
"JX" = (
@@ -6142,6 +6792,27 @@
"Kw" = (
/turf/simulated/floor/tiled/white,
/area/ship/trade/crew/medbay)
+"Kx" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "bee_star_pump_out_internal"
+ },
+/obj/structure/emergency_dispenser/west{
+ pixel_x = 0
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
+"KA" = (
+/obj/structure/railing/mapped{
+ dir = 2
+ },
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"KI" = (
/obj/machinery/light_switch{
pixel_x = -25
@@ -6178,18 +6849,11 @@
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/starboard)
"Lb" = (
-/obj/machinery/atmospherics/unary/vent_pump/on{
- level = 2
- },
-/obj/effect/floor_decal/corner/beige{
- dir = 10
- },
-/obj/machinery/alarm{
- dir = 4;
- pixel_x = -24
+/obj/structure/shuttle/engine/propulsion/burst/right{
+ dir = 1
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/turf/simulated/floor/airless,
+/area/ship/trade/shuttle/outgoing/general)
"Lc" = (
/obj/effect/decal/cleanable/cobweb,
/obj/effect/decal/cleanable/cobweb2,
@@ -6205,6 +6869,13 @@
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/starboard)
+"Ld" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"Lm" = (
/obj/machinery/shield_generator,
/obj/structure/cable{
@@ -6216,6 +6887,11 @@
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall/hull,
/area/ship/trade/command/fmate)
+"Lu" = (
+/obj/machinery/light/spot,
+/obj/structure/lattice,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"Lx" = (
/obj/structure/handrail{
dir = 8
@@ -6232,20 +6908,10 @@
/obj/machinery/atmospherics/pipe/simple/hidden/fuel,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
-"Mb" = (
-/obj/structure/bed/chair/comfy/brown{
- dir = 1
- },
-/obj/effect/floor_decal/corner/beige{
- dir = 10
- },
-/obj/item/radio/intercom{
- dir = 8;
- pixel_x = 22
- },
-/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+"LU" = (
+/obj/effect/paint/sun,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/outgoing/engineering)
"Mc" = (
/obj/machinery/light{
dir = 1;
@@ -6309,6 +6975,13 @@
},
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
+"MW" = (
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/machinery/power/smes/buildable/max_cap_in_out,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"MX" = (
/obj/machinery/light{
dir = 8;
@@ -6317,11 +6990,15 @@
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/port)
"Nb" = (
-/obj/effect/wallframe_spawn/reinforced/titanium,
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/obj/structure/railing/mapped{
+ dir = 1
+ },
+/turf/space,
+/area/space)
"Nc" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -6348,6 +7025,29 @@
},
/turf/simulated/floor/tiled/freezer,
/area/ship/trade/crew/wash)
+"Nd" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/red,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
+"Nm" = (
+/obj/effect/floor_decal/corner/beige{
+ dir = 9
+ },
+/obj/effect/floor_decal/industrial/warning{
+ dir = 8;
+ icon_state = "warning"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"Np" = (
/obj/machinery/network/requests_console{
announcementConsole = 1;
@@ -6361,6 +7061,8 @@
/obj/structure/closet/emcloset,
/obj/random/voidsuit,
/obj/random/voidhelmet,
+/obj/item/tank/oxygen,
+/obj/item/tank/oxygen,
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
"Nx" = (
@@ -6379,6 +7081,12 @@
},
/turf/simulated/floor/airless,
/area/ship/trade/maintenance/engine/port)
+"NG" = (
+/obj/structure/shuttle/engine/propulsion/burst/left{
+ dir = 1
+ },
+/turf/simulated/floor/airless,
+/area/ship/trade/shuttle/outgoing/general)
"NI" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
dir = 4
@@ -6386,6 +7094,35 @@
/obj/structure/bookcase/skill_books/random,
/turf/simulated/floor/wood/yew,
/area/ship/trade/unused)
+"NM" = (
+/obj/effect/floor_decal/corner/beige{
+ dir = 9
+ },
+/obj/structure/bed/chair/shuttle/blue{
+ dir = 4
+ },
+/obj/item/radio/intercom{
+ dir = 4;
+ pixel_x = -22
+ },
+/obj/machinery/alarm{
+ pixel_y = 24
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
+"NS" = (
+/obj/machinery/computer/shuttle_control/explore/tradeship,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
+"NT" = (
+/obj/machinery/door/airlock/external/bolted{
+ id_tag = "bee_port_inner"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"Ob" = (
/obj/machinery/alarm{
dir = 8;
@@ -6441,6 +7178,16 @@
/obj/machinery/power/terminal,
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/engine/aft)
+"OD" = (
+/obj/structure/catwalk,
+/obj/structure/railing/mapped{
+ dir = 1
+ },
+/obj/structure/railing/mapped{
+ dir = 4
+ },
+/turf/space,
+/area/space)
"OP" = (
/obj/machinery/alarm{
dir = 8;
@@ -6487,6 +7234,29 @@
/obj/effect/wallframe_spawn/reinforced,
/turf/simulated/floor/plating,
/area/ship/trade/command/captain)
+"PB" = (
+/obj/machinery/alarm{
+ dir = 8;
+ pixel_x = 24
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "tradeship_rescue_shuttle_pump"
+ },
+/obj/structure/bed/chair/comfy/brown{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
"PE" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -6569,6 +7339,11 @@
},
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
+"QF" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"QH" = (
/obj/structure/table,
/obj/structure/cable,
@@ -6635,6 +7410,17 @@
},
/turf/simulated/floor/wood/yew,
/area/ship/trade/unused)
+"Rg" = (
+/obj/structure/railing/mapped{
+ dir = 4
+ },
+/obj/structure/catwalk,
+/obj/machinery/light/navigation{
+ color = "#00ff00"
+ },
+/obj/structure/lattice,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"Rl" = (
/obj/machinery/door/blast/regular{
density = 0;
@@ -6674,6 +7460,11 @@
/obj/structure/handrail,
/turf/simulated/floor/tiled,
/area/ship/trade/crew/saloon)
+"RM" = (
+/obj/effect/wallframe_spawn/reinforced/titanium,
+/obj/machinery/door/firedoor,
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/rescue)
"RW" = (
/obj/machinery/atmospherics/unary/engine{
dir = 1
@@ -6681,12 +7472,14 @@
/turf/simulated/floor/airless,
/area/ship/trade/maintenance/engine/port)
"Sb" = (
-/obj/effect/floor_decal/industrial/outline/yellow,
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 5
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 9
},
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/general)
"Sc" = (
/obj/effect/decal/cleanable/cobweb,
/obj/effect/floor_decal/corner/blue{
@@ -6723,9 +7516,35 @@
},
/turf/simulated/floor/airless,
/area/ship/trade/crew/toilets)
+"Sj" = (
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 10
+ },
+/obj/structure/handrail{
+ dir = 1
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"Sk" = (
+/obj/structure/catwalk,
+/obj/structure/railing/mapped{
+ dir = 1
+ },
+/obj/structure/railing/mapped{
+ dir = 8
+ },
+/turf/space,
+/area/space)
"Sr" = (
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/hallway)
+"SB" = (
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
+/obj/machinery/computer/shuttle_control/explore/rescue,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
"SC" = (
/obj/effect/paint/brown,
/turf/simulated/wall/r_wall,
@@ -6783,22 +7602,11 @@
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/command/hallway)
"Tb" = (
-/obj/effect/floor_decal/industrial/outline/yellow,
-/obj/structure/closet/crate,
-/obj/item/radio,
-/obj/item/spaceflare,
-/obj/machinery/firealarm{
- dir = 4;
- pixel_x = 24
- },
-/obj/machinery/atmospherics/pipe/simple/hidden{
- dir = 10
- },
-/obj/structure/handrail{
- dir = 8
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 5
},
/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
+/area/ship/trade/shuttle/outgoing/general)
"Tp" = (
/obj/structure/cable{
icon_state = "4-8"
@@ -6807,6 +7615,18 @@
/obj/random/maintenance,
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/shieldbay)
+"Tr" = (
+/obj/machinery/atmospherics/pipe/simple/hidden,
+/obj/structure/cable/orange{
+ icon_state = "1-2"
+ },
+/obj/effect/paint/sun,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/outgoing/engineering)
+"Tx" = (
+/obj/structure/shuttle/engine/propulsion/burst/right,
+/turf/simulated/floor/airless,
+/area/ship/trade/shuttle/outgoing/engineering)
"TB" = (
/obj/machinery/atmospherics/valve/open{
dir = 4
@@ -6840,12 +7660,6 @@
},
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/starboard)
-"Ub" = (
-/obj/effect/floor_decal/industrial/outline/yellow,
-/obj/item/storage/backpack/dufflebag,
-/obj/machinery/atmospherics/pipe/simple/hidden,
-/turf/simulated/floor/plating,
-/area/ship/trade/shuttle/outgoing)
"Uc" = (
/obj/machinery/seed_storage/garden{
dir = 1
@@ -6871,6 +7685,16 @@
/obj/effect/paint/brown,
/turf/simulated/wall,
/area/ship/trade/crew/toilets)
+"UA" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ id_tag = "bee_port_pump_out_internal"
+ },
+/obj/structure/emergency_dispenser/west{
+ pixel_x = 0;
+ dir = 4
+ },
+/turf/simulated/floor/tiled/techfloor/grid,
+/area/ship/trade/shuttle/outgoing/general)
"UB" = (
/obj/machinery/light,
/obj/structure/cable{
@@ -6898,26 +7722,48 @@
},
/turf/simulated/floor/reinforced/airless,
/area/ship/trade/maintenance/engine/aft)
+"UQ" = (
+/obj/effect/paint/red,
+/obj/machinery/atmospherics/pipe/manifold/hidden{
+ dir = 8
+ },
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
+"UT" = (
+/obj/effect/paint/black,
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/outgoing/general)
"UV" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled/monotile,
/area/ship/trade/dock)
-"Vb" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+"UY" = (
+/obj/machinery/atmospherics/unary/tank/air{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/white{
dir = 6
},
-/obj/effect/floor_decal/corner/beige{
- dir = 9
+/obj/effect/floor_decal/corner/white{
+ dir = 8
},
-/obj/item/radio/intercom{
- dir = 4;
- pixel_x = -22
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
+"Vb" = (
+/obj/effect/floor_decal/corner/beige{
+ dir = 6
},
/obj/structure/handrail{
- dir = 4
+ dir = 8
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/obj/random/closet,
+/obj/item/storage/backpack/dufflebag,
+/obj/machinery/airlock_sensor{
+ id_tag = "bee_interior_sensor";
+ dir = 8
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/shuttle/outgoing/general)
"Vc" = (
/obj/structure/cable,
/obj/machinery/power/apc{
@@ -6932,6 +7778,20 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/wood,
/area/ship/trade/command/fmate)
+"Vl" = (
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/machinery/light,
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 6
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"Vq" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"VK" = (
/obj/machinery/network/relay{
initial_network_id = "tradenet"
@@ -6969,22 +7829,14 @@
/turf/simulated/floor/tiled/techmaint,
/area/ship/trade/crew/hallway/starboard)
"Wb" = (
-/obj/effect/floor_decal/corner/beige{
+/obj/effect/floor_decal/techfloor/orange{
dir = 6
},
-/obj/machinery/alarm{
- dir = 8;
- pixel_x = 24
- },
-/obj/structure/bed/chair{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/hidden,
/obj/structure/handrail{
- dir = 8
+ dir = 1
},
-/turf/simulated/floor/tiled,
-/area/ship/trade/shuttle/outgoing)
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"Wc" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -7038,14 +7890,50 @@
/obj/structure/cable{
icon_state = "4-8"
},
-/obj/machinery/door/airlock/hatch/autoname/engineering,
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
-/obj/structure/cable{
- icon_state = "1-4"
+/obj/machinery/door/airlock/hatch/autoname/engineering,
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/structure/cable{
+ icon_state = "1-4"
+ },
+/turf/simulated/floor/tiled/steel_ridged,
+/area/ship/trade/maintenance/atmos)
+"WF" = (
+/obj/structure/handrail{
+ dir = 8
+ },
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "bee_pump_out_external"
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 5
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
+"WK" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 8;
+ id_tag = "tradeship_rescue_shuttle_pump_out_internal"
+ },
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 9
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
+"WM" = (
+/obj/structure/catwalk,
+/obj/structure/railing/mapped{
+ dir = 1
+ },
+/obj/structure/railing/mapped{
+ dir = 8
},
-/turf/simulated/floor/tiled/steel_ridged,
-/area/ship/trade/maintenance/atmos)
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
"WO" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -7065,6 +7953,10 @@
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/ship/trade/maintenance/atmos)
+"Xx" = (
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
"Xz" = (
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled/techmaint,
@@ -7124,6 +8016,38 @@
},
/turf/simulated/floor/tiled/techfloor,
/area/ship/trade/maintenance/engineering)
+"Yd" = (
+/obj/structure/cable/orange{
+ icon_state = "2-4"
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{
+ dir = 1
+ },
+/obj/effect/shuttle_landmark/docking_arm_port/shuttle,
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/outgoing/general)
+"Yl" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 4;
+ id_tag = "tradeship_rescue_shuttle_pump"
+ },
+/obj/effect/floor_decal/corner/white{
+ dir = 6
+ },
+/obj/structure/bed/chair{
+ dir = 1
+ },
+/turf/simulated/floor/tiled,
+/area/ship/trade/shuttle/rescue)
+"Ys" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/red{
+ dir = 8
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 9
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"Yt" = (
/obj/structure/handrail{
dir = 8
@@ -7144,9 +8068,32 @@
},
/turf/simulated/floor/tiled/dark,
/area/ship/trade/command/bridge)
+"YI" = (
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1;
+ level = 2
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/red{
+ dir = 4
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"YN" = (
/turf/simulated/floor/plating,
/area/ship/trade/crew/hallway/starboard)
+"YR" = (
+/obj/effect/paint/red,
+/obj/machinery/atmospherics/pipe/simple/hidden{
+ dir = 6
+ },
+/turf/simulated/wall/titanium,
+/area/ship/trade/shuttle/rescue)
"YS" = (
/obj/structure/lattice,
/obj/effect/paint/brown,
@@ -7159,6 +8106,22 @@
},
/turf/simulated/floor/plating,
/area/ship/trade/maintenance/power)
+"Zb" = (
+/obj/item/radio/intercom{
+ dir = 4;
+ pixel_x = -22
+ },
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/engineering)
"Zc" = (
/obj/structure/closet/secure_closet/engineering_electrical,
/obj/item/cell/device/standard,
@@ -7174,6 +8137,18 @@
},
/turf/simulated/floor/tiled/techfloor/grid,
/area/ship/trade/maintenance/power)
+"Zf" = (
+/obj/structure/railing/mapped{
+ dir = 2
+ },
+/obj/structure/handrail{
+ dir = 4
+ },
+/obj/effect/floor_decal/techfloor/orange{
+ dir = 10
+ },
+/turf/simulated/floor/plating,
+/area/ship/trade/shuttle/outgoing/general)
"Zg" = (
/obj/structure/handrail{
dir = 4
@@ -7191,6 +8166,17 @@
},
/turf/space,
/area/space)
+"Zx" = (
+/obj/structure/lattice,
+/turf/space,
+/area/ship/trade/shuttle/outgoing/general)
+"ZK" = (
+/obj/machinery/atmospherics/unary/vent_pump/high_volume/external_air{
+ dir = 1;
+ id_tag = "tradeship_rescue_shuttle_pump_out_external"
+ },
+/turf/simulated/floor/airless,
+/area/ship/trade/shuttle/rescue)
(1,1,1) = {"
aa
@@ -8773,15 +9759,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+WM
+Eh
+lW
+Eq
+DC
+Eq
+Eq
+sw
+Cq
aa
aa
aa
@@ -8854,17 +9840,17 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+Sk
+gN
+qv
+Sj
+Eq
+DH
+UA
+sm
+Ys
+nD
+GB
aa
aa
aa
@@ -8933,20 +9919,20 @@ aa
aa
aa
aa
+pv
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+og
+uf
+CV
+Vl
+Eq
+vY
+Br
+GD
+WF
+HZ
+KA
aa
aa
aa
@@ -9015,21 +10001,21 @@ aa
aa
aa
aa
+Zx
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+NG
+Eq
+Eq
+GD
+Eq
+Eq
+NT
+LU
+If
+LU
+uk
+LU
+CI
aa
aa
aa
@@ -9095,23 +10081,23 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+IH
+Zx
+BN
+BN
+UT
+Eq
+NM
+rL
+to
+sG
+Nm
+xW
+yq
+Zb
+YI
+tv
+LU
aa
aa
aa
@@ -9177,23 +10163,23 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+IH
+Zx
+BN
+lJ
+mf
+sA
+Vq
+QF
+Ld
+QF
+yy
+LU
+GS
+xM
+Nd
+MW
+If
aa
aa
aa
@@ -9259,23 +10245,23 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
+IH
+Lu
+BN
+NS
ab
aL
-aL
-at
-aL
-aL
-aL
-aL
-aL
-aL
-aL
+Ba
+Xx
+kX
+Xx
+Yd
+Tr
+sj
+mr
+mW
hb
-aa
+LU
aa
aa
aa
@@ -9341,23 +10327,23 @@ aa
aa
aa
aa
-aa
-aa
-at
-at
-aL
-aL
+IH
+Zx
+BN
+BN
+UT
+Eq
bg
bi
Vb
bK
bx
-cc
+LU
cp
cz
-aL
-aL
-aa
+qt
+uD
+If
aa
aa
aa
@@ -9425,21 +10411,21 @@ aa
aa
aa
aa
-at
-Ah
+Zx
+aa
Lb
-Gv
-bh
-mw
-bp
-aL
+Eq
+Eq
+GD
+Eq
+Eq
bL
-aL
-cq
-cA
-cH
-aL
-aa
+LU
+If
+LU
+uk
+LU
+Tx
aa
aa
Lx
@@ -9508,19 +10494,19 @@ aa
aa
aa
at
-ob
-Mb
+aa
+aa
Nb
Sb
-bi
+qv
bq
-at
+Eq
ac
cd
-wc
+GD
cB
cI
-aL
+Zf
aa
aa
YS
@@ -9589,20 +10575,20 @@ aa
aa
aa
aa
-at
-xb
-aL
-aL
+aa
+aa
+aa
+OD
Tb
-Ub
+CV
Wb
-Nb
+Eq
bJ
-aL
-cs
+Kx
+sm
cC
-aL
-aL
+Bl
+uL
aa
vj
Ui
@@ -9672,19 +10658,19 @@ aa
aa
aa
aa
-zb
-nu
-aL
-aL
-at
-aL
-aL
+aa
+aa
+aa
+Bi
+Rg
+oV
+Eq
bH
-aL
-aL
-aL
-aL
-lx
+Eq
+Eq
+lb
+Dw
+aa
aa
vj
cU
@@ -9764,7 +10750,7 @@ bA
bI
bA
aa
-aa
+rn
aa
aa
aa
@@ -11151,15 +12137,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+RM
+RM
+YR
+UQ
+DY
+kr
+GO
+UQ
+ZK
aa
aa
om
@@ -11233,15 +12219,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
+RM
+Dj
+oM
+qA
cb
-aa
-aa
-aa
-aa
+WK
+xz
+EA
+Cz
aa
aa
om
@@ -11315,15 +12301,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+RM
+SB
+PB
+nm
+iS
+Yl
+UY
+EA
+Cz
aa
aa
aa
@@ -11397,15 +12383,15 @@ aa
aa
aa
aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+RM
+RM
+IW
+AE
+AE
+qM
+Dx
+IW
+ZK
aa
aa
aa
diff --git a/maps/tradeship/tradeship-3.dmm b/maps/tradeship/tradeship-3.dmm
index f414639226e..86da21e922e 100644
--- a/maps/tradeship/tradeship-3.dmm
+++ b/maps/tradeship/tradeship-3.dmm
@@ -567,7 +567,9 @@
/turf/simulated/floor/plating,
/area/ship/trade/bridge_unused)
"dm" = (
-/obj/abstract/level_data/main_level,
+/obj/abstract/level_data/main_level{
+ name = "Tradeship Upper Deck";
+},
/turf/space,
/area/space)
"dq" = (
diff --git a/maps/tradeship/tradeship_areas.dm b/maps/tradeship/tradeship_areas.dm
index 9f10c188d1b..d6e4977733e 100644
--- a/maps/tradeship/tradeship_areas.dm
+++ b/maps/tradeship/tradeship_areas.dm
@@ -11,6 +11,9 @@
name = "\improper Tradeship"
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambigen12.ogg')
+/area/ship/trade
+ holomap_color = HOLOMAP_AREACOLOR_CREW
+
/area/ship/trade/crew
name = "\improper Crew Compartements"
icon_state = "crew_quarters"
@@ -52,11 +55,13 @@
name = "\improper Medical Bay"
icon_state = "medbay"
area_flags = AREA_FLAG_RAD_SHIELDED
+ holomap_color = HOLOMAP_AREACOLOR_MEDICAL
/area/ship/trade/cargo
name = "\improper Cargo Hold"
icon_state = "quartstorage"
area_flags = AREA_FLAG_RAD_SHIELDED
+ holomap_color = HOLOMAP_AREACOLOR_CARGO
/area/ship/trade/cargo/lower
name = "Loading Bay"
@@ -65,43 +70,51 @@
/area/ship/trade/dock
name = "\improper Docking Bay"
icon_state = "entry_1"
-
+ holomap_color = HOLOMAP_AREACOLOR_AIRLOCK
/area/ship/trade/aft_port_underside_maint
name = "\improper Underside - Aft Port Maintenance"
icon_state = "medbay"
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_MAINTENANCE
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/aft_starboard_underside_maint
name = "\improper Underside - Aft Starboard Maintenance"
icon_state = "toilet"
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_MAINTENANCE
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/loading_bay
name = "\improper Underside - Loading Bay"
icon_state = "entry_1"
+ holomap_color = HOLOMAP_AREACOLOR_AIRLOCK
/area/ship/trade/fore_port_underside_maint
name = "\improper Underside - Fore Port Maintenance"
icon_state = "green"
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_MAINTENANCE
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/livestock
name = "\improper Underside - Livestock Handling"
icon_state = "red"
req_access = list(access_xenobiology)
+ holomap_color = HOLOMAP_AREACOLOR_SCIENCE
/area/ship/trade/fore_starboard_underside_maint
name = "\improper Underside - Fore Starboard Maintenance"
icon_state = "locker"
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_MAINTENANCE
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/disused
name = "\improper Underside - Disused"
icon_state = "yellow"
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/undercomms
name = "\improper Underside - Communications Relay"
icon_state = "blue"
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ship/trade/garden
name = "\improper Garden"
@@ -112,38 +125,46 @@
icon_state = "yellow"
turf_initializer = /decl/turf_initializer/maintenance
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambimo1.ogg','sound/ambience/ambimo2.ogg')
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/hidden
name = "\improper Unknown" //shielded compartment
icon_state = "auxstorage"
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/escape_port
name = "\improper Port Escape Pods"
icon_state = "green"
+ holomap_color = HOLOMAP_AREACOLOR_AIRLOCK
/area/ship/trade/escape_star
name = "\improper Starboard Escape Pods"
icon_state = "yellow"
+ holomap_color = HOLOMAP_AREACOLOR_AIRLOCK
/area/ship/trade/science
name = "\improper Research Bay"
icon_state = "green"
req_access = list(access_research)
+ holomap_color = HOLOMAP_AREACOLOR_SCIENCE
/area/ship/trade/science/fabricaton
name = "\improper Fabrication Bay"
icon_state = "yellow"
req_access = list(access_research)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ship/trade/crew/medbay/chemistry
name = "\improper Chemistry Bay"
icon_state = "cave"
req_access = list(access_medical)
+ holomap_color = HOLOMAP_AREACOLOR_MEDICAL
/area/ship/trade/maintenance
name = "\improper Maintenance Compartments"
icon_state = "amaint"
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_MAINTENANCE
+ holomap_color = HOLOMAP_AREACOLOR_MAINTENANCE
/area/ship/trade/maintenance/hallway
name = "\improper Maintenance Corridors"
@@ -177,17 +198,20 @@
icon_state = "atmos"
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambiatm1.ogg')
req_access = list(access_engine)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ship/trade/maintenance/power
name = "\improper Power Compartment"
icon_state = "engine_smes"
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambieng1.ogg')
req_access = list(access_engine)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ship/trade/maintenance/engine
icon_state = "engine"
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/ambigen5.ogg','sound/ambience/ambigen6.ogg','sound/ambience/ambigen7.ogg','sound/ambience/ambigen8.ogg','sound/ambience/ambigen9.ogg','sound/ambience/ambigen10.ogg','sound/ambience/ambigen11.ogg','sound/ambience/ambieng1.ogg')
req_access = list(access_engine)
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ship/trade/maintenance/engine/aft
name = "\improper Main Engine Bay"
@@ -232,6 +256,7 @@
name = "\improper Communications Relay"
icon_state = "tcomsatcham"
ambience = list('sound/ambience/ambigen3.ogg','sound/ambience/ambigen4.ogg','sound/ambience/signal.ogg','sound/ambience/sonar.ogg')
+ holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/ship/trade/bridge_unused
name = "\improper Bridge Starboard Storage"
@@ -240,25 +265,36 @@
/area/ship/trade/shuttle
area_flags = AREA_FLAG_RAD_SHIELDED
-/area/ship/trade/shuttle/outgoing
- name = "\improper Exploration Shuttle"
+/area/ship/trade/shuttle/outgoing/general
+ name = "\improper Bee"
+ icon_state = "away"
+
+/area/ship/trade/shuttle/outgoing/engineering
+ name = "\improper Bee Skiff Engineering Compartment"
+ icon_state = "yellow"
+
+/area/ship/trade/shuttle/rescue
+ name = "\improper Rescue Shuttle"
icon_state = "tcomsatcham"
/area/ship/trade/maintenance/solars
name = "\improper Solar Array Access"
icon_state = "SolarcontrolA"
req_access = list(access_engine)
+ holomap_color = HOLOMAP_AREACOLOR_AIRLOCK
/area/ship/trade/artifact_storage
name = "\improper Artifact Storage"
icon_state = "ai_cyborg"
req_access = list(access_xenoarch)
+ holomap_color = HOLOMAP_AREACOLOR_SCIENCE
/area/ship/trade/drunk_tank
name = "Drunk Tank"
icon_state = "brig"
req_access = list(access_brig)
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_SECURITY
+ holomap_color = HOLOMAP_AREACOLOR_SECURITY
/area/turbolift
name = "\improper Cargo Elevator"
diff --git a/maps/tradeship/tradeship_overmap.dm b/maps/tradeship/tradeship_overmap.dm
index f9b452c16f9..2ae3c3f5dc5 100644
--- a/maps/tradeship/tradeship_overmap.dm
+++ b/maps/tradeship/tradeship_overmap.dm
@@ -9,7 +9,12 @@
restricted_area = 30
sector_flags = OVERMAP_SECTOR_KNOWN|OVERMAP_SECTOR_BASE|OVERMAP_SECTOR_IN_SPACE
- initial_generic_waypoints = list("nav_tradeship_below_bow", "nav_tradeship_below_starboardastern", "nav_tradeship_starboard_dock_pod")
- initial_restricted_waypoints = list(
- /datum/shuttle/autodock/overmap/exploration = list("nav_tradeship_port_dock_shuttle"), // exploration ship can only dock portside
+ initial_generic_waypoints = list(
+ "nav_tradeship_below_bow",
+ "nav_tradeship_below_starboardastern"
)
+ //exploration and rescue shuttles can only dock port side, b/c there's only one door.
+ initial_restricted_waypoints = list(
+ /datum/shuttle/autodock/overmap/exploration = list("nav_tradeship_port_dock_shuttle"),
+ /datum/shuttle/autodock/overmap/rescue = list("nav_tradeship_starboard_dock_rescue")
+ )
\ No newline at end of file
diff --git a/maps/tradeship/tradeship_shuttles.dm b/maps/tradeship/tradeship_shuttles.dm
index 2d9232bd098..5cd189ab415 100644
--- a/maps/tradeship/tradeship_shuttles.dm
+++ b/maps/tradeship/tradeship_shuttles.dm
@@ -1,21 +1,31 @@
/obj/machinery/computer/shuttle_control/explore/tradeship
name = "exploration shuttle console"
- shuttle_tag = "Exploration Shuttle"
+ shuttle_tag = "Bee Shuttle"
+
+/obj/machinery/computer/shuttle_control/explore/rescue
+ name = "rescue shuttle console"
+ shuttle_tag = "Rescue Shuttle"
/datum/shuttle/autodock/overmap/exploration
- name = "Exploration Shuttle"
- shuttle_area = /area/ship/trade/shuttle/outgoing
- dock_target = "tradeship_shuttle"
+ name = "Bee Shuttle"
+ shuttle_area = list(/area/ship/trade/shuttle/outgoing/general, /area/ship/trade/shuttle/outgoing/engineering)
+ dock_target = "bee_star"
current_location = "nav_tradeship_port_dock_shuttle"
+/datum/shuttle/autodock/overmap/rescue
+ name = "Rescue Shuttle"
+ shuttle_area = /area/ship/trade/shuttle/rescue
+ dock_target = "rescue_shuttle"
+ current_location = "nav_tradeship_starboard_dock_rescue"
+
//In case multiple shuttles can dock at a location,
//subtypes can be used to hold the shuttle-specific data
/obj/effect/shuttle_landmark/docking_arm_starboard
name = "Tradeship Starboard-side Docking Arm"
docking_controller = "tradeship_starboard_dock"
-/obj/effect/shuttle_landmark/docking_arm_starboard/pod
- landmark_tag = "nav_tradeship_starboard_dock_pod"
+/obj/effect/shuttle_landmark/docking_arm_starboard/rescue
+ landmark_tag = "nav_tradeship_starboard_dock_rescue"
/obj/effect/shuttle_landmark/docking_arm_port
name = "Tradeship Port-side Docking Arm"
diff --git a/maps/tradeship/tradeship_unit_testing.dm b/maps/tradeship/tradeship_unit_testing.dm
index 5fc81b0f665..92a00ba67fc 100644
--- a/maps/tradeship/tradeship_unit_testing.dm
+++ b/maps/tradeship/tradeship_unit_testing.dm
@@ -4,18 +4,20 @@
/datum/map/tradeship
// Unit test exemptions
apc_test_exempt_areas = list(
- /area/turbolift = NO_SCRUBBER|NO_VENT|NO_APC,
- /area/space = NO_SCRUBBER|NO_VENT|NO_APC,
- /area/exoplanet = NO_SCRUBBER|NO_VENT|NO_APC,
- /area/ship/trade/maintenance/engine/port = NO_SCRUBBER|NO_VENT,
+ /area/turbolift = NO_SCRUBBER|NO_VENT|NO_APC,
+ /area/space = NO_SCRUBBER|NO_VENT|NO_APC,
+ /area/exoplanet = NO_SCRUBBER|NO_VENT|NO_APC,
+ /area/ship/trade/maintenance/engine/port = NO_SCRUBBER|NO_VENT,
/area/ship/trade/maintenance/engine/starboard = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/crew/hallway/port = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/crew/hallway/starboard = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/maintenance/hallway = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/maintenance/lower = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/escape_port = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/escape_star = NO_SCRUBBER|NO_VENT,
- /area/ship/trade/shuttle/outgoing = NO_SCRUBBER,
- /area/ship/trade/maintenance/atmos = NO_SCRUBBER
+ /area/ship/trade/crew/hallway/port = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/crew/hallway/starboard = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/maintenance/hallway = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/maintenance/lower = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/escape_port = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/escape_star = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/shuttle/rescue = NO_SCRUBBER|NO_VENT,
+ /area/ship/trade/shuttle/outgoing/general = NO_SCRUBBER,
+ /area/ship/trade/shuttle/outgoing/engineering = NO_SCRUBBER,
+ /area/ship/trade/maintenance/atmos = NO_SCRUBBER
)
diff --git a/maps/~mapsystem/maps.dm b/maps/~mapsystem/maps.dm
index eba9655b703..5e7b0a00138 100644
--- a/maps/~mapsystem/maps.dm
+++ b/maps/~mapsystem/maps.dm
@@ -25,23 +25,6 @@ var/global/const/MAP_HAS_RANK = 2 //Rank system, also togglable
// TODO: move all the lobby stuff onto this handler.
var/lobby_handler = /decl/lobby_handler
-
- var/list/station_levels = list() // Z-levels the station exists on
- var/list/admin_levels = list() // Z-levels for admin functionality (Centcom, shuttle transit, etc)
- var/list/contact_levels = list() // Z-levels that can be contacted from the station, for eg announcements
- var/list/player_levels = list() // Z-levels a character can typically reach
- var/list/sealed_levels = list() // Z-levels that don't allow random transit at edge
-
- var/list/map_levels // Z-levels available to various consoles, such as the crew monitor. Defaults to station_levels if unset.
-
- var/list/base_turf_by_z = list() // Custom base turf by Z-level. Defaults to world.turf for unlisted Z-levels
-
- var/base_floor_type = /turf/simulated/floor/airless // The turf type used when generating floors between Z-levels at startup.
- var/base_floor_area // Replacement area, if a base_floor_type is generated. Leave blank to skip.
-
- //This list contains the z-level numbers which can be accessed via space travel and the percentile chances to get there.
- var/list/accessible_z_levels = list()
-
var/list/allowed_jobs //Job datums to use.
//Works a lot better so if we get to a point where three-ish maps are used
//We don't have to C&P ones that are only common between two of them
@@ -119,6 +102,7 @@ var/global/const/MAP_HAS_RANK = 2 //Rank system, also togglable
var/id_hud_icons = 'icons/mob/hud.dmi' // Used by the ID HUD (primarily sechud) overlay.
var/num_exoplanets = 0
+ var/force_exoplanet_type // Used to override exoplanet weighting and always pick the same exoplanet.
//dimensions of planet zlevels, defaults to world size if smaller, INCREASES world size if larger.
//Due to how maps are generated, must be (2^n+1) e.g. 17,33,65,129 etc. Map will just round up to those if set to anything other.
var/list/planet_size = list()
@@ -202,8 +186,8 @@ var/global/const/MAP_HAS_RANK = 2 //Rank system, also togglable
allowed_spawns -= spawn_type
allowed_spawns += GET_DECL(spawn_type)
- if(!map_levels)
- map_levels = station_levels.Copy()
+ if(!SSmapping.map_levels)
+ SSmapping.map_levels = SSmapping.station_levels.Copy()
if(!LAZYLEN(planet_size))
planet_size = list(world.maxx, world.maxy)
@@ -228,9 +212,6 @@ var/global/const/MAP_HAS_RANK = 2 //Rank system, also togglable
/datum/map/proc/send_welcome()
return
-/datum/map/proc/perform_map_generation()
- return
-
/datum/map/proc/build_away_sites()
#ifdef UNIT_TEST
report_progress("Unit testing, so not loading away sites")
@@ -273,34 +254,26 @@ var/global/const/MAP_HAS_RANK = 2 //Rank system, also togglable
world.maxy = planet_size[2]
for(var/i = 0, i < num_exoplanets, i++)
var/exoplanet_type = pick_exoplanet()
- INCREMENT_WORLD_Z_SIZE
- var/obj/effect/overmap/visitable/sector/exoplanet/new_planet = new exoplanet_type(null, world.maxz)
+ var/obj/abstract/level_data/exoplanet/planet_level = SSmapping.increment_world_z_size(/obj/abstract/level_data/exoplanet, TRUE)
+ var/obj/effect/overmap/visitable/sector/exoplanet/new_planet = new exoplanet_type(locate(1, 1, world.maxz))
+ new_planet.zlevels += planet_level
new_planet.build_level(planet_size[1], planet_size[2])
/datum/map/proc/pick_exoplanet()
+ if(force_exoplanet_type)
+ return force_exoplanet_type
var/planets = list()
for(var/T in subtypesof(/obj/effect/overmap/visitable/sector/exoplanet))
var/obj/effect/overmap/visitable/sector/exoplanet/planet_type = T
planets[T] = initial(planet_type.spawn_weight)
return pickweight(planets)
-// Used to apply various post-compile procedural effects to the map.
-/datum/map/proc/refresh_mining_turfs(var/zlevel)
-
- set background = 1
- set waitfor = 0
-
- for(var/thing in mining_floors["[zlevel]"])
- var/turf/simulated/floor/asteroid/M = thing
- if(istype(M))
- M.updateMineralOverlays()
-
/datum/map/proc/get_network_access(var/network)
return 0
// By default transition randomly to another zlevel
/datum/map/proc/get_transit_zlevel(var/current_z_level)
- var/list/candidates = global.using_map.accessible_z_levels.Copy()
+ var/list/candidates = SSmapping.accessible_z_levels.Copy()
candidates.Remove(num2text(current_z_level))
if(!candidates.len)
@@ -441,15 +414,3 @@ var/global/const/MAP_HAS_RANK = 2 //Rank system, also togglable
/datum/map/proc/populate_overmap_events()
for(var/overmap_id in global.overmaps_by_name)
SSmapping.overmap_event_handler.create_events(global.overmaps_by_name[overmap_id])
-
-/datum/map/proc/get_zlevel_name(var/z)
- z = "[z]"
- if(!z)
- return "Unknown Sector"
- var/obj/abstract/level_data/level = global.levels_by_z[z]
- if(level?.level_name)
- return level.level_name
- var/obj/effect/overmap/overmap_entity = global.overmap_sectors[z]
- if(overmap_entity?.name)
- return overmap_entity.name
- return "Sector #[z]"
diff --git a/maps/~mapsystem/maps_areas.dm b/maps/~mapsystem/maps_areas.dm
index 2c90e905e2e..d2a000aeb66 100644
--- a/maps/~mapsystem/maps_areas.dm
+++ b/maps/~mapsystem/maps_areas.dm
@@ -11,5 +11,5 @@
for(var/area/A)
if(isspacearea(A))
continue
- if(A.z && (A.z in admin_levels))
+ if(A.z && (A.z in SSmapping.admin_levels))
post_round_safe_areas += A.type
diff --git a/maps/~mapsystem/maps_environment.dm b/maps/~mapsystem/maps_environment.dm
deleted file mode 100644
index 045f719c6ab..00000000000
--- a/maps/~mapsystem/maps_environment.dm
+++ /dev/null
@@ -1,21 +0,0 @@
-/datum/map
- /// A per-turf gasmix (associative, ex. list(/decl/material/gas/oxygen = O2STANDARD)) returned to exterior return_air.
- var/list/exterior_atmos_composition
- /// Temperature of standard exterior atmosphere.
- var/exterior_atmos_temp = T20C
- /// Gaxmis datum generated from exterior_atmos_composition.
- var/datum/gas_mixture/exterior_atmosphere
-
-/datum/map/proc/build_exterior_atmosphere()
- exterior_atmosphere = new
- for(var/gas in exterior_atmos_composition)
- exterior_atmosphere.adjust_gas(gas, exterior_atmos_composition[gas], FALSE)
- exterior_atmosphere.temperature = exterior_atmos_temp
- exterior_atmosphere.update_values()
- exterior_atmosphere.check_tile_graphic()
-
-/datum/map/proc/get_exterior_atmosphere()
- if(exterior_atmosphere)
- var/datum/gas_mixture/gas = new
- gas.copy_from(exterior_atmosphere)
- return gas
diff --git a/maps/~unit_tests/proximity_tests.dmm b/maps/~unit_tests/proximity_tests.dmm
index c1a885dfe62..2c37f2e8236 100644
--- a/maps/~unit_tests/proximity_tests.dmm
+++ b/maps/~unit_tests/proximity_tests.dmm
@@ -19,9 +19,13 @@
/obj/abstract/landmark/proximity_wall,
/turf/simulated/wall,
/area/test_area/proximity)
+"Q" = (
+/obj/abstract/level_data/debug,
+/turf/space,
+/area/space)
(1,1,1) = {"
-a
+Q
a
a
a
diff --git a/maps/~unit_tests/unit_tests.dmm b/maps/~unit_tests/unit_tests.dmm
index bd49c43884d..2ec10d96ea5 100644
--- a/maps/~unit_tests/unit_tests.dmm
+++ b/maps/~unit_tests/unit_tests.dmm
@@ -69,6 +69,12 @@
/obj/abstract/landmark/test/space_turf,
/turf/space,
/area/test_area/general)
+"X" = (
+/obj/abstract/level_data/debug,
+/turf/unsimulated/floor{
+ icon_state = "hydrofloor"
+ },
+/area/test_area/powered_dynamic_lighting)
(1,1,1) = {"
a
@@ -421,7 +427,7 @@ n
n
n
b
-d
+X
b
f
k
diff --git a/mods/content/corporate/_corporate.dme b/mods/content/corporate/_corporate.dme
index dc0fc83ae5f..2ab5787a2c8 100644
--- a/mods/content/corporate/_corporate.dme
+++ b/mods/content/corporate/_corporate.dme
@@ -26,6 +26,7 @@
#include "clothing\under\uniforms.dm"
#include "datum\ai_icons.dm"
#include "datum\ai_laws.dm"
+#include "datum\loadout.dm"
#include "datum\robolimbs.dm"
#include "datum\antagonists\commando.dm"
#include "datum\antagonists\deathsquad.dm"
@@ -38,5 +39,6 @@
#include "items\medals.dm"
#include "items\wristcomp.dm"
#include "machines\machines.dm"
+#include "structures\lockers.dm"
// END_INCLUDE
#endif
diff --git a/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm b/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm
index f13e010dddb..7e97ebf1f82 100644
--- a/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm
+++ b/mods/content/corporate/away_sites/lar_maria/lar_maria-2.dmm
@@ -1108,10 +1108,12 @@
/obj/machinery/atmospherics/omni/filter{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/lar_maria/atmos)
"dr" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/cyan,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/lar_maria/atmos)
"ds" = (
@@ -1177,10 +1179,12 @@
/area/lar_maria/atmos)
"dD" = (
/obj/machinery/atmospherics/binary/oxyregenerator,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/lar_maria/atmos)
"dE" = (
/obj/machinery/atmospherics/pipe/simple/visible/blue,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/lar_maria/atmos)
"dF" = (
@@ -3090,6 +3094,13 @@
},
/turf/simulated/floor/plating,
/area/lar_maria/solar_control)
+"ok" = (
+/obj/machinery/atmospherics/binary/pump{
+ dir = 4
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/lar_maria/atmos)
"pb" = (
/obj/machinery/atmospherics/binary/pump{
dir = 8
@@ -3183,12 +3194,31 @@
},
/turf/simulated/floor/tiled/white,
/area/lar_maria/head_f)
+"Ag" = (
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 8
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/lar_maria/atmos)
"DG" = (
/obj/machinery/computer/modular{
dir = 1
},
/turf/simulated/floor/tiled,
/area/lar_maria/office)
+"FZ" = (
+/obj/machinery/atmospherics/pipe/simple/visible/red,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/lar_maria/atmos)
+"YS" = (
+/obj/machinery/atmospherics/pipe/simple/visible/red{
+ dir = 10
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/lar_maria/atmos)
(1,1,1) = {"
aa
@@ -22470,7 +22500,7 @@ pb
ci
cA
cR
-cR
+ok
dB
tb
bx
@@ -22671,7 +22701,7 @@ bx
bM
ci
cn
-cl
+YS
dn
dB
bM
@@ -22874,7 +22904,7 @@ bN
ci
cn
cn
-cR
+ok
dC
dO
bx
@@ -23480,7 +23510,7 @@ bQ
ck
bQ
cU
-cU
+Ag
bQ
dR
bG
@@ -24085,7 +24115,7 @@ bx
qb
cl
cB
-cB
+FZ
dp
dF
ub
diff --git a/mods/content/corporate/datum/loadout.dm b/mods/content/corporate/datum/loadout.dm
index 00d68c950c2..5d33e0adf7f 100644
--- a/mods/content/corporate/datum/loadout.dm
+++ b/mods/content/corporate/datum/loadout.dm
@@ -15,7 +15,7 @@
/decl/loadout_option/accessory/armband_nt
name = "corporate armband"
- path = /obj/item/clothing/accessory/armband/whitered
+ path = /obj/item/clothing/accessory/armband/whitegreen
/decl/loadout_option/suit/labcoat_corp
name = "labcoat, corporate colors"
@@ -23,7 +23,7 @@
flags = GEAR_HAS_TYPE_SELECTION
/decl/loadout_option/uniform/corporate
- namename = "corporate uniform selection"
+ name = "corporate uniform selection"
path = /obj/item/clothing/under
/decl/loadout_option/uniform/corporate/get_gear_tweak_options()
diff --git a/mods/content/corporate/icons/cyberlimbs/bishop/bishop_main.dmi b/mods/content/corporate/icons/cyberlimbs/bishop/bishop_main.dmi
index 7416142c7fc..97cee647880 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/bishop/bishop_main.dmi and b/mods/content/corporate/icons/cyberlimbs/bishop/bishop_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/bishop/bishop_rook.dmi b/mods/content/corporate/icons/cyberlimbs/bishop/bishop_rook.dmi
index 38aba177e92..e32cd73d76b 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/bishop/bishop_rook.dmi and b/mods/content/corporate/icons/cyberlimbs/bishop/bishop_rook.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_main.dmi b/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_main.dmi
index 55a22e74555..c5459759caf 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_main.dmi and b/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_titan.dmi b/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_titan.dmi
index b22ce8aff62..537c9ce6879 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_titan.dmi and b/mods/content/corporate/icons/cyberlimbs/hephaestus/hephaestus_titan.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_main.dmi b/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_main.dmi
index c34c6eeb8f6..4e93da50ad5 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_main.dmi and b/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_mantis.dmi b/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_mantis.dmi
index 8e99e8af8fd..3e67999d772 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_mantis.dmi and b/mods/content/corporate/icons/cyberlimbs/morpheus/morpheus_mantis.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/nanotrasen/nanotrasen_main.dmi b/mods/content/corporate/icons/cyberlimbs/nanotrasen/nanotrasen_main.dmi
index 817df63e3ee..66d0bbdb870 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/nanotrasen/nanotrasen_main.dmi and b/mods/content/corporate/icons/cyberlimbs/nanotrasen/nanotrasen_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/shellguard/shellguard_main.dmi b/mods/content/corporate/icons/cyberlimbs/shellguard/shellguard_main.dmi
index a91367c6b2a..f0f2ad5f42e 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/shellguard/shellguard_main.dmi and b/mods/content/corporate/icons/cyberlimbs/shellguard/shellguard_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/veymed/veymed_female.dmi b/mods/content/corporate/icons/cyberlimbs/veymed/veymed_female.dmi
index 41d1d1e6f51..26b92416d23 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/veymed/veymed_female.dmi and b/mods/content/corporate/icons/cyberlimbs/veymed/veymed_female.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/veymed/veymed_male.dmi b/mods/content/corporate/icons/cyberlimbs/veymed/veymed_male.dmi
index 783725c8459..b4fd5806bb0 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/veymed/veymed_male.dmi and b/mods/content/corporate/icons/cyberlimbs/veymed/veymed_male.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_economy.dmi b/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_economy.dmi
index 3134918466f..e5357284eff 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_economy.dmi and b/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_economy.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_main.dmi b/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_main.dmi
index 7122cafb818..1fb14207c9b 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_main.dmi and b/mods/content/corporate/icons/cyberlimbs/wardtakahashi/wardtakahashi_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/xion/xion_econo.dmi b/mods/content/corporate/icons/cyberlimbs/xion/xion_econo.dmi
index ecdfcc197c7..7bb9044f86b 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/xion/xion_econo.dmi and b/mods/content/corporate/icons/cyberlimbs/xion/xion_econo.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/xion/xion_main.dmi b/mods/content/corporate/icons/cyberlimbs/xion/xion_main.dmi
index 3fd2d896fde..b404f187388 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/xion/xion_main.dmi and b/mods/content/corporate/icons/cyberlimbs/xion/xion_main.dmi differ
diff --git a/mods/content/corporate/icons/cyberlimbs/zenghu/zenghu_spirit.dmi b/mods/content/corporate/icons/cyberlimbs/zenghu/zenghu_spirit.dmi
index 000d3837d69..ab9adde10b2 100644
Binary files a/mods/content/corporate/icons/cyberlimbs/zenghu/zenghu_spirit.dmi and b/mods/content/corporate/icons/cyberlimbs/zenghu/zenghu_spirit.dmi differ
diff --git a/mods/content/generic_shuttles/tanker/tanker.dmm b/mods/content/generic_shuttles/tanker/tanker.dmm
index 005876b84bc..02a3995e394 100644
--- a/mods/content/generic_shuttles/tanker/tanker.dmm
+++ b/mods/content/generic_shuttles/tanker/tanker.dmm
@@ -83,7 +83,7 @@
/area/tanker)
"fi" = (
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 8
+ dir = 4
},
/turf/simulated/floor/reinforced/oxygen,
/area/tanker)
@@ -441,13 +441,13 @@
"Sf" = (
/obj/effect/wallframe_spawn/reinforced,
/obj/machinery/atmospherics/pipe/simple/hidden/fuel{
- dir = 8
+ dir = 4
},
/turf/simulated/floor/plating,
/area/tanker)
"So" = (
/obj/machinery/atmospherics/unary/outlet_injector{
- dir = 4;
+ dir = 8;
id_tag = "tanker_input"
},
/turf/simulated/floor/reinforced/oxygen,
diff --git a/mods/content/government/away_sites/icarus/icarus-1.dmm b/mods/content/government/away_sites/icarus/icarus-1.dmm
index 7f26d3567d8..11bd7e8d30b 100644
--- a/mods/content/government/away_sites/icarus/icarus-1.dmm
+++ b/mods/content/government/away_sites/icarus/icarus-1.dmm
@@ -1149,6 +1149,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled,
/area/icarus/open)
"dX" = (
@@ -1996,6 +1997,7 @@
"gy" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/icarus/vessel)
"gz" = (
@@ -2096,6 +2098,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/plating,
/area/icarus/open)
"gR" = (
@@ -2383,6 +2386,9 @@
dir = 4;
id_tag = "d1starboardnacelle"
},
+/obj/machinery/atmospherics/pipe/simple/visible/fuel{
+ dir = 4
+ },
/turf/simulated/floor/reinforced,
/area/icarus/vessel)
"hH" = (
@@ -2525,7 +2531,9 @@
/turf/unsimulated/beach/sand,
/area/icarus/open)
"id" = (
-/obj/machinery/atmospherics/unary/engine,
+/obj/machinery/atmospherics/unary/engine{
+ dir = 1
+ },
/turf/simulated/wall/r_wall,
/area/icarus/open)
"ie" = (
@@ -2661,6 +2669,19 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled/white,
/area/icarus/vessel)
+"rK" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled,
+/area/icarus/open)
+"sK" = (
+/obj/machinery/atmospherics/pipe/simple/visible/fuel{
+ dir = 4
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/plating,
+/area/icarus/open)
(1,1,1) = {"
aa
@@ -22008,7 +22029,7 @@ en
en
ei
et
-hD
+sK
eA
hX
et
@@ -22124,7 +22145,7 @@ dD
dK
dD
dD
-dD
+rK
ee
ei
ei
@@ -22207,7 +22228,7 @@ aq
gR
hd
eA
-hD
+sK
et
aq
hD
@@ -25760,7 +25781,7 @@ cf
dL
dY
dD
-dD
+rK
eA
ei
ei
diff --git a/mods/content/government/away_sites/icarus/icarus-2.dmm b/mods/content/government/away_sites/icarus/icarus-2.dmm
index c5f7ce09cff..30b7c9c2ba8 100644
--- a/mods/content/government/away_sites/icarus/icarus-2.dmm
+++ b/mods/content/government/away_sites/icarus/icarus-2.dmm
@@ -962,12 +962,12 @@
/turf/simulated/floor/tiled,
/area/icarus/vessel)
"df" = (
-/obj/machinery/door/airlock,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
+/obj/machinery/door/firedoor,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled,
-/area/icarus/vessel)
+/area/icarus/open)
"dg" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
@@ -1271,6 +1271,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless{
icon_state = "dmg2"
},
@@ -1343,6 +1344,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 9
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled,
/area/icarus/vessel)
"el" = (
@@ -1813,6 +1815,12 @@
/obj/structure/wall_frame,
/turf/simulated/floor/plating,
/area/icarus/vessel)
+"MC" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled,
+/area/icarus/open)
"RQ" = (
/obj/machinery/computer/modular{
dir = 4
@@ -21288,7 +21296,7 @@ dw
dU
dw
dw
-dw
+MC
ac
cR
ac
@@ -24921,7 +24929,7 @@ bY
bY
dN
dw
-dU
+df
dR
cR
cR
@@ -26126,7 +26134,7 @@ ap
cu
cJ
ap
-df
+bw
ap
ap
ap
diff --git a/mods/content/government/away_sites/icarus/icarus.dm b/mods/content/government/away_sites/icarus/icarus.dm
index 3b5d0d5b609..684b17ac277 100644
--- a/mods/content/government/away_sites/icarus/icarus.dm
+++ b/mods/content/government/away_sites/icarus/icarus.dm
@@ -42,7 +42,7 @@
prefix = "mods/content/government/away_sites/"
suffixes = list("icarus/icarus-1.dmm", "icarus/icarus-2.dmm")
cost = 2
- generate_mining_by_z = list(1, 2)
+ level_data_type = /obj/abstract/level_data/mining_level
area_usage_test_exempted_root_areas = list(/area/icarus)
area_coherency_test_exempt_areas = list(/area/icarus/vessel, /area/icarus/open)
apc_test_exempt_areas = list(
diff --git a/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm b/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm
index e9f433ed1b5..32eb5ee9437 100644
--- a/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm
+++ b/mods/content/government/ruins/ec_old_crash/ec_old_crash.dmm
@@ -79,6 +79,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/map_template/ecship/cockpit)
"ao" = (
@@ -310,6 +311,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/map_template/ecship/cryo)
"aT" = (
@@ -405,6 +407,7 @@
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 1
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/airless,
/area/map_template/ecship/cryo)
"bf" = (
@@ -479,6 +482,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/white/lowpressure,
/area/map_template/ecship/cryo)
"bm" = (
@@ -509,6 +513,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/airless,
/area/map_template/ecship/crew)
"bp" = (
@@ -788,6 +793,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor,
/area/map_template/ecship/crew)
"bQ" = (
@@ -970,6 +976,7 @@
/obj/structure/cable{
icon_state = "4-8"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor,
/area/map_template/ecship/science)
"ci" = (
@@ -1222,6 +1229,7 @@
/obj/structure/cable{
icon_state = "1-2"
},
+/obj/abstract/landmark/allowed_leak,
/turf/simulated/floor/tiled/lowpressure,
/area/map_template/ecship/engineering)
"cJ" = (
@@ -1352,14 +1360,14 @@
dir = 8;
icon_state = "tube1"
},
-/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
- dir = 4
- },
/obj/effect/floor_decal/corner/yellow{
dir = 9
},
/obj/structure/emergency_dispenser/west,
/obj/machinery/meter,
+/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
+ dir = 8
+ },
/turf/simulated/floor,
/area/map_template/ecship/engineering)
"cZ" = (
@@ -1914,6 +1922,7 @@
/obj/structure/lattice,
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
/obj/abstract/landmark/clear,
+/obj/abstract/landmark/allowed_leak,
/turf/template_noop,
/area/template_noop)
"mD" = (
@@ -1962,6 +1971,15 @@
/obj/abstract/landmark/clear,
/turf/template_noop,
/area/template_noop)
+"XP" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/structure/cable{
+ icon_state = "1-2"
+ },
+/obj/abstract/landmark/allowed_leak,
+/turf/simulated/floor/tiled/airless,
+/area/map_template/ecship/crew)
"YW" = (
/obj/structure/catwalk,
/obj/abstract/landmark/scorcher,
@@ -2742,7 +2760,7 @@ aO
bf
by
bB
-bf
+XP
cu
cC
cI
diff --git a/mods/content/psionics/system/psionics/faculties/coercion.dm b/mods/content/psionics/system/psionics/faculties/coercion.dm
index 309fec7e786..13f238320ca 100644
--- a/mods/content/psionics/system/psionics/faculties/coercion.dm
+++ b/mods/content/psionics/system/psionics/faculties/coercion.dm
@@ -130,10 +130,10 @@
to_chat(target, "The muscles in your arms cramp horrendously! ")
if(prob(75))
target.emote("scream")
- for(var/bp in target.held_item_slots)
- var/datum/inventory_slot/inv_slot = target.held_item_slots[bp]
- if(inv_slot?.holding?.simulated && prob(75) && target.unEquip(inv_slot.holding))
- var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(target, bp)
+ for(var/hand_slot in target.held_item_slots)
+ var/obj/item/thing = target.get_equipped_item(hand_slot)
+ if(thing?.simulated && prob(75) && target.unEquip(thing))
+ var/obj/item/organ/external/E = GET_EXTERNAL_ORGAN(target, hand_slot)
target.visible_message(SPAN_DANGER("\The [target] drops what they were holding as their [E ? E.name : "hand"] spasms!"))
return TRUE
diff --git a/mods/content/xenobiology/slime/examine.dm b/mods/content/xenobiology/slime/examine.dm
index c944a795f37..cd2c90807fb 100644
--- a/mods/content/xenobiology/slime/examine.dm
+++ b/mods/content/xenobiology/slime/examine.dm
@@ -1,4 +1,4 @@
-/mob/living/slime/examine(mob/user)
+/mob/living/slime/show_other_examine_strings(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
var/list/msg = list()
if(stat == DEAD)
diff --git a/mods/mobs/dionaea/icons/ui.dmi b/mods/mobs/dionaea/icons/ui.dmi
index 7d36b52f60e..55b53bed9f0 100644
Binary files a/mods/mobs/dionaea/icons/ui.dmi and b/mods/mobs/dionaea/icons/ui.dmi differ
diff --git a/mods/mobs/dionaea/mob/_nymph.dm b/mods/mobs/dionaea/mob/_nymph.dm
index a3c3d83edc7..bb24669059d 100644
--- a/mods/mobs/dionaea/mob/_nymph.dm
+++ b/mods/mobs/dionaea/mob/_nymph.dm
@@ -1,6 +1,6 @@
-#define DIONA_SCREEN_LOC_HELD "EAST-8:16,SOUTH:5"
-#define DIONA_SCREEN_LOC_HAT "EAST-7:16,SOUTH:5"
-#define DIONA_SCREEN_LOC_INTENT "EAST-2,SOUTH:5"
+#define DIONA_SCREEN_LOC_HELD "RIGHT-8:16,BOTTOM:5"
+#define DIONA_SCREEN_LOC_HAT "RIGHT-7:16,BOTTOM:5"
+#define DIONA_SCREEN_LOC_INTENT "RIGHT-2,BOTTOM:5"
#define DIONA_SCREEN_LOC_HEALTH ui_alien_health
/datum/extension/hattable/diona_nymph/wear_hat(mob/wearer, obj/item/clothing/head/new_hat)
@@ -78,7 +78,7 @@
. = ..(mapload)
-/mob/living/carbon/alien/diona/examine(mob/user)
+/mob/living/carbon/alien/diona/show_examined_worn_held_items(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
if(holding_item)
to_chat(user, SPAN_NOTICE("It is holding [html_icon(holding_item)] \a [holding_item]."))
diff --git a/mods/mobs/dionaea/mob/nymph_inventory.dm b/mods/mobs/dionaea/mob/nymph_inventory.dm
index 94a3111c023..f17adb4232b 100644
--- a/mods/mobs/dionaea/mob/nymph_inventory.dm
+++ b/mods/mobs/dionaea/mob/nymph_inventory.dm
@@ -57,3 +57,7 @@
visible_message(SPAN_NOTICE("\The [src] regurgitates \the [item]."))
return TRUE
. = ..()
+
+// Makes it so that the held item's screen_loc isn't unset.
+/mob/living/carbon/alien/diona/item_should_have_screen_presence(obj/item/item, slot)
+ return (item == holding_item) || ..()
\ No newline at end of file
diff --git a/mods/mobs/dionaea/mob/nymph_ui.dm b/mods/mobs/dionaea/mob/nymph_ui.dm
index 0d5f9ed16dd..30009b9d7a7 100644
--- a/mods/mobs/dionaea/mob/nymph_ui.dm
+++ b/mods/mobs/dionaea/mob/nymph_ui.dm
@@ -1,57 +1,77 @@
/obj/screen/intent/diona_nymph
- icon = 'mods/mobs/dionaea/icons/ui.dmi'
icon_state = "intent_devour"
screen_loc = DIONA_SCREEN_LOC_INTENT
/obj/screen/intent/diona_nymph/on_update_icon()
if(intent == I_HURT || intent == I_GRAB)
intent = I_GRAB
- icon_state = "intent_expel"
+ icon_state = "intent_harm"
else
intent = I_DISARM
- icon_state = "intent_devour"
+ icon_state = "intent_help"
-/obj/screen/diona
- icon = 'mods/mobs/dionaea/icons/ui.dmi'
-
-/obj/screen/diona/hat
+/obj/screen/diona_hat
name = "equipped hat"
screen_loc = DIONA_SCREEN_LOC_HAT
icon_state = "hat"
-/obj/screen/diona/hat/Click()
+/obj/screen/diona_hat/Click()
var/datum/extension/hattable/hattable = get_extension(usr, /datum/extension/hattable)
hattable?.drop_hat(usr)
-/obj/screen/diona/held
+/obj/screen/diona_held
name = "held item"
screen_loc = DIONA_SCREEN_LOC_HELD
icon_state = "held"
-/obj/screen/diona/held/Click()
+/obj/screen/diona_held/Click()
var/mob/living/carbon/alien/diona/chirp = usr
if(istype(chirp) && chirp.holding_item) chirp.unEquip(chirp.holding_item)
/datum/hud/diona_nymph
- var/obj/screen/diona/hat/hat
- var/obj/screen/diona/held/held
+ var/obj/screen/diona_hat/hat
+ var/obj/screen/diona_held/held
+
+/datum/hud/diona_nymph/get_ui_style()
+ return 'mods/mobs/dionaea/icons/ui.dmi'
+
+/datum/hud/diona_nymph/get_ui_color()
+ return COLOR_WHITE
+
+/datum/hud/diona_nymph/get_ui_alpha()
+ return 255
/datum/hud/diona_nymph/FinalizeInstantiation()
+ var/ui_style = get_ui_style()
+ var/ui_color = get_ui_color()
+ var/ui_alpha = get_ui_alpha()
+
src.adding = list()
src.other = list()
hat = new
+ hat.icon = ui_style
+ hat.color = ui_color
+ hat.alpha = ui_alpha
adding += hat
held = new
+ held.icon = ui_style
+ held.color = ui_color
+ held.alpha = ui_alpha
adding += held
action_intent = new /obj/screen/intent/diona_nymph()
+ action_intent.icon = ui_style
+ action_intent.color = ui_color
+ action_intent.alpha = ui_alpha
adding += action_intent
mymob.healths = new /obj/screen()
- mymob.healths.icon = 'mods/mobs/dionaea/icons/ui.dmi'
+ mymob.healths.icon = ui_style
+ mymob.healths.color = ui_color
+ mymob.healths.alpha = ui_alpha
mymob.healths.icon_state = "health0"
mymob.healths.SetName("health")
mymob.healths.screen_loc = DIONA_SCREEN_LOC_HEALTH
diff --git a/mods/persistence/_persistence.dme b/mods/persistence/_persistence.dme
index 128a828b7f3..e4224ad97a4 100644
--- a/mods/persistence/_persistence.dme
+++ b/mods/persistence/_persistence.dme
@@ -189,6 +189,7 @@
#include "modules\modular_computers\networking\machines\_network_machine.dm"
#include "modules\modular_computers\networking\machines\area_controller.dm"
#include "modules\modular_computers\networking\machines\router.dm"
+#include "modules\multiz\level_data.dm"
#include "modules\multiz\structures.dm"
#include "modules\organs\organs.dm"
#include "modules\organs\external\_external_saving.dm"
diff --git a/mods/persistence/controllers/subsystems/initialization/chargen.dm b/mods/persistence/controllers/subsystems/initialization/chargen.dm
index 37a2eb29b83..c4505480a92 100644
--- a/mods/persistence/controllers/subsystems/initialization/chargen.dm
+++ b/mods/persistence/controllers/subsystems/initialization/chargen.dm
@@ -11,7 +11,7 @@ SUBSYSTEM_DEF(chargen)
var/obj/abstract/limbo_holder
/datum/controller/subsystem/chargen/Initialize()
- INCREMENT_WORLD_Z_SIZE
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/chargen)
map_z = world.maxz
report_progress("Loading chargen map data.")
@@ -93,6 +93,9 @@ SUBSYSTEM_DEF(chargen)
SSchargen.release_spawn_pod(A)
return ..()
+/obj/abstract/level_data/chargen
+ level_flags = ZLEVEL_SEALED
+
//Chargen spawnpoint
/decl/spawnpoint/chargen/Initialize()
. = ..()
diff --git a/mods/persistence/controllers/subsystems/mapping.dm b/mods/persistence/controllers/subsystems/mapping.dm
index 04edc208803..e55c78ea87b 100644
--- a/mods/persistence/controllers/subsystems/mapping.dm
+++ b/mods/persistence/controllers/subsystems/mapping.dm
@@ -1,5 +1,10 @@
/datum/controller/subsystem/mapping
- var/loaded_maps = FALSE
+ /// List of z-levels that are marked to be saved
+ var/list/saved_levels = list()
+ /// List of z-levels that regenerates mining turfs periodically
+ var/list/mining_levels = list()
+
+ var/tmp/loaded_maps = FALSE
/datum/controller/subsystem/mapping/Initialize(timeofday)
. = ..()
@@ -7,27 +12,23 @@
var/save_exists = SSpersistence.SaveExists()
if(save_exists)
report_progress_serializer("Existing save found.")
- else
+ else
report_progress_serializer("No existing save found.")
#endif
// Load our maps dynamically.
for(var/z in global.using_map.default_levels)
var/map_file = global.using_map.default_levels[z]
#ifndef UNIT_TEST
- if(save_exists && (text2num(z) in SSpersistence.saved_levels))
+ if(save_exists && (text2num(z) in SSpersistence.saved_levels)) //#FIXME: DANGER This should use level_ids not level z!!!!!
// Load a default map instead.
- INCREMENT_WORLD_Z_SIZE
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/space)
continue
#endif
maploader.load_map(file(map_file), 1, 1, text2num(z), no_changeturf = TRUE)
CHECK_TICK
-
+
// Persistence overmaps use premapped overmaps at the moment, so we override here to delay building the overmaps until appropriate.
loaded_maps = TRUE
- if(length(global.overmaps_by_name))
- for(var/name in global.overmaps_by_name)
- var/datum/overmap/O = global.overmaps_by_name[name]
- O.late_initialize()
// Build the list of static persisted levels from our map.
#ifdef UNIT_TEST
report_progress_serializer("Unit testing, so not loading saved map")
diff --git a/mods/persistence/controllers/subsystems/mining.dm b/mods/persistence/controllers/subsystems/mining.dm
index f6e3704d33d..8b35d9d7034 100644
--- a/mods/persistence/controllers/subsystems/mining.dm
+++ b/mods/persistence/controllers/subsystems/mining.dm
@@ -72,7 +72,7 @@ SUBSYSTEM_DEF(mining)
/datum/controller/subsystem/mining/fire()
if(collapse_imminent)
if(world.timeofday - last_collapse >= ((regen_interval + warning_wait) * 600))
- var/list/z_levels = GetConnectedZlevels(global.using_map.mining_levels[1])
+ var/list/z_levels = SSmapping.get_connected_levels(global.using_map.mining_levels[1])
for(var/mob/M in global.player_list)
if(M.z in z_levels)
to_chat(M, SPAN_DANGER(collapse_message))
@@ -82,7 +82,7 @@ SUBSYSTEM_DEF(mining)
Regenerate()
else
if(world.timeofday - last_collapse >= regen_interval * 600)
- var/list/z_levels = GetConnectedZlevels(global.using_map.mining_levels[1])
+ var/list/z_levels = SSmapping.get_connected_levels(global.using_map.mining_levels[1])
for(var/mob/M in global.player_list)
if(M.z in z_levels)
to_chat(M, SPAN_DANGER(warning_message))
diff --git a/mods/persistence/controllers/subsystems/persistence.dm b/mods/persistence/controllers/subsystems/persistence.dm
index 5be6bf12a19..3cbbc3987e2 100644
--- a/mods/persistence/controllers/subsystems/persistence.dm
+++ b/mods/persistence/controllers/subsystems/persistence.dm
@@ -133,7 +133,7 @@
var/list/z_transform = list()
var/new_z_index = 1
// First we find the highest non-dynamic z_level.
- for(var/z in global.using_map.station_levels)
+ for(var/z in SSmapping.station_levels) //#FIXME: That logic is flawed. We got levels that aren't dynamic and aren't station levels!!!!
if(z in saved_levels)
new_z_index = max(new_z_index, z)
@@ -142,7 +142,7 @@
var/datum/persistence/load_cache/z_level/z_level = new()
z_level.default_turf = get_base_turf(z)
z_level.index = z
- if(z in global.using_map.station_levels)
+ if(z in SSmapping.station_levels) //#FIXME: That logic is flawed. We got levels that aren't dynamic and aren't station levels!!!!
z_level.dynamic = FALSE
z_level.new_index = z
else
@@ -378,7 +378,7 @@
//var/last_index = world.maxz
for(var/datum/persistence/load_cache/z_level/z_level in serializer.resolver.z_levels)
if(z_level.dynamic)
- INCREMENT_WORLD_Z_SIZE
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/space)
z_level.new_index = world.maxz
else
z_level.new_index = z_level.index
diff --git a/mods/persistence/modules/modular_computers/networking/machines/area_controller.dm b/mods/persistence/modules/modular_computers/networking/machines/area_controller.dm
index 54c3f5e9447..61582958359 100644
--- a/mods/persistence/modules/modular_computers/networking/machines/area_controller.dm
+++ b/mods/persistence/modules/modular_computers/networking/machines/area_controller.dm
@@ -28,7 +28,7 @@
set_extension(src, /datum/extension/eye/blueprints/area_control)
for(var/A in owned_areas)
global.protected_areas[A] = src
-
+
recalculate_power()
update_protected_count()
@@ -61,11 +61,11 @@
/obj/machinery/network/area_controller/proc/check_area_access(var/mob/user, var/area/checked_area)
if(!(checked_area in owned_areas))
return TRUE
-
+
// Area controller needs to be active to work.
if(use_power != POWER_USE_ACTIVE)
return TRUE
- if(stat & (NOPOWER|BROKEN))
+ if(stat & (NOPOWER|BROKEN))
return TRUE
var/list/req_access = list(owned_areas[checked_area]) // List of a list for OR type access check.
@@ -86,10 +86,10 @@
. = ..()
if(.)
return
-
+
if(href_list["create_area"])
var/datum/extension/eye/area_eye = get_extension(src, /datum/extension/eye)
- area_eye.look(user, list(GetConnectedZlevels(z), "AREA CONTROLLER", src))
+ area_eye.look(user, list(SSmapping.get_connected_levels(z), "AREA CONTROLLER", src))
return TOPIC_REFRESH
var/datum/extension/network_device/net_device = get_extension(src, /datum/extension/network_device)
@@ -160,7 +160,7 @@
/obj/machinery/network/area_controller/ui_data(mob/user, ui_key)
. = ..()
-
+
var/datum/extension/network_device/net_device = get_extension(src, /datum/extension/network_device)
var/datum/computer_network/net = net_device.get_network()
if(!net)
@@ -243,7 +243,7 @@
max_protected_areas += 3
else
max_protected_areas +=2
-
+
. = ..()
/atom/proc/check_area_protection(var/mob/user, var/area/checked_area)
@@ -257,9 +257,9 @@
if(!ac)
global.protected_areas -= checked_area
return TRUE
- if(!(ac.z in GetConnectedZlevels(z))) // Area controller must be in the same sector.
+ if(!(ac.z in SSmapping.get_connected_levels(z))) // Area controller must be in the same sector.
return TRUE
-
+
return ac.check_area_access(user, checked_area)
/obj/item/stock_parts/circuitboard/area_controller
diff --git a/mods/persistence/modules/multiz/level_data.dm b/mods/persistence/modules/multiz/level_data.dm
new file mode 100644
index 00000000000..ee8916b7181
--- /dev/null
+++ b/mods/persistence/modules/multiz/level_data.dm
@@ -0,0 +1,6 @@
+/obj/abstract/level_data/setup_level_data()
+ if(level_flags & ZLEVEL_SAVED)
+ SSmapping.saved_levels |= my_z
+ if(level_flags & ZLEVEL_MINING)
+ SSmapping.mining_levels |= my_z
+ . = ..()
\ No newline at end of file
diff --git a/mods/persistence/modules/organs/organs.dm b/mods/persistence/modules/organs/organs.dm
index 31438ce0db6..8d3f622eefa 100644
--- a/mods/persistence/modules/organs/organs.dm
+++ b/mods/persistence/modules/organs/organs.dm
@@ -1,7 +1,6 @@
SAVED_VAR(/obj/item/organ/external, burn_dam)
SAVED_VAR(/obj/item/organ/external, last_dam)
SAVED_VAR(/obj/item/organ/external, limb_flags)
-SAVED_VAR(/obj/item/organ/external, icon_name)
SAVED_VAR(/obj/item/organ/external, body_part)
SAVED_VAR(/obj/item/organ/external, icon_position)
SAVED_VAR(/obj/item/organ/external, model)
diff --git a/mods/persistence/modules/overmap/_overmap.dm b/mods/persistence/modules/overmap/_overmap.dm
index bbc015c7cf5..cde2ceb4eeb 100644
--- a/mods/persistence/modules/overmap/_overmap.dm
+++ b/mods/persistence/modules/overmap/_overmap.dm
@@ -1,30 +1,30 @@
-// Complete override since Persistence hotloads it maps, and most of these functions must be delayed.
-/datum/overmap/New(var/_name)
+// // Complete override since Persistence hotloads it maps, and most of these functions must be delayed.
+// /datum/overmap/New(var/_name)
- name = _name
+// name = _name
- if(!map_turf_type)
- map_turf_type = world.turf
+// if(!map_turf_type)
+// map_turf_type = world.turf
- if(!name)
- PRINT_STACK_TRACE("Unnamed overmap datum instantiated: [type]")
+// if(!name)
+// PRINT_STACK_TRACE("Unnamed overmap datum instantiated: [type]")
- if(global.overmaps_by_name[name])
- PRINT_STACK_TRACE("Duplicate overmap datum instantiated: [type], [name], [overmaps_by_name[name]]")
- global.overmaps_by_name[name] = src
+// if(global.overmaps_by_name[name])
+// PRINT_STACK_TRACE("Duplicate overmap datum instantiated: [type], [name], [overmaps_by_name[name]]")
+// global.overmaps_by_name[name] = src
-/datum/overmap/proc/late_initialize()
- generate_overmap()
- testing("Overmap build for [name] complete.")
+// /datum/overmap/proc/late_initialize()
+// generate_overmap()
+// testing("Overmap build for [name] complete.")
- if(!assigned_z)
- PRINT_STACK_TRACE("Overmap datum generated null assigned z_level.")
+// if(!assigned_z)
+// PRINT_STACK_TRACE("Overmap datum generated null assigned z_level.")
- if(global.overmaps_by_z["[assigned_z]"])
- PRINT_STACK_TRACE("Duplicate overmap datum instantiated for z-level: [type], [assigned_z], [overmaps_by_name[name]]")
- global.overmaps_by_z["[assigned_z]"] = src
+// if(global.overmaps_by_z["[assigned_z]"])
+// PRINT_STACK_TRACE("Duplicate overmap datum instantiated for z-level: [type], [assigned_z], [overmaps_by_name[name]]")
+// global.overmaps_by_z["[assigned_z]"] = src
- for(var/event_type in subtypesof(/datum/overmap_event))
- var/datum/overmap_event/event = event_type
- if(initial(event.overmap_id) == name)
- LAZYADD(valid_event_types, event_type)
\ No newline at end of file
+// for(var/event_type in subtypesof(/datum/overmap_event))
+// var/datum/overmap_event/event = event_type
+// if(initial(event.overmap_id) == name)
+// LAZYADD(valid_event_types, event_type)
\ No newline at end of file
diff --git a/mods/persistence/modules/overmap/sectors.dm b/mods/persistence/modules/overmap/sectors.dm
index 794bbcfd3ba..d8ee52fa7b3 100644
--- a/mods/persistence/modules/overmap/sectors.dm
+++ b/mods/persistence/modules/overmap/sectors.dm
@@ -48,17 +48,17 @@
return TRUE
return FALSE
+//#FIXME: This has to go. It's causing hard deletes in unit tests for something that really should be handled differently.
// This is terrible, but because of when they are generated, there's no good way to override the creation of visiting_shuttle landmarks without
// a ridiculous amount of copypasta.
-/obj/effect/overmap/visitable/add_landmark(obj/effect/shuttle_landmark/landmark, shuttle_restricted_type)
- if(istype(landmark, /obj/effect/shuttle_landmark/visiting_shuttle))
- SSshuttle.unregister_landmark(landmark)
- qdel(landmark)
- return
- . = ..()
+// /obj/effect/overmap/visitable/add_landmark(obj/effect/shuttle_landmark/landmark, shuttle_restricted_type)
+// if(istype(landmark, /obj/effect/shuttle_landmark/visiting_shuttle))
+// SSshuttle.unregister_landmark(landmark)
+// qdel(landmark)
+// return
+// . = ..()
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, planetary_area)
-SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, lightlevel)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, night)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, daycycle)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, daycolumn)
@@ -81,7 +81,6 @@ SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, ice_material)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, skybox_image)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, actors)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, species)
-SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, atmosphere)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, breathgas)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, badgas)
SAVED_VAR(/obj/effect/overmap/visitable/sector/exoplanet, repopulating)
diff --git a/mods/persistence/modules/overmap/stellar_anchor.dm b/mods/persistence/modules/overmap/stellar_anchor.dm
index eab45ea8591..784267fd575 100644
--- a/mods/persistence/modules/overmap/stellar_anchor.dm
+++ b/mods/persistence/modules/overmap/stellar_anchor.dm
@@ -21,7 +21,7 @@
/obj/machinery/stellar_anchor/interface_interact(user)
ui_interact(user)
return TRUE
-
+
/obj/machinery/stellar_anchor/ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1, datum/topic_state/state = global.default_topic_state)
var/data[0]
data["anchored_areas"] = anchored_areas
@@ -70,10 +70,10 @@
else if(href_list["check_errors"])
check_errors()
return TOPIC_REFRESH
-
+
else if(href_list["sector_type"])
sector_type = ((sector_type == "sector") ? "ship" : "sector")
- return TOPIC_REFRESH
+ return TOPIC_REFRESH
/obj/machinery/stellar_anchor/proc/launch()
var/obj/effect/overmap/origin_sector = global.overmap_sectors["[z]"]
@@ -82,7 +82,7 @@
var/overmap_x = origin_sector.x
var/overmap_y = origin_sector.y
- INCREMENT_WORLD_Z_SIZE // Create a new z-level for the sector to correspond to.
+ SSmapping.increment_world_z_size(/obj/abstract/level_data/space) // Create a new z-level for the sector to correspond to.
new /obj/effect/portal(get_turf(src))
qdel_self()
diff --git a/mods/species/ascent/icons/species/body/alate/body.dmi b/mods/species/ascent/icons/species/body/alate/body.dmi
index 68efba56efd..d7093628bcf 100644
Binary files a/mods/species/ascent/icons/species/body/alate/body.dmi and b/mods/species/ascent/icons/species/body/alate/body.dmi differ
diff --git a/mods/species/ascent/icons/species/body/gyne/body.dmi b/mods/species/ascent/icons/species/body/gyne/body.dmi
index a147a64c1af..1f2dd777507 100644
Binary files a/mods/species/ascent/icons/species/body/gyne/body.dmi and b/mods/species/ascent/icons/species/body/gyne/body.dmi differ
diff --git a/mods/species/ascent/icons/ui.dmi b/mods/species/ascent/icons/ui.dmi
index aee54c87031..b85f1deeb96 100644
Binary files a/mods/species/ascent/icons/ui.dmi and b/mods/species/ascent/icons/ui.dmi differ
diff --git a/mods/species/ascent/mobs/bodyparts_insectoid.dm b/mods/species/ascent/mobs/bodyparts_insectoid.dm
index 8147b28376b..79ac588ae40 100644
--- a/mods/species/ascent/mobs/bodyparts_insectoid.dm
+++ b/mods/species/ascent/mobs/bodyparts_insectoid.dm
@@ -38,7 +38,6 @@
name = "central grasper"
joint = "central wrist"
organ_tag = BP_M_HAND
- icon_name = BP_M_HAND
parent_organ = BP_CHEST
amputation_point = "central wrist"
icon_position = 0
@@ -51,7 +50,6 @@
joint = "left upper wrist"
amputation_point = "left upper wrist"
organ_tag = BP_L_HAND_UPPER
- icon_name = BP_L_HAND_UPPER
gripper_ui_loc = "CENTER:16,BOTTOM+1:14"
gripper_ui_label = "UL"
@@ -70,7 +68,6 @@
joint = "right upper wrist"
amputation_point = "right upper wrist"
organ_tag = BP_R_HAND_UPPER
- icon_name = BP_R_HAND_UPPER
gripper_ui_loc = "CENTER-1:16,BOTTOM+1:14"
gripper_ui_label = "UR"
@@ -137,7 +134,7 @@
if(.)
if(H.incapacitated())
to_chat(H, SPAN_WARNING("You can't produce eggs in your current state."))
- return
+ return
if(H.nutrition < egg_metabolic_cost)
to_chat(H, SPAN_WARNING("You are too ravenously hungry to produce more eggs."))
return
diff --git a/mods/species/ascent/mobs/nymph/_nymph.dm b/mods/species/ascent/mobs/nymph/_nymph.dm
index ecee07f5fb1..da13c9a5b71 100644
--- a/mods/species/ascent/mobs/nymph/_nymph.dm
+++ b/mods/species/ascent/mobs/nymph/_nymph.dm
@@ -1,7 +1,7 @@
-#define ANYMPH_SCREEN_LOC_HELD "EAST-8:16,SOUTH:5"
-#define ANYMPH_SCREEN_LOC_HAT "EAST-7:16,SOUTH:5"
-#define ANYMPH_SCREEN_LOC_MOLT "EAST-6:16,SOUTH:5"
-#define ANYMPH_SCREEN_LOC_INTENT "EAST-2,SOUTH:5"
+#define ANYMPH_SCREEN_LOC_HELD "RIGHT-8:16,BOTTOM:5"
+#define ANYMPH_SCREEN_LOC_HAT "RIGHT-7:16,BOTTOM:5"
+#define ANYMPH_SCREEN_LOC_MOLT "RIGHT-6:16,BOTTOM:5"
+#define ANYMPH_SCREEN_LOC_INTENT "RIGHT-2,BOTTOM:5"
#define ANYMPH_SCREEN_LOC_HEALTH ui_alien_health
#define ANYMPH_MAX_CRYSTALS 20000
@@ -53,7 +53,7 @@
. = ..(mapload)
set_extension(src, /datum/extension/base_icon_state, icon_state)
-/mob/living/carbon/alien/ascent_nymph/examine(mob/user)
+/mob/living/carbon/alien/ascent_nymph/show_examined_worn_held_items(mob/user, distance, infix, suffix, hideflags, decl/pronouns/pronouns)
. = ..()
if(holding_item)
to_chat(user, SPAN_NOTICE("It is holding \icon[holding_item] \a [holding_item]."))
diff --git a/mods/species/ascent/mobs/nymph/nymph_inventory.dm b/mods/species/ascent/mobs/nymph/nymph_inventory.dm
index b335aebcb09..822618db4f8 100644
--- a/mods/species/ascent/mobs/nymph/nymph_inventory.dm
+++ b/mods/species/ascent/mobs/nymph/nymph_inventory.dm
@@ -81,3 +81,7 @@
visible_message(SPAN_NOTICE("\The [src] regurgitates \the [item]."))
return TRUE
. = ..()
+
+// Makes it so that the held item's screen_loc isn't unset.
+/mob/living/carbon/alien/ascent_nymph/item_should_have_screen_presence(obj/item/item, slot)
+ return (item == holding_item) || ..()
\ No newline at end of file
diff --git a/mods/species/ascent/mobs/nymph/nymph_ui.dm b/mods/species/ascent/mobs/nymph/nymph_ui.dm
index 3bb1ae08faa..ed5b890c142 100644
--- a/mods/species/ascent/mobs/nymph/nymph_ui.dm
+++ b/mods/species/ascent/mobs/nymph/nymph_ui.dm
@@ -1,53 +1,68 @@
/obj/screen/intent/ascent_nymph
- icon = 'mods/species/ascent/icons/ui.dmi'
icon_state = "intent_devour"
screen_loc = ANYMPH_SCREEN_LOC_INTENT
/obj/screen/intent/ascent_nymph/on_update_icon()
if(intent == I_HURT || intent == I_GRAB)
intent = I_GRAB
- icon_state = "intent_expel"
+ icon_state = "intent_harm"
else
intent = I_DISARM
- icon_state = "intent_devour"
+ icon_state = "intent_help"
-/obj/screen/ascent_nymph
- icon = 'mods/species/ascent/icons/ui.dmi'
-
-/obj/screen/ascent_nymph/held
+/obj/screen/ascent_nymph_held
name = "held item"
screen_loc = ANYMPH_SCREEN_LOC_HELD
icon_state = "held"
-/obj/screen/ascent_nymph/held/Click()
+/obj/screen/ascent_nymph_held/Click()
var/mob/living/carbon/alien/ascent_nymph/nymph = usr
if(istype(nymph) && nymph.holding_item) nymph.unEquip(nymph.holding_item)
-/obj/screen/ascent_nymph/molt
+/obj/screen/ascent_nymph_molt
name = "molt"
icon = 'icons/obj/action_buttons/organs.dmi'
screen_loc = ANYMPH_SCREEN_LOC_MOLT
icon_state = "molt-on"
-/obj/screen/ascent_nymph/molt/Click()
+/obj/screen/ascent_nymph_molt/Click()
var/mob/living/carbon/alien/ascent_nymph/nymph = usr
if(istype(nymph)) nymph.molt()
/datum/hud/ascent_nymph
- var/obj/screen/ascent_nymph/held/held
- var/obj/screen/ascent_nymph/molt/molt
+ var/obj/screen/ascent_nymph_held/held
+ var/obj/screen/ascent_nymph_molt/molt
var/obj/screen/food/food
var/obj/screen/drink/drink
+/datum/hud/ascent_nymph/get_ui_style()
+ return 'mods/species/ascent/icons/ui.dmi'
+
+/datum/hud/ascent_nymph/get_ui_color()
+ return COLOR_WHITE
+
+/datum/hud/ascent_nymph/get_ui_alpha()
+ return 255
+
/datum/hud/ascent_nymph/FinalizeInstantiation()
+ var/ui_style = get_ui_style()
+ var/ui_color = get_ui_color()
+ var/ui_alpha = get_ui_alpha()
+
src.adding = list()
src.other = list()
held = new
+ held.icon = ui_style
+ held.color = ui_color
+ held.alpha = ui_alpha
adding += held
molt = new
+ molt.icon = ui_style
+ molt.color = ui_color
+ molt.alpha = ui_alpha
adding += molt
food = new
@@ -66,9 +81,15 @@
adding += drink
action_intent = new /obj/screen/intent/ascent_nymph()
+ action_intent.icon = ui_style
+ action_intent.color = ui_color
+ action_intent.alpha = ui_alpha
adding += action_intent
mymob.healths = new /obj/screen()
+ mymob.healths.icon = ui_style
+ mymob.healths.color = ui_color
+ mymob.healths.alpha = ui_alpha
mymob.healths.SetName("health")
mymob.healths.screen_loc = ANYMPH_SCREEN_LOC_HEALTH
diff --git a/mods/species/bayliens/adherent/icons/body_amethyst.dmi b/mods/species/bayliens/adherent/icons/body_amethyst.dmi
index 2ea58afbbce..7f4af05740c 100644
Binary files a/mods/species/bayliens/adherent/icons/body_amethyst.dmi and b/mods/species/bayliens/adherent/icons/body_amethyst.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_emerald.dmi b/mods/species/bayliens/adherent/icons/body_emerald.dmi
index b13887f944e..49f7e9ecf08 100644
Binary files a/mods/species/bayliens/adherent/icons/body_emerald.dmi and b/mods/species/bayliens/adherent/icons/body_emerald.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_jet.dmi b/mods/species/bayliens/adherent/icons/body_jet.dmi
index 84031cc4195..e32bcd6b932 100644
Binary files a/mods/species/bayliens/adherent/icons/body_jet.dmi and b/mods/species/bayliens/adherent/icons/body_jet.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_quartz.dmi b/mods/species/bayliens/adherent/icons/body_quartz.dmi
index 1746f84f8c4..5dfc428bf66 100644
Binary files a/mods/species/bayliens/adherent/icons/body_quartz.dmi and b/mods/species/bayliens/adherent/icons/body_quartz.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_ruby.dmi b/mods/species/bayliens/adherent/icons/body_ruby.dmi
index 9cc2983e73f..8aa2c99e62c 100644
Binary files a/mods/species/bayliens/adherent/icons/body_ruby.dmi and b/mods/species/bayliens/adherent/icons/body_ruby.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_sapphire.dmi b/mods/species/bayliens/adherent/icons/body_sapphire.dmi
index 850b34f12e3..0e8e8646289 100644
Binary files a/mods/species/bayliens/adherent/icons/body_sapphire.dmi and b/mods/species/bayliens/adherent/icons/body_sapphire.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_topaz.dmi b/mods/species/bayliens/adherent/icons/body_topaz.dmi
index 9da15d62126..76148324033 100644
Binary files a/mods/species/bayliens/adherent/icons/body_topaz.dmi and b/mods/species/bayliens/adherent/icons/body_topaz.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/body_turquoise.dmi b/mods/species/bayliens/adherent/icons/body_turquoise.dmi
index 78952bfb04a..4570f52fb88 100644
Binary files a/mods/species/bayliens/adherent/icons/body_turquoise.dmi and b/mods/species/bayliens/adherent/icons/body_turquoise.dmi differ
diff --git a/mods/species/bayliens/adherent/icons/damage_mask.dmi b/mods/species/bayliens/adherent/icons/damage_mask.dmi
deleted file mode 100644
index f42eb2760e6..00000000000
Binary files a/mods/species/bayliens/adherent/icons/damage_mask.dmi and /dev/null differ
diff --git a/mods/species/bayliens/adherent/organs/organs_external.dm b/mods/species/bayliens/adherent/organs/organs_external.dm
index 2e47331bd0b..e7f3c3426b8 100644
--- a/mods/species/bayliens/adherent/organs/organs_external.dm
+++ b/mods/species/bayliens/adherent/organs/organs_external.dm
@@ -71,7 +71,6 @@
name = "first tendril"
amputation_point = "midpoint"
joint = "base"
- icon_name = "l_leg"
organ_tag = BP_L_LEG
parent_organ = BP_CHEST
max_damage =20
@@ -81,15 +80,12 @@
/obj/item/organ/external/tendril/two
name = "second tendril"
- icon_name = "r_leg"
organ_tag = BP_R_LEG
/obj/item/organ/external/tendril/three
name = "third tendril"
- icon_name = "l_foot"
organ_tag = BP_L_FOOT
/obj/item/organ/external/tendril/four
name = "fourth tendril"
- icon_name = "r_foot"
organ_tag = BP_R_FOOT
diff --git a/mods/species/bayliens/skrell/datum/accessory.dm b/mods/species/bayliens/skrell/datum/accessory.dm
index 01649e06395..6bcff595dc3 100644
--- a/mods/species/bayliens/skrell/datum/accessory.dm
+++ b/mods/species/bayliens/skrell/datum/accessory.dm
@@ -1,9 +1,3 @@
-/decl/sprite_accessory/skin/skrell
- name = "Default skrell skin"
- icon_state = "default"
- icon = 'mods/species/bayliens/skrell/icons/body/body.dmi'
- species_allowed = list(SPECIES_SKRELL)
-
/decl/sprite_accessory/hair/skrell
name = "Kanin - Very Short Headtails"
icon = 'mods/species/bayliens/skrell/icons/body/hair.dmi'
diff --git a/mods/species/bayliens/skrell/icons/body/body.dmi b/mods/species/bayliens/skrell/icons/body/body.dmi
index 5d71019d7b1..91b0e86f3b1 100644
Binary files a/mods/species/bayliens/skrell/icons/body/body.dmi and b/mods/species/bayliens/skrell/icons/body/body.dmi differ
diff --git a/mods/species/bayliens/tajaran/datum/accessory.dm b/mods/species/bayliens/tajaran/datum/accessory.dm
index d2057a82a6d..c1b34d49b97 100644
--- a/mods/species/bayliens/tajaran/datum/accessory.dm
+++ b/mods/species/bayliens/tajaran/datum/accessory.dm
@@ -1,13 +1,4 @@
//Hairstyles
-
-/decl/sprite_accessory/facial_hair/shaved/Initialize()
- . = ..()
- species_allowed |= SPECIES_TAJARA
-
-/decl/sprite_accessory/hair/bald/Initialize()
- . = ..()
- species_allowed |= SPECIES_TAJARA
-
/decl/sprite_accessory/hair/taj
name = "Tajaran Rattail"
icon_state = "hair_rattail"
@@ -139,45 +130,40 @@
name = "Tajaran Small Moustache"
icon_state = "facial_smallstache"
-/decl/sprite_accessory/skin/tajaran
- name = "Default Tajaran skin"
- icon_state = "default"
- icon = 'mods/species/bayliens/tajaran/icons/body.dmi'
- species_allowed = list(SPECIES_TAJARA)
-
/decl/sprite_accessory/marking/tajaran
- name = "Tajaran Wide Ears"
+ name = "Tajaran Nose"
+ icon_state = "nose"
icon = 'mods/species/bayliens/tajaran/icons/markings.dmi'
species_allowed = list(SPECIES_TAJARA)
body_parts = list(BP_HEAD)
- icon_state = "ears_plain"
blend = ICON_MULTIPLY
-/decl/sprite_accessory/marking/tajaran/nose
- name = "Tajaran Nose"
- icon_state = "nose"
+/decl/sprite_accessory/marking/tajaran/ears
+ name = "Tajaran Wide Ears"
+ icon_state = "ears_plain"
+ mask_to_bodypart = FALSE
-/decl/sprite_accessory/marking/tajaran/wide_ears_inner
+/decl/sprite_accessory/marking/tajaran/ears/wide_inner
name = "Tajaran Wide Ears Interior"
icon_state = "ears_plain_inner"
-/decl/sprite_accessory/marking/tajaran/wide_ears_tuft
+/decl/sprite_accessory/marking/tajaran/ears/wide_tuft
name = "Tajaran Wide Ears Tuft"
icon_state = "ears_plain_tuft"
-/decl/sprite_accessory/marking/tajaran/narrow_ears
+/decl/sprite_accessory/marking/tajaran/ears/narrow
name = "Tajaran Narrow Ears"
icon_state = "ears_narrow"
-/decl/sprite_accessory/marking/tajaran/narrow_ears_inner
+/decl/sprite_accessory/marking/tajaran/ears/narrow_inner
name = "Tajaran Narrow Ears Interior"
icon_state = "ears_narrow_inner"
-/decl/sprite_accessory/marking/tajaran/narrow_ears_tuft
+/decl/sprite_accessory/marking/tajaran/ears/narrow_tuft
name = "Tajaran Narrow Ears Tuft"
icon_state = "ears_narrow_tuft"
-/decl/sprite_accessory/marking/tajaran/earrings
+/decl/sprite_accessory/marking/tajaran/ears/earrings
name = "Tajaran Earrings"
icon_state = "taj_earrings"
diff --git a/mods/species/bayliens/tajaran/datum/species.dm b/mods/species/bayliens/tajaran/datum/species.dm
index 3cafaca8d80..bcd89b2aad9 100644
--- a/mods/species/bayliens/tajaran/datum/species.dm
+++ b/mods/species/bayliens/tajaran/datum/species.dm
@@ -16,6 +16,9 @@
name_plural = "Tajaran"
base_prosthetics_model = null
+ low_light_vision_effectiveness = 0.15
+ low_light_vision_adjustment_speed = 0.3
+
description = "A small mammalian carnivore. If you are reading this, you are probably a Tajaran."
hidden_from_codex = FALSE
@@ -40,7 +43,7 @@
)
flesh_color = "#ae7d32"
- base_markings = list(/decl/sprite_accessory/marking/tajaran = "#ae7d32")
+ base_markings = list(/decl/sprite_accessory/marking/tajaran/ears = "#ae7d32")
base_hair_color = "#46321c"
base_color = "#ae7d32"
base_eye_color = "#00aa00"
@@ -126,4 +129,4 @@
eye_icon = 'mods/species/bayliens/tajaran/icons/eyes.dmi'
/decl/species/tajaran/handle_additional_hair_loss(var/mob/living/carbon/human/H, var/defer_body_update = TRUE)
- . = H && H.change_skin_color(189, 171, 143)
+ . = H && H.change_skin_color(rgb(189, 171, 143))
diff --git a/mods/species/bayliens/tajaran/icons/body.dmi b/mods/species/bayliens/tajaran/icons/body.dmi
index d8b41cd7c36..eec525ffac2 100644
Binary files a/mods/species/bayliens/tajaran/icons/body.dmi and b/mods/species/bayliens/tajaran/icons/body.dmi differ
diff --git a/mods/species/bayliens/tajaran/icons/deformed_body.dmi b/mods/species/bayliens/tajaran/icons/deformed_body.dmi
index 3b21a3d871b..05fb34deca6 100644
Binary files a/mods/species/bayliens/tajaran/icons/deformed_body.dmi and b/mods/species/bayliens/tajaran/icons/deformed_body.dmi differ
diff --git a/mods/species/bayliens/tajaran/icons/eyes.dmi b/mods/species/bayliens/tajaran/icons/eyes.dmi
index 1b29ac5de32..e7b1f1241a2 100644
Binary files a/mods/species/bayliens/tajaran/icons/eyes.dmi and b/mods/species/bayliens/tajaran/icons/eyes.dmi differ
diff --git a/mods/species/bayliens/tajaran/icons/markings.dmi b/mods/species/bayliens/tajaran/icons/markings.dmi
index 74acb457387..e92348f2851 100644
Binary files a/mods/species/bayliens/tajaran/icons/markings.dmi and b/mods/species/bayliens/tajaran/icons/markings.dmi differ
diff --git a/mods/species/bayliens/tajaran/icons/tail.dmi b/mods/species/bayliens/tajaran/icons/tail.dmi
index 946c7bf3e45..5d0e5e2bf02 100644
Binary files a/mods/species/bayliens/tajaran/icons/tail.dmi and b/mods/species/bayliens/tajaran/icons/tail.dmi differ
diff --git a/mods/species/bayliens/tritonian/icons/body_female.dmi b/mods/species/bayliens/tritonian/icons/body_female.dmi
index f41f334dd69..117b732bd3b 100644
Binary files a/mods/species/bayliens/tritonian/icons/body_female.dmi and b/mods/species/bayliens/tritonian/icons/body_female.dmi differ
diff --git a/mods/species/bayliens/tritonian/icons/body_male.dmi b/mods/species/bayliens/tritonian/icons/body_male.dmi
index c3d6554a5fd..44df6e916b7 100644
Binary files a/mods/species/bayliens/tritonian/icons/body_male.dmi and b/mods/species/bayliens/tritonian/icons/body_male.dmi differ
diff --git a/mods/species/bayliens/unathi/icons/body_female.dmi b/mods/species/bayliens/unathi/icons/body_female.dmi
index fad7c93f17a..77620a6b942 100644
Binary files a/mods/species/bayliens/unathi/icons/body_female.dmi and b/mods/species/bayliens/unathi/icons/body_female.dmi differ
diff --git a/mods/species/bayliens/unathi/icons/body_male.dmi b/mods/species/bayliens/unathi/icons/body_male.dmi
index 582c1ccd584..75d2a831377 100644
Binary files a/mods/species/bayliens/unathi/icons/body_male.dmi and b/mods/species/bayliens/unathi/icons/body_male.dmi differ
diff --git a/mods/species/bayliens/unathi/icons/deformed_body_female.dmi b/mods/species/bayliens/unathi/icons/deformed_body_female.dmi
index 63f99147848..ba4e40e8142 100644
Binary files a/mods/species/bayliens/unathi/icons/deformed_body_female.dmi and b/mods/species/bayliens/unathi/icons/deformed_body_female.dmi differ
diff --git a/mods/species/bayliens/unathi/icons/deformed_body_male.dmi b/mods/species/bayliens/unathi/icons/deformed_body_male.dmi
index 687db5ff7a6..a03dce76634 100644
Binary files a/mods/species/bayliens/unathi/icons/deformed_body_male.dmi and b/mods/species/bayliens/unathi/icons/deformed_body_male.dmi differ
diff --git a/mods/species/neoavians/datum/accessory.dm b/mods/species/neoavians/datum/accessory.dm
index bdd6cca21ef..7e05d3c0ec4 100644
--- a/mods/species/neoavians/datum/accessory.dm
+++ b/mods/species/neoavians/datum/accessory.dm
@@ -133,7 +133,3 @@
name = "Wing Feathers, Additive (Right)"
icon_state = "wing_feathers-add"
blend = ICON_ADD
-
-/decl/sprite_accessory/hair/bald/Initialize()
- . = ..()
- LAZYADD(species_allowed, SPECIES_AVIAN)
diff --git a/mods/species/neoavians/icons/body.dmi b/mods/species/neoavians/icons/body.dmi
index b83c9c64f83..5e9915ed184 100644
Binary files a/mods/species/neoavians/icons/body.dmi and b/mods/species/neoavians/icons/body.dmi differ
diff --git a/mods/species/neoavians/icons/body_add.dmi b/mods/species/neoavians/icons/body_add.dmi
index 56c31a46a9a..bd52c9a0b8d 100644
Binary files a/mods/species/neoavians/icons/body_add.dmi and b/mods/species/neoavians/icons/body_add.dmi differ
diff --git a/mods/species/neoavians/icons/body_raptor.dmi b/mods/species/neoavians/icons/body_raptor.dmi
index 5ec0239386c..fd339fb8f3b 100644
Binary files a/mods/species/neoavians/icons/body_raptor.dmi and b/mods/species/neoavians/icons/body_raptor.dmi differ
diff --git a/mods/species/neoavians/icons/body_raptor_add.dmi b/mods/species/neoavians/icons/body_raptor_add.dmi
index e1f3697bdb7..5294c1e3e1c 100644
Binary files a/mods/species/neoavians/icons/body_raptor_add.dmi and b/mods/species/neoavians/icons/body_raptor_add.dmi differ
diff --git a/mods/species/neoavians/icons/markings.dmi b/mods/species/neoavians/icons/markings.dmi
index 9febe1a0ad7..68489bb750f 100644
Binary files a/mods/species/neoavians/icons/markings.dmi and b/mods/species/neoavians/icons/markings.dmi differ
diff --git a/mods/species/serpentid/icons/body_green.dmi b/mods/species/serpentid/icons/body_green.dmi
index d939879615d..97c96f522fc 100644
Binary files a/mods/species/serpentid/icons/body_green.dmi and b/mods/species/serpentid/icons/body_green.dmi differ
diff --git a/mods/species/serpentid/icons/body_grey.dmi b/mods/species/serpentid/icons/body_grey.dmi
index 0849b9dbbe8..6d17829bf86 100644
Binary files a/mods/species/serpentid/icons/body_grey.dmi and b/mods/species/serpentid/icons/body_grey.dmi differ
diff --git a/mods/species/utility_frames/icons/body.dmi b/mods/species/utility_frames/icons/body.dmi
index d8e45d2b97b..0f439fd257b 100644
Binary files a/mods/species/utility_frames/icons/body.dmi and b/mods/species/utility_frames/icons/body.dmi differ
diff --git a/mods/species/utility_frames/icons/markings.dmi b/mods/species/utility_frames/icons/markings.dmi
index b824b5efc47..9867444ff91 100644
Binary files a/mods/species/utility_frames/icons/markings.dmi and b/mods/species/utility_frames/icons/markings.dmi differ
diff --git a/mods/species/vox/datum/accessories.dm b/mods/species/vox/datum/accessories.dm
index 8aa3c9809ce..462d2677b56 100644
--- a/mods/species/vox/datum/accessories.dm
+++ b/mods/species/vox/datum/accessories.dm
@@ -1,11 +1,3 @@
-/decl/sprite_accessory/hair/bald/Initialize()
- . = ..()
- LAZYDISTINCTADD(species_allowed, SPECIES_VOX)
-
-/decl/sprite_accessory/facial_hair/shaved/Initialize()
- . = ..()
- LAZYDISTINCTADD(species_allowed, SPECIES_VOX)
-
/decl/sprite_accessory/hair/vox
name = "Long Vox Quills"
icon = 'mods/species/vox/icons/body/soldier/hair.dmi'
diff --git a/mods/species/vox/icons/body/deformed_body.dmi b/mods/species/vox/icons/body/deformed_body.dmi
index 2db5c85b2cc..72ff01c5ddf 100644
Binary files a/mods/species/vox/icons/body/deformed_body.dmi and b/mods/species/vox/icons/body/deformed_body.dmi differ
diff --git a/mods/species/vox/icons/body/improvised_cyberlimbs.dmi b/mods/species/vox/icons/body/improvised_cyberlimbs.dmi
index 5fde28f9b19..697b248d4ee 100644
Binary files a/mods/species/vox/icons/body/improvised_cyberlimbs.dmi and b/mods/species/vox/icons/body/improvised_cyberlimbs.dmi differ
diff --git a/mods/species/vox/icons/body/primalis_cyberlimbs.dmi b/mods/species/vox/icons/body/primalis_cyberlimbs.dmi
index 4dd51b30efb..9472d8aba8d 100644
Binary files a/mods/species/vox/icons/body/primalis_cyberlimbs.dmi and b/mods/species/vox/icons/body/primalis_cyberlimbs.dmi differ
diff --git a/mods/species/vox/icons/body/servitor/body.dmi b/mods/species/vox/icons/body/servitor/body.dmi
index 5f3c67d504e..8c4d0df4178 100644
Binary files a/mods/species/vox/icons/body/servitor/body.dmi and b/mods/species/vox/icons/body/servitor/body.dmi differ
diff --git a/mods/species/vox/icons/body/servitor/markings.dmi b/mods/species/vox/icons/body/servitor/markings.dmi
index db38155d980..f59bea11239 100644
Binary files a/mods/species/vox/icons/body/servitor/markings.dmi and b/mods/species/vox/icons/body/servitor/markings.dmi differ
diff --git a/mods/species/vox/icons/body/soldier/body.dmi b/mods/species/vox/icons/body/soldier/body.dmi
index 500789d05fa..c77e6ab97ac 100644
Binary files a/mods/species/vox/icons/body/soldier/body.dmi and b/mods/species/vox/icons/body/soldier/body.dmi differ
diff --git a/mods/species/vox/icons/body/soldier/markings.dmi b/mods/species/vox/icons/body/soldier/markings.dmi
index ce604bf8ee7..b5ff4a42dee 100644
Binary files a/mods/species/vox/icons/body/soldier/markings.dmi and b/mods/species/vox/icons/body/soldier/markings.dmi differ
diff --git a/nebula.dme b/nebula.dme
index 99d4de4e068..e5d7c96da0a 100644
--- a/nebula.dme
+++ b/nebula.dme
@@ -45,6 +45,7 @@
#include "code\__defines\fluids.dm"
#include "code\__defines\gamemode.dm"
#include "code\__defines\guns.dm"
+#include "code\__defines\holomap.dm"
#include "code\__defines\hydroponics.dm"
#include "code\__defines\integrated_circuits.dm"
#include "code\__defines\interactions.dm"
@@ -52,6 +53,7 @@
#include "code\__defines\items_clothing.dm"
#include "code\__defines\jobs.dm"
#include "code\__defines\languages.dm"
+#include "code\__defines\level_data.dm"
#include "code\__defines\lighting.dm"
#include "code\__defines\lists.dm"
#include "code\__defines\machinery.dm"
@@ -71,6 +73,7 @@
#include "code\__defines\power.dm"
#include "code\__defines\proc_presets.dm"
#include "code\__defines\qdel.dm"
+#include "code\__defines\radio.dm"
#include "code\__defines\research.dm"
#include "code\__defines\ruin_tags.dm"
#include "code\__defines\shields.dm"
@@ -209,12 +212,14 @@
#include "code\controllers\subsystems\ghost_images.dm"
#include "code\controllers\subsystems\goals.dm"
#include "code\controllers\subsystems\graphs.dm"
+#include "code\controllers\subsystems\holomap.dm"
#include "code\controllers\subsystems\icon_updates.dm"
#include "code\controllers\subsystems\inactivity.dm"
#include "code\controllers\subsystems\input.dm"
#include "code\controllers\subsystems\jobs.dm"
#include "code\controllers\subsystems\lighting.dm"
#include "code\controllers\subsystems\machines.dm"
+#include "code\controllers\subsystems\managed_instance.dm"
#include "code\controllers\subsystems\mapping.dm"
#include "code\controllers\subsystems\misc_late.dm"
#include "code\controllers\subsystems\overlays.dm"
@@ -1102,6 +1107,7 @@
#include "code\game\objects\items\weapons\circuitboards\machinery\docking_beacon.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\engineering_circuits.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\forensic.dm"
+#include "code\game\objects\items\weapons\circuitboards\machinery\holomap.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\household.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\inertial_damper.dm"
#include "code\game\objects\items\weapons\circuitboards\machinery\mech_recharger.dm"
@@ -1364,6 +1370,7 @@
#include "code\game\turfs\flooring\flooring_shuttle.dm"
#include "code\game\turfs\initialization\init.dm"
#include "code\game\turfs\initialization\maintenance.dm"
+#include "code\game\turfs\simulated\_wall_icon_cache.dm"
#include "code\game\turfs\simulated\floor.dm"
#include "code\game\turfs\simulated\floor_acts.dm"
#include "code\game\turfs\simulated\floor_attackby.dm"
@@ -2038,6 +2045,7 @@
#include "code\modules\holodeck\HolodeckControl.dm"
#include "code\modules\holodeck\HolodeckObjects.dm"
#include "code\modules\holodeck\HolodeckPrograms.dm"
+#include "code\modules\holomap\holomap.dm"
#include "code\modules\hotloading\_admin.dm"
#include "code\modules\hotloading\note.dm"
#include "code\modules\hydroponics\grown.dm"
@@ -2135,7 +2143,6 @@
#include "code\modules\locks\lock_construct.dm"
#include "code\modules\maps\_map_template.dm"
#include "code\modules\maps\_map_template_unit_testing.dm"
-#include "code\modules\maps\dmm_suite.dm"
#include "code\modules\maps\helper_landmarks.dm"
#include "code\modules\maps\reader.dm"
#include "code\modules\maps\template_types\antag_spawn.dm"
@@ -2203,6 +2210,7 @@
#include "code\modules\mechs\components\software.dm"
#include "code\modules\mechs\equipment\_equipment.dm"
#include "code\modules\mechs\equipment\combat.dm"
+#include "code\modules\mechs\equipment\combat_projectile.dm"
#include "code\modules\mechs\equipment\engineering.dm"
#include "code\modules\mechs\equipment\medical.dm"
#include "code\modules\mechs\equipment\utility.dm"
@@ -2233,6 +2241,7 @@
#include "code\modules\mob\animations.dm"
#include "code\modules\mob\death.dm"
#include "code\modules\mob\dview.dm"
+#include "code\modules\mob\examine.dm"
#include "code\modules\mob\floating_message.dm"
#include "code\modules\mob\hear_say.dm"
#include "code\modules\mob\hugs.dm"
@@ -2272,6 +2281,7 @@
#include "code\modules\mob\living\damage_procs.dm"
#include "code\modules\mob\living\death.dm"
#include "code\modules\mob\living\default_language.dm"
+#include "code\modules\mob\living\internals.dm"
#include "code\modules\mob\living\inventory.dm"
#include "code\modules\mob\living\life.dm"
#include "code\modules\mob\living\living.dm"
@@ -2306,6 +2316,7 @@
#include "code\modules\mob\living\carbon\give.dm"
#include "code\modules\mob\living\carbon\hallucinations.dm"
#include "code\modules\mob\living\carbon\immunity.dm"
+#include "code\modules\mob\living\carbon\internals.dm"
#include "code\modules\mob\living\carbon\life.dm"
#include "code\modules\mob\living\carbon\resist.dm"
#include "code\modules\mob\living\carbon\taste.dm"
@@ -3282,7 +3293,6 @@
#include "code\modules\sprite_accessories\_accessory_facial.dm"
#include "code\modules\sprite_accessories\_accessory_hair.dm"
#include "code\modules\sprite_accessories\_accessory_markings.dm"
-#include "code\modules\sprite_accessories\_accessory_skin.dm"
#include "code\modules\status_conditions\_status.dm"
#include "code\modules\status_conditions\_status_markers.dm"
#include "code\modules\status_conditions\status_counters_simple.dm"
@@ -3506,6 +3516,7 @@
#include "code\unit_tests\uplink_tests.dm"
#include "code\unit_tests\view_variables_test.dm"
#include "code\unit_tests\zas_tests.dm"
+#include "code\unit_tests\zlevel_tests.dm"
#include "code\unit_tests\~helpers.dm"
#include "interface\interface.dm"
#include "interface\skin.dmf"
@@ -3549,7 +3560,6 @@
#include "maps\~mapsystem\maps_antagonism.dm"
#include "maps\~mapsystem\maps_areas.dm"
#include "maps\~mapsystem\maps_currency.dm"
-#include "maps\~mapsystem\maps_environment.dm"
#include "maps\~mapsystem\maps_jobs.dm"
#include "maps\~mapsystem\maps_unit_testing.dm"
#include "maps\~unit_tests\unit_testing.dm"
diff --git a/test/check-paths.sh b/test/check-paths.sh
index 2ee195efd88..43b8bfd3e98 100755
--- a/test/check-paths.sh
+++ b/test/check-paths.sh
@@ -47,7 +47,7 @@ exactly 3 "unmarked globally scoped variables" -P '^(/|)var/(?!global)'
exactly 0 "global-marked member variables" -P '\t(/|)var.*/global/.+'
exactly 0 "static-marked globally scoped variables" -P '^(/|)var.*/static/.+'
exactly 1 "direct usage of decls_repository.get_decl()" 'decls_repository\.get_decl\('
-exactly 21 "direct loc set" -P '(\t|;|\.)loc\s*=(?!=)'
+exactly 22 "direct loc set" -P '(\t|;|\.)loc\s*=(?!=)'
# With the potential exception of << if you increase any of these numbers you're probably doing it wrong
diff --git a/tools/ReplicateSaves/README.md b/tools/ReplicateSaves/README.md
new file mode 100644
index 00000000000..a2ce3bd3111
--- /dev/null
+++ b/tools/ReplicateSaves/README.md
@@ -0,0 +1,7 @@
+# Save replicator
+
+Very quick and dirty script used to replicate the player saves for a given map for all other maps. Does not overwrite existing saves.
+
+# Usage
+
+`python tools/ReplicateSaves/replicate_saves.py [map to copy saves from]`
diff --git a/tools/ReplicateSaves/replicate_saves.py b/tools/ReplicateSaves/replicate_saves.py
new file mode 100644
index 00000000000..b935edab597
--- /dev/null
+++ b/tools/ReplicateSaves/replicate_saves.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import re
+import json
+
+__author__ = "MistakeNot4892"
+__version__ = "0.1.0"
+__license__ = "MIT"
+
+def main():
+
+ # Make sure they gave us a map to replicate.
+ if len(sys.argv) < 2:
+ print("Specify a map to replicate.")
+ return
+
+ # Make sure we can access the maps folder.
+ mapname = sys.argv[1]
+ mapdir = os.path.join("maps")
+ if not os.path.isdir(mapdir):
+ print("Cannot find directory '" + mapdir + "', make sure you are running this script from the root repository directory.")
+ return
+
+ # Work out what maps we actually need to replicate to.
+ # This should be updated as map directories change, or the script will break.
+ targetmaps = []
+ ignoremaps = [
+ "away",
+ "away_sites_testing",
+ "antag_spawn",
+ "example",
+ "modpack_testing",
+ "random_ruins",
+ "~mapsystem",
+ "~unit_tests"
+ ]
+ for dir in os.scandir(mapdir):
+ if os.path.isdir(dir):
+ targetmap = dir.path
+ targetmap = targetmap.replace(mapdir + os.sep, "")
+ if targetmap not in ignoremaps and targetmap != mapname:
+ targetmaps.append(targetmap)
+
+ # Make sure we can actually see the save directory.
+ scrapedir = os.path.join("data", "player_saves")
+ if not os.path.isdir(scrapedir):
+ print("Cannot find directory '" + scrapedir + "', make sure you are running this script from the root repository directory.")
+ return
+
+ # Find existing saves for the target map, then replicate them to all our target map dirs.
+ # If they exist already, don't copy over, just move on.
+ filename_regex = r"character_([a-zA-Z_]+)_(\d+)\.json"
+ print("Scanning saves in " + scrapedir + "...")
+ save_slots_to_update = []
+ saves_to_replicate = []
+ for (root, dirs, files) in os.walk(scrapedir):
+ for file in files:
+ match = re.match(filename_regex, file, re.I)
+ if match is None:
+ continue
+ if match.group(1) != mapname:
+ continue
+ savefile = os.path.join(root, file)
+ with open(savefile, "r") as loadedsave:
+ wrote = 0
+ loadedlines = loadedsave.readlines()
+ for targetmap in targetmaps:
+ newfilename = savefile.replace(mapname, targetmap)
+ if not os.path.exists(newfilename):
+ with open(newfilename, "w") as writesave:
+ for line in loadedlines:
+ writesave.write(line)
+ wrote = wrote+1
+ if wrote > 0:
+ print("Wrote " + str(wrote) + " copies of " + file + ".")
+
+ # Collect slot names for each user to update their preferences.json
+ for (root, dirs, files) in os.walk(scrapedir):
+ has_prefs = False
+ has_saves = []
+ for file in files:
+ if file == "preferences.json":
+ has_prefs = True
+ continue
+ match = re.match(filename_regex, file, re.I)
+ if match is None:
+ continue
+ has_saves.append(file)
+
+ if has_prefs and len(has_saves):
+ new_slot_names = {}
+ for savefile in has_saves:
+ with open(os.path.join(root, savefile), "r") as loaded_save:
+ loaded_save_json = json.load(loaded_save)
+ new_slot_names[savefile.replace(".json", "")] = loaded_save_json["real_name"]
+ if len(new_slot_names):
+ loaded_pref_json = ""
+ with open(os.path.join(root, "preferences.json"), "r") as pref_file:
+ loaded_json = pref_file.read()
+ loaded_pref_json = json.loads(loaded_json)
+ loaded_pref_json["slot_names"] = new_slot_names
+ with open(os.path.join(root, "preferences.json"), "w") as pref_file:
+ pref_file.write(json.dumps(loaded_pref_json))
+
+ # Fin.
+ print("Done.")
+
+if __name__ == "__main__":
+ main()