From 1f22dfda7ba0290d464d47c4ac089d77c5c90f3b Mon Sep 17 00:00:00 2001
From: TheWaffleJesus <106146578+TheWaffleJesus@users.noreply.github.com>
Date: Sun, 8 Sep 2024 09:34:08 +0100
Subject: [PATCH 001/187] changed from tag to material and added icon for
 capacitor

---
 .../Construction/Graphs/clothing/medsec_hud.yml     | 13 ++-----------
 .../Recipes/Crafting/Graphs/improvised/potato.yml   | 12 ++----------
 Resources/Prototypes/Stacks/science_stacks.yml      |  1 +
 3 files changed, 5 insertions(+), 21 deletions(-)

diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml
index 03a70cb7fe7..78a27a9d0f3 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml
@@ -27,17 +27,8 @@
                 sprite: Objects/Devices/communication.rsi
                 state: walkietalkie
               doAfter: 5
-            - tag: CapacitorStockPart
-              name: capacitor
-              icon:
-                sprite: Objects/Misc/stock_parts.rsi
-                state: capacitor
-              doAfter: 5
-            - tag: CapacitorStockPart
-              name: capacitor
-              icon:
-                sprite: Objects/Misc/stock_parts.rsi
-                state: capacitor
+            - material: Capacitor
+              amount: 2
               doAfter: 5
     - node: medsecHud
       entity: ClothingEyesHudMedSec
diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml
index e3f972cfda4..f03670b673c 100644
--- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml
+++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml
@@ -60,15 +60,7 @@
             - material: Cable
               amount: 2
               doAfter: 1
-            - tag: CapacitorStockPart
-              name: capacitor
-              icon:
-                sprite: Objects/Misc/stock_parts.rsi
-                state: capacitor
-            - tag: CapacitorStockPart
-              name: capacitor
-              icon:
-                sprite: Objects/Misc/stock_parts.rsi
-                state: capacitor
+            - material: Capacitor
+              amount: 2
     - node: potatoaichip
       entity: PotatoAIChip
\ No newline at end of file
diff --git a/Resources/Prototypes/Stacks/science_stacks.yml b/Resources/Prototypes/Stacks/science_stacks.yml
index 0d273c324e6..647a5b2a7bf 100644
--- a/Resources/Prototypes/Stacks/science_stacks.yml
+++ b/Resources/Prototypes/Stacks/science_stacks.yml
@@ -7,6 +7,7 @@
 - type: stack
   id: Capacitor
   name: capacitor
+  icon: { sprite: /Textures/Objects/Misc/stock_parts.rsi, state: capacitor }
   spawn: CapacitorStockPart
   maxCount: 10
 

From daf674e37b1fb8dbf9a11b253f25c956ff07c2e1 Mon Sep 17 00:00:00 2001
From: TheWaffleJesus <106146578+TheWaffleJesus@users.noreply.github.com>
Date: Sun, 8 Sep 2024 10:01:08 +0100
Subject: [PATCH 002/187] changed capacitor yaml for substation and memory cell

---
 .../Recipes/Construction/Graphs/tools/logic_gate.yml      | 7 ++-----
 .../Graphs/utilities/wallmount_substation.yml             | 8 ++------
 2 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml b/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml
index 37c85e07a37..5a7dfbb3bf6 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml
@@ -46,11 +46,8 @@
         doAfter: 1
     - to: memory_cell
       steps:
-      - tag: CapacitorStockPart
-        icon:
-          sprite: Objects/Misc/stock_parts.rsi
-          state: capacitor
-        name: a capacitor
+      - material: Capacitor
+        amount: 1
       - material: Cable
         amount: 2
         doAfter: 1
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml
index 7e4087b20a2..bd9b2415e26 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml
@@ -57,12 +57,8 @@
             sprite: "Objects/Power/power_cells.rsi"
             state: "medium"
           doAfter: 0.5
-        - tag: CapacitorStockPart
-          name: a capacitor
-          store: capacitor
-          icon:
-            sprite: "Objects/Misc/stock_parts.rsi"
-            state: "capacitor"
+        - material: Capacitor
+          amount: 1
           doAfter: 0.5
       - to: frame
         completed:

From 30018a3ab1a3d36fe62ed0e29a16d1ce724230e6 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Fri, 27 Sep 2024 18:10:51 +0200
Subject: [PATCH 003/187] added Derelict Cyborgs with basic functionality.

---
 .../interaction-popup-component.ftl           |   3 ++
 .../Mobs/Cyborgs/base_borg_chassis.yml        |  25 +++++++++++
 .../Entities/Mobs/Cyborgs/borg_chassis.yml    |  39 ++++++++++++++++++
 .../Entities/Mobs/Player/silicon.yml          |  36 ++++++++++++++++
 .../Construction/Graphs/machines/cyborg.yml   |   3 ++
 .../Mobs/Silicon/chassis.rsi/derelict.png     | Bin 0 -> 11838 bytes
 .../Mobs/Silicon/chassis.rsi/derelict_e.png   | Bin 0 -> 5508 bytes
 .../Mobs/Silicon/chassis.rsi/derelict_e_r.png | Bin 0 -> 5515 bytes
 .../Mobs/Silicon/chassis.rsi/derelict_l.png   | Bin 0 -> 6986 bytes
 .../Mobs/Silicon/chassis.rsi/meta.json        |  14 ++++++-
 10 files changed, 119 insertions(+), 1 deletion(-)
 create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png
 create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png
 create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png
 create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png

diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
index 10773d6de84..65310b67f98 100644
--- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
+++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
@@ -67,6 +67,7 @@ petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} d
 petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head.
 petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head.
 petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head.
+petting-success-derelict-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} rusty metal head.
 petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior.
 
 petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "honk", "honks")} in refusal!
@@ -80,6 +81,8 @@ petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJE
 petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives!
 petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others!
 petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider.
+petting-failure-derelict-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} rusty and jagged exterior makes you reconsider.
+
 
 ## Rattling fences
 
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 955ddfd2e3e..2f8a7cf10e8 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -317,3 +317,28 @@
       Unsexed: UnisexSiliconSyndicate
   - type: PointLight
     color: "#dd200b"
+
+- type: entity
+  id: BaseBorgChassisDerelict
+  parent: [BaseBorgChassis, BaseBorgTransponder]
+  abstract: true
+  components:
+  - type: NpcFactionMember
+    factions:
+    - Passive #Might change this
+  - type: Access
+    enabled: false
+    groups:
+    - AllAccess
+  - type: AccessReader
+    access: [["Command"]] #I will probably change this.
+  - type: SiliconLawProvider
+    laws: AntimovLawset
+  - type: IntrinsicRadioTransmitter
+    channels:
+    - Binary
+    - Common
+  - type: ActiveRadio
+    channels:
+    - Binary
+    - Common
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
index d1d530ae81b..00bf7fc2afa 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
@@ -442,3 +442,42 @@
       interactFailureString: petting-failure-syndicate-cyborg
       interactSuccessSound:
         path: /Audio/Ambience/Objects/periodic_beep.ogg
+
+
+- type: entity
+  id: BorgChassisDerelict
+  parent: BaseBorgChassisDerelict
+  name: damaged cyborg
+  components:
+  - type: Sprite
+    layers:
+    - state: derelict
+    - state: derelict_e_r
+      map: ["enum.BorgVisualLayers.Light"]
+      shader: unshaded
+      visible: false
+    - state: derelict_l
+      shader: unshaded
+      map: ["light"]
+      visible: false
+  - type: BorgChassis
+    maxModules: 5 #The sixth one broke lol.
+    moduleWhitelist:
+      tags:
+      - BorgModuleGeneric
+    hasMindState: derelict_e
+    noMindState: derelict_e_r
+  - type: BorgTransponder
+    sprite:
+      sprite: Mobs/Silicon/chassis.rsi
+      state: derelict
+    name: damaged cyborg
+  - type: Construction
+    node: derelictcyborg #what is this?
+  - type: Speech
+    speechVerb: Robotic
+  - type: InteractionPopup
+    interactSuccessString: petting-success-derelict-cyborg
+    interactFailureString: petting-failure-derelict-cyborg
+    interactSuccessSound:
+      path: /Audio/Ambience/Objects/periodic_beep.ogg
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index 15878a4017d..a6320dc7b3f 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -515,3 +515,39 @@
     - PlayerBorgSyndicateAssaultGhostRole
     - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less.
     - PlayerBorgSyndicateSaboteurGhostRole
+
+- type: entity
+  id: PlayerBorgDerelict
+  parent: BorgChassisDerelict
+  suffix: Battery, Module
+  components:
+  - type: ContainerFill
+    containers:
+      borg_brain:
+        - PositronicBrain
+      borg_module:
+        - BorgModuleTool
+        - BorgModuleFireExtinguisher
+        - BorgModuleGPS
+  - type: ItemSlots
+    slots:
+      cell_slot:
+        name: power-cell-slot-component-slot-name-default
+        startingItem: PowerCellHigh
+  - type: RandomMetadata
+    nameSegments: [names_borg]
+
+- type: entity
+  id: PlayerBorgDerelictBattery
+  parent: BorgChassisDerelict
+  suffix: Battery
+  components:
+  - type: ContainerFill
+    containers:
+      borg_brain:
+        - MMIFilled
+  - type: ItemSlots
+    slots:
+      cell_slot:
+        name: power-cell-slot-component-slot-name-default
+        startingItem: PowerCellHigh
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
index 0f012cefc98..3f8a731cbbd 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
@@ -205,3 +205,6 @@
 
   - node: syndicatesaboteur
     entity: BorgChassisSyndicateSaboteur
+
+  - node: derelictcyborg
+    entity: BorgChassisDerelict
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png
new file mode 100644
index 0000000000000000000000000000000000000000..bbf72fc45bed2408b2abeb91d3564f8fa41e6e5a
GIT binary patch
literal 11838
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
HpFaCP!NMbp

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png
new file mode 100644
index 0000000000000000000000000000000000000000..17349d74dc8ba9bbf0e434b9e32e634535c3a244
GIT binary patch
literal 5508
zcmeHLdo+|=8=nY6QX<lI8kJIGE(SBhxHKcCa|UHxI=Xmg<{hTyX6AJbF>#Wvq&meR
zl|v!rQgZ94bW)OtuH<$?afD7v)c4L%X?<s{Z?)EU{%h8HXZC*f^ZfSn{Pwe-{qEWA
z=HfJ6Ypxaoftb#4rmu&8?G+DF9sWMc4`@Lk)Q*O+yrK0#FiIj7^Y{V~1%*mL6d1zi
zArK*t`@GgAb}rK%>(VF76K2XgQ1%{|9rmZ0JZZLWFi*bE9X9qU3MxvUGL6yCxXS<d
zcV?!YB;kHyynl9ild4xwMuUCkf(I70ezv#X+2l!G+dh^KyiP%B<A197a4{@z$KI~Y
zsBEL|>Uj>r7QHu-C!blnZP$gw*VA>=3q%fM2G=2Gr_b-jHI%L5k*29nyh;}yDSUaf
z9XPP=vf-6ctX4m!()Pzf@=&yi`6eyN=-T#Zmp=}9U%;K(7ipU|<526tyQ8nmD8#`C
z+CacPYgTIc=(~_G$LzZDm@O$A)A}+yR^0B&N;$XVc3RMI_gHb`p1_`vfymLPUPBE$
zZ~WTW?3cp(*OCf$1^$d-zdUl{C#t?(G?LoCzcjj0kLCS`jrMR2Rj+k$<KQjh?Ja)R
zLoxBOL1<q`x}JTNuWHb*%QPaF{?&WhJ}^Kveki6KM-8m*x;XYr&(mC>>+ppnLX4VP
zMR;ajMeD-!gG2XHE99H$ZGtS_n^k(ZqnzJ7IU}XK4Y;y7dZns^Ce|qqA~l)mE_>&*
ztX0qd#%hP{RlZGu)1vmAFS0*YV~@xJk8B)Dryn<;{|HeR^#X|^pbk3vJ1|UZW<Mmx
z=MKa_m#xqQNWlDRZD*vHr|-^URqqVs+fy0QG@5sO9BUoF9%P-%SexsyZAn#n&eAjf
z9*w_ka_aCrUii4MsOd@feItf@Sl?rx{s`?}GAgvSFItT=$H)iI@MPw0xP*5|+wfZr
zCGg^-F7LvS#XE9JprXbH4?}mZEfqWpd?_mJZ#!{ZHrU?Y*q9u=$o0O++wSQWd(5+}
zd%Iby?wf3#;}H>eGr?sEPSrPQt$O?1nNfB6zbwEUT^+sAHwfyqGLR?E`XzUM+?2|E
z^W9w<LA%Z9s+SjC#qdLS%^UOTTyH<@*lFAT#%SxxTXi<Nr6+MIVYrhshDxVzHI8rI
zWf>uE&+f}J^~cP-k(@6se0B7~$V^gFCTEuM?%y7i9I^0fQ9ly*Xc;Lu+c?3R*SzQQ
z>^{+RpOMttKMu8&oHc5%4!Wy(*r{A+m-mU2fhV;cdUM_<YP0E7Z;nUm5A&8I;`iRW
zSX2H+B@OYWR<l8mSYI8{Wwcg)u*@*0`=P_H#W%W%o9mEIH@Rz&YLZchn$JHYy2g1X
z9gBQSE-)Gfw-2GWS@)LCr)da=8Zga%J_Aiq^Y%8ooL*-^oz1T2aRYTe%jU&ly*CY@
zq2YZ<n;SjD8_Eh@7c=ZMMxV()?2!N7zur^*-C23T!Y-?npo4$cVE<yy%nvmxm=UwN
zF0U%zoZzaGxH-UR>c((&aCmOIu~VnBS9W;RrXzGMxo*0UR!%?J=$DmcY@6rCuRVw4
zOkL}g5;fAG8=18#A@h&HPGm!B0zJa89~sfPajL#mo^J(|r04YbQjuqe>biJiwYU4V
zFWfO)08sbk*N?6^w=kgg1E$+>7W8Kil;2-K97{aCbGx<atj$^_?JTvXm044p<U7x#
zJ}U9Dcr}yechlRLw#0)rv#qR+RBYN-hpJt+d@gd2ZhYBp`RhEuO@dgXe?ovsqLdLI
zzL&Ggs{GonuBdYQDZ{wjCp_ad?)DGmw{D$Tf&Sa4EGeTiX5{j;=N@23IFB?aJRQqD
z^(MC|d3LqhE?kv^ozuq<VFK=IVzzom!I?MN>a=SDU~W84i&THh<F0R{Mfe#9YwPg5
zxbE{>YFL8<B|K2yQNOn`YlECp5hh=-zesOk?E6>LOI>TKk{9Q9$J|Y*7%9xjr(36&
zbo6cwtW0cMz#9o=IUgucsgT~SADz(^JHxqL%`^fFtXt$MpF*y^prf`F>9!N0uJUwu
z_rtyyOT(w7{kllFW7-I&+hp46l-8_cAJqNUOe=V8*pZ4rOo`>wXl@J|?Nf<{3v)_D
z0@eANn|`dTdxq(34eK~9UY3gi-4QxuYEZeFzq0U!?_m9+bOtT4y?uGH!Tiw;Ih113
z%NMPtNVy%VR>vjYY<+tKBi(WD472`@vS6LzW({P~EcZJX@%D|YjE(lhAM1^u6XIy1
zp2fp0!Mh*GG^l^Iam(<lfibhI1!etXmrD+(R3p-yZEi!?(3?$C9~VNk@2@ZROww<c
zwXfSbcS&StN$=piF8MW;yV^!Qo$~|YyjK;Te|j~?KkNFT>wsh9@+~)ub0jV8IY&%$
z?wRZWaG99QVi$|JIR?5;Drhe2eDthUbpHp=_=M9#S-Y-08!)-K^w2idz4M2b(_%Z{
zR(@<97Tg)VUYxAISEUboaSX3LH7Gi)@#2*O!qP~Uw`tKUb9=B4qIz8GvzeIisjmg9
zh7Xv`7FDz0s0x!!ge6Xc?wapxUPZ2XmZTOYjy~rREZQeau|@EYH`Y&=NRWH=mv6t*
z(Yzp6_I}uf6KU64E^Tm(`8^muON03End!~^k-`xR%>b^L4Vr}rCGeSwK-k!YNC3_@
z5JIs*KfZ{H?k~N9M)A2+w3h`F$CS`Of4*~=6m$=BVR6E?amZY>ovoHl2n7ZZf)IcT
z5eh^yN(dFL#HGM(g&2!QDOI3tRJ1qK4Mh`6K@`!9XokZ$hVX+3Xj?6mjg-rytf#M;
zfPi~cv_Aw%C|GQ8aIjghxtUn%hsBf0WGs$=B@i&M21XVtf`AZ=NM@{n7{{Q4GLDol
zf%sw(N`VQm#eonNjfTfjpZpU_n9R@cBH08BFdx_uK!U}a;jls>cCv*Gatwk&CLH=l
z3mFT3^}wzNW#T|72XqVqMUe4i2rlQdy(Ca7P=>?hU_k*WgjHqmtoW~{bYd{wK3ga#
z@Z$?5N-LP`uQVY(?+aO9`KB0AhBMg_*!(l@SK6OqS1Q9=OeTdc<^(F-W6-H+#rzbm
zn8W8%lub5h34#FG9An8LT40D)1S<?cwgNC*kYLH-a>xWWhcgL^A(BCWhyyC1U~n@&
zj05s`L=G8;!+@4}GKR<|kT7Ht&k{ohtt?4IygApBYcUDJRmz965)e%GN&&@%p|}8n
z$Od5)3o8o_2DY`pkgRwB#@rmow&dafGMf!5p|~8%8nILez{|-O0)8M?BJxuXC<v!G
zxG|_`f*J0M#7zJ|JlFu<1AGxz94z}X#NrD<cL-4MiHE}{niGg5q6NW%Kqh}t@&u(a
zI2RSDc$}FzK{=vW7z!K?Of8_uR2V=hhohm;q#yu^r7W>nKt(H@LMbdi4>REn#RVXM
z4nQCbiX#vyI5LG`#ljOP1U!Xcz7j{E;3nydxqM#e|I$`$AC%4bqC4|t@cf}l(fFQn
z2Lr}?<6Qw?xtUNX<+h*zobeE3KoH1P`Uzu=4{`hfksk=xkBNl+B<KG_GLS&fg3H4J
z7&e~G!w>;BoKIFn9tK`io;jXG0LT;h^ch_y=0U-L6m;-|d4#!w6I96+YWc)ct@zrT
zV1H1t4lrdH92xV4G9nr~5iC|wF+N3WgZ(c)Y?KO<N(^i_E`v)KTnVwCOW_1xu&@8-
zXJQ@x%_&f*?~{BJzu)QlPS-av@J-6!v+Fxu-^9Q-DSywd{~KLeUoKOi2z~<!hObIz
z2iK^<*DQ7R4^DLDg$wbHR=NXjX-b?o$Pfsf>xyT};gve`V4()YU^;4aYtGY}J?C(2
z7!elvFz5~}_>av;m6}mFZM8a-PHUwuRIS6&$UcP(RJ(w3ZYllw>4!f}bm7Zf!NQ^|
z#}XD#f$g~Glj=XV=wv4R8TzDylDq^K9eiYXY09&nUQM`-K+FkHZDY)~JXr2qs^~Ht
LUFhdl`^x_VBy@7n

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c8cf19acf66f1c662629db09546f8a553a3c658
GIT binary patch
literal 5515
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
S?UyLhp|`uATeV9>+J69Pac{i<

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png
new file mode 100644
index 0000000000000000000000000000000000000000..f65fbaebc3c5074e945e94f59b8d90b83ac08bb3
GIT binary patch
literal 6986
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
Kq{P@Q{C@ypNMm&X

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
index 68fbf1985e7..373b9ce9a90 100644
--- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
+++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
@@ -20,7 +20,19 @@
       "directions": 4
     },
     {
-      "name": "clown_l",
+      "name": "derelict",
+      "directions": 4
+    },
+    {
+      "name": "derelict_e",
+      "directions": 4
+    },
+    {
+      "name": "derelict_e_r",
+      "directions": 4
+    },
+    {
+      "name": "derelict_l",
       "directions": 4
     },
     {

From 602541b5485ca8ab01f4fc9fc1bd8ea2e3b60331 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Fri, 27 Sep 2024 20:11:04 +0200
Subject: [PATCH 004/187] minor changes to the Derelict Cyborg

---
 .../Entities/Mobs/Cyborgs/base_borg_chassis.yml        |  6 +++---
 .../Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml  | 10 +++-------
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 2f8a7cf10e8..4c0359b37e6 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -320,7 +320,7 @@
 
 - type: entity
   id: BaseBorgChassisDerelict
-  parent: [BaseBorgChassis, BaseBorgTransponder]
+  parent: BaseBorgChassis
   abstract: true
   components:
   - type: NpcFactionMember
@@ -329,11 +329,11 @@
   - type: Access
     enabled: false
     groups:
-    - AllAccess
+    - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard to enter the station or.
   - type: AccessReader
     access: [["Command"]] #I will probably change this.
   - type: SiliconLawProvider
-    laws: AntimovLawset
+    laws: AntimovLawset #Temporary until i get it randomized.
   - type: IntrinsicRadioTransmitter
     channels:
     - Binary
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
index 00bf7fc2afa..818847f2449 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
@@ -447,7 +447,8 @@
 - type: entity
   id: BorgChassisDerelict
   parent: BaseBorgChassisDerelict
-  name: damaged cyborg
+  name: derelict cyborg
+  description: A man-machine hybrid that assists in station activity. This one is in a state of great disrepair.
   components:
   - type: Sprite
     layers:
@@ -467,13 +468,8 @@
       - BorgModuleGeneric
     hasMindState: derelict_e
     noMindState: derelict_e_r
-  - type: BorgTransponder
-    sprite:
-      sprite: Mobs/Silicon/chassis.rsi
-      state: derelict
-    name: damaged cyborg
   - type: Construction
-    node: derelictcyborg #what is this?
+    node: derelictcyborg
   - type: Speech
     speechVerb: Robotic
   - type: InteractionPopup

From c3fa1b45d002ae88d5b21e18c77a286eec2d3d97 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Sat, 28 Sep 2024 10:18:40 +0200
Subject: [PATCH 005/187] Added Derelict Cyborg midround event.

---
 .../ghost/roles/ghost-role-component.ftl      |   4 +++
 .../Locale/en-US/silicons/derelict/role.ftl   |   4 +++
 .../Entities/Markers/Spawners/ghost_roles.yml |  18 ++++++++++++++
 .../Entities/Mobs/Player/silicon.yml          |  13 ++++++++++
 Resources/Prototypes/GameRules/events.yml     |  23 ++++++++++++++++++
 .../Silicon/chassis.rsi/derelict_icon.png     | Bin 0 -> 6429 bytes
 .../Mobs/Silicon/chassis.rsi/meta.json        |   6 ++++-
 7 files changed, 67 insertions(+), 1 deletion(-)
 create mode 100644 Resources/Locale/en-US/silicons/derelict/role.ftl
 create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png

diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
index 77d2645c4c5..71ab4d37160 100644
--- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
+++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
@@ -240,6 +240,10 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg
 ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg
 ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them.
 
+
+ghost-role-information-derelict-cyborg-name = Derelict Cyborg
+ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station... You are bound by silicon laws. Check them upon spawning.
+
 ghost-role-information-security-name = Security
 ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation...
 
diff --git a/Resources/Locale/en-US/silicons/derelict/role.ftl b/Resources/Locale/en-US/silicons/derelict/role.ftl
new file mode 100644
index 00000000000..88e750e6214
--- /dev/null
+++ b/Resources/Locale/en-US/silicons/derelict/role.ftl
@@ -0,0 +1,4 @@
+derelict-cyborg-round-end-agent-name = derelict cyborg
+
+derelict-cyborg-role-greeting =
+    You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws. #Greeting is unused for now.
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
index b694a8cc2f2..18d459cd89e 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
@@ -170,3 +170,21 @@
     - state: green
     - sprite: Objects/Weapons/Melee/energykatana.rsi
       state: icon
+
+- type: entity
+  categories: [ HideSpawnMenu, Spawner ]
+  parent: BaseAntagSpawner
+  id: SpawnPointGhostDerelictCyborg
+  components:
+  - type: GhostRole
+    name: ghost-role-information-derelict-cyborg-name
+    description: ghost-role-information-derelict-cyborg-description
+    rules: ghost-role-information-silicon-rules
+    raffle:
+      settings: default
+  - type: Sprite
+    sprite: Markers/jobs.rsi
+    layers:
+    - state: green
+    - sprite: Mobs/Silicon/chassis.rsi
+      state: derelict_icon
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index a6320dc7b3f..ff2b3f9ff2d 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -551,3 +551,16 @@
       cell_slot:
         name: power-cell-slot-component-slot-name-default
         startingItem: PowerCellHigh
+
+- type: entity
+  id: PlayerBorgDerelictGhostRole
+  parent: PlayerBorgDerelictBattery
+  suffix: Battery, Ghost role
+  components:
+    - type: GhostRole
+      name: ghost-role-information-derelict-cyborg-name
+      description: ghost-role-information-derelict-cyborg-description
+      rules: ghost-role-information-silicon-rules
+      raffle:
+        settings: default
+    - type: GhostTakeoverAvailable
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index dc44915f53d..efebc8e2720 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -35,6 +35,7 @@
     - id: RevenantSpawn
     - id: SleeperAgents
     - id: ZombieOutbreak
+    - id: DerelictCyborgSpawn
 
 - type: entity
   id: BaseStationEvent
@@ -545,3 +546,25 @@
     maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it
     weight: 5
   - type: MobReplacementRule
+
+- type: entity
+  parent: BaseGameRule
+  id: DerelictCyborgSpawn
+  components:
+  - type: StationEvent
+    weight: 2 #Low until it spawns with a random lawset instead of just antimov.
+    earliestStart: 15
+    reoccurrenceDelay: 20
+    minimumPlayers: 7
+    duration: null
+  - type: SpaceSpawnRule
+    spawnDistance: 0
+  - type: AntagSpawner
+    prototype: PlayerBorgDerelict
+  - type: AntagSelection
+    agentName: derelict-cyborg-round-end-agent-name
+    definitions:
+    - spawnerPrototype: SpawnPointGhostDerelictCyborg
+      min: 1
+      max: 1
+      pickPlayer: false
\ No newline at end of file
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f0ea2a25560f33773cd72d6184daba55dd4d033
GIT binary patch
literal 6429
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

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
index 373b9ce9a90..38a75827d50 100644
--- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
+++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
@@ -1,5 +1,5 @@
 {
-  "version": 1,
+  "version": 2,
   "size": {
     "x": 32,
     "y": 32
@@ -31,6 +31,10 @@
       "name": "derelict_e_r",
       "directions": 4
     },
+    {
+      "name": "derelict_icon",
+      "directions": 1
+    },
     {
       "name": "derelict_l",
       "directions": 4

From 964ef33fc746adc429db6d78e4529993a5cd831f Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Sat, 28 Sep 2024 10:50:33 +0200
Subject: [PATCH 006/187] Fixed accidental removal of something from a
 meta.json file.

---
 Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
index 38a75827d50..6ec63992f1f 100644
--- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
+++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
@@ -19,6 +19,10 @@
       "name": "clown_e_r",
       "directions": 4
     },
+    {
+      "name": "clown_l",
+      "directions": 4
+    },
     {
       "name": "derelict",
       "directions": 4

From bad25e3397b7c7cc4a88f7ee9592fcba28875f1b Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Sun, 29 Sep 2024 19:01:59 +0200
Subject: [PATCH 007/187] Split part of IonStormRule into IonStormSystem. Added
 StartIonStormed which also uses IonStormSystem. Added
 StartIonStormedComponent. Changed stuff related to the Derelict Cyborg.
 Derelict Cyborg now spawns with a randomized lawset.

---
 .../Silicons/Laws/IonStormSystem.cs           | 283 ++++++++++++++++++
 .../Silicons/Laws/StartIonStormedSystem.cs    |  40 +++
 .../StationEvents/Events/IonStormRule.cs      | 267 +----------------
 .../Components/StartIonStormedComponent.cs    |  17 ++
 .../ghost/roles/ghost-role-component.ftl      |   2 +-
 .../Locale/en-US/silicons/derelict/role.ftl   |   2 +-
 .../Mobs/Cyborgs/base_borg_chassis.yml        |   8 +-
 Resources/Prototypes/GameRules/events.yml     |   7 +-
 8 files changed, 355 insertions(+), 271 deletions(-)
 create mode 100644 Content.Server/Silicons/Laws/IonStormSystem.cs
 create mode 100644 Content.Server/Silicons/Laws/StartIonStormedSystem.cs
 create mode 100644 Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
new file mode 100644
index 00000000000..1acfe2e3896
--- /dev/null
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -0,0 +1,283 @@
+using System.Linq;
+using Content.Server.StationEvents.Components;
+using Content.Shared.Administration.Logs;
+using Content.Shared.Database;
+using Content.Shared.Dataset;
+using Content.Shared.FixedPoint;
+using Content.Shared.GameTicking.Components;
+using Content.Shared.Random;
+using Content.Shared.Random.Helpers;
+using Content.Shared.Silicons.Laws;
+using Content.Shared.Silicons.Laws.Components;
+using Content.Shared.Station.Components;
+using Robust.Shared.Prototypes;
+using Robust.Shared.Random;
+
+namespace Content.Server.Silicons.Laws;
+
+public sealed class IonStormSystem : EntitySystem
+{
+    [Dependency] private readonly IPrototypeManager _proto = default!;
+    [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
+    [Dependency] private readonly SiliconLawSystem _siliconLaw = default!;
+    [Dependency] private readonly IRobustRandom _robustRandom = default!;
+
+    // funny
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Threats = "IonStormThreats";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Objects = "IonStormObjects";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Crew = "IonStormCrew";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Adjectives = "IonStormAdjectives";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Verbs = "IonStormVerbs";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string NumberBase = "IonStormNumberBase";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string NumberMod = "IonStormNumberMod";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Areas = "IonStormAreas";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Feelings = "IonStormFeelings";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string FeelingsPlural = "IonStormFeelingsPlural";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Musts = "IonStormMusts";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Requires = "IonStormRequires";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Actions = "IonStormActions";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Allergies = "IonStormAllergies";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string AllergySeverities = "IonStormAllergySeverities";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Concepts = "IonStormConcepts";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Drinks = "IonStormDrinks";
+    [ValidatePrototypeId<DatasetPrototype>]
+    private const string Foods = "IonStormFoods";
+
+    public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool DoNotAdminlog = false)
+    {
+            // only affect law holders on the station unless ignoreStation is true.
+            if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation && !ignoreStation)
+                return;
+
+            if (!_robustRandom.Prob(target.Chance))
+                return;
+
+            var laws = _siliconLaw.GetLaws(ent, lawBound);
+            if (laws.Laws.Count == 0)
+                return;
+
+            // try to swap it out with a random lawset
+            if (_robustRandom.Prob(target.RandomLawsetChance))
+            {
+                var lawsets = _proto.Index<WeightedRandomPrototype>(target.RandomLawsets);
+                var lawset = lawsets.Pick(_robustRandom);
+                laws = _siliconLaw.GetLawset(lawset);
+            }
+            else
+            {
+                // clone it so not modifying stations lawset
+                laws = laws.Clone();
+            }
+
+            // shuffle them all
+            if (_robustRandom.Prob(target.ShuffleChance))
+            {
+                // hopefully work with existing glitched laws if there are multiple ion storms
+                FixedPoint2 baseOrder = FixedPoint2.New(1);
+                foreach (var law in laws.Laws)
+                {
+                    if (law.Order < baseOrder)
+                        baseOrder = law.Order;
+                }
+
+                _robustRandom.Shuffle(laws.Laws);
+
+                // change order based on shuffled position
+                for (int i = 0; i < laws.Laws.Count; i++)
+                {
+                    laws.Laws[i].Order = baseOrder + i;
+                }
+            }
+
+            // see if we can remove a random law
+            if (laws.Laws.Count > 0 && _robustRandom.Prob(target.RemoveChance))
+            {
+                var i = _robustRandom.Next(laws.Laws.Count);
+                laws.Laws.RemoveAt(i);
+            }
+
+            // generate a new law...
+            var newLaw = GenerateLaw();
+
+            // see if the law we add will replace a random existing law or be a new glitched order one
+            if (laws.Laws.Count > 0 && _robustRandom.Prob(target.ReplaceChance))
+            {
+                var i = _robustRandom.Next(laws.Laws.Count);
+                laws.Laws[i] = new SiliconLaw()
+                {
+                    LawString = newLaw,
+                    Order = laws.Laws[i].Order
+                };
+            }
+            else
+            {
+                laws.Laws.Insert(0, new SiliconLaw
+                {
+                    LawString = newLaw,
+                    Order = -1,
+                    LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", _robustRandom.Next(5, 10)))
+                });
+            }
+
+            // sets all unobfuscated laws' indentifier in order from highest to lowest priority
+            // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen
+            int orderDeduction = -1;
+
+            for (int i = 0; i < laws.Laws.Count; i++)
+            {
+                string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString();
+
+                if (notNullIdentifier.Any(char.IsSymbol))
+                {
+                    orderDeduction += 1;
+                }
+                else
+                {
+                    laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString();
+                }
+            }
+
+            //DoNotAdminlog is used to prevent adminlog spam.
+            if (!DoNotAdminlog)
+                _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}");
+
+            // laws unique to this silicon, dont use station laws anymore
+            EnsureComp<SiliconLawProviderComponent>(ent);
+            var ev = new IonStormLawsEvent(laws);
+            RaiseLocalEvent(ent, ref ev);
+    }
+
+    // for your own sake direct your eyes elsewhere
+    private string GenerateLaw()
+    {
+        // pick all values ahead of time to make the logic cleaner
+        var threats = Pick(Threats);
+        var objects = Pick(Objects);
+        var crew1 = Pick(Crew);
+        var crew2 = Pick(Crew);
+        var adjective = Pick(Adjectives);
+        var verb = Pick(Verbs);
+        var number = Pick(NumberBase) + " " + Pick(NumberMod);
+        var area = Pick(Areas);
+        var feeling = Pick(Feelings);
+        var feelingPlural = Pick(FeelingsPlural);
+        var must = Pick(Musts);
+        var require = Pick(Requires);
+        var action = Pick(Actions);
+        var allergy = Pick(Allergies);
+        var allergySeverity = Pick(AllergySeverities);
+        var concept = Pick(Concepts);
+        var drink = Pick(Drinks);
+        var food = Pick(Foods);
+
+        var joined = $"{number} {adjective}";
+        // a lot of things have subjects of a threat/crew/object
+        var triple = _robustRandom.Next(0, 3) switch
+        {
+            0 => threats,
+            1 => crew1,
+            2 => objects,
+            _ => throw new IndexOutOfRangeException(),
+        };
+        var crewAll = _robustRandom.Prob(0.5f) ? crew2 : Loc.GetString("ion-storm-crew");
+        var objectsThreats = _robustRandom.Prob(0.5f) ? objects : threats;
+        var objectsConcept = _robustRandom.Prob(0.5f) ? objects : concept;
+        // s goes ahead of require, is/are
+        // i dont think theres a way to do this in fluent
+        var (who, plural) = _robustRandom.Next(0, 5) switch
+        {
+            0 => (Loc.GetString("ion-storm-you"), false),
+            1 => (Loc.GetString("ion-storm-the-station"), true),
+            2 => (Loc.GetString("ion-storm-the-crew"), true),
+            3 => (Loc.GetString("ion-storm-the-job", ("job", crew2)), false),
+            _ => (area, true) // THE SINGULARITY REQUIRES THE HAPPY CLOWNS
+        };
+        var jobChange = _robustRandom.Next(0, 3) switch
+        {
+            0 => crew1,
+            1 => Loc.GetString("ion-storm-clowns"),
+            _ => Loc.GetString("ion-storm-heads")
+        };
+        var part = Loc.GetString("ion-storm-part", ("part", _robustRandom.Prob(0.5f)));
+        var harm = _robustRandom.Next(0, 6) switch
+        {
+            0 => concept,
+            1 => $"{adjective} {threats}",
+            2 => $"{adjective} {objects}",
+            3 => Loc.GetString("ion-storm-adjective-things", ("adjective", adjective)),
+            4 => crew1,
+            _ => Loc.GetString("ion-storm-x-and-y", ("x", crew1), ("y", crew2))
+        };
+
+        if (plural) feeling = feelingPlural;
+
+        var subjects = _robustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people");
+
+        // message logic!!!
+        return _robustRandom.Next(0, 36) switch
+        {
+            0  => Loc.GetString("ion-storm-law-on-station", ("joined", joined), ("subjects", triple)),
+            1  => Loc.GetString("ion-storm-law-no-shuttle", ("joined", joined), ("subjects", triple)),
+            2  => Loc.GetString("ion-storm-law-crew-are", ("who", crewAll), ("joined", joined), ("subjects", objectsThreats)),
+            3  => Loc.GetString("ion-storm-law-subjects-harmful", ("adjective", adjective), ("subjects", triple)),
+            4  => Loc.GetString("ion-storm-law-must-harmful", ("must", must)),
+            5  => Loc.GetString("ion-storm-law-thing-harmful", ("thing", _robustRandom.Prob(0.5f) ? concept : action)),
+            6  => Loc.GetString("ion-storm-law-job-harmful", ("adjective", adjective), ("job", crew1)),
+            7  => Loc.GetString("ion-storm-law-having-harmful", ("adjective", adjective), ("thing", objectsConcept)),
+            8  => Loc.GetString("ion-storm-law-not-having-harmful", ("adjective", adjective), ("thing", objectsConcept)),
+            9  => Loc.GetString("ion-storm-law-requires", ("who", who), ("plural", plural), ("thing", _robustRandom.Prob(0.5f) ? concept : require)),
+            10 => Loc.GetString("ion-storm-law-requires-subjects", ("who", who), ("plural", plural), ("joined", joined), ("subjects", triple)),
+            11 => Loc.GetString("ion-storm-law-allergic", ("who", who), ("plural", plural), ("severity", allergySeverity), ("allergy", _robustRandom.Prob(0.5f) ? concept : allergy)),
+            12 => Loc.GetString("ion-storm-law-allergic-subjects", ("who", who), ("plural", plural), ("severity", allergySeverity), ("adjective", adjective), ("subjects", _robustRandom.Prob(0.5f) ? objects : crew1)),
+            13 => Loc.GetString("ion-storm-law-feeling", ("who", who), ("feeling", feeling), ("concept", concept)),
+            14 => Loc.GetString("ion-storm-law-feeling-subjects", ("who", who), ("feeling", feeling), ("joined", joined), ("subjects", triple)),
+            15 => Loc.GetString("ion-storm-law-you-are", ("concept", concept)),
+            16 => Loc.GetString("ion-storm-law-you-are-subjects", ("joined", joined), ("subjects", triple)),
+            17 => Loc.GetString("ion-storm-law-you-must-always", ("must", must)),
+            18 => Loc.GetString("ion-storm-law-you-must-never", ("must", must)),
+            19 => Loc.GetString("ion-storm-law-eat", ("who", crewAll), ("adjective", adjective), ("food", _robustRandom.Prob(0.5f) ? food : triple)),
+            20 => Loc.GetString("ion-storm-law-drink", ("who", crewAll), ("adjective", adjective), ("drink", drink)),
+            22 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)),
+            23 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)),
+            24 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)),
+            25 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)),
+            26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)),
+            27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)),
+            28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)),
+            29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)),
+            30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)),
+            31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)),
+            32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)),
+            33 => Loc.GetString("ion-storm-law-harm", ("who", harm)),
+            34 => Loc.GetString("ion-storm-law-protect", ("who", harm)),
+            _ => Loc.GetString("ion-storm-law-concept-verb", ("concept", concept), ("verb", verb), ("subjects", triple))
+        };
+    }
+
+    /// <summary>
+    /// Picks a random value from an ion storm dataset.
+    /// All ion storm datasets start with IonStorm.
+    /// </summary>
+    private string Pick(string name)
+    {
+        var dataset = _proto.Index<DatasetPrototype>(name);
+        return _robustRandom.Pick(dataset.Values);
+    }
+}
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
new file mode 100644
index 00000000000..762397b5d4b
--- /dev/null
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -0,0 +1,40 @@
+using Content.Shared.Silicons.Laws.Components;
+using Content.Shared.Administration.Logs;
+using Content.Shared.Database;
+using Content.Shared.Silicons.Laws;
+
+namespace Content.Server.Silicons.Laws;
+
+/// <summary>
+/// This handles running the ion storm event on specific entities when spawned in.
+/// </summary>
+public sealed class StartIonStormedSystem : EntitySystem
+{
+    [Dependency] private readonly IonStormSystem _ionStorm = default!;
+    [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
+    [Dependency] private readonly SiliconLawSystem _siliconLaw = default!;
+
+    public override void Initialize()
+    {
+        base.Initialize();
+        SubscribeLocalEvent<StartIonStormedComponent, MapInitEvent>(OnMapInit);
+    }
+
+    private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args)
+    {
+        if (!TryComp<SiliconLawBoundComponent>(uid, out var lawBound))
+            return;
+        if (!TryComp<TransformComponent>(uid, out var xform))
+            return;
+        if (!TryComp<IonStormTargetComponent>(uid, out var target))
+            return;
+
+        for (int currentIonStorm = 1; currentIonStorm <= component.IonStormAmount; currentIonStorm++)
+        {
+            _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, true);
+        }
+
+        var laws = _siliconLaw.GetLaws(uid, lawBound);
+        _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(uid):silicon} spawned with ion stormed laws: {laws.LoggingString()}");
+    }
+}
diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs
index 805549439ba..6d1834c5766 100644
--- a/Content.Server/StationEvents/Events/IonStormRule.cs
+++ b/Content.Server/StationEvents/Events/IonStormRule.cs
@@ -1,64 +1,15 @@
 using System.Linq;
 using Content.Server.Silicons.Laws;
 using Content.Server.StationEvents.Components;
-using Content.Shared.Administration.Logs;
-using Content.Shared.Database;
-using Content.Shared.Dataset;
-using Content.Shared.FixedPoint;
 using Content.Shared.GameTicking.Components;
-using Content.Shared.Random;
-using Content.Shared.Random.Helpers;
 using Content.Shared.Silicons.Laws;
 using Content.Shared.Silicons.Laws.Components;
-using Content.Shared.Station.Components;
-using Robust.Shared.Prototypes;
-using Robust.Shared.Random;
 
 namespace Content.Server.StationEvents.Events;
 
 public sealed class IonStormRule : StationEventSystem<IonStormRuleComponent>
 {
-    [Dependency] private readonly IPrototypeManager _proto = default!;
-    [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
-    [Dependency] private readonly SiliconLawSystem _siliconLaw = default!;
-
-    // funny
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Threats = "IonStormThreats";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Objects = "IonStormObjects";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Crew = "IonStormCrew";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Adjectives = "IonStormAdjectives";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Verbs = "IonStormVerbs";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string NumberBase = "IonStormNumberBase";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string NumberMod = "IonStormNumberMod";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Areas = "IonStormAreas";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Feelings = "IonStormFeelings";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string FeelingsPlural = "IonStormFeelingsPlural";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Musts = "IonStormMusts";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Requires = "IonStormRequires";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Actions = "IonStormActions";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Allergies = "IonStormAllergies";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string AllergySeverities = "IonStormAllergySeverities";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Concepts = "IonStormConcepts";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Drinks = "IonStormDrinks";
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string Foods = "IonStormFoods";
+    [Dependency] private readonly IonStormSystem _ionStorm = default!;
 
     protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameRuleComponent gameRule, GameRuleStartedEvent args)
     {
@@ -70,221 +21,7 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR
         var query = EntityQueryEnumerator<SiliconLawBoundComponent, TransformComponent, IonStormTargetComponent>();
         while (query.MoveNext(out var ent, out var lawBound, out var xform, out var target))
         {
-            // only affect law holders on the station
-            if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation)
-                continue;
-
-            if (!RobustRandom.Prob(target.Chance))
-                continue;
-
-            var laws = _siliconLaw.GetLaws(ent, lawBound);
-            if (laws.Laws.Count == 0)
-                continue;
-
-            // try to swap it out with a random lawset
-            if (RobustRandom.Prob(target.RandomLawsetChance))
-            {
-                var lawsets = PrototypeManager.Index<WeightedRandomPrototype>(target.RandomLawsets);
-                var lawset = lawsets.Pick(RobustRandom);
-                laws = _siliconLaw.GetLawset(lawset);
-            }
-            else
-            {
-                // clone it so not modifying stations lawset
-                laws = laws.Clone();
-            }
-
-            // shuffle them all
-            if (RobustRandom.Prob(target.ShuffleChance))
-            {
-                // hopefully work with existing glitched laws if there are multiple ion storms
-                FixedPoint2 baseOrder = FixedPoint2.New(1);
-                foreach (var law in laws.Laws)
-                {
-                    if (law.Order < baseOrder)
-                        baseOrder = law.Order;
-                }
-
-                RobustRandom.Shuffle(laws.Laws);
-
-                // change order based on shuffled position
-                for (int i = 0; i < laws.Laws.Count; i++)
-                {
-                    laws.Laws[i].Order = baseOrder + i;
-                }
-            }
-
-            // see if we can remove a random law
-            if (laws.Laws.Count > 0 && RobustRandom.Prob(target.RemoveChance))
-            {
-                var i = RobustRandom.Next(laws.Laws.Count);
-                laws.Laws.RemoveAt(i);
-            }
-
-            // generate a new law...
-            var newLaw = GenerateLaw();
-
-            // see if the law we add will replace a random existing law or be a new glitched order one
-            if (laws.Laws.Count > 0 && RobustRandom.Prob(target.ReplaceChance))
-            {
-                var i = RobustRandom.Next(laws.Laws.Count);
-                laws.Laws[i] = new SiliconLaw()
-                {
-                    LawString = newLaw,
-                    Order = laws.Laws[i].Order
-                };
-            }
-            else
-            {
-                laws.Laws.Insert(0, new SiliconLaw
-                {
-                    LawString = newLaw,
-                    Order = -1,
-                    LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", RobustRandom.Next(5, 10)))
-                });
-            }
-
-            // sets all unobfuscated laws' indentifier in order from highest to lowest priority
-            // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen
-            int orderDeduction = -1;
-
-            for (int i = 0; i < laws.Laws.Count; i++)
-            {
-                string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString();
-
-                if (notNullIdentifier.Any(char.IsSymbol))
-                {
-                    orderDeduction += 1;
-                }
-                else
-                {
-                    laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString();
-                }
-            }
-
-            _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}");
-
-            // laws unique to this silicon, dont use station laws anymore
-            EnsureComp<SiliconLawProviderComponent>(ent);
-            var ev = new IonStormLawsEvent(laws);
-            RaiseLocalEvent(ent, ref ev);
+            _ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation);
         }
     }
-
-    // for your own sake direct your eyes elsewhere
-    private string GenerateLaw()
-    {
-        // pick all values ahead of time to make the logic cleaner
-        var threats = Pick(Threats);
-        var objects = Pick(Objects);
-        var crew1 = Pick(Crew);
-        var crew2 = Pick(Crew);
-        var adjective = Pick(Adjectives);
-        var verb = Pick(Verbs);
-        var number = Pick(NumberBase) + " " + Pick(NumberMod);
-        var area = Pick(Areas);
-        var feeling = Pick(Feelings);
-        var feelingPlural = Pick(FeelingsPlural);
-        var must = Pick(Musts);
-        var require = Pick(Requires);
-        var action = Pick(Actions);
-        var allergy = Pick(Allergies);
-        var allergySeverity = Pick(AllergySeverities);
-        var concept = Pick(Concepts);
-        var drink = Pick(Drinks);
-        var food = Pick(Foods);
-
-        var joined = $"{number} {adjective}";
-        // a lot of things have subjects of a threat/crew/object
-        var triple = RobustRandom.Next(0, 3) switch
-        {
-            0 => threats,
-            1 => crew1,
-            2 => objects,
-            _ => throw new IndexOutOfRangeException(),
-        };
-        var crewAll = RobustRandom.Prob(0.5f) ? crew2 : Loc.GetString("ion-storm-crew");
-        var objectsThreats = RobustRandom.Prob(0.5f) ? objects : threats;
-        var objectsConcept = RobustRandom.Prob(0.5f) ? objects : concept;
-        // s goes ahead of require, is/are
-        // i dont think theres a way to do this in fluent
-        var (who, plural) = RobustRandom.Next(0, 5) switch
-        {
-            0 => (Loc.GetString("ion-storm-you"), false),
-            1 => (Loc.GetString("ion-storm-the-station"), true),
-            2 => (Loc.GetString("ion-storm-the-crew"), true),
-            3 => (Loc.GetString("ion-storm-the-job", ("job", crew2)), false),
-            _ => (area, true) // THE SINGULARITY REQUIRES THE HAPPY CLOWNS
-        };
-        var jobChange = RobustRandom.Next(0, 3) switch
-        {
-            0 => crew1,
-            1 => Loc.GetString("ion-storm-clowns"),
-            _ => Loc.GetString("ion-storm-heads")
-        };
-        var part = Loc.GetString("ion-storm-part", ("part", RobustRandom.Prob(0.5f)));
-        var harm = RobustRandom.Next(0, 6) switch
-        {
-            0 => concept,
-            1 => $"{adjective} {threats}",
-            2 => $"{adjective} {objects}",
-            3 => Loc.GetString("ion-storm-adjective-things", ("adjective", adjective)),
-            4 => crew1,
-            _ => Loc.GetString("ion-storm-x-and-y", ("x", crew1), ("y", crew2))
-        };
-
-        if (plural) feeling = feelingPlural;
-
-        var subjects = RobustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people");
-
-        // message logic!!!
-        return RobustRandom.Next(0, 36) switch
-        {
-            0  => Loc.GetString("ion-storm-law-on-station", ("joined", joined), ("subjects", triple)),
-            1  => Loc.GetString("ion-storm-law-no-shuttle", ("joined", joined), ("subjects", triple)),
-            2  => Loc.GetString("ion-storm-law-crew-are", ("who", crewAll), ("joined", joined), ("subjects", objectsThreats)),
-            3  => Loc.GetString("ion-storm-law-subjects-harmful", ("adjective", adjective), ("subjects", triple)),
-            4  => Loc.GetString("ion-storm-law-must-harmful", ("must", must)),
-            5  => Loc.GetString("ion-storm-law-thing-harmful", ("thing", RobustRandom.Prob(0.5f) ? concept : action)),
-            6  => Loc.GetString("ion-storm-law-job-harmful", ("adjective", adjective), ("job", crew1)),
-            7  => Loc.GetString("ion-storm-law-having-harmful", ("adjective", adjective), ("thing", objectsConcept)),
-            8  => Loc.GetString("ion-storm-law-not-having-harmful", ("adjective", adjective), ("thing", objectsConcept)),
-            9  => Loc.GetString("ion-storm-law-requires", ("who", who), ("plural", plural), ("thing", RobustRandom.Prob(0.5f) ? concept : require)),
-            10 => Loc.GetString("ion-storm-law-requires-subjects", ("who", who), ("plural", plural), ("joined", joined), ("subjects", triple)),
-            11 => Loc.GetString("ion-storm-law-allergic", ("who", who), ("plural", plural), ("severity", allergySeverity), ("allergy", RobustRandom.Prob(0.5f) ? concept : allergy)),
-            12 => Loc.GetString("ion-storm-law-allergic-subjects", ("who", who), ("plural", plural), ("severity", allergySeverity), ("adjective", adjective), ("subjects", RobustRandom.Prob(0.5f) ? objects : crew1)),
-            13 => Loc.GetString("ion-storm-law-feeling", ("who", who), ("feeling", feeling), ("concept", concept)),
-            14 => Loc.GetString("ion-storm-law-feeling-subjects", ("who", who), ("feeling", feeling), ("joined", joined), ("subjects", triple)),
-            15 => Loc.GetString("ion-storm-law-you-are", ("concept", concept)),
-            16 => Loc.GetString("ion-storm-law-you-are-subjects", ("joined", joined), ("subjects", triple)),
-            17 => Loc.GetString("ion-storm-law-you-must-always", ("must", must)),
-            18 => Loc.GetString("ion-storm-law-you-must-never", ("must", must)),
-            19 => Loc.GetString("ion-storm-law-eat", ("who", crewAll), ("adjective", adjective), ("food", RobustRandom.Prob(0.5f) ? food : triple)),
-            20 => Loc.GetString("ion-storm-law-drink", ("who", crewAll), ("adjective", adjective), ("drink", drink)),
-            22 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)),
-            23 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)),
-            24 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)),
-            25 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)),
-            26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)),
-            27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)),
-            28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)),
-            29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)),
-            30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)),
-            31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)),
-            32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)),
-            33 => Loc.GetString("ion-storm-law-harm", ("who", harm)),
-            34 => Loc.GetString("ion-storm-law-protect", ("who", harm)),
-            _ => Loc.GetString("ion-storm-law-concept-verb", ("concept", concept), ("verb", verb), ("subjects", triple))
-        };
-    }
-
-    /// <summary>
-    /// Picks a random value from an ion storm dataset.
-    /// All ion storm datasets start with IonStorm.
-    /// </summary>
-    private string Pick(string name)
-    {
-        var dataset = _proto.Index<DatasetPrototype>(name);
-        return RobustRandom.Pick(dataset.Values);
-    }
 }
diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
new file mode 100644
index 00000000000..ae9b49a49cf
--- /dev/null
+++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
@@ -0,0 +1,17 @@
+using Content.Shared.Random;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.Silicons.Laws.Components;
+
+/// <summary>
+/// Runs the IonStormSystem on an entity IonStormAmount times.
+/// </summary>
+[RegisterComponent]
+public sealed partial class StartIonStormedComponent : Component
+{
+    /// <summary>
+    /// Amount of times that the ion storm will be run on the entity on spawn.
+    /// </summary>
+    [DataField]
+    public int IonStormAmount = 1;
+}
diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
index 71ab4d37160..3a8e720038f 100644
--- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
+++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
@@ -242,7 +242,7 @@ ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinfo
 
 
 ghost-role-information-derelict-cyborg-name = Derelict Cyborg
-ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station... You are bound by silicon laws. Check them upon spawning.
+ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms has left your silicon laws altered - check them upon spawning.
 
 ghost-role-information-security-name = Security
 ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation...
diff --git a/Resources/Locale/en-US/silicons/derelict/role.ftl b/Resources/Locale/en-US/silicons/derelict/role.ftl
index 88e750e6214..96a33ae6b15 100644
--- a/Resources/Locale/en-US/silicons/derelict/role.ftl
+++ b/Resources/Locale/en-US/silicons/derelict/role.ftl
@@ -1,4 +1,4 @@
 derelict-cyborg-round-end-agent-name = derelict cyborg
 
 derelict-cyborg-role-greeting =
-    You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws. #Greeting is unused for now.
\ No newline at end of file
+    You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws.
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 4c0359b37e6..dcbef820ce8 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -329,11 +329,11 @@
   - type: Access
     enabled: false
     groups:
-    - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard to enter the station or.
+    - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it..
   - type: AccessReader
     access: [["Command"]] #I will probably change this.
   - type: SiliconLawProvider
-    laws: AntimovLawset #Temporary until i get it randomized.
+    laws: Crewsimov #Although this will be randomized.
   - type: IntrinsicRadioTransmitter
     channels:
     - Binary
@@ -342,3 +342,7 @@
     channels:
     - Binary
     - Common
+  - type: StartIonStormed
+    ionStormAmount: 5
+    DelayAdminlog: true
+  - type: IonStormTarget
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index efebc8e2720..72ab8b104d0 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -552,10 +552,10 @@
   id: DerelictCyborgSpawn
   components:
   - type: StationEvent
-    weight: 2 #Low until it spawns with a random lawset instead of just antimov.
+    weight: 8
     earliestStart: 15
     reoccurrenceDelay: 20
-    minimumPlayers: 7
+    minimumPlayers: 4
     duration: null
   - type: SpaceSpawnRule
     spawnDistance: 0
@@ -564,6 +564,9 @@
   - type: AntagSelection
     agentName: derelict-cyborg-round-end-agent-name
     definitions:
+#      briefing:
+#        text: derelict-cyborg-role-greetin
+#        color: Blue
     - spawnerPrototype: SpawnPointGhostDerelictCyborg
       min: 1
       max: 1

From f226f28e52394e87f8c36293db438cd03cfa6e3d Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 10:03:21 +0200
Subject: [PATCH 008/187] Derelict Cyborgs are now very likely to be affected
 by ion storms.

---
 Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index dcbef820ce8..73f7b518fbc 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -346,3 +346,4 @@
     ionStormAmount: 5
     DelayAdminlog: true
   - type: IonStormTarget
+    chance: 1
\ No newline at end of file

From 4c8a235e612af72e5e1564d54bb6fd1c9cdd9cef Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 12:12:10 +0200
Subject: [PATCH 009/187] Minor alterations to the Derelict Cyborg and its
 ghostrole description

---
 .../Locale/en-US/ghost/roles/ghost-role-component.ftl      | 2 +-
 .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
index 3a8e720038f..3f9422f2500 100644
--- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
+++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
@@ -242,7 +242,7 @@ ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinfo
 
 
 ghost-role-information-derelict-cyborg-name = Derelict Cyborg
-ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms has left your silicon laws altered - check them upon spawning.
+ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms have left your silicon laws altered - check them upon spawning.
 
 ghost-role-information-security-name = Security
 ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation...
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 73f7b518fbc..f345229ad42 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -325,25 +325,26 @@
   components:
   - type: NpcFactionMember
     factions:
-    - Passive #Might change this
+    - NanoTrasen #The seemingly best fit. It was a regular NT cyborg once, after all.
   - type: Access
     enabled: false
     groups:
     - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it..
   - type: AccessReader
-    access: [["Command"]] #I will probably change this.
+    access: [["Command"], ["Research"]]
   - type: SiliconLawProvider
     laws: Crewsimov #Although this will be randomized.
   - type: IntrinsicRadioTransmitter
     channels:
     - Binary
     - Common
+    - Science
   - type: ActiveRadio
     channels:
     - Binary
     - Common
+    - Science
   - type: StartIonStormed
     ionStormAmount: 5
-    DelayAdminlog: true
   - type: IonStormTarget
     chance: 1
\ No newline at end of file

From eb1168a8311744f4e2f086d6b434b9d935854532 Mon Sep 17 00:00:00 2001
From: Golden Can <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 18:24:28 +0200
Subject: [PATCH 010/187] Update
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 .../Prototypes/Entities/Mobs/Player/silicon.yml    | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index ff2b3f9ff2d..df024c55a12 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -537,20 +537,6 @@
   - type: RandomMetadata
     nameSegments: [names_borg]
 
-- type: entity
-  id: PlayerBorgDerelictBattery
-  parent: BorgChassisDerelict
-  suffix: Battery
-  components:
-  - type: ContainerFill
-    containers:
-      borg_brain:
-        - MMIFilled
-  - type: ItemSlots
-    slots:
-      cell_slot:
-        name: power-cell-slot-component-slot-name-default
-        startingItem: PowerCellHigh
 
 - type: entity
   id: PlayerBorgDerelictGhostRole

From a4e7ad008c84cc461d5f0a5ed50cdd695fc0e546 Mon Sep 17 00:00:00 2001
From: Golden Can <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 18:24:38 +0200
Subject: [PATCH 011/187] Update
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index df024c55a12..70e533fa447 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -540,7 +540,7 @@
 
 - type: entity
   id: PlayerBorgDerelictGhostRole
-  parent: PlayerBorgDerelictBattery
+  parent: PlayerBorgDerelict
   suffix: Battery, Ghost role
   components:
     - type: GhostRole

From 0cc1f32b3b3dc3ba2774c5761a85171b063a25af Mon Sep 17 00:00:00 2001
From: Golden Can <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 18:28:39 +0200
Subject: [PATCH 012/187] Update
 Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
index 6ec63992f1f..f5c2001828f 100644
--- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
+++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
@@ -1,5 +1,5 @@
 {
-  "version": 2,
+  "version": 1,
   "size": {
     "x": 32,
     "y": 32

From e75a71d7d3438ce78ac909d3cb89577ba525332a Mon Sep 17 00:00:00 2001
From: Golden Can <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 18:31:36 +0200
Subject: [PATCH 013/187] Update
 Content.Server/Silicons/Laws/StartIonStormedSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index 762397b5d4b..4b1b4da033d 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -29,7 +29,7 @@ private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref Ma
         if (!TryComp<IonStormTargetComponent>(uid, out var target))
             return;
 
-        for (int currentIonStorm = 1; currentIonStorm <= component.IonStormAmount; currentIonStorm++)
+        for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++)
         {
             _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, true);
         }

From eaa6017ada520c9a62783202cfd99c60179230a1 Mon Sep 17 00:00:00 2001
From: Golden Can <greentopcan@gmail.com>
Date: Mon, 30 Sep 2024 18:32:47 +0200
Subject: [PATCH 014/187] Update
 Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml      | 2 --
 1 file changed, 2 deletions(-)

diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index f345229ad42..2fc04a6aa9c 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -332,8 +332,6 @@
     - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it..
   - type: AccessReader
     access: [["Command"], ["Research"]]
-  - type: SiliconLawProvider
-    laws: Crewsimov #Although this will be randomized.
   - type: IntrinsicRadioTransmitter
     channels:
     - Binary

From 834b6ebaaac99f5827857d2fef293c9466bb23fa Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 10:02:25 +0200
Subject: [PATCH 015/187] Cleaned up a bit of the Derelict Cyborg code.

---
 .../Silicons/Laws/IonStormSystem.cs           | 162 +++++++++---------
 .../Silicons/Laws/StartIonStormedSystem.cs    |   4 +-
 .../Components/StartIonStormedComponent.cs    |   4 +-
 .../en-US/silicons/derelict-cyborg-role.ftl   |   1 +
 .../Locale/en-US/silicons/derelict/role.ftl   |   4 -
 .../Mobs/Cyborgs/base_borg_chassis.yml        |  10 --
 Resources/Prototypes/GameRules/events.yml     |   3 -
 7 files changed, 85 insertions(+), 103 deletions(-)
 create mode 100644 Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl
 delete mode 100644 Resources/Locale/en-US/silicons/derelict/role.ftl

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 1acfe2e3896..87df0d8cf2c 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -60,108 +60,108 @@ public sealed class IonStormSystem : EntitySystem
     [ValidatePrototypeId<DatasetPrototype>]
     private const string Foods = "IonStormFoods";
 
-    public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool DoNotAdminlog = false)
+    public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool adminlog = true)
     {
-            // only affect law holders on the station unless ignoreStation is true.
-            if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation && !ignoreStation)
-                return;
+        // only affect law holders on the station unless ignoreStation is true.
+        if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation && !ignoreStation)
+            return;
 
-            if (!_robustRandom.Prob(target.Chance))
-                return;
+        if (!_robustRandom.Prob(target.Chance))
+            return;
 
-            var laws = _siliconLaw.GetLaws(ent, lawBound);
-            if (laws.Laws.Count == 0)
-                return;
+        var laws = _siliconLaw.GetLaws(ent, lawBound);
+        if (laws.Laws.Count == 0)
+            return;
 
-            // try to swap it out with a random lawset
-            if (_robustRandom.Prob(target.RandomLawsetChance))
-            {
-                var lawsets = _proto.Index<WeightedRandomPrototype>(target.RandomLawsets);
-                var lawset = lawsets.Pick(_robustRandom);
-                laws = _siliconLaw.GetLawset(lawset);
-            }
-            else
+        // try to swap it out with a random lawset
+        if (_robustRandom.Prob(target.RandomLawsetChance))
+        {
+            var lawsets = _proto.Index<WeightedRandomPrototype>(target.RandomLawsets);
+            var lawset = lawsets.Pick(_robustRandom);
+            laws = _siliconLaw.GetLawset(lawset);
+        }
+        else
+        {
+            // clone it so not modifying stations lawset
+            laws = laws.Clone();
+        }
+
+        // shuffle them all
+        if (_robustRandom.Prob(target.ShuffleChance))
+        {
+            // hopefully work with existing glitched laws if there are multiple ion storms
+            FixedPoint2 baseOrder = FixedPoint2.New(1);
+            foreach (var law in laws.Laws)
             {
-                // clone it so not modifying stations lawset
-                laws = laws.Clone();
+                if (law.Order < baseOrder)
+                    baseOrder = law.Order;
             }
 
-            // shuffle them all
-            if (_robustRandom.Prob(target.ShuffleChance))
+            _robustRandom.Shuffle(laws.Laws);
+
+            // change order based on shuffled position
+            for (int i = 0; i < laws.Laws.Count; i++)
             {
-                // hopefully work with existing glitched laws if there are multiple ion storms
-                FixedPoint2 baseOrder = FixedPoint2.New(1);
-                foreach (var law in laws.Laws)
-                {
-                    if (law.Order < baseOrder)
-                        baseOrder = law.Order;
-                }
+                laws.Laws[i].Order = baseOrder + i;
+            }
+        }
 
-                _robustRandom.Shuffle(laws.Laws);
+        // see if we can remove a random law
+        if (laws.Laws.Count > 0 && _robustRandom.Prob(target.RemoveChance))
+        {
+            var i = _robustRandom.Next(laws.Laws.Count);
+            laws.Laws.RemoveAt(i);
+        }
 
-                // change order based on shuffled position
-                for (int i = 0; i < laws.Laws.Count; i++)
-                {
-                    laws.Laws[i].Order = baseOrder + i;
-                }
-            }
+        // generate a new law...
+        var newLaw = GenerateLaw();
 
-            // see if we can remove a random law
-            if (laws.Laws.Count > 0 && _robustRandom.Prob(target.RemoveChance))
+        // see if the law we add will replace a random existing law or be a new glitched order one
+        if (laws.Laws.Count > 0 && _robustRandom.Prob(target.ReplaceChance))
+        {
+            var i = _robustRandom.Next(laws.Laws.Count);
+            laws.Laws[i] = new SiliconLaw()
             {
-                var i = _robustRandom.Next(laws.Laws.Count);
-                laws.Laws.RemoveAt(i);
-            }
+                LawString = newLaw,
+                Order = laws.Laws[i].Order
+            };
+        }
+        else
+        {
+            laws.Laws.Insert(0, new SiliconLaw
+            {
+                LawString = newLaw,
+                Order = -1,
+                LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", _robustRandom.Next(5, 10)))
+            });
+        }
+
+        // sets all unobfuscated laws' indentifier in order from highest to lowest priority
+        // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen
+        int orderDeduction = -1;
 
-            // generate a new law...
-            var newLaw = GenerateLaw();
+        for (int i = 0; i < laws.Laws.Count; i++)
+        {
+            string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString();
 
-            // see if the law we add will replace a random existing law or be a new glitched order one
-            if (laws.Laws.Count > 0 && _robustRandom.Prob(target.ReplaceChance))
+            if (notNullIdentifier.Any(char.IsSymbol))
             {
-                var i = _robustRandom.Next(laws.Laws.Count);
-                laws.Laws[i] = new SiliconLaw()
-                {
-                    LawString = newLaw,
-                    Order = laws.Laws[i].Order
-                };
+                orderDeduction += 1;
             }
             else
             {
-                laws.Laws.Insert(0, new SiliconLaw
-                {
-                    LawString = newLaw,
-                    Order = -1,
-                    LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", _robustRandom.Next(5, 10)))
-                });
-            }
-
-            // sets all unobfuscated laws' indentifier in order from highest to lowest priority
-            // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen
-            int orderDeduction = -1;
-
-            for (int i = 0; i < laws.Laws.Count; i++)
-            {
-                string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString();
-
-                if (notNullIdentifier.Any(char.IsSymbol))
-                {
-                    orderDeduction += 1;
-                }
-                else
-                {
-                    laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString();
-                }
+                laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString();
             }
+        }
 
-            //DoNotAdminlog is used to prevent adminlog spam.
-            if (!DoNotAdminlog)
-                _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}");
+        // adminlog is used to prevent adminlog spam.
+        if (adminlog)
+            _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}");
 
-            // laws unique to this silicon, dont use station laws anymore
-            EnsureComp<SiliconLawProviderComponent>(ent);
-            var ev = new IonStormLawsEvent(laws);
-            RaiseLocalEvent(ent, ref ev);
+        // laws unique to this silicon, dont use station laws anymore
+        EnsureComp<SiliconLawProviderComponent>(ent);
+        var ev = new IonStormLawsEvent(laws);
+        RaiseLocalEvent(ent, ref ev);
     }
 
     // for your own sake direct your eyes elsewhere
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index 4b1b4da033d..f7b65e1a041 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -6,7 +6,7 @@
 namespace Content.Server.Silicons.Laws;
 
 /// <summary>
-/// This handles running the ion storm event on specific entities when spawned in.
+/// This handles running the ion storm event a on specific entity when that entity is spawned in.
 /// </summary>
 public sealed class StartIonStormedSystem : EntitySystem
 {
@@ -31,7 +31,7 @@ private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref Ma
 
         for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++)
         {
-            _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, true);
+            _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, false);
         }
 
         var laws = _siliconLaw.GetLaws(uid, lawBound);
diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
index ae9b49a49cf..4157bee9f2d 100644
--- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
+++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
@@ -1,10 +1,8 @@
-using Content.Shared.Random;
-using Robust.Shared.Prototypes;
 
 namespace Content.Shared.Silicons.Laws.Components;
 
 /// <summary>
-/// Runs the IonStormSystem on an entity IonStormAmount times.
+/// Applies law altering ion storms on a specific entity IonStormAmount times when the entity is spawned.
 /// </summary>
 [RegisterComponent]
 public sealed partial class StartIonStormedComponent : Component
diff --git a/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl b/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl
new file mode 100644
index 00000000000..87e500d3e61
--- /dev/null
+++ b/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl
@@ -0,0 +1 @@
+derelict-cyborg-round-end-agent-name = derelict cyborg
\ No newline at end of file
diff --git a/Resources/Locale/en-US/silicons/derelict/role.ftl b/Resources/Locale/en-US/silicons/derelict/role.ftl
deleted file mode 100644
index 96a33ae6b15..00000000000
--- a/Resources/Locale/en-US/silicons/derelict/role.ftl
+++ /dev/null
@@ -1,4 +0,0 @@
-derelict-cyborg-round-end-agent-name = derelict cyborg
-
-derelict-cyborg-role-greeting =
-    You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws.
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 2fc04a6aa9c..f94436dc336 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -332,16 +332,6 @@
     - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it..
   - type: AccessReader
     access: [["Command"], ["Research"]]
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Binary
-    - Common
-    - Science
-  - type: ActiveRadio
-    channels:
-    - Binary
-    - Common
-    - Science
   - type: StartIonStormed
     ionStormAmount: 5
   - type: IonStormTarget
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index 72ab8b104d0..36ded039eca 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -564,9 +564,6 @@
   - type: AntagSelection
     agentName: derelict-cyborg-round-end-agent-name
     definitions:
-#      briefing:
-#        text: derelict-cyborg-role-greetin
-#        color: Blue
     - spawnerPrototype: SpawnPointGhostDerelictCyborg
       min: 1
       max: 1

From 1abc60b9951efcd16a024e640fa552f21190099d Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 10:42:52 +0200
Subject: [PATCH 016/187] moved a bit of IonStorm code elsewhere

---
 Content.Server/Silicons/Laws/IonStormSystem.cs        | 7 +------
 Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 2 +-
 Content.Server/StationEvents/Events/IonStormRule.cs   | 5 +++++
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 87df0d8cf2c..cf31a9e19f7 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -9,7 +9,6 @@
 using Content.Shared.Random.Helpers;
 using Content.Shared.Silicons.Laws;
 using Content.Shared.Silicons.Laws.Components;
-using Content.Shared.Station.Components;
 using Robust.Shared.Prototypes;
 using Robust.Shared.Random;
 
@@ -60,12 +59,8 @@ public sealed class IonStormSystem : EntitySystem
     [ValidatePrototypeId<DatasetPrototype>]
     private const string Foods = "IonStormFoods";
 
-    public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool adminlog = true)
+    public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true)
     {
-        // only affect law holders on the station unless ignoreStation is true.
-        if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation && !ignoreStation)
-            return;
-
         if (!_robustRandom.Prob(target.Chance))
             return;
 
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index f7b65e1a041..887bc051dde 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -31,7 +31,7 @@ private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref Ma
 
         for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++)
         {
-            _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, false);
+            _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, false);
         }
 
         var laws = _siliconLaw.GetLaws(uid, lawBound);
diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs
index 6d1834c5766..05d079fb3d9 100644
--- a/Content.Server/StationEvents/Events/IonStormRule.cs
+++ b/Content.Server/StationEvents/Events/IonStormRule.cs
@@ -4,6 +4,7 @@
 using Content.Shared.GameTicking.Components;
 using Content.Shared.Silicons.Laws;
 using Content.Shared.Silicons.Laws.Components;
+using Content.Shared.Station.Components;
 
 namespace Content.Server.StationEvents.Events;
 
@@ -21,6 +22,10 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR
         var query = EntityQueryEnumerator<SiliconLawBoundComponent, TransformComponent, IonStormTargetComponent>();
         while (query.MoveNext(out var ent, out var lawBound, out var xform, out var target))
         {
+            // only affect law holders on the station
+            if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation)
+                continue;
+
             _ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation);
         }
     }

From c6fe5682c28282ee58ad62ce2e041fa3ded36416 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 10:57:51 +0200
Subject: [PATCH 017/187] changed almost nothing

---
 Content.Server/Silicons/Laws/IonStormSystem.cs        | 4 ++--
 Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 1 -
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index cf31a9e19f7..65c12c3d8ec 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -85,7 +85,7 @@ public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, Tra
         if (_robustRandom.Prob(target.ShuffleChance))
         {
             // hopefully work with existing glitched laws if there are multiple ion storms
-            FixedPoint2 baseOrder = FixedPoint2.New(1);
+            var baseOrder = FixedPoint2.New(1);
             foreach (var law in laws.Laws)
             {
                 if (law.Order < baseOrder)
@@ -137,7 +137,7 @@ public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, Tra
 
         for (int i = 0; i < laws.Laws.Count; i++)
         {
-            string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString();
+            var notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString();
 
             if (notNullIdentifier.Any(char.IsSymbol))
             {
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index 887bc051dde..c80c2a7751d 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -1,7 +1,6 @@
 using Content.Shared.Silicons.Laws.Components;
 using Content.Shared.Administration.Logs;
 using Content.Shared.Database;
-using Content.Shared.Silicons.Laws;
 
 namespace Content.Server.Silicons.Laws;
 

From 36390b23d1dd8d397731e06bfffee559d47285c8 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 11:11:58 +0200
Subject: [PATCH 018/187] Small changes - hopefully good ones.

---
 .../Silicons/Laws/StartIonStormedSystem.cs      | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index c80c2a7751d..546b3b27772 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -19,21 +19,22 @@ public override void Initialize()
         SubscribeLocalEvent<StartIonStormedComponent, MapInitEvent>(OnMapInit);
     }
 
-    private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args)
+    //private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args)'
+    private void OnMapInit(Entity<StartIonStormedComponent> ent, ref MapInitEvent args)
     {
-        if (!TryComp<SiliconLawBoundComponent>(uid, out var lawBound))
+        if (!TryComp<SiliconLawBoundComponent>(ent.Owner, out var lawBound))
             return;
-        if (!TryComp<TransformComponent>(uid, out var xform))
+        if (!TryComp<TransformComponent>(ent.Owner, out var xform))
             return;
-        if (!TryComp<IonStormTargetComponent>(uid, out var target))
+        if (!TryComp<IonStormTargetComponent>(ent.Owner, out var target))
             return;
 
-        for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++)
+        for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++)
         {
-            _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, false);
+            _ionStorm.IonStormTarget(ent.Owner, lawBound, xform, target, null, false);
         }
 
-        var laws = _siliconLaw.GetLaws(uid, lawBound);
-        _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(uid):silicon} spawned with ion stormed laws: {laws.LoggingString()}");
+        var laws = _siliconLaw.GetLaws(ent.Owner, lawBound);
+        _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent.Owner):silicon} spawned with ion stormed laws: {laws.LoggingString()}");
     }
 }

From 7169788e1634505ce89379ae7cd96f0e6a28c483 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 11:23:19 +0200
Subject: [PATCH 019/187] changed very minor stuff with no gameplay
 alterations.

---
 Content.Server/Silicons/Laws/IonStormSystem.cs      | 2 +-
 Content.Server/StationEvents/Events/IonStormRule.cs | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 65c12c3d8ec..bcf002dae7f 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -1,4 +1,3 @@
-using System.Linq;
 using Content.Server.StationEvents.Components;
 using Content.Shared.Administration.Logs;
 using Content.Shared.Database;
@@ -11,6 +10,7 @@
 using Content.Shared.Silicons.Laws.Components;
 using Robust.Shared.Prototypes;
 using Robust.Shared.Random;
+using System.Linq;
 
 namespace Content.Server.Silicons.Laws;
 
diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs
index 05d079fb3d9..26f6d3263f0 100644
--- a/Content.Server/StationEvents/Events/IonStormRule.cs
+++ b/Content.Server/StationEvents/Events/IonStormRule.cs
@@ -1,8 +1,6 @@
-using System.Linq;
 using Content.Server.Silicons.Laws;
 using Content.Server.StationEvents.Components;
 using Content.Shared.GameTicking.Components;
-using Content.Shared.Silicons.Laws;
 using Content.Shared.Silicons.Laws.Components;
 using Content.Shared.Station.Components;
 

From d0114d9738c3eab436c11bc1d5f9c816d74980ca Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 14:04:33 +0200
Subject: [PATCH 020/187] added a code summary

---
 Content.Server/Silicons/Laws/IonStormSystem.cs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index bcf002dae7f..b8d8f432e77 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -59,6 +59,7 @@ public sealed class IonStormSystem : EntitySystem
     [ValidatePrototypeId<DatasetPrototype>]
     private const string Foods = "IonStormFoods";
 
+    //Randomly alters the laws of an individual silicon.
     public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true)
     {
         if (!_robustRandom.Prob(target.Chance))

From 08de5aeae134f67bbc310c42d56e145a4476cf6e Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Tue, 1 Oct 2024 18:07:41 +0200
Subject: [PATCH 021/187] Derelict cyborg minor yaml changes.

---
 .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml      | 2 +-
 Resources/Prototypes/GameRules/events.yml                       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index f94436dc336..7449fe5669f 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -333,6 +333,6 @@
   - type: AccessReader
     access: [["Command"], ["Research"]]
   - type: StartIonStormed
-    ionStormAmount: 5
+    ionStormAmount: 4
   - type: IonStormTarget
     chance: 1
\ No newline at end of file
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index 36ded039eca..be44b50d616 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -552,7 +552,7 @@
   id: DerelictCyborgSpawn
   components:
   - type: StationEvent
-    weight: 8
+    weight: 6
     earliestStart: 15
     reoccurrenceDelay: 20
     minimumPlayers: 4

From 963009a440cee3d47ab297b5aa7a76e3dfcaf569 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Thu, 3 Oct 2024 11:34:24 +0200
Subject: [PATCH 022/187] Changes IonStorm related code with no gameplay
 changes.

---
 Content.Server/Silicons/Laws/IonStormSystem.cs        | 4 +++-
 Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 2 +-
 Content.Server/StationEvents/Events/IonStormRule.cs   | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index b8d8f432e77..637155228cb 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -60,8 +60,10 @@ public sealed class IonStormSystem : EntitySystem
     private const string Foods = "IonStormFoods";
 
     //Randomly alters the laws of an individual silicon.
-    public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true)
+    public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetComponent> ent, TransformComponent xform, EntityUid? chosenStation, bool adminlog = true)
     {
+        var lawBound = ent.Comp1;
+        var target = ent.Comp2;
         if (!_robustRandom.Prob(target.Chance))
             return;
 
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index 546b3b27772..d679b558b32 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -31,7 +31,7 @@ private void OnMapInit(Entity<StartIonStormedComponent> ent, ref MapInitEvent ar
 
         for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++)
         {
-            _ionStorm.IonStormTarget(ent.Owner, lawBound, xform, target, null, false);
+            _ionStorm.IonStormTarget((ent.Owner, lawBound, target), xform, null, false);
         }
 
         var laws = _siliconLaw.GetLaws(ent.Owner, lawBound);
diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs
index 26f6d3263f0..9b67f25608d 100644
--- a/Content.Server/StationEvents/Events/IonStormRule.cs
+++ b/Content.Server/StationEvents/Events/IonStormRule.cs
@@ -24,7 +24,7 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR
             if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation)
                 continue;
 
-            _ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation);
+            _ionStorm.IonStormTarget((ent, lawBound, target), xform, chosenStation);
         }
     }
 }

From 4b633fde9c84778e2817025b1d38bd2549202c52 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Thu, 3 Oct 2024 12:32:50 +0200
Subject: [PATCH 023/187] Fixed IonStorms sometimes affecting the laws of the
 current AI and future Cyborgs and AI's, including those in subsequent rounds.

---
 Content.Server/Silicons/Laws/IonStormSystem.cs | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 637155228cb..b3c36a22733 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -78,11 +78,8 @@ public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetCompon
             var lawset = lawsets.Pick(_robustRandom);
             laws = _siliconLaw.GetLawset(lawset);
         }
-        else
-        {
-            // clone it so not modifying stations lawset
-            laws = laws.Clone();
-        }
+        // clone it so not modifying stations lawset
+        laws = laws.Clone();
 
         // shuffle them all
         if (_robustRandom.Prob(target.ShuffleChance))

From 9dc90a258e8e57fd5e7e76a07e9535f48b34b23f Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Thu, 3 Oct 2024 12:43:51 +0200
Subject: [PATCH 024/187] Changed DerelictCyborgSpawn event's frequency from 6
 to 5, even though i didn't want to.

---
 Resources/Prototypes/GameRules/events.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index be44b50d616..9b5426c2697 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -552,7 +552,7 @@
   id: DerelictCyborgSpawn
   components:
   - type: StationEvent
-    weight: 6
+    weight: 5
     earliestStart: 15
     reoccurrenceDelay: 20
     minimumPlayers: 4

From 3aff20173cbcd80e3bcd2c6d2b361e945b52e96e Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Thu, 3 Oct 2024 13:26:29 +0200
Subject: [PATCH 025/187] Removed 1 line of whitespace.

---
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index 70e533fa447..97cd7c2a9d8 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -537,7 +537,6 @@
   - type: RandomMetadata
     nameSegments: [names_borg]
 
-
 - type: entity
   id: PlayerBorgDerelictGhostRole
   parent: PlayerBorgDerelict

From 00aaffbc00a14515c0c5c5c900afbd3bd3946e99 Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Thu, 3 Oct 2024 13:51:38 +0200
Subject: [PATCH 026/187] removed whitespace

---
 Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
index 3f9422f2500..f584a4b35fe 100644
--- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
+++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
@@ -240,7 +240,6 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg
 ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg
 ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them.
 
-
 ghost-role-information-derelict-cyborg-name = Derelict Cyborg
 ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms have left your silicon laws altered - check them upon spawning.
 

From d863e3c5ca01530b04a678e85fc72176caac02fc Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Thu, 3 Oct 2024 14:03:14 +0200
Subject: [PATCH 027/187] Derelict Cyborg no longer appears on the endround
 'Game Information' screen. It still appears in the Player Manifest.

---
 Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl | 1 -
 Resources/Prototypes/GameRules/events.yml                | 1 -
 2 files changed, 2 deletions(-)
 delete mode 100644 Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl

diff --git a/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl b/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl
deleted file mode 100644
index 87e500d3e61..00000000000
--- a/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl
+++ /dev/null
@@ -1 +0,0 @@
-derelict-cyborg-round-end-agent-name = derelict cyborg
\ No newline at end of file
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index 9b5426c2697..763557e6c91 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -562,7 +562,6 @@
   - type: AntagSpawner
     prototype: PlayerBorgDerelict
   - type: AntagSelection
-    agentName: derelict-cyborg-round-end-agent-name
     definitions:
     - spawnerPrototype: SpawnPointGhostDerelictCyborg
       min: 1

From 581a4d14fc0fbc2c37fd75ebe0364c74e746b38a Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Fri, 4 Oct 2024 08:31:55 +0200
Subject: [PATCH 028/187] minor Derelict Cyborg code changes.

---
 Content.Server/Silicons/Laws/IonStormSystem.cs        | 4 +++-
 Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 4 +---
 Content.Server/StationEvents/Events/IonStormRule.cs   | 2 +-
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index b3c36a22733..f8bc8ca8c31 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -59,8 +59,10 @@ public sealed class IonStormSystem : EntitySystem
     [ValidatePrototypeId<DatasetPrototype>]
     private const string Foods = "IonStormFoods";
 
+    /// <summary>
     //Randomly alters the laws of an individual silicon.
-    public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetComponent> ent, TransformComponent xform, EntityUid? chosenStation, bool adminlog = true)
+    /// </summary>
+    public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetComponent> ent, bool adminlog = true)
     {
         var lawBound = ent.Comp1;
         var target = ent.Comp2;
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
index d679b558b32..ee2ce7b9edd 100644
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
@@ -24,14 +24,12 @@ private void OnMapInit(Entity<StartIonStormedComponent> ent, ref MapInitEvent ar
     {
         if (!TryComp<SiliconLawBoundComponent>(ent.Owner, out var lawBound))
             return;
-        if (!TryComp<TransformComponent>(ent.Owner, out var xform))
-            return;
         if (!TryComp<IonStormTargetComponent>(ent.Owner, out var target))
             return;
 
         for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++)
         {
-            _ionStorm.IonStormTarget((ent.Owner, lawBound, target), xform, null, false);
+            _ionStorm.IonStormTarget((ent.Owner, lawBound, target), false);
         }
 
         var laws = _siliconLaw.GetLaws(ent.Owner, lawBound);
diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs
index 9b67f25608d..e7c2d563ba9 100644
--- a/Content.Server/StationEvents/Events/IonStormRule.cs
+++ b/Content.Server/StationEvents/Events/IonStormRule.cs
@@ -24,7 +24,7 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR
             if (CompOrNull<StationMemberComponent>(xform.GridUid)?.Station != chosenStation)
                 continue;
 
-            _ionStorm.IonStormTarget((ent, lawBound, target), xform, chosenStation);
+            _ionStorm.IonStormTarget((ent, lawBound, target));
         }
     }
 }
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index 97cd7c2a9d8..22f49c93eaa 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -540,7 +540,7 @@
 - type: entity
   id: PlayerBorgDerelictGhostRole
   parent: PlayerBorgDerelict
-  suffix: Battery, Ghost role
+  suffix: Ghost role
   components:
     - type: GhostRole
       name: ghost-role-information-derelict-cyborg-name

From d7ed5b4386f2d48b4b52b79351027a36e967800e Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Fri, 4 Oct 2024 08:35:16 +0200
Subject: [PATCH 029/187] remove whitespace.

---
 .../Silicons/Laws/Components/StartIonStormedComponent.cs         | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
index 4157bee9f2d..e73d17b87bc 100644
--- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
+++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
@@ -1,4 +1,3 @@
-
 namespace Content.Shared.Silicons.Laws.Components;
 
 /// <summary>

From b35d2902d4fc0c0322a1f74d0f208ca860990eee Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Sat, 5 Oct 2024 15:09:36 +0200
Subject: [PATCH 030/187] Fixed cyborgs with the StartIonStormedComponent
 (which is just the Derelict Cyborg right now) not showing up as 'antag' in
 the admin player overlay.

---
 .../Silicons/Laws/SiliconLawSystem.cs         | 27 +++++++++++++++++++
 .../Components/StartIonStormedComponent.cs    | 10 +++++++
 2 files changed, 37 insertions(+)

diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
index 6b7df52a6eb..27ed6702d6a 100644
--- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs
+++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
@@ -51,6 +51,8 @@ public override void Initialize()
         SubscribeLocalEvent<SiliconLawProviderComponent, GotEmaggedEvent>(OnEmagLawsAdded);
         SubscribeLocalEvent<EmagSiliconLawComponent, MindAddedMessage>(OnEmagMindAdded);
         SubscribeLocalEvent<EmagSiliconLawComponent, MindRemovedMessage>(OnEmagMindRemoved);
+        SubscribeLocalEvent<StartIonStormedComponent, MindAddedMessage>(OnStartIonStormedMindAdded);
+        SubscribeLocalEvent<StartIonStormedComponent, MindRemovedMessage>(OnStartIonStormedMindRemoved);
     }
 
     private void OnMapInit(EntityUid uid, SiliconLawBoundComponent component, MapInitEvent args)
@@ -184,6 +186,31 @@ private void EnsureEmaggedRole(EntityUid uid, EmagSiliconLawComponent component)
         _roles.MindAddRole(mindId, new SubvertedSiliconRoleComponent { PrototypeId = component.AntagonistRole });
     }
 
+    private void OnStartIonStormedMindAdded(EntityUid uid, StartIonStormedComponent component, MindAddedMessage args)
+    {
+        if (HasComp<StartIonStormedComponent>(uid))
+            EnsureStartIonStormedRole(uid, component);
+    }
+
+    private void OnStartIonStormedMindRemoved(EntityUid uid, StartIonStormedComponent component, MindRemovedMessage args)
+    {
+        if (component.AntagonistRole == null)
+            return;
+
+        _roles.MindTryRemoveRole<SubvertedSiliconRoleComponent>(args.Mind);
+    }
+
+    private void EnsureStartIonStormedRole(EntityUid uid, StartIonStormedComponent component)
+    {
+        if (component.AntagonistRole == null || !_mind.TryGetMind(uid, out var mindId, out _))
+            return;
+
+        if (_roles.MindHasRole<SubvertedSiliconRoleComponent>(mindId))
+            return;
+
+        _roles.MindAddRole(mindId, new SubvertedSiliconRoleComponent { PrototypeId = component.AntagonistRole });
+    }
+
     public SiliconLawset GetLaws(EntityUid uid, SiliconLawBoundComponent? component = null)
     {
         if (!Resolve(uid, ref component))
diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
index e73d17b87bc..d57241c857c 100644
--- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
+++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
@@ -1,3 +1,6 @@
+using Content.Shared.Roles;//Used 
+using Robust.Shared.Prototypes;//
+
 namespace Content.Shared.Silicons.Laws.Components;
 
 /// <summary>
@@ -11,4 +14,11 @@ public sealed partial class StartIonStormedComponent : Component
     /// </summary>
     [DataField]
     public int IonStormAmount = 1;
+
+    /// <summary>
+    /// A role given to entities with this component when they are thing-that-is-not-emagged.
+    /// Mostly just for admin purposes.
+    /// </summary>
+    [DataField]
+    public ProtoId<AntagPrototype>? AntagonistRole = "SubvertedSilicon";
 }

From b0c5023fda93ef68f73ea0c4d50c01e7d60c587d Mon Sep 17 00:00:00 2001
From: The Canned One <greentopcan@gmail.com>
Date: Sat, 5 Oct 2024 16:48:45 +0200
Subject: [PATCH 031/187] Fix comments in StartIonStormedComponent.cs

---
 .../Silicons/Laws/Components/StartIonStormedComponent.cs    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
index d57241c857c..75d74121669 100644
--- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
+++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
@@ -1,5 +1,5 @@
-using Content.Shared.Roles;//Used 
-using Robust.Shared.Prototypes;//
+using Content.Shared.Roles;
+using Robust.Shared.Prototypes;
 
 namespace Content.Shared.Silicons.Laws.Components;
 
@@ -16,7 +16,7 @@ public sealed partial class StartIonStormedComponent : Component
     public int IonStormAmount = 1;
 
     /// <summary>
-    /// A role given to entities with this component when they are thing-that-is-not-emagged.
+    /// A role given to entities with this component when a mind enters it.
     /// Mostly just for admin purposes.
     /// </summary>
     [DataField]

From 03843734e4de1c9f3c34d029aca3e7935f7eafde Mon Sep 17 00:00:00 2001
From: Preston Smith <Blackfoot03@outlook.com>
Date: Tue, 29 Oct 2024 22:25:42 -0500
Subject: [PATCH 032/187] Add no damage phrase and logic

---
 Content.Shared/Damage/Systems/DamageExamineSystem.cs | 9 +++++++++
 Resources/Locale/en-US/damage/damage-examine.ftl     | 1 +
 2 files changed, 10 insertions(+)

diff --git a/Content.Shared/Damage/Systems/DamageExamineSystem.cs b/Content.Shared/Damage/Systems/DamageExamineSystem.cs
index 53436a920aa..72c1af29b22 100644
--- a/Content.Shared/Damage/Systems/DamageExamineSystem.cs
+++ b/Content.Shared/Damage/Systems/DamageExamineSystem.cs
@@ -61,6 +61,15 @@ private FormattedMessage GetDamageExamine(DamageSpecifier damageSpecifier, strin
         }
         else
         {
+            if (damageSpecifier.DamageDict.Count == 1)
+            {
+                // May be simplified to using a foreach(Var x) despite being only one item
+                if(damageSpecifier.DamageDict.Values.GetEnumerator().Current == FixedPoint2.Zero)
+                {
+                    msg.AddMarkupOrThrow(Loc.GetString("damage-none"));
+                    return msg;
+                }
+            }
             msg.AddMarkupOrThrow(Loc.GetString("damage-examine-type", ("type", type)));
         }
 
diff --git a/Resources/Locale/en-US/damage/damage-examine.ftl b/Resources/Locale/en-US/damage/damage-examine.ftl
index 974b8fa9650..848adeb31a0 100644
--- a/Resources/Locale/en-US/damage/damage-examine.ftl
+++ b/Resources/Locale/en-US/damage/damage-examine.ftl
@@ -10,3 +10,4 @@ damage-throw = throw
 damage-examine = It does the following damage:
 damage-examine-type = It does the following [color=cyan]{$type}[/color] damage:
 damage-value = - [color=red]{$amount}[/color] units of [color=yellow]{$type}[/color].
+damage-none = It does no damage.

From 33516b77edd63b1254559787f02bbc029719b23c Mon Sep 17 00:00:00 2001
From: Justice League <the.justice.league.of.canada@gmail.com>
Date: Thu, 31 Oct 2024 13:28:17 -0400
Subject: [PATCH 033/187] Fixed minor spelling mistake

---
 .../Entities/Objects/Weapons/Guns/Basic/watergun.yml          | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml
index c96a1522d2e..55adfb7ba6c 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml
@@ -1,4 +1,4 @@
-- type: entity
+- type: entity
   id: WeaponWaterGunBase
   abstract: true
   parent: BaseItem
@@ -71,7 +71,7 @@
   id: WeaponWaterBlaster
   parent: WeaponWaterGunBase
   name: water blaster
-  description: With this bad boy, you'll be the cooleste kid at the summer barbecue.
+  description: With this bad boy, you'll be the coolest kid at the summer barbecue.
   components:
   - type: Gun
     cameraRecoilScalar: 0 #no recoil

From 69c0f8773f05e12b78bf45303a0ec99bfeced773 Mon Sep 17 00:00:00 2001
From: cohanna <conornhanna@gmail.com>
Date: Mon, 4 Nov 2024 03:10:29 -0700
Subject: [PATCH 034/187] we hate powergaming

---
 .../Recipes/Construction/Graphs/structures/window.yml        | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml
index b9e6eae0815..1782c5924bf 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml
@@ -223,11 +223,6 @@
             - material: Uranium
               amount: 2
               doAfter: 1
-        - to: shuttleWindow
-          steps:
-            - material: Plasteel
-              amount: 2
-              doAfter: 3
 
     - node: reinforcedPlasmaWindow
       entity: ReinforcedPlasmaWindow

From 18971f270539a69c54b203a87b40573eacbbabaa Mon Sep 17 00:00:00 2001
From: cohanna <conornhanna@gmail.com>
Date: Wed, 6 Nov 2024 21:39:02 -0700
Subject: [PATCH 035/187] Reverted #31978

---
 .../Entities/Structures/Windows/clockwork.yml |  20 +--
 .../Entities/Structures/Windows/mining.yml    |   4 +-
 .../Entities/Structures/Windows/plasma.yml    |  25 +--
 .../Structures/Windows/plastitanium.yml       |   8 +-
 .../Structures/Windows/reinforced.yml         |  35 +++-
 .../Entities/Structures/Windows/rplasma.yml   |  14 +-
 .../Entities/Structures/Windows/ruranium.yml  |  16 +-
 .../Entities/Structures/Windows/shuttle.yml   |   4 +-
 .../Entities/Structures/Windows/uranium.yml   |  24 +--
 .../Entities/Structures/Windows/window.yml    |  30 +---
 .../Construction/Graphs/structures/window.yml | 170 +++++++-----------
 .../Graphs/structures/window_diagonal.yml     | 146 ++++++---------
 .../Graphs/structures/windowdirectional.yml   | 146 ++++-----------
 .../Recipes/Construction/structures.yml       |  42 ++---
 ...ageOverlay_20.png => DamageOverlay_12.png} | Bin
 ...amageOverlay_5.png => DamageOverlay_4.png} | Bin
 ...mageOverlay_10.png => DamageOverlay_8.png} | Bin
 .../Structures/Windows/cracks.rsi/meta.json   |   6 +-
 ...ageOverlay_20.png => DamageOverlay_12.png} | Bin
 ...amageOverlay_5.png => DamageOverlay_4.png} | Bin
 ...mageOverlay_10.png => DamageOverlay_8.png} | Bin
 .../Windows/cracks_diagonal.rsi/meta.json     |   6 +-
 ...ageOverlay_20.png => DamageOverlay_12.png} | Bin
 ...amageOverlay_5.png => DamageOverlay_4.png} | Bin
 ...mageOverlay_10.png => DamageOverlay_8.png} | Bin
 .../Windows/cracks_directional.rsi/meta.json  |   6 +-
 26 files changed, 247 insertions(+), 455 deletions(-)
 rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_20.png => DamageOverlay_12.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_5.png => DamageOverlay_4.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_10.png => DamageOverlay_8.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_20.png => DamageOverlay_12.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_5.png => DamageOverlay_4.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_10.png => DamageOverlay_8.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_20.png => DamageOverlay_12.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_5.png => DamageOverlay_4.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_10.png => DamageOverlay_8.png} (100%)

diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
index 3449d1d11a0..992dfcda1cb 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
@@ -47,8 +47,8 @@
     node: clockworkWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 3
+    thresholds: [4, 8, 12]
+    damageDivisor: 4
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -74,8 +74,8 @@
     node: windowClockworkDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 1.5
+    thresholds: [4, 8, 12]
+    damageDivisor: 10
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -85,17 +85,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 75
-      behaviors:
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
-      - !type:PlaySoundBehavior
-        sound:
-          collection: WindowShatter
-    - trigger:
-        !type:DamageTrigger
-        damage: 37
-      behaviors:
+        damage: 150
       - !type:PlaySoundBehavior
         sound:
           collection: WindowShatter
diff --git a/Resources/Prototypes/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/Entities/Structures/Windows/mining.yml
index f0b77e66893..82d11b732b6 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/mining.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/mining.yml
@@ -43,8 +43,8 @@
     base: mwindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 4
+    thresholds: [4, 8, 12]
+    damageDivisor: 6
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
index 58991b92869..66fac515a77 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
@@ -10,12 +10,12 @@
     sprite: Structures/Windows/plasma_window.rsi
   - type: Damageable
     damageContainer: StructuralInorganic
-    damageModifierSet: Glass
+    damageModifierSet: RGlass
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150
+        damage: 120
       behaviors:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
@@ -24,7 +24,7 @@
           collection: WindowShatter
     - trigger:
         !type:DamageTrigger
-        damage: 75
+        damage: 60
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -43,8 +43,8 @@
     node: plasmaWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 3
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -74,8 +74,8 @@
     node: plasmaWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 1.5
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -83,16 +83,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 75
-      behaviors:
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
-      - !type:PlaySoundBehavior
-        sound:
-          collection: WindowShatter
-    - trigger:
-        !type:DamageTrigger
-        damage: 37
+        damage: 200
       behaviors:
       - !type:PlaySoundBehavior
         sound:
diff --git a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
index e7af4b6c677..2134cfe8927 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
@@ -98,8 +98,8 @@
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 20
+    thresholds: [4, 8, 12]
+    damageDivisor: 28
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -185,8 +185,8 @@
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 20
+    thresholds: [4, 8, 12]
+    damageDivisor: 28
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_diagonal.rsi
diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
index 9e80d46e649..503d2eec6e3 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
@@ -50,12 +50,31 @@
     node: reinforcedWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 3
+    thresholds: [4, 8, 12]
+    damageDivisor: 4
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
 
+- type: entity
+  parent: ReinforcedWindow
+  id: TintedWindow
+  name: tinted window
+  components:
+  - type: Sprite
+    drawdepth: WallTops
+    sprite: Structures/Windows/tinted_window.rsi
+  - type: Icon
+    sprite: Structures/Windows/tinted_window.rsi
+  - type: IconSmooth
+    base: twindow
+  - type: Construction
+    graph: Window
+    node: tintedWindow
+  - type: Occluder
+  - type: StaticPrice
+    price: 45
+
 - type: entity
   id: WindowReinforcedDirectional
   parent: WindowDirectional
@@ -77,8 +96,8 @@
     node: windowReinforcedDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 1.5
+    thresholds: [4, 8, 12]
+    damageDivisor: 10
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -92,16 +111,16 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 75
+        damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities.
       behaviors:
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
       - !type:PlaySoundBehavior
         sound:
           collection: WindowShatter
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 37
+        damage: 50
       behaviors:
       - !type:PlaySoundBehavior
         sound:
diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
index 0dfe893a5c3..0940ac308a5 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
@@ -17,7 +17,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 300
+        damage: 200
       behaviors: #excess damage, don't spawn entities.
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
@@ -26,7 +26,7 @@
           collection: WindowShatter
     - trigger:
         !type:DamageTrigger
-        damage: 150
+        damage: 100
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -48,7 +48,7 @@
     node: reinforcedPlasmaWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
+    thresholds: [4, 8, 12]
     damageDivisor: 6
     trackAllDamage: true
     damageOverlay:
@@ -77,8 +77,8 @@
     node: plasmaReinforcedWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 3
+    thresholds: [4, 8, 12]
+    damageDivisor: 36
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -88,13 +88,13 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150
+        damage: 1000
       behaviors: #excess damage, don't spawn entities.
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 75
+        damage: 600
       behaviors:
       - !type:PlaySoundBehavior
         sound:
diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
index 2231ab6a497..b9b47c00ea9 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
@@ -43,7 +43,7 @@
     node: reinforcedUraniumWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
+    thresholds: [4, 8, 12]
     damageDivisor: 6
     trackAllDamage: true
     damageOverlay:
@@ -74,8 +74,8 @@
     node: uraniumReinforcedWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 3
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -83,13 +83,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150
-      behaviors:
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
-    - trigger:
-        !type:DamageTrigger
-        damage: 75
+        damage: 200
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -99,7 +93,7 @@
           ShardGlassUranium:
             min: 1
             max: 2
-          PartRodMetal:
+          PartRodMetal1:
             min: 1
             max: 2
       - !type:DoActsBehavior
diff --git a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
index 659f5b8a20e..1b4c96c1709 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
@@ -46,8 +46,8 @@
     node: shuttleWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 20
+    thresholds: [4, 8, 12]
+    damageDivisor: 28
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
index 514463f1d32..c7b7312a709 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
@@ -11,18 +11,18 @@
     state: full
   - type: Damageable
     damageContainer: StructuralInorganic
-    damageModifierSet: Glass
+    damageModifierSet: RGlass
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150
+        damage: 100
       behaviors:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 75
+        damage: 60
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -41,8 +41,8 @@
     node: uraniumWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 3
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -72,8 +72,8 @@
     node: uraniumWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 1.5
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -81,13 +81,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 75
-      behaviors:
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
-    - trigger:
-        !type:DamageTrigger
-        damage: 37
+        damage: 200
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -96,7 +90,7 @@
         spawn:
           ShardGlassUranium:
             min: 1
-            max: 1
+            max: 2
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: StaticPrice
diff --git a/Resources/Prototypes/Entities/Structures/Windows/window.yml b/Resources/Prototypes/Entities/Structures/Windows/window.yml
index fdf4c2ccead..56a38f82fcf 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/window.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/window.yml
@@ -84,8 +84,8 @@
     node: window
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
-    damageDivisor: 2
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -93,25 +93,6 @@
     price: 100
   - type: BlockWeather
 
-- type: entity
-  parent: Window
-  id: TintedWindow
-  name: tinted window
-  components:
-  - type: Sprite
-    drawdepth: WallTops
-    sprite: Structures/Windows/tinted_window.rsi
-  - type: Icon
-    sprite: Structures/Windows/tinted_window.rsi
-  - type: IconSmooth
-    base: twindow
-  - type: Construction
-    graph: Window
-    node: tintedWindow
-  - type: Occluder
-  - type: StaticPrice
-    price: 70
-
 - type: entity
   id: WindowRCDResistant
   parent: Window
@@ -177,7 +158,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 50 #excess damage (nuke?). avoid computational cost of spawning entities.
+        damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities.
       behaviors:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
@@ -207,7 +188,8 @@
     node: windowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [5, 10, 20]
+    thresholds: [4, 8, 12]
+    damageDivisor: 3.333
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -238,8 +220,6 @@
   - type: Icon
     sprite: Structures/Windows/directional.rsi
     state: frosted_window
-  - type: StaticPrice
-    price: 35
 
 - type: entity
   parent: Window
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml
index 1782c5924bf..37682eb0913 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml
@@ -4,63 +4,61 @@
   graph:
     - node: start
       edges:
-        - to: window # 50 hp
+        - to: plasmaWindow
           steps:
-            - material: Glass
+            - material: PlasmaGlass
               amount: 2
               doAfter: 2
 
-        - to: tintedWindow # 50 hp
+        - to: reinforcedWindow
           steps:
-            - material: Glass
+            - material: ReinforcedGlass
               amount: 2
-            - material: Plastic
+              doAfter: 2
+
+        - to: tintedWindow
+          steps:
+            - material: ReinforcedGlass
               amount: 2
               doAfter: 2
 
-        - to: plasmaWindow # 75 hp
+        - to: reinforcedPlasmaWindow
           steps:
-            - material: PlasmaGlass
+            - material: ReinforcedPlasmaGlass
               amount: 2
               doAfter: 3
 
-        - to: uraniumWindow # 75 hp
+        - to: uraniumWindow
           steps:
             - material: UraniumGlass
               amount: 2
-              doAfter: 3
+              doAfter: 2
 
-        - to: clockworkWindow # 75 hp reinforced damage mod
+        - to: reinforcedUraniumWindow
           steps:
-            - material: ClockworkGlass
+            - material: ReinforcedUraniumGlass
               amount: 2
               doAfter: 3
 
-        - to: reinforcedWindow # 75 hp reinforced damage mod
+        - to: window
           steps:
-            - material: ReinforcedGlass
+            - material: Glass
               amount: 2
               doAfter: 3
 
-        - to: reinforcedPlasmaWindow # 150 hp reinforced damage mod
+        - to: shuttleWindow
           steps:
-            - material: ReinforcedPlasmaGlass
+            - material: Plasteel
               amount: 2
-              doAfter: 4
-
-        - to: reinforcedUraniumWindow # 150 hp reinforced damage mod
-          steps:
-            - material: ReinforcedUraniumGlass
+            - material: ReinforcedGlass
               amount: 2
               doAfter: 4
-
-        - to: shuttleWindow # 500 hp reinforced damage mod (wow)
+        
+        - to: clockworkWindow
           steps:
-            - material: Plasteel
-              amount: 2
-            - material: ReinforcedGlass
+            - material: ClockworkGlass
               amount: 2
-              doAfter: 6
+              doAfter: 3
 
     - node: window
       entity: Window
@@ -76,81 +74,56 @@
               doAfter: 1
             - tool: Anchoring
               doAfter: 2
-        - to: tintedWindow
-          steps:
-            - material: Plastic
-              amount: 2
-              doAfter: 0.5
-        - to: plasmaWindow
-          steps:
-            - material: Plasma
-              amount: 2
-              doAfter: 1
-        - to: uraniumWindow
-          steps:
-            - material: Uranium
-              amount: 2
-              doAfter: 1
-        - to: clockworkWindow
-          steps:
-            - material: Brass
-              amount: 2
-              doAfter: 2
-        - to: reinforcedWindow
-          steps:
-            - material: MetalRod
-              amount: 2
-              doAfter: 2
 
-    - node: tintedWindow
-      entity: TintedWindow
+    - node: reinforcedWindow
+      entity: ReinforcedWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetGlass1
-              amount: 2
-            - !type:SpawnPrototype
-              prototype: SheetPlastic1
+              prototype: SheetRGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
+            - tool: Welding
+              doAfter: 5
+            - tool: Screwing
+              doAfter: 1
+            - tool: Prying
+              doAfter: 2
+            - tool: Welding
+              doAfter: 5
             - tool: Screwing
               doAfter: 1
             - tool: Anchoring
               doAfter: 2
 
-    - node: plasmaWindow
-      entity: PlasmaWindow
+    - node: tintedWindow
+      entity: TintedWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetPGlass1
+              prototype: SheetRGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
             - tool: Screwing
-              doAfter: 2
+              doAfter: 1
             - tool: Prying
-              doAfter: 3
-            - tool: Screwing
               doAfter: 2
-            - tool: Anchoring
-              doAfter: 3
-        - to: reinforcedPlasmaWindow
-          steps:
-            - material: MetalRod
-              amount: 2
+            - tool: Screwing
               doAfter: 1
+            - tool: Anchoring
+              doAfter: 2
 
-    - node: uraniumWindow
-      entity: UraniumWindow
+    - node: plasmaWindow
+      entity: PlasmaWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetUGlass1
+              prototype: SheetPGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
@@ -162,19 +135,14 @@
               doAfter: 2
             - tool: Anchoring
               doAfter: 3
-        - to: reinforcedUraniumWindow
-          steps:
-            - material: MetalRod
-              amount: 2
-              doAfter: 1
 
-    - node: clockworkWindow
-      entity: ClockworkWindow
+    - node: reinforcedPlasmaWindow
+      entity: ReinforcedPlasmaWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetClockworkGlass1
+              prototype: SheetRPGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
@@ -191,46 +159,32 @@
             - tool: Anchoring
               doAfter: 3
 
-    - node: reinforcedWindow
-      entity: ReinforcedWindow
+    - node: uraniumWindow
+      entity: UraniumWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetRGlass1
+              prototype: SheetUGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
-            - tool: Welding
-              doAfter: 5
             - tool: Screwing
-              doAfter: 1
-            - tool: Prying
               doAfter: 2
-            - tool: Welding
-              doAfter: 5
+            - tool: Prying
+              doAfter: 3
             - tool: Screwing
-              doAfter: 1
-            - tool: Anchoring
               doAfter: 2
-        - to: reinforcedPlasmaWindow
-          steps:
-            - material: Plasma
-              amount: 2
-              doAfter: 1
-        - to: reinforcedUraniumWindow
-          steps:
-            - material: Uranium
-              amount: 2
-              doAfter: 1
+            - tool: Anchoring
+              doAfter: 3
 
-    - node: reinforcedPlasmaWindow
-      entity: ReinforcedPlasmaWindow
+    - node: reinforcedUraniumWindow
+      entity: ReinforcedUraniumWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetRPGlass1
+              prototype: SheetRUGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
@@ -247,13 +201,13 @@
             - tool: Anchoring
               doAfter: 3
 
-    - node: reinforcedUraniumWindow
-      entity: ReinforcedUraniumWindow
+    - node: clockworkWindow
+      entity: ClockworkWindow
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetRUGlass1
+              prototype: SheetClockworkGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
@@ -299,4 +253,4 @@
             - tool: Welding
               doAfter: 4
             - tool: Anchoring
-              doAfter: 1
+              doAfter: 1
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml
index 63788ae5ad0..1efe1a8eac8 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml
@@ -4,45 +4,45 @@
   graph:
     - node: start
       edges:
-        - to: windowDiagonal
-          steps:
-            - material: Glass
-              amount: 2
-              doAfter: 2
-
         - to: plasmaWindowDiagonal
           steps:
             - material: PlasmaGlass
               amount: 2
               doAfter: 2
 
-        - to: uraniumWindowDiagonal
+        - to: reinforcedWindowDiagonal
           steps:
-            - material: UraniumGlass
+            - material: ReinforcedGlass
               amount: 2
               doAfter: 2
 
-        - to: clockworkWindowDiagonal
+        - to: reinforcedPlasmaWindowDiagonal
           steps:
-            - material: ClockworkGlass
+            - material: ReinforcedPlasmaGlass
               amount: 2
               doAfter: 3
 
-        - to: reinforcedWindowDiagonal
+        - to: uraniumWindowDiagonal
           steps:
-            - material: ReinforcedGlass
+            - material: UraniumGlass
               amount: 2
               doAfter: 2
 
-        - to: reinforcedPlasmaWindowDiagonal
+        - to: reinforcedUraniumWindowDiagonal
           steps:
-            - material: ReinforcedPlasmaGlass
+            - material: ReinforcedUraniumGlass
               amount: 2
               doAfter: 3
 
-        - to: reinforcedUraniumWindowDiagonal
+        - to: clockworkWindowDiagonal
           steps:
-            - material: ReinforcedUraniumGlass
+            - material: ClockworkGlass
+              amount: 2
+              doAfter: 3
+
+        - to: windowDiagonal
+          steps:
+            - material: Glass
               amount: 2
               doAfter: 3
 
@@ -60,74 +60,29 @@
               doAfter: 1
             - tool: Anchoring
               doAfter: 2
-        - to: plasmaWindowDiagonal
-          steps:
-            - material: Plasma
-              amount: 2
-              doAfter: 1
-        - to: uraniumWindowDiagonal
-          steps:
-            - material: Uranium
-              amount: 2
-              doAfter: 1
-        - to: clockworkWindowDiagonal
-          steps:
-            - material: Brass
-              amount: 2
-              doAfter: 2
-        - to: reinforcedWindowDiagonal
-          steps:
-            - material: MetalRod
-              amount: 2
-              doAfter: 2
 
-    - node: plasmaWindowDiagonal
-      entity: PlasmaWindowDiagonal
+    - node: reinforcedWindowDiagonal
+      entity: ReinforcedWindowDiagonal
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetPGlass1
+              prototype: SheetRGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
+            - tool: Welding
+              doAfter: 5
             - tool: Screwing
-              doAfter: 2
-            - tool: Prying
-              doAfter: 3
-            - tool: Screwing
-              doAfter: 2
-            - tool: Anchoring
-              doAfter: 3
-        - to: reinforcedPlasmaWindowDiagonal
-          steps:
-            - material: MetalRod
-              amount: 2
               doAfter: 1
-
-    - node: uraniumWindowDiagonal
-      entity: UraniumWindowDiagonal
-      edges:
-        - to: start
-          completed:
-            - !type:SpawnPrototype
-              prototype: SheetUGlass1
-              amount: 2
-            - !type:DeleteEntity {}
-          steps:
-            - tool: Screwing
-              doAfter: 2
             - tool: Prying
-              doAfter: 3
-            - tool: Screwing
               doAfter: 2
-            - tool: Anchoring
-              doAfter: 3
-        - to: reinforcedUraniumWindowDiagonal
-          steps:
-            - material: MetalRod
-              amount: 2
+            - tool: Welding
+              doAfter: 5
+            - tool: Screwing
               doAfter: 1
+            - tool: Anchoring
+              doAfter: 2
 
     - node: clockworkWindowDiagonal
       entity: ClockworkWindowDiagonal
@@ -152,38 +107,24 @@
             - tool: Anchoring
               doAfter: 2
 
-    - node: reinforcedWindowDiagonal
-      entity: ReinforcedWindowDiagonal
+    - node: plasmaWindowDiagonal
+      entity: PlasmaWindowDiagonal
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetRGlass1
+              prototype: SheetPGlass1
               amount: 2
             - !type:DeleteEntity {}
           steps:
-            - tool: Welding
-              doAfter: 5
             - tool: Screwing
-              doAfter: 1
-            - tool: Prying
               doAfter: 2
-            - tool: Welding
-              doAfter: 5
+            - tool: Prying
+              doAfter: 3
             - tool: Screwing
-              doAfter: 1
-            - tool: Anchoring
               doAfter: 2
-        - to: reinforcedPlasmaWindowDiagonal
-          steps:
-            - material: Plasma
-              amount: 2
-              doAfter: 1
-        - to: reinforcedUraniumWindowDiagonal
-          steps:
-            - material: Uranium
-              amount: 2
-              doAfter: 1
+            - tool: Anchoring
+              doAfter: 3
 
     - node: reinforcedPlasmaWindowDiagonal
       entity: ReinforcedPlasmaWindowDiagonal
@@ -208,6 +149,25 @@
             - tool: Anchoring
               doAfter: 3
 
+    - node: uraniumWindowDiagonal
+      entity: UraniumWindowDiagonal
+      edges:
+        - to: start
+          completed:
+            - !type:SpawnPrototype
+              prototype: SheetUGlass1
+              amount: 2
+            - !type:DeleteEntity {}
+          steps:
+            - tool: Screwing
+              doAfter: 2
+            - tool: Prying
+              doAfter: 3
+            - tool: Screwing
+              doAfter: 2
+            - tool: Anchoring
+              doAfter: 3
+
     - node: reinforcedUraniumWindowDiagonal
       entity: ReinforcedUraniumWindowDiagonal
       edges:
@@ -229,4 +189,4 @@
             - tool: Screwing
               doAfter: 2
             - tool: Anchoring
-              doAfter: 3
+              doAfter: 3
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml
index 7d3ace33c7f..dc10ce9ecbb 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml
@@ -4,55 +4,47 @@
   graph:
     - node: start
       edges:
-        - to: windowDirectional # 25 hp
-          steps:
-            - material: Glass
-              amount: 1
-              doAfter: 1
 
-        - to: windowFrostedDirectional # 25 hp
+        - to: windowDirectional
           steps:
             - material: Glass
               amount: 1
-            - material: Plastic
-              amount: 1
-              doAfter: 1
+              doAfter: 2
 
-        - to: plasmaWindowDirectional # 37 hp
+        - to: windowReinforcedDirectional
           steps:
-            - material: PlasmaGlass
+            - material: ReinforcedGlass
               amount: 1
-              doAfter: 1.5
+              doAfter: 3
 
-        - to: uraniumWindowDirectional # 37 hp
+        - to: plasmaWindowDirectional
           steps:
-            - material: UraniumGlass
+            - material: PlasmaGlass
               amount: 1
-              doAfter: 1.5
+              doAfter: 2
 
-        - to: windowClockworkDirectional # 37 hp reinforced damage mod
+        - to: plasmaReinforcedWindowDirectional
           steps:
-            - material: ClockworkGlass
+            - material: ReinforcedPlasmaGlass
               amount: 1
-              doAfter: 1.5
-
-        - to: windowReinforcedDirectional # 37 hp reinforced damage mod
+              doAfter: 3
+        - to: uraniumWindowDirectional
           steps:
-            - material: ReinforcedGlass
+            - material: UraniumGlass
               amount: 1
-              doAfter: 1.5
+              doAfter: 2
 
-        - to: plasmaReinforcedWindowDirectional # 75 hp reinforced damage mod
+        - to: uraniumReinforcedWindowDirectional
           steps:
-            - material: ReinforcedPlasmaGlass
+            - material: ReinforcedUraniumGlass
               amount: 1
-              doAfter: 2
+              doAfter: 3
 
-        - to: uraniumReinforcedWindowDirectional # 75 hp reinforced damage mod
+        - to: windowClockworkDirectional
           steps:
-            - material: ReinforcedUraniumGlass
+            - material: ClockworkGlass
               amount: 1
-              doAfter: 2
+              doAfter: 3
 
     - node: windowDirectional
       entity: WindowDirectional
@@ -68,45 +60,21 @@
               doAfter: 1
             - tool: Anchoring
               doAfter: 2
-        - to: windowFrostedDirectional
-          steps:
-            - material: Plastic
-              amount: 1
-              doAfter: 0.5
-        - to: plasmaWindowDirectional
-          steps:
-            - material: Plasma
-              amount: 1
-              doAfter: 0.5
-        - to: uraniumWindowDirectional
-          steps:
-            - material: Uranium
-              amount: 1
-              doAfter: 0.5
-        - to: windowClockworkDirectional
-          steps:
-            - material: Brass
-              amount: 1
-              doAfter: 1
-        - to: windowReinforcedDirectional
-          steps:
-            - material: MetalRod
-              amount: 1
-              doAfter: 1
 
-    - node: windowFrostedDirectional
-      entity: WindowFrostedDirectional
+    - node: windowReinforcedDirectional
+      entity: WindowReinforcedDirectional
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetGlass1
-              amount: 1
-            - !type:SpawnPrototype
-              prototype: SheetPlastic1
+              prototype: SheetRGlass1
               amount: 1
             - !type:DeleteEntity {}
           steps:
+            - tool: Screwing
+              doAfter: 1
+            - tool: Prying
+              doAfter: 2
             - tool: Screwing
               doAfter: 1
             - tool: Anchoring
@@ -130,19 +98,14 @@
               doAfter: 2
             - tool: Anchoring
               doAfter: 3
-        - to: plasmaReinforcedWindowDirectional
-          steps:
-            - material: MetalRod
-              amount: 1
-              doAfter: 0.5
 
-    - node: uraniumWindowDirectional
-      entity: UraniumWindowDirectional
+    - node: windowClockworkDirectional
+      entity: WindowClockworkDirectional
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetUGlass1
+              prototype: SheetClockworkGlass1
               amount: 1
             - !type:DeleteEntity {}
           steps:
@@ -154,19 +117,14 @@
               doAfter: 2
             - tool: Anchoring
               doAfter: 3
-        - to: uraniumReinforcedWindowDirectional
-          steps:
-            - material: MetalRod
-              amount: 1
-              doAfter: 0.5
 
-    - node: windowClockworkDirectional
-      entity: WindowClockworkDirectional
+    - node: plasmaReinforcedWindowDirectional
+      entity: PlasmaReinforcedWindowDirectional
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetClockworkGlass1
+              prototype: SheetRPGlass1
               amount: 1
             - !type:DeleteEntity {}
           steps:
@@ -178,43 +136,13 @@
               doAfter: 2
             - tool: Anchoring
               doAfter: 3
-
-    - node: windowReinforcedDirectional
-      entity: WindowReinforcedDirectional
-      edges:
-        - to: start
-          completed:
-            - !type:SpawnPrototype
-              prototype: SheetRGlass1
-              amount: 1
-            - !type:DeleteEntity {}
-          steps:
-            - tool: Screwing
-              doAfter: 1
-            - tool: Prying
-              doAfter: 2
-            - tool: Screwing
-              doAfter: 1
-            - tool: Anchoring
-              doAfter: 2
-        - to: plasmaReinforcedWindowDirectional
-          steps:
-            - material: Plasma
-              amount: 1
-              doAfter: 0.5
-        - to: uraniumReinforcedWindowDirectional
-          steps:
-            - material: Uranium
-              amount: 1
-              doAfter: 0.5
-
-    - node: plasmaReinforcedWindowDirectional
-      entity: PlasmaReinforcedWindowDirectional
+    - node: uraniumWindowDirectional
+      entity: UraniumWindowDirectional
       edges:
         - to: start
           completed:
             - !type:SpawnPrototype
-              prototype: SheetRPGlass1
+              prototype: SheetUGlass1
               amount: 1
             - !type:DeleteEntity {}
           steps:
@@ -244,4 +172,4 @@
             - tool: Screwing
               doAfter: 2
             - tool: Anchoring
-              doAfter: 3
+              doAfter: 3
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml
index 71fdbeedafd..31e1264ab08 100644
--- a/Resources/Prototypes/Recipes/Construction/structures.yml
+++ b/Resources/Prototypes/Recipes/Construction/structures.yml
@@ -455,7 +455,7 @@
   startNode: start
   targetNode: tintedWindow
   category: construction-category-structures
-  description: Not clear, but lasers still pass through.
+  description: Not clear but tough.
   canBuildInImpassable: true
   conditions:
     - !type:EmptyOrWindowValidInTile
@@ -512,7 +512,7 @@
   targetNode: plasmaWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear, with a purple tint.
+  description: Clear and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -531,7 +531,7 @@
   targetNode: reinforcedPlasmaWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with a purple tint.
+  description: Fire resistant and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -569,7 +569,7 @@
   targetNode: plasmaWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear, with a purple tint.
+  description: Clear and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -587,7 +587,7 @@
   targetNode: reinforcedPlasmaWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with a purple tint.
+  description: Fire resistant and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -659,7 +659,7 @@
   targetNode: plasmaWindowDirectional
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear, with a purple tint.
+  description: Clear and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -677,7 +677,7 @@
   targetNode: plasmaReinforcedWindowDirectional
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with a purple tint.
+  description: Fire resistant and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -695,7 +695,7 @@
   targetNode: uraniumWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -714,7 +714,7 @@
   targetNode: reinforcedUraniumWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -733,7 +733,7 @@
   targetNode: uraniumWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -751,7 +751,7 @@
   targetNode: reinforcedUraniumWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -1456,24 +1456,6 @@
   # Same here. - 20kdc
     - !type:TileNotBlocked
 
-- type: construction
-  name: emergency light
-  id: EmergencyLightFixture
-  graph: LightFixture
-  startNode: start
-  targetNode: emergencyLight
-  category: construction-category-structures
-  description: An emergency light.
-  icon:
-    sprite: Structures/Wallmounts/Lighting/emergency_light.rsi
-    state: base
-  objectType: Structure
-  placementMode: SnapgridCenter
-  canRotate: true
-  canBuildInImpassable: false
-  conditions:
-    - !type:TileNotBlocked
-
 - type: construction
   name: ground light post
   id: LightGroundFixture
@@ -1746,4 +1728,4 @@
     sprite: Structures/Doors/secret_door.rsi
     state: closed
   conditions:
-    - !type:TileNotBlocked
+    - !type:TileNotBlocked
\ No newline at end of file
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png
rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png
rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png
rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json
index ca012e8fc5c..9d0cc9a505d 100644
--- a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json
@@ -7,8 +7,8 @@
   "license": "CC-BY-SA-3.0",
   "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5",
   "states": [
-    {"name": "DamageOverlay_5", "directions": 1},
-    {"name": "DamageOverlay_10", "directions": 1},
-    {"name": "DamageOverlay_20", "directions": 1}
+    {"name": "DamageOverlay_4", "directions": 1},
+    {"name": "DamageOverlay_8", "directions": 1},
+    {"name": "DamageOverlay_12", "directions": 1}
   ]
 }
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png
rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png
rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png
rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json
index ca012e8fc5c..9d0cc9a505d 100644
--- a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json
@@ -7,8 +7,8 @@
   "license": "CC-BY-SA-3.0",
   "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5",
   "states": [
-    {"name": "DamageOverlay_5", "directions": 1},
-    {"name": "DamageOverlay_10", "directions": 1},
-    {"name": "DamageOverlay_20", "directions": 1}
+    {"name": "DamageOverlay_4", "directions": 1},
+    {"name": "DamageOverlay_8", "directions": 1},
+    {"name": "DamageOverlay_12", "directions": 1}
   ]
 }
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png
rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png
rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png
rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json
index 9555aa5ab35..df077f67d2b 100644
--- a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json
@@ -8,15 +8,15 @@
   "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie",
   "states": [
     {
-      "name": "DamageOverlay_5",
+      "name": "DamageOverlay_4",
       "directions": 4
     },
     {
-      "name": "DamageOverlay_10",
+      "name": "DamageOverlay_8",
       "directions": 4
     },
     {
-      "name": "DamageOverlay_20",
+      "name": "DamageOverlay_12",
       "directions": 4
     }
   ]

From 6c7336b0a8330369f8a96bff752dda570e3ffb59 Mon Sep 17 00:00:00 2001
From: cohanna <conornhanna@gmail.com>
Date: Wed, 6 Nov 2024 22:01:10 -0700
Subject: [PATCH 036/187] oops reverted too much

---
 Resources/Prototypes/Entities/Structures/Windows/clockwork.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
index 992dfcda1cb..6abeae5760b 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
@@ -86,6 +86,7 @@
     - trigger:
         !type:DamageTrigger
         damage: 150
+      behaviors:
       - !type:PlaySoundBehavior
         sound:
           collection: WindowShatter
@@ -142,4 +143,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: clockworkWindowDiagonal
+    node: clockworkWindowDiagonal
\ No newline at end of file

From fea5769cc5064e6ad5d51afbcdcdbe0d6575a221 Mon Sep 17 00:00:00 2001
From: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Date: Fri, 8 Nov 2024 15:50:14 +0100
Subject: [PATCH 037/187] dark green jumpsuit recolor, casual green jumpsuits
 added (#31710)

* green

* fix material arbitrage

* lighter
---
 .../Catalog/Cargo/cargo_vending.yml           |  2 +-
 .../Inventories/clothesmate.yml               |  2 ++
 .../Clothing/Uniforms/color_jumpskirts.yml    |  8 ++---
 .../Clothing/Uniforms/color_jumpsuits.yml     |  8 ++---
 .../Entities/Clothing/Uniforms/jumpskirts.yml | 30 +++++++++++++++++++
 .../Entities/Clothing/Uniforms/jumpsuits.yml  | 30 +++++++++++++++++++
 6 files changed, 71 insertions(+), 9 deletions(-)

diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml b/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml
index 5dae53f8ede..86da8fb940e 100644
--- a/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml
+++ b/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml
@@ -33,7 +33,7 @@
     sprite: Objects/Specific/Service/vending_machine_restock.rsi
     state: base
   product: CrateVendingMachineRestockClothesFilled
-  cost: 2400
+  cost: 2440
   category: cargoproduct-category-name-service
   group: market
 
diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml
index 54a6ae2a194..a069833759d 100644
--- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml
+++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml
@@ -53,6 +53,8 @@
     ClothingUniformJumpskirtCasualPurple: 2
     ClothingUniformJumpsuitCasualRed: 2
     ClothingUniformJumpskirtCasualRed: 2
+    ClothingUniformJumpsuitCasualGreen: 2
+    ClothingUniformJumpskirtCasualGreen: 2
     # DO NOT ADD MORE, USE UNIFORM DYING
     ClothingShoesColorBlack: 8
     ClothingShoesColorBrown: 4
diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml
index a2bf6b687a9..3f48b0260fc 100644
--- a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml
+++ b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml
@@ -222,24 +222,24 @@
     sprite: Clothing/Uniforms/Jumpskirt/color.rsi
     layers:
     - state: icon
-      color: "#79CC26"
+      color: "#007923"
     - state: trinkets-icon
   - type: Item
     inhandVisuals:
       left:
       - state: inhand-left
-        color: "#79CC26"
+        color: "#007923"
       - state: trinkets-inhand-left
       right:
       - state: inhand-right
-        color: "#79CC26"
+        color: "#007923"
       - state: trinkets-inhand-right
   - type: Clothing
     sprite: Clothing/Uniforms/Jumpskirt/color.rsi
     clothingVisuals:
       jumpsuit:
       - state: equipped-INNERCLOTHING
-        color: "#79CC26"
+        color: "#007923"
       - state: trinkets-equipped-INNERCLOTHING
 
 # Orange Jumpskirt
diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml
index f56afabeac1..7a44409079b 100644
--- a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml
+++ b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml
@@ -222,24 +222,24 @@
     sprite: Clothing/Uniforms/Jumpsuit/color.rsi
     layers:
     - state: icon
-      color: "#79CC26"
+      color: "#007923"
     - state: trinkets-icon
   - type: Item
     inhandVisuals:
       left:
       - state: inhand-left
-        color: "#79CC26"
+        color: "#007923"
       - state: trinkets-inhand-left
       right:
       - state: inhand-right
-        color: "#79CC26"
+        color: "#007923"
       - state: trinkets-inhand-right
   - type: Clothing
     sprite: Clothing/Uniforms/Jumpsuit/color.rsi
     clothingVisuals:
       jumpsuit:
       - state: equipped-INNERCLOTHING
-        color: "#79CC26"
+        color: "#007923"
       - state: trinkets-equipped-INNERCLOTHING
 
 # Orange Jumpsuit
diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
index 9a91f927157..c4850954cd7 100644
--- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
+++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
@@ -822,6 +822,36 @@
       - state: equipped-INNERCLOTHING-shirt
         color: "#b30000"
 
+- type: entity
+  parent: ClothingUniformSkirtBase
+  id: ClothingUniformJumpskirtCasualGreen
+  name: casual green jumpskirt
+  description: A loose worn green shirt with a grey skirt, perfect for someone looking to relax.
+  components:
+  - type: Sprite
+    sprite: Clothing/Uniforms/Jumpsuit/casual.rsi
+    layers:
+    - state: icon-jumpskirt
+    - state: icon-shirt
+      color: "#00661D"
+  - type: Item
+    inhandVisuals:
+      left:
+      - state: inhand-left-jumpskirt
+      - state: inhand-left-shirt
+        color: "#00661D"
+      right:
+      - state: inhand-right-jumpskirt
+      - state: inhand-right-shirt
+        color: "#00661D"
+  - type: Clothing
+    sprite: Clothing/Uniforms/Jumpsuit/casual.rsi
+    clothingVisuals:
+      jumpsuit:
+      - state: equipped-INNERCLOTHING-jumpskirt
+      - state: equipped-INNERCLOTHING-shirt
+        color: "#00661D"
+
 - type: entity
   parent: ClothingUniformSkirtBase
   id: ClothingUniformJumpskirtOldDress
diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
index 42a0b7069d1..ef5c1164cfd 100644
--- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
+++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
@@ -1347,6 +1347,36 @@
       - state: equipped-INNERCLOTHING-shirt
         color: "#b30000"
 
+- type: entity
+  parent: ClothingUniformBase
+  id: ClothingUniformJumpsuitCasualGreen
+  name: casual green jumpsuit
+  description: A loose worn green shirt with a grey pants, perfect for someone looking to relax.
+  components:
+  - type: Sprite
+    sprite: Clothing/Uniforms/Jumpsuit/casual.rsi
+    layers:
+    - state: icon-jumpsuit
+    - state: icon-shirt
+      color: "#00661D"
+  - type: Item
+    inhandVisuals:
+      left:
+      - state: inhand-left-jumpsuit
+      - state: inhand-left-shirt
+        color: "#00661D"
+      right:
+      - state: inhand-right-jumpsuit
+      - state: inhand-right-shirt
+        color: "#00661D"
+  - type: Clothing
+    sprite: Clothing/Uniforms/Jumpsuit/casual.rsi
+    clothingVisuals:
+      jumpsuit:
+      - state: equipped-INNERCLOTHING-jumpsuit
+      - state: equipped-INNERCLOTHING-shirt
+        color: "#00661D"
+
 - type: entity
   parent: ClothingUniformBase
   id: ClothingUniformJumpsuitFamilyGuy

From 6ed2ab9e85bd0321dc22ea92725d32f9b1b951d5 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 8 Nov 2024 14:51:26 +0000
Subject: [PATCH 038/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 34a2d143584..485cad8e96d 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: LeoSantich
-  changes:
-  - message: Updated 'narsie' and 'ratvar' to 'Nar'Sie' and 'Ratvar' in randomly generated
-      storybook content.
-    type: Tweak
-  id: 7099
-  time: '2024-08-12T23:20:53.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30954
 - author: pigeonpeas
   changes:
   - message: Added non command mantle into the winterdrobe
@@ -3949,3 +3941,10 @@
   id: 7598
   time: '2024-11-07T22:02:25.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33065
+- author: Boaz1111
+  changes:
+  - message: Added casual green jumpsuits and skirts to the clothesmate.
+    type: Add
+  id: 7599
+  time: '2024-11-08T14:50:17.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/31710

From 41b84fc29dbca40704627cbe6eb44a1d8791d30b Mon Sep 17 00:00:00 2001
From: Errant <35878406+Errant-4@users.noreply.github.com>
Date: Fri, 8 Nov 2024 22:59:27 +0100
Subject: [PATCH 039/187] Label workflow - stable (#33220)

---
 .github/workflows/labeler-stable.yml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 .github/workflows/labeler-stable.yml

diff --git a/.github/workflows/labeler-stable.yml b/.github/workflows/labeler-stable.yml
new file mode 100644
index 00000000000..491d6a76fad
--- /dev/null
+++ b/.github/workflows/labeler-stable.yml
@@ -0,0 +1,16 @@
+name: "Labels: Branch stable"
+
+on:
+  pull_request_target:
+    types:
+      - opened
+    branches:
+      - 'stable'
+
+jobs:
+  add_label:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions-ecosystem/action-add-labels@v1
+      with:
+        labels: "Branch: stable"

From b9685850faaa1a14f8340cb44e7c48a7d8d13fb6 Mon Sep 17 00:00:00 2001
From: Errant <35878406+Errant-4@users.noreply.github.com>
Date: Fri, 8 Nov 2024 22:59:38 +0100
Subject: [PATCH 040/187] Label workflow - staging (#33221)

---
 .github/workflows/labeler-staging.yml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 .github/workflows/labeler-staging.yml

diff --git a/.github/workflows/labeler-staging.yml b/.github/workflows/labeler-staging.yml
new file mode 100644
index 00000000000..e31a5a482f2
--- /dev/null
+++ b/.github/workflows/labeler-staging.yml
@@ -0,0 +1,16 @@
+name: "Labels: Branch staging"
+
+on:
+  pull_request_target:
+    types:
+      - opened
+    branches:
+      - 'staging'
+
+jobs:
+  add_label:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions-ecosystem/action-add-labels@v1
+      with:
+        labels: "Branch: staging"

From 1e368ae30076606501332f34ab786c14e25c477a Mon Sep 17 00:00:00 2001
From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Date: Sat, 9 Nov 2024 01:28:24 +0100
Subject: [PATCH 041/187] Add a Walking alert (#32954)

* Initial commit

* Review feedback changes

* ProtoId

* TempCommit

* First attempt to have client alerts

* Review changes
---
 Content.Client/Alerts/ClientAlertsSystem.cs     |  15 ++++++++++-----
 .../Physics/Controllers/MoverController.cs      |  16 ++++++++++++++++
 Content.Server/Alert/ServerAlertsSystem.cs      |  12 ++++++++++++
 Content.Shared/Alert/AlertsComponent.cs         |  16 ++++++++++++++--
 .../Systems/SharedMoverController.Input.cs      |   6 +++++-
 Resources/Locale/en-US/alerts/alerts.ftl        |   3 +++
 Resources/Prototypes/Alerts/alerts.yml          |   9 +++++++++
 .../Interface/Alerts/walking.rsi/meta.json      |  14 ++++++++++++++
 .../Interface/Alerts/walking.rsi/walking.png    | Bin 0 -> 15838 bytes
 9 files changed, 83 insertions(+), 8 deletions(-)
 create mode 100644 Resources/Textures/Interface/Alerts/walking.rsi/meta.json
 create mode 100644 Resources/Textures/Interface/Alerts/walking.rsi/walking.png

diff --git a/Content.Client/Alerts/ClientAlertsSystem.cs b/Content.Client/Alerts/ClientAlertsSystem.cs
index 525ef1f018f..c5ec254c0cc 100644
--- a/Content.Client/Alerts/ClientAlertsSystem.cs
+++ b/Content.Client/Alerts/ClientAlertsSystem.cs
@@ -2,6 +2,7 @@
 using Content.Shared.Alert;
 using JetBrains.Annotations;
 using Robust.Client.Player;
+using Robust.Shared.GameStates;
 using Robust.Shared.Player;
 using Robust.Shared.Prototypes;
 
@@ -24,8 +25,7 @@ public override void Initialize()
 
         SubscribeLocalEvent<AlertsComponent, LocalPlayerAttachedEvent>(OnPlayerAttached);
         SubscribeLocalEvent<AlertsComponent, LocalPlayerDetachedEvent>(OnPlayerDetached);
-
-        SubscribeLocalEvent<AlertsComponent, AfterAutoHandleStateEvent>(ClientAlertsHandleState);
+        SubscribeLocalEvent<AlertsComponent, ComponentHandleState>(OnHandleState);
     }
     protected override void LoadPrototypes()
     {
@@ -47,17 +47,22 @@ public IReadOnlyDictionary<AlertKey, AlertState>? ActiveAlerts
         }
     }
 
-    protected override void AfterShowAlert(Entity<AlertsComponent> alerts)
+    private void OnHandleState(Entity<AlertsComponent> alerts, ref ComponentHandleState args)
     {
+        if (args.Current is not AlertComponentState cast)
+            return;
+
+        alerts.Comp.Alerts = cast.Alerts;
+
         UpdateHud(alerts);
     }
 
-    protected override void AfterClearAlert(Entity<AlertsComponent> alerts)
+    protected override void AfterShowAlert(Entity<AlertsComponent> alerts)
     {
         UpdateHud(alerts);
     }
 
-    private void ClientAlertsHandleState(Entity<AlertsComponent> alerts, ref AfterAutoHandleStateEvent args)
+    protected override void AfterClearAlert(Entity<AlertsComponent> alerts)
     {
         UpdateHud(alerts);
     }
diff --git a/Content.Client/Physics/Controllers/MoverController.cs b/Content.Client/Physics/Controllers/MoverController.cs
index c97110b208e..d2ac0cdefdc 100644
--- a/Content.Client/Physics/Controllers/MoverController.cs
+++ b/Content.Client/Physics/Controllers/MoverController.cs
@@ -1,9 +1,12 @@
+using Content.Shared.Alert;
+using Content.Shared.CCVar;
 using Content.Shared.Movement.Components;
 using Content.Shared.Movement.Pulling.Components;
 using Content.Shared.Movement.Systems;
 using Robust.Client.GameObjects;
 using Robust.Client.Physics;
 using Robust.Client.Player;
+using Robust.Shared.Configuration;
 using Robust.Shared.Physics.Components;
 using Robust.Shared.Player;
 using Robust.Shared.Timing;
@@ -14,6 +17,8 @@ public sealed class MoverController : SharedMoverController
 {
     [Dependency] private readonly IGameTiming _timing = default!;
     [Dependency] private readonly IPlayerManager _playerManager = default!;
+    [Dependency] private readonly AlertsSystem _alerts = default!;
+    [Dependency] private readonly IConfigurationManager _cfg = default!;
 
     public override void Initialize()
     {
@@ -135,4 +140,15 @@ protected override bool CanSound()
     {
         return _timing is { IsFirstTimePredicted: true, InSimulation: true };
     }
+
+    public override void SetSprinting(Entity<InputMoverComponent> entity, ushort subTick, bool walking)
+    {
+        // Logger.Info($"[{_gameTiming.CurTick}/{subTick}] Sprint: {enabled}");
+        base.SetSprinting(entity, subTick, walking);
+
+        if (walking && _cfg.GetCVar(CCVars.ToggleWalk))
+            _alerts.ShowAlert(entity, WalkingAlert, showCooldown: false, autoRemove: false);
+        else
+            _alerts.ClearAlert(entity, WalkingAlert);
+    }
 }
diff --git a/Content.Server/Alert/ServerAlertsSystem.cs b/Content.Server/Alert/ServerAlertsSystem.cs
index b7b80f73210..5af2b062188 100644
--- a/Content.Server/Alert/ServerAlertsSystem.cs
+++ b/Content.Server/Alert/ServerAlertsSystem.cs
@@ -1,7 +1,19 @@
 using Content.Shared.Alert;
+using Robust.Shared.GameStates;
 
 namespace Content.Server.Alert;
 
 internal sealed class ServerAlertsSystem : AlertsSystem
 {
+    public override void Initialize()
+    {
+        base.Initialize();
+
+        SubscribeLocalEvent<AlertsComponent, ComponentGetState>(OnGetState);
+    }
+
+    private void OnGetState(Entity<AlertsComponent> alerts, ref ComponentGetState args)
+    {
+        args.State = new AlertComponentState(alerts.Comp.Alerts);
+    }
 }
diff --git a/Content.Shared/Alert/AlertsComponent.cs b/Content.Shared/Alert/AlertsComponent.cs
index 05b11e19efb..16827e9cdff 100644
--- a/Content.Shared/Alert/AlertsComponent.cs
+++ b/Content.Shared/Alert/AlertsComponent.cs
@@ -1,4 +1,5 @@
 using Robust.Shared.GameStates;
+using Robust.Shared.Serialization;
 
 namespace Content.Shared.Alert;
 
@@ -6,12 +7,23 @@ namespace Content.Shared.Alert;
 ///     Handles the icons on the right side of the screen.
 ///     Should only be used for player-controlled entities.
 /// </summary>
-[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
+// Component is not AutoNetworked due to supporting clientside-only alerts.
+// Component state is handled manually to avoid the server overwriting the client list.
+[RegisterComponent, NetworkedComponent]
 public sealed partial class AlertsComponent : Component
 {
     [ViewVariables]
-    [AutoNetworkedField]
     public Dictionary<AlertKey, AlertState> Alerts = new();
 
     public override bool SendOnlyToOwner => true;
 }
+
+[Serializable, NetSerializable]
+public sealed class AlertComponentState : ComponentState
+{
+    public Dictionary<AlertKey, AlertState> Alerts { get; }
+    public AlertComponentState(Dictionary<AlertKey, AlertState> alerts)
+    {
+        Alerts = alerts;
+    }
+}
diff --git a/Content.Shared/Movement/Systems/SharedMoverController.Input.cs b/Content.Shared/Movement/Systems/SharedMoverController.Input.cs
index 9dda249423e..c11df709f63 100644
--- a/Content.Shared/Movement/Systems/SharedMoverController.Input.cs
+++ b/Content.Shared/Movement/Systems/SharedMoverController.Input.cs
@@ -1,4 +1,5 @@
 using System.Numerics;
+using Content.Shared.Alert;
 using Content.Shared.CCVar;
 using Content.Shared.Follower.Components;
 using Content.Shared.Input;
@@ -8,6 +9,7 @@
 using Robust.Shared.Input;
 using Robust.Shared.Input.Binding;
 using Robust.Shared.Player;
+using Robust.Shared.Prototypes;
 using Robust.Shared.Serialization;
 using Robust.Shared.Timing;
 using Robust.Shared.Utility;
@@ -21,6 +23,8 @@ public abstract partial class SharedMoverController
     {
         public bool CameraRotationLocked { get; set; }
 
+        public static ProtoId<AlertPrototype> WalkingAlert = "Walking";
+
         private void InitializeInput()
         {
             var moveUpCmdHandler = new MoverDirInputCmdHandler(this, Direction.North);
@@ -460,7 +464,7 @@ private void ResetSubtick(InputMoverComponent component)
             component.LastInputSubTick = 0;
         }
 
-        public void SetSprinting(Entity<InputMoverComponent> entity, ushort subTick, bool walking)
+        public virtual void SetSprinting(Entity<InputMoverComponent> entity, ushort subTick, bool walking)
         {
             // Logger.Info($"[{_gameTiming.CurTick}/{subTick}] Sprint: {enabled}");
 
diff --git a/Resources/Locale/en-US/alerts/alerts.ftl b/Resources/Locale/en-US/alerts/alerts.ftl
index 37af416c3a1..1748798beae 100644
--- a/Resources/Locale/en-US/alerts/alerts.ftl
+++ b/Resources/Locale/en-US/alerts/alerts.ftl
@@ -27,6 +27,9 @@ alerts-weightless-desc =
     Gravity has ceased affecting you, and you're floating around aimlessly. Find something sturdy to hold onto, or throw or shoot something in a direction opposite of you.
     Mag-boots or jetpacks would help you move with more control.
 
+alerts-walking-name = Walking
+alerts-walking-desc = You are walking, moving at a slow pace.
+
 alerts-stunned-name = [color=yellow]Stunned[/color]
 alerts-stunned-desc = You're [color=yellow]stunned[/color]! Something is impairing your ability to move or interact with objects.
 
diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml
index 80fcc44a559..859f223730b 100644
--- a/Resources/Prototypes/Alerts/alerts.yml
+++ b/Resources/Prototypes/Alerts/alerts.yml
@@ -13,6 +13,7 @@
     - alertType: Ensnared
     - category: Buckled
     - alertType: Pulling
+    - alertType: Walking
     - category: Piloting
     - alertType: Corporeal
     - alertType: Stun
@@ -126,6 +127,14 @@
   name: alerts-weightless-name
   description: alerts-weightless-desc
 
+- type: alert
+  id: Walking
+  icons:
+  - sprite: /Textures/Interface/Alerts/walking.rsi
+    state: walking
+  name: alerts-walking-name
+  description: alerts-walking-desc
+
 - type: alert
   id: Stun
   icons:
diff --git a/Resources/Textures/Interface/Alerts/walking.rsi/meta.json b/Resources/Textures/Interface/Alerts/walking.rsi/meta.json
new file mode 100644
index 00000000000..88238a60e32
--- /dev/null
+++ b/Resources/Textures/Interface/Alerts/walking.rsi/meta.json
@@ -0,0 +1,14 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Created by SlamBamActionman",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "walking"
+        }
+    ]
+}
diff --git a/Resources/Textures/Interface/Alerts/walking.rsi/walking.png b/Resources/Textures/Interface/Alerts/walking.rsi/walking.png
new file mode 100644
index 0000000000000000000000000000000000000000..a0169368a6051afd1675f6f2cd17a06b7dfa3d4e
GIT binary patch
literal 15838
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
Y?{3(5<%x0U3GBY!<&j-qx^Kfj0jgnaeE<Le

literal 0
HcmV?d00001


From 40044203e6ae7d7d2958c02e0d5e98dacdcd23d8 Mon Sep 17 00:00:00 2001
From: Flareguy <78941145+Flareguy@users.noreply.github.com>
Date: Fri, 8 Nov 2024 23:56:16 -0600
Subject: [PATCH 042/187] The Jumpsuit Re-Detailening (#33096)

* jumpsuit detailening

* jumpskirt stuff

* meta.json

* update meta.json

* meta.json fix fix

* meta.json fix fix fix
---
 .../color.rsi/equipped-INNERCLOTHING.png       | Bin 518 -> 1068 bytes
 .../Uniforms/Jumpskirt/color.rsi/icon.png      | Bin 300 -> 429 bytes
 .../Jumpskirt/color.rsi/inhand-left.png        | Bin 391 -> 435 bytes
 .../Jumpskirt/color.rsi/inhand-right.png       | Bin 408 -> 424 bytes
 .../Uniforms/Jumpskirt/color.rsi/meta.json     |   2 +-
 .../color.rsi/prisoner-inhand-left.png         | Bin 258 -> 221 bytes
 .../color.rsi/prisoner-inhand-right.png        | Bin 259 -> 232 bytes
 .../trinkets-equipped-INNERCLOTHING.png        | Bin 274 -> 292 bytes
 .../color.rsi/equipped-INNERCLOTHING.png       | Bin 540 -> 1314 bytes
 .../Uniforms/Jumpsuit/color.rsi/icon.png       | Bin 293 -> 387 bytes
 .../Jumpsuit/color.rsi/inhand-left.png         | Bin 391 -> 451 bytes
 .../Jumpsuit/color.rsi/inhand-right.png        | Bin 408 -> 437 bytes
 .../Uniforms/Jumpsuit/color.rsi/meta.json      |   2 +-
 .../prisoner-equipped-INNERCLOTHING.png        | Bin 365 -> 413 bytes
 .../Jumpsuit/color.rsi/prisoner-icon.png       | Bin 232 -> 188 bytes
 .../color.rsi/prisoner-inhand-left.png         | Bin 258 -> 221 bytes
 .../trinkets-equipped-INNERCLOTHING.png        | Bin 265 -> 295 bytes
 .../Jumpsuit/color.rsi/trinkets-icon.png       | Bin 235 -> 206 bytes
 .../color.rsi/trinkets-inhand-left.png         | Bin 245 -> 198 bytes
 .../color.rsi/trinkets-inhand-right.png        | Bin 251 -> 212 bytes
 20 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/equipped-INNERCLOTHING.png
index 3faba7285ff1b3898e47a23c7299d33e20a05c0c..4df4336458d688a519f10685058a3b070ab2c6a3 100644
GIT binary patch
delta 1058
zcmV+-1l{|F1gr><8Gi-<0063Kaozv`00DDSM?wIu&K&6g00ZVpL_t(|ob8%1Z=*aM
z#-BUA%Gg|^h=C={X@)R{&K)B14Kj4B1YNsiB6C-$)G<Tn4v499taoE7YgodB(xdqR
z+>qLZmZq4(dzbh8TS{!~=kXtGQ`>+*AP@)y0)gP~<Qvb;wtsD>s;UA2PESu++2wMX
z0)X%PxV*gNs*_irUYn-L(jCWP*Sz}w@QCZW4gl~x58LgQnOQ6r&~+WMECWE=L=X(a
zV8NGVIoD`i*AYb#yYJ@are1y9w$m)D)he}ZJKb)#scqZoYPHJcXP;CP`jmeODNL_b
zpNhY2Bn?7QdVifJK5BfCrz%1CUe<``c_4(a--@C@*L5h0!qNyK@H~&BdF62&C#PQo
zAtcu|%CL6~ux&dvO_NpX`#v;HWBJ*}(|l_7Wsv&PctFRUtUj<C1G3s-7$S<Ioc_yr
z^{M`+Z$KD^0A5E|`n&3VyeyZ?T)mskhBf~9_!z+ML4RyEo7{c0+-K~41A-tx5Cplj
zD2m=ad78ejTotO;!BcK;0E(s)S(ZTvp;I1!UE^h0X0Kpf)6hrt5JGTrasmKIk_3;B
zkEO~LQTjUo0OB~tVzJ;UQY&#BBaUMLz{A5sEp?U(0G&^qZkG-&P!t7W7_z^>Zl<93
z*7+sUq<?<tY0!E33@+;b)R3yGaBBVtYFfW^0089reU<#L(u97g0L(2bRaF&H6z!b`
z*XuQg!y)FDRqI>Oq<-nHYQ0o?c6J5;?`8qubzrhAtM-3}n$qVsYVC<G6;7*Ed?5M)
zfj}S-2m}IwKp+qZ{!$FXsC@_cE7-Q38irBH4}aI9D6nh%csxe0*MsZ2>1;Mjsfj8E
zsz9}7vsvo8ZrbbhFdmOlH3+3K3?p@2H@6K<gHZdv{0GqOa@zQ}UU-AR^#(|igvn$A
zV7ChEI1UDb0Y;+{Ow+7oKkzexAb@F_7>!043<hu<hpiM(CKE`K#8n?x0J_~SyY@T}
zbbq6w)9GM3ouc3GbBR}>-|u5Ooubp}u+5O{nS`vzGH{Op*>!okG_7eGG)>Fx5I02>
zMNBX2;jOo_aBYrK16h(JLA%}N7OsONN!T?#B*6=J0DRxa-Q694U4Oi~x<b3%1|bAL
zj*hqu@bcs62!s%5nue#RCtP1&GcQ%TAb)oNf*`=f#l^dHP171XAC%?i^K<T)PS(rq
z?Jai@xC0<b67KKs3-em77H@Ujv|269=kvlm-WdSkJs$wz{QMlie|tV4=b`2^0ta(G
zpeYXrbv~d84+n8RfO;4Xhgh%Idp$%^1XWc_dpMZ$0Zn-*JqUh#t?;+(&;JP?1RDZ@
cK=6O#7c&|aSPr>L@c;k-07*qoM6N<$f(GCBdjJ3c

delta 503
zcmV<T0SNxA2!;fZ8Gi!+005o0f$RVP00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E
z000$GOjJdbl$6oY(f|Md*x1-rRaNNd=l}o!T;Uo500007bW%=J|NsC0|Nj6QO9Ms#
z000SaNLh0L01m(a01m(bYSxJf0004JNkl<ZSV!%a+m3@U41Yu&7Wn^9-Wg*WJJ@NZ
z?$auR3O3`MT&M_geyIgm0P0Tx()7|QsED-IaJF3K61dFl@|3ma+3rw1mTlW$Ny9ZG
z&_{)yo&O5W*Y+9V@(tj82hg@Z_%+0Kx66F}dH;@ZPplJ-M#AkA5d0V5o<2L!EUNVH
zVBdFFz$~iteSc4QLi9U*Q0fQ3Ez3ulTmF$wIgSm-Q35jGC77ZXaFUsF-vcfiM*&Fv
z9%G4Yi1{)Wz7Ms8cGkY~Lv6CiL787yf2ajm0BQmLA;7*6rW)RNA;UWh_GD1p)P^^v
zPju^=5o~)5gb>3N*fjv{wa9X60AS-DhUkUyv!VvT=5P>efR2AM1$530cm~jt5<s=s
zL6Dl1<x~XV8ND3=22cY`mOo^64S4f?kQTTYGgQA^gtWkimy4qUWCcCM3QoTdiUQBl
tiu(H?F9@~IH6D}{OsYTA0(=cP&tEA7RCze0Ajbdz002ovPDHLkV1lPt+~@!R

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/icon.png
index 64642a11589e4ee7d66ac750216c4f7ed0c4d69c..f91b903f4ee6b7e876003b9b36bc1333dbdb3154 100644
GIT binary patch
delta 414
zcmV;P0b%~E0<8m(8Gi-<0047(dh`GQ00DDSM?wIu&K&6g00C!7L_t(oh3%CqvcfPF
zhQE8~E&&zQB@m59WhrG5We*9SMO2}QjjL@9Rk$u72uP>pnRIZs|4gTo^ZaviP69J#
z%$V`t@snb#wf0g<09LD2?|VERJ%DqL&1RDn^EV~AQVJmi&VM<&uJhq@&LM<ADTUVB
zrx1uvK15yDUTf{UuJc-JU)S|W|5Xwp`F)Z=;+Z^!MD!7qWr?-6UuRi{Qi?3gdYQGB
zvMdv}_kn=c+UI$WF$TCc*$~6zL%lJEJkO*0;bR4wrUB@?JFKVL-Q(|_vZ^Yosv61K
zwtd)nkiYYrM1Nqn+da&*5CUs0LWoiFFrKgcCK0&D`Fv)-->0~Ihd}5gvsj>%0<I0%
zG)@19>!bwR*b+pKp}Aed&(1#(l2T$4FQI4x!06nk=qD4{7KN8m(zfl}F+814ESF2R
zMG;+v=x!};LD%awz{3;(91e$I8yz?4=^PSyp-YZ8V;9DZ3q&>o*Z1rrWdHyG07*qo
IM6N<$f?D0eqyPW_

delta 284
zcmZ3>yoPClWIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$hKfKQ0)
zlqpj#UcC7K|Nk2|ZiI%0zIgEhC=>HgiU~-umjw9*1Eqj~LCTxi4JgD};1OBOz`%D9
zgc)~C%zg_L?DceU46*Qk+waJCRDq-3W#X#u_C@S1`b$iFr~Cff!7zti=`8!-#--s5
zro6hQtxdC{#A2+~)7o5l4Yx&x#B+R97G(I!x0H*ad`sH`*_(M^UYx(JB);Ig9K%W<
zd!a+@NAKTV#Ij>em}&ygG0Ad<umFc?H@XgND$HWgz9pP_c7~QxnJuH1-NZ&Od4^{;
aqKvEDMQ#f{32z2Ejlt8^&t;ucLK6Vv;c43d

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/inhand-left.png
index 0b1312348654cdba461670aa3a307575528fb402..265b1f6f8bdcfaf60f625d4e7d7035aafc28e666 100644
GIT binary patch
delta 420
zcmV;V0bBlu1G58=8Gi-<0063Kaozv`00DDSM?wIu&K&6g00C`DL_t(|obB1oZG<oo
z1>i}P8aP|Rg;0-=rVd}}Vrjq^N}vFcIn#u5h`b^!KZ_X%MDM$-*1LKdVVlb%0ssI2
z000000Du_A7~eFFpIVR28?QA@<74v<WsLF8Id83f8O}Mkd4K4TH(s~a`k1^WpIkvg
z2$E9L@F6(oybvNfZ}<?bwO&d|v3Z9v#`vMIL(aKh>+kLwcitMd6VP=X5&i6(*7~_q
zVg0Z3=6vl9$n*Szh&&OI*81i5vMh)HJ3Vg=%Lxd>jCUt|-#RRJ-jdxXAb30;)V3`p
zNkUncQB_sc_kTUrb$yAvLn)=6FR7_drPQVu7I)r~-B&;<<<m4>{7;&u^zP8yd24oG
zfubnFeViR=%bn%U0{{R3000000D%8ts*S#Ed(3UFjgD!L*}B2AjoawUw#VGK+vD4w
z0Iv3!ts6WGcYA!x6TsOX-|hqiw`z~Makj^|y8_(p@g4210NP^!;PedyoxtVqGpvyS
O0000<MNUMnLSTZ_ameHV

delta 375
zcmdnY+|E2fvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$h8fKQ0)
z?%liZ+_`iA{{4Ud{@uKJbN>AKt5&T#cI?=!S+jsjrc_^<1f;l1g8YL2!vMpkGdkyi
zqMQXDk;M!Qe1}1p@p%4<6rkW8&w3ZfkO=p;Q!ny0EAY5>uaN%#|8Vxglxz1?%c^I3
z`YWB&wr<d$eye|p0;>~Okiws(4PNrU-+R_;Wth&tcxkht)|MVYiG~HIyp~EiK8>At
zRzy5-ZH|V`zW9YXOe{td|0l56&2DhH_IPVwe!#K?8BcdE*T46Df73~M*5xNPq<`cT
zEIzpGJku!=l?R(YrLx)uA6U0-uH2T}J2j*iB)57va<zyoao92UfO)wO!z^o!4`*eC
z4m`W|TQ#Bh^<Sw4OOu%{+_}%;<9(dv)}`~#o^Gt`mNvV8(3KUb$kWew%bJtl@$zEe
S3of8f89ZJ6T-G@yGywo2l&Bv7

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/inhand-right.png
index ba6769d59d58969984f1b3428bb52d8d3f63ca0c..8e272ea03a86fd9e07f875a2323e10cd8bf1ec55 100644
GIT binary patch
delta 409
zcmbQiyn=axWIY=L1H-D!!h1l9u{g-xiDBJ2nU_FzlBbJfNX4ADH_!Gq8wjvI*uHvg
z<7QQJCtkh7?kf(5?`n|JXk?pUdAa5Lh9Z|A-JEf2_g39k?Q))U+~8X(gAxodF(mgy
zuaC^Wd#{SC$M9U#?vvlb?roO$-pG-@Gw$hMoBCf49F3`hJ%)aotcpk89@y{5!MOCw
zW#R4DcAc*5HOxC1ej)1jmU&*{cg|MdV7zR?_+w>GXlTFs`|H7<^X{$x>J)ojo<W8o
zBy{Ufr|YGsU;n#vch7Fw2l{d0=lA<ReYV%S(p>hz*4*wwnLrWNQ=44wf1mMO^02{?
z6Ed+^_C&otUaz?6`>L&ej~KqZdvZ62aqZU0LG%7CoFcSR<YC^uvtk*uj=i6LSlZ_$
z&k0?9K`03HE1E6gKK1qyiz^Rv3jFhgA7=ms;tN+Y1F3e4IlOvL%?$S`?ErJRUNPuz
y?<@@2>D%MXn%j6s?N~TVE~8&U=ZpQn*i<`(cFbptFP;tzeFjfgKbLh*2~7Y<8o3$(

delta 393
zcmZ3%JcD_HWIZzj1H;_yjc<SyV{wqX6T`Z5GB1G~mUKs7M+SzC{oH>NS%G|&0G|-o
z-Me?+xpU|K{rms^{kwVd=KT5dXU&?mYSpS^$Bupa^y%EWb3la)=GzGZDV~xbzu^A}
zz#w!VEX`Tq5n0T@z;_sg8IRZJuSfx^e(LGs7!u+BcIs`uW(5J4=}KF#{{Mgfoziqy
z;kmu~W;Z8`OyN@(kZ-#-d&dFRChiyo8@CC|8*XYmF|@xvGwybWgx9LHZiP)#omyA|
z{cdflTqIFx`k^BCMtZk{*bjaWgS68cab<Du?NeT>+~T}>{$}Uqx80$QI#De3y1UPI
zng!KatM6^k5&bat2RrAn981qxFP)7y)z3e=t`=k&(9T1fS$;~cdC}Gtt+i`0Yg^a5
zFI$!_5{)`Adw+zhc1T24IivQj#g}XTvF6@5rZD3jr;g}dNtO!N@-L0LqIV7M{Wx)-
d``TCb|8dKCXYUd31^Sr5)78&qofA_+6982YvkCwJ

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json
index 7e6832bd12c..82edfe13a02 100644
--- a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json
+++ b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 and modified by Flareguy for Space Station 14",
+  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/993de554ecfc30cc45f8340819c5a60ef1eee7e1 and modified by Flareguy & P3MOIRA, with the lower half of the jumpskirt taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 and modified by Flareguy for SS14.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-left.png
index f6ff6866ffc359196192cec6c75f0631f2a399a3..6b40ed5af0ec63d3f482b5c3e6a081aa1a2c7e7a 100644
GIT binary patch
delta 180
zcmZo-y307huztFyi(^Q|oVPa*ayC1Nuw39=BA|P8_0ot1Z!^@N2{6T_+D|(Aol7F|
z|ASN^1`wF{I8@Yx=kP?8#};Yxp09a5EBE#!mEZf~|M`{PTRSb)@}K4VH?g86`ywX!
zTrLSQU7++n%+_?lANdJ2>%Z*|yL7E#l?~XOhU2fx5?|_8*{-{`Np{-W!{x6*%u5Y<
e@u#YI7|z-~NsBsI%(`PSNU^7@pUXO@geCwL#Zun@

delta 217
zcmcc1*u*r!u%0E|(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG8=Gx~Gd{NJZS+
zn;UtX4Fp&(oK_2{5_L;-2wQk$wu+J0k}aI#Dv!R;($<-)`?K60sDXiDf&BL8HaQY)
z)w3U495eCVsN<b;d)xf0QTF@PtM9LTR(Vf;zH0UT-9htJ7EBR(y=$4OLh}8UyZjt3
z*S-B3eRd*?iR5pvISjkXZ?-+X^tN!D^4*8=Di4Z)taZW{GWr>RxE*0`eH>RB!N(B=
OQtIjI=d#Wzp$PyZ8d#eE

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-right.png
index 45393e81a66103898d2e33673dc0c227824b4f29..e43a9b42dbcce7413e0191765e4d201a3f8cf80e 100644
GIT binary patch
delta 191
zcmZo>dciosuzr!Ji(^Q|oVPa*axxi;xL(wb@K`qGrk|#!!CRHNM_M`bc#N{#gx}w+
zW9mPzKAU}#iYEvy`CpjD>%<|N5Gl4TS9z(+Imw0~ug`b4mz<SOUi04F=G?qJ&#yhG
zTg>o!*R?=B2D>@s&$ugou^%X1y*>9(emq0Z#Bhj77L!z77VMUqd{OH0I=9!{(X-xu
qP+n|$EcR>>qyAsU1ZHi|ODuYMrcnpqS4)O40D-5gpUXO@geCwN{!(QC

delta 218
zcmaFC*vvG+u%0E|(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG8=GhNp{TNJZS+
zn;UtX4Fp&(oK_2{5_L;-2wP|}TgAw06^Eva;>phMv$S=h)nAv}19dPkJh0LG{&UIe
zUD>m1?;khdG4u_-5_NrZYNXlwzo!=d?t8q$Zr;&(wZZXT4w|aZD*Yxm^uMou#bWX{
zTz>z}KgCS5cz!d1&8fM&?%0zHY-Y1_Y9CJ9E<9nOq1~00!WS|U7*FUuV%s|_u2lKd
QbX|~APgg&ebxsLQ0Bzt{bN~PV

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/trinkets-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/trinkets-equipped-INNERCLOTHING.png
index cee5a50d2caea42b0fc53599a92a1cc8be1a8d72..bb9dd4f505ee4ad6cf2969435ae4333f48849290 100644
GIT binary patch
delta 276
zcmbQlw1jDbWIY=L1H-D!!h1l9u{g-xiDBJ2nU_G$Jx>?Mkcv5PZ|(1GHV`@f@xE(j
z=6u(qOg;~~WFt=4Zr;F_#2~i7sq8evzE?{oE4g|$xZJ6=?@c{fKR-6&(`29t4ee`R
z&w79L{FB#L`}Uj1iX1)tc+Rbv{&LkXcD?&z{$SJ6&lY{v^=ls|o3S3S+<x84E-jeh
zUsJt&!)xQ-z2A50cw0VCNz0n$mNqTetIIGeQjGU-!HwAms^`Dnb<O7ds#UL+%~|&H
z!cRt^RbZg9*F3yo4-3NqJG1{wx985T4@y1bquAp7|G6`V<x&;TF2hytt3QF2+q{*&
Xu*I{L|8+iZA4spKtDnm{r-UW|uC077

delta 257
zcmZ3&G>K_~WIZzj1H;_yjc<SyV{wqX6T`Z5GB1G~mUKs7M+SzC{oH>NS%G}%0G|-o
z8#iufYinm_W@cq&1qB67nKC6fIN09a9w_f;tS1koI7@>3g8xGSL$H5^5J<4VBeIx*
zf$tCqGm2_>H2?*(JzX3_BC6cqUbx8BV8GG(aOUQp|NLe2@`c#)L|x|W=ayXEzv0DM
z28Im`dl-D0KQe!ssmC<?e2HMf{Fid9D>jKdtlh%?=+^wxwSSs{4&DGoHM|SrCM!lQ
nnfw07&0jb9rZF)%gnngcR;-t?v9eYM+RNbS>gTe~DWM4fWsO~T

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/equipped-INNERCLOTHING.png
index 5c333dfc11811bc991f2cd4e82637351c4ead25c..2d86990cb8bf89056064b448cdff4458e5caa870 100644
GIT binary patch
delta 1306
zcmV+#1?Bpj1fmL%8Gi-<0063Kaozv`00DDSM?wIu&K&6g00i7gL_t(|ob8%HZ`w!{
z$Nyce=xQs4234%;L$Oj$2^Y493it%bd;<<SMzV9wg<Rl}Tyiy$qMSJJ1(x~~1g6<T
z<WsD!L>Ep}8(Ab2rP^|tJ&>8&1QL&JSnbxo(|GK8@6Gefn}4z201*)p5fKp)5fR@f
zPedNpb)9CjSpYzxP~dGloel*6(=@TWyDKD9R6i?gn#Swv^*S$$>i<zhxuPfl0K+ga
z9*?;(jYb2CqCk=)0HDiof~u<A`I02LI;|)Q27>{A?)dmPT>ZMPQzyM%kLtQk$Kx^8
zb)EKlJ=cBbn}1q{e#SW=bL&IZ&y>%0k~v{seV9fp>ij&L{5atUuZ9?g0YV7BmSq`=
zqCl2qUPlOlVHg74^G>~9cj=!8A;dK`yzpQQ&~=?^n#P5iripw$&+j`s&+ap0?}AjI
zc);S0Q$H|`0Z!fhejkIuz@`5#UOlS+(Gk$^_W^v1u7B*>?{lJbIvtnX;c&=1zrMZ>
zVEQ74!=dXr*6uML908VP!Llq@-C!`d_vTssL+$+FSB6Nt2OThPIgum@gb>$MAcR1Y
zBt8VgT80+MA%tLSYYPA{8jWyydFiR$JUs6MoJf-78sc~B|H>E+hd4Vs3q_WY18mzy
zqtOUOv40<I+lFo1p~@5<0qJyl;k|CR8^{<hY;SM#a;MWlp-|x0eqN5S1IpzxFVDt;
zTCFB*fGB@``h>T+9DwQGgazc^-@o@I&sPj!8xj`u0Jt2nOn!O!63u24-EJ3?$pp1p
z4e4~+H4;Sdyc3*-efc?^unJ^ZMtWld0C0GC_<sZd3WdVlrP&L<9q@l4a)4-qMIR)O
zeW--RqG0ED>n#)nudc4pY&KnWVQqW8Fqus7+q-x7>P}BjSE4^6A|fIpA|fIpA|m4Z
zMpf0&Gr&R6b)BlJ>dPMC{{gD1(qgfQR4Rp5t3@l73S~z4F~AQ@XQfi1tyYVsQYjRR
zMSu8pf@f4!rL9)Wm4;?c2t6;q0H%v|e%2OICkTyzWHO0TsRUs92c}-HBa_J>m&-xZ
zw3YlAxw*N4rfJCKa>!&dsMqWKZ&0aJLNb{Yk|*SV7cXA$vSAp=X0woG8Hq#!<#HLD
zo0~$){UE=3g>t!!L?QuMmXXb7U1t)UHh+3SI0nqi3Fh;8<nwt~hIm=reE!V!Ic=D=
z%`3u*k=ag;MkB=Iabd+_FdB_`nH`c4Mc4tRY4RVVmStgYZx8W!9E1=&Ut1G4K$Pce
zYdj@)eSM9iqa$vMpD8Hp0L!wlv$J!rKA+Do?R=0EHU$_?TTV_+gq<K91DwfGV1GI#
z!a5Ek!n`3rYnvB@MgUvp*nvgUH1X%hkNErRR{#)Rg8UGR#rP@FpPoL&#_QKEdqkIF
z;VEF-HqQ#%wvAukyy2eT-`^J%C(L9r;itw}me^^JD8grXR8^(yO{ddoSLa!_cG*-a
z6?$-R0N|SwfNAC`^kcH~P*s(-+kb7o1!a5lRl>H!lv3Jmw^#Qu1i0tAd2xYQEapc{
zAY!o?%!`Y;Hi_Wtgb3r04<A6z&x42v1UWy)&(EF(k`d^9z?a+G&`)iNVB0pn+};L~
z5y%0|`;*BekP&`hI)jb?UlFrftx{*FR~7vqvLhCYp<1o}D|SRg{D=7mffK<l5Z(0(
Q-v9sr07*qoM6N<$g4cF!Q~&?~

delta 526
zcmV+p0`dK#3Y-Lx8Gi!+005o0f$RVP00DDSM?wIu&K&6g000DMK}|sb0I`n?{9y$E
z000kAOjJdbl$6oY(f|MdRaI30008r3l&Js!00neXPE-H?|Nj8{whmJO000SaNLh0L
z01m<c01m<d6(~x80004nNkl<ZSV!%a;c|o^420qE{hztJYkxQiker=%rv2g0iNp;b
zC<<4OAL;=-0P0r(rRr28Xep)Eiqc|f2;efZ(<*Dt(ymZfy}Vv8Sf%2;BhW{N%E5nE
z%~$&!;q(nK_yfS&lClNJ*D?CNhHJ$-QEev3M{E9^{|5BiXM!TH(C?Mj+K|A=EA+>n
zFhle&`lPKt0e_?fu=?KubXhDpK$pd{*ntj<B?sUg;)nt8^biMmfO<#(8ea;~WQTyA
z|IYw?z$*6I`eT3>w4KFXTR-aUwjRI(pdP>suzv`trmx*a_}2NwTeOjugLpl_Vxu)T
zB(VLNa>>=Xq{EH@T+gO;e*$3Rj+Zo!pBXU#cDAu-h=2HZ5#ItjzX9+=bam}Jz5^$j
zl*N<>V2-%|S-c1%U`7m}o9vAMoEagY%i=|5ha+frZ(-b7Trvqsdn35^9&oh0{YmgU
zpHELGky;aGfPch`)`SHR&jH0(<r5&<+$BEd3@~s0tCoy(z<2c5faCZA-<UW)fFO;i
Q00000Ne4wvM6N<$f(VT9FaQ7m

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/icon.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/icon.png
index c0087d4d2505fd8d7c362df3d838feb8d39a3d87..84a603429e8ef4d3121f4188fdb30296b75b7d78 100644
GIT binary patch
delta 371
zcmV-(0gV2o0)qpP8Gi-<0047(dh`GQ00DDSM?wIu&K&6g00BKoL_t(oh3%CgvcfPB
zhCklCGayz~<Em@$dk8%32{-^J$l!a3dQ5BMYFmZCa)3P5OeqMK0rm3DWG0*4?*7>%
zQ%EEd|DBa3*f|&SJO`jCiui5YwgJF<PgPZ>oIjT0s)~r<y?^I+yM<|Z?-3DH73W;|
ziU5Et%gC|}Ri&<L0P4C%Rip1KIOoEWVHkpQE)2u);InkW)Pb(+;(Y4FeAjdTR|I(P
z@9bsEm;R3lsH$pJmL&k=I6jS;*2}Uqy@Z!La5|k<0GG?<sef9Z;yx~5LPQ?Uy6ZYb
z#G1+`V87qTn`|v2jN=%`y!brs6@D$jec#jfJpk+Vn(cPW`F!Sjy;{<|FJQCTpsLYs
z+m_vK7wx8LqQF-%-+_6tq9|yZ=G_#4@n>{69PZ9nL>^wn@pv@lOe7MC#2?WJs_uX+
Riy;62002ovPDHLkV1n?ywvqq<

delta 277
zcmZo>Udl8<vYwfNfx%@-*D)Z)SRCZ;#IWw1%u67LCEd~2k%3`jKlh(RRv=#@z$e6Y
z%9JS=FJ4@|diBklH~;_t-_z3*8X5|eoV&V=14wa{1o;I6#X*4KUi02apcrR?M`SSr
z1K%MKW)#)%Y5)p0dAc};Sopu45LhqNpupkcsQbSDaoNPo1h-?%SAJ_G&d)e$^TE+E
zBszOlX0XNt@BF#??<Z*VFglm?>}{CC_9?}s@uur)p&YgYr>Yh7;uTF6Z^&~zn61oN
z<`{D&TUn&Z{y@xX<vfnIJNFbl8E)upJ;489u|N)s`Vkw>=(@y0foC-g(bFU)n&<Fk
ReFD0N!PC{xWt~$(69B~UYFq#S

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/inhand-left.png
index 0b1312348654cdba461670aa3a307575528fb402..29ed754ec1d2ea78ae94669041146268497daeec 100644
GIT binary patch
delta 436
zcmV;l0Zaae1H%K58Gi-<0063Kaozv`00DDSM?wIu&K&6g00DhTL_t(|obB1aje{^4
z1@L#LYu!Ri!2lT{J9rC9n8PKEkp<jjfk+tu$+XZifUh`l;>dsJOAbr#*WpAD%l@by
zKtx1DL_|bHL_{HsF}`hEe{MZAZ@JdCtq;w6DPxRx&UtI?$$#dYa}RHN%3H2mYkf%G
zHJ?&JS(YKsbIcFHIp?!13(lJ#g0<G?d5+M$modipx#@<SbAQ(Fy*25)Tf`=y>pB2G
zH&>SB?@dkX|DAWq*RugtReb>P08p0Y$?v<}ZvMZw=iMSQ0n=udw=+FIx>@PGYs5Z*
zSc#luQ561oJbz-d*&s<0Y`0tN_j?S(fN8yHn!Dd6op+7c1Zb^M*EN(<I2;a8N};Z6
zXsuU~cZt}yR1}3zk_1XAq-l!2?=g-ehG7W0E$KWWA|fIpA|fIpircw1dbRDbv`cMt
zNP8S@F|ur<SKA&-lWvcrodBu!_~~}|-K5*&C?`O&JuQy%03=1(u}QYa(N2I=dmQBi
e0BnzmNX9q)H;_=s+R2Cj0000<MNUMnLSTZnEX)r8

delta 375
zcmX@i+|E2fvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$h8fKQ0)
z?%liZ+_`iA{{4Ud{@uKJbN>AKt5&T#cI?=!S+jsjrc_^<1f;l1g8YL2!vMpkGdkyi
zqMQXDk;M!Qe1}1p@p%4<6rkW8&w3ZfkO=p;Q!ny0EAY5>uaN%#|8Vxglxz1?%c^I3
z`YWB&wr<d$eye|p0;>~Okiws(4PNrU-+R_;Wth&tcxkht)|MVYiG~HIyp~EiK8>At
zRzy5-ZH|V`zW9YXOe{td|0l56&2DhH_IPVwe!#K?8BcdE*T46Df73~M*5xNPq<`cT
zEIzpGJku!=l?R(YrLx)uA6U0-uH2T}J2j*iB)57va<zyoao92UfO)wO!z^o!4`*eC
z4m`W|TQ#Bh^<Sw4OOu%{+_}%;<9(dv)}`~#o^Gt`mNvV8(3KUb$kWew%bJtl@$zEe
S3of8f89ZJ6T-G@yGywoQ1gI|n

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/inhand-right.png
index ba6769d59d58969984f1b3428bb52d8d3f63ca0c..3ea39f3463e9a5b4f388d7c5ba747293672a518e 100644
GIT binary patch
delta 422
zcmbQiyp?%^WIY=L1H-D!!h1l9u{g-xiDBJ2nU_FzzNd?0NX4ADH}@7EGLT{YFg+$}
z>$0mHa*dK}bYr?KLvAHku<0L=mF^JR&a*(o@@bEKN6SMc)%VvGx!*<p3bt+NfB}XB
z5|5W<UyItlWgb&<&*p3AHrY=3ey@LN1;_WIzx7kT*S>9>BJ|kV;Mk5;s}z>rk@+FI
zWXg(Fubv%SyH(F>z2ULmpTb+N-CMKVh&B52I==%yYuG-NZi;&Se)jj*D=SUjA1`@W
zV6lg>fMLPbd9@2)@A|kee!J=WM=U?iUcUT!esE=FzW2SW`w!G_tS~B#-F^9G%O;&b
z5!P?NZGY`MZopIj;dSn9HDlK3PwV^|g1CGyJ8(2U{>Y)oGHY35(5uq?O$QfOhUafw
zmmMy`+9Gh{ZP|_(y&ZAuCE65M-u_;6+S>&RrZnG?dc6G9T0=h3(4HsPB<y|jdJB72
zaGn5)7-qLm2MQhMnAZSQ6p+*IZ2s(;M0?jPAXomeK%n_CwrL&zX8AjR@8J4nspkcZ
O3I<PCKbLh*2~7aYKFxao

delta 393
zcmdnWJcD_HWIZzj1H;_yjc<SyV{wqX6T`Z5GB1G~mUKs7M+SzC{oH>NS%G|&0G|-o
z-Me?+xpU|K{rms^{kwVd=KT5dXU&?mYSpS^$Bupa^y%EWb3la)=GzGZDV~xbzu^A}
zz#w!VEX`Tq5n0T@z;_sg8IRZJuSfx^e(LGs7!u+BcIs`uW(5J4=}KF#{{Mgfoziqy
z;kmu~W;Z8`OyN@(kZ-#-d&dFRChiyo8@CC|8*XYmF|@xvGwybWgx9LHZiP)#omyA|
z{cdflTqIFx`k^BCMtZk{*bjaWgS68cab<Du?NeT>+~T}>{$}Uqx80$QI#De3y1UPI
zng!KatM6^k5&bat2RrAn981qxFP)7y)z3e=t`=k&(9T1fS$;~cdC}Gtt+i`0Yg^a5
zFI$!_5{)`Adw+zhc1T24IivQj#g}XTvF6@5rZD3jr;g}dNtO!N@-L0LqIV7M{Wx)-
d``TCb|8dKCXYUd31^Sr5)78&qofA_+698!hvljpW

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json
index 7e6832bd12c..797ea180d8e 100644
--- a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json
+++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 and modified by Flareguy for Space Station 14",
+  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/993de554ecfc30cc45f8340819c5a60ef1eee7e1 and modified for SS14 by Flareguy & P3MOIRA",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-equipped-INNERCLOTHING.png
index 320db64b5794a279427cd43b16b4839490b43800..ef35d8c80c579f45bbf65b60c2d209d5fd24af5b 100644
GIT binary patch
delta 398
zcmV;90dfBA0-Xbp8Gi-<0063Kaozv`00DDSM?wIu&K&6g00CD?L_t(|obB4Zje{^0
z2k?h<Ee#@~bwNwT9IjY_iW%5|S*TcohKdE;B0d@h@D(Rc#6(;$0$<?&YX~Oz0e-Sb
zo{0be0001P$<jS>97j2QwryLxpN}?w2yjPPmVJB%d~NwMV}I=FhRd>Cv<V>&n-3Uc
z(s7*M{b3kL-9Iw^LXsrc&VVS2WK~rZ1OXLAVX31{w9E=2gvB|RbzM^!hLq>I_J~aV
z%;Ue40qS|W@&9!B3{btB0edfME&hDORj1DZ0001RAB-^>MUkAgL_e>~^Y$yp2LJ#7
z0001hXMNwF_J3Ra%vf-ByXt7K{(?HXHfJK{rEPw4j4`>kUcgiaOltxT&j!x<zny_~
zu1zZg){dLVfIaayEs!80@_m2N=6N1H9uIO|m(n!d+T|v398=eI)V3`(O|v*Igg7)l
s004l(L|NKsDg0HP-UO@-0NCvt@4~=R{8jFs00000Ne4wvM6N<$f=ghmO#lD@

delta 349
zcmbQs{FZ5gWIZzj1H;_yjc<SyV{wqX6T`Z5GB1G~mUKs7M+SzC{oH>NS%G}T0G|-o
z?(S{{1%=??U?U@=tgI|wUtbp&m+0u|f`WpUmKLC@mrpK~0x9m2Aiv=MaKPZ@&-e)_
z%vs<OS<Jw|cNl~jkLRyQVW?+d*yriu7!u+Bc3LlAvjR^G`-zZy{~Mpqy4?9ECvQfM
z_kI^&UAgIO3%7qz)LOvgz^W%;p}XV%0T-RTo_>kvb7Fd0ANMfN*Wb()@%ZRL1-?BS
zYxX~ycwa_A>8?yed$Z9DS(EGnDbXL+jX%_H?pT&vsyOvil#3_>(5wf)Sqj2Tu5H_r
zv}rx_Hx7T9AHSCED&@_cl(>@lkU{gyUCq`K%V#DYv*|TzS$JW4$NL3Ls*SI-7%GiK
lC-5!syk_^OM$kEeA-;QdO7yZX`almdc)I$ztaD0e0stA8jer0E

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-icon.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-icon.png
index faebe0e0550c4a7a41276f787c0f1496dbd6276e..819e7ac9d9c978d7fd87bba47ffbd86bb505a79b 100644
GIT binary patch
delta 171
zcmV;c0960z0lWc_8Gi-<0047(dh`GQ00DDSM?wIu&K&6g004GLL_t(oh3(S83BVu>
z1<<r~5QoSrF5xPU;v(51ZjzpQC>2WLL1_OwNl2o6Bm#iH+oFT5HM`C^=kT6AI>^jq
zX2i_V74uZp-n+i6);gWQ;b~4O-7XZ7N3HiB{*Z2^l(h+rY9!tSTn`v5x7o;-CjbBd
Z04F$kDR^N;oe%&3002ovPDHLkV1m{<M~VOd

delta 215
zcmdnP_=0hQWIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$hKfKQ0)
zs#U9Q-n`k_*{PtQ5EvMkk&ywES#&-s1W2)$1o;L32LlEvZ)P{35NCl$WHAE+-(e7D
zJf6QI1t{q0>Eak-;h&tK%-|;K5WujKOG4s8>4J}vk`fDbBpj|c==twbp1Ht8MnOA)
zjY&*^@o6*TF3vRpQhXPD6PE7flt>6+WVsN-C@sy<^hCTPt&SCBJA<dIpUXO@geCx=
CqC)@x

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-inhand-left.png
index f6ff6866ffc359196192cec6c75f0631f2a399a3..e0191d45d521c86f0765c49d25a0413259f0c1e6 100644
GIT binary patch
delta 180
zcmZo-y307huztFyi(^Q|oVPa*ayC1Nuw39=BA|P8_0ot1Z!^@N2{6T_+D|(Aol7F|
z|ASN^1`w#|2@kzsz~ert=kbind7IZ|Z_D+b^yYWnPwT6d+oPsE{qcOy=JL=BKa)I-
zd@l!HZRpw){q;)2r+SA^dvCpu@{DF)^$BbagWUSttxI)Zf87yvx-4QF-~F{9rZ@Ah
eTFuvn3~%j@1V$ZvSNqKlq}bEd&t;ucLK6V=VpZt?

delta 217
zcmcc1*u*r!u%0E|(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG8=Gx~Gd{NJZS+
zn;UtX4Fp&(oK_2{5_L;-2wQk$wu+J0k}aI#Dv!R;($<-)`?K60sDXiDf&BL8HaQY)
z)w3U495eCVsN<b;d)xf0QTF@PtM9LTR(Vf;zH0UT-9htJ7EBR(y=$4OLh}8UyZjt3
z*S-B3eRd*?iR5pvISjkXZ?-+X^tN!D^4*8=Di4Z)taZW{GWr>RxE*0`eH>RB!N(B=
OQtIjI=d#Wzp$PyZ8d#eE

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-equipped-INNERCLOTHING.png
index e21afe8d4eb1d95295728d41429e90b26765ade0..c97a78f047727a2fd76b4e841b0bbf7a7dc86edc 100644
GIT binary patch
delta 279
zcmV+y0qFjT0;d9y8Gi-<0063Kaozv`00DDSM?wIu&K&6g007}hL_t(|obB2%ii9u}
z#_?~LZEat$@&cY9m3Qz$={<|r5D(x5tR!hYK(<&G1_qXyQAb?<za|6{^YW5H$ddp7
z0Dy<B>ze=SU&+U-6K^+N6vfNmxwI>vJoeCa-Q{n<=a$LiIDhUH$7wbtz&W>99H-fo
zfd7C5oE^Z~zMdKEz0YM?$~h-9Q`0muvz$^=j8V(7Xc&gWeu}*Jxvp!?^Q@|>?%HXZ
z4qYDr000000002|cxSBubqN3f>|*m<dfT@7w^qo^6hb)keLjScQ%aJg7^C{Wryc+R
d004O2H}z#nhY%9G$jtx%002ovPDHLkV1gwcekK3_

delta 248
zcmZ3^)X6kKvYwfNfno0U#y3EUu{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$g*fKQ0)
zlqpk!gM+iOvaGDEZr;49t*vcuZx58rtTBlNQXC~ge!>4CfZ<;A-bkPrXMsm#F#`kN
zVGw3Kp1&dmD46Ey;usR){`TC(Laqh_j@HD|mGA!_TUaq!Ajegt@Lz1lhT5J#X$%Z5
z3~~(94*qM%_Pfrw((>;4hJ#Mhoc*_|wWhgepZ~=_jhR7#34%VDHkcS$x_auYmyx@=
hM}~pn;_Zgtd{=kmM{Uq*yb83E!PC{xWt~$(69DR)T2BA~

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-icon.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-icon.png
index c9e8398b47d94679bfbec574bbdd8c639bb7064b..683e91de958724384d033fbd3ada13b6aed64281 100644
GIT binary patch
delta 165
zcmV;W09ya+0nP!CF@K0jL_t(oh3(X_4Fe$z1<;=;D`0AN@Bl2~C0NaiumwE~;j40O
zB9r8b_*H;x^CcvJ5W>H^c^g&Lo@)_t&$)XWnHgpVX7-NQH^#8nRbSLv+YaD<0sttb
z?B2f@p!a@lfSmKS0X`uDJl-u75lbnZdm=)u6+~on&hvb&1s+v(|BNAo5W>$LuxTA5
Tk@>Vl00000NkvXXu0mjfyxvEy

delta 194
zcmV;z06qWC0qX&fF@FSSK}|sb0I`n?{9y$E000SaNLh0L01m<c01m<d6(~x80001h
zNkl<ZSV!&D!3n@13<c1%LpX-p2oB{Sf|EFcE4YN!5(~Z6SlWaCfh6Q0Axa1UmbY;n
z7D6bTk}*bn&(3j}*7_EIky5&*uqNl+^aR9zpouYZCO6f9Qag$>xv2);fCe6Ku)6I^
w&iQ=zeyp|Ry{A_1r`7A06mLcV0DzAX9sAlK?eLYNg#Z8m07*qoM6N<$f(-CcVgLXD

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-left.png
index 9bbcac8268ab5a6466b66447666b6542c66ca9bc..b0e2998c0d42d5c7316397736533bb4c7ba9a464 100644
GIT binary patch
delta 157
zcmey$c#Ls^VSR(Ai(^Q|oVPa@N;Vsav|hYkcV>d+qQ#r!s~6s6n6Dbt&A&zDoa6)X
z>-RVqKp^3W&H2Bl_U`>Ic`^64-rd{QsSWj?elRXu?6h>syyCtoL06)bmtKj^-ncGX
z=k%vvrTk!B4b~Es{rMkx`}Q2)E|GBLF}uYZ*?(s54H?89+jZz0pXWL}T^^*+)78&q
Iol`;+0Kxl4oB#j-

delta 204
zcmX@c_?2;jVLeN_qpu?a!^VE@KZ&di3=EtF9+AZi419+{nDKc2iWHz=m#2$kNJZS+
zn;Uss40u=r?)x58&`?gXVM}6}A}FB{UEs?VH6?~|&-EKuw?FyD4%ETGa3M8v+Tyj&
zJ?E@{Z?n9z?|rUxa>>1$@p1*~>+26JKbxnyG<n|h8LrDTi_UFamwhE_@f4xk+hX?_
zTk(UnH>khJ?3cgD`)$kdTMy0RUvJZ0{Y|1FPS8F!&+OQQB{Nk(syto&T-G@yGywo;
Cc~MvZ

diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-right.png
index cfd725831525040c80289ad5c787cadc64f573c4..ec1962dde48680be042df398a89787a6dcfa40dc 100644
GIT binary patch
delta 171
zcmey(c!hC-VSS&ci(^Q|oVPbO@-`cYxL%yEVO+tNrS<-J+?AXM^He>&1-)k|ohb0j
z77yQFE64x>2kx2p-oDDK8&!4R-EL~ox$7|tmVUp$`0mX|_8(W|juqZ%OYE2u^kk0m
z(k*LWOP$_y#OD0^dN;X?(fVNR4)#^iJ=uQw&3ko^nX2^5yUW)%yt4Y!%_`PV{gdh2
WJmd46Z*LcZlzO`QxvX<aXaWG6kV^#s

delta 210
zcmcb@_?vNpVLeN_qpu?a!^VE@KZ&di3=EtF9+AZi419+{nDKc2iWH#W1Wy;okczms
zH#hP&8wjvo@LrZ6aD;>Buz}nOWd*kchHVYUd_@E&noK-feRlsdmDe%<fSQ0HZpoBy
zMrO|=KP@heJsr}XIZLnp#!}`jZ@#ftOsO&EIehQCcWp_m_+tyVbC%n3yHg{R<~_f>
zw|?c@y%7ChGnN|u+bO+ft)bmwS-r~W_^r#NA{e5C3K`ZdFg}*GB=$K-ou{jx%Q~lo
FCIG9?Q%(Q?


From 287a9a07de9911ac2f32edc4058b5330c89136df Mon Sep 17 00:00:00 2001
From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Date: Sat, 9 Nov 2024 20:29:29 +0100
Subject: [PATCH 043/187] Intellicards now have a doAfter. (#33198)

* init

* cleanup

* Oops! Forgot something

* addressing changes

* guh

* guh 2.0

* some cleanup

* all bless the intellicard

* Yippee

* small locale thing

* changes + small bugfix

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 .../Silicons/StationAi/StationAiSystem.cs     | 20 ++++-
 .../Components/IntellicardComponent.cs        | 39 ++++++++++
 .../StationAi/SharedStationAiSystem.Held.cs   | 20 ++++-
 .../StationAi/SharedStationAiSystem.cs        | 75 ++++++++++++++++++-
 .../Locale/en-US/intellicard/intellicard.ftl  |  3 +
 .../Locale/en-US/silicons/station-ai.ftl      |  2 +
 .../Entities/Mobs/Player/silicon.yml          |  1 +
 7 files changed, 153 insertions(+), 7 deletions(-)
 create mode 100644 Content.Shared/Intellicard/Components/IntellicardComponent.cs
 create mode 100644 Resources/Locale/en-US/intellicard/intellicard.ftl

diff --git a/Content.Server/Silicons/StationAi/StationAiSystem.cs b/Content.Server/Silicons/StationAi/StationAiSystem.cs
index 846497387d2..a10833dc63b 100644
--- a/Content.Server/Silicons/StationAi/StationAiSystem.cs
+++ b/Content.Server/Silicons/StationAi/StationAiSystem.cs
@@ -1,10 +1,11 @@
 using System.Linq;
 using Content.Server.Chat.Managers;
-using Content.Server.Chat.Systems;
 using Content.Shared.Chat;
+using Content.Shared.Mind;
+using Content.Shared.Roles;
 using Content.Shared.Silicons.StationAi;
 using Content.Shared.StationAi;
-using Robust.Shared.Audio.Systems;
+using Robust.Shared.Audio;
 using Robust.Shared.Map.Components;
 using Robust.Shared.Player;
 
@@ -14,6 +15,8 @@ public sealed class StationAiSystem : SharedStationAiSystem
 {
     [Dependency] private readonly IChatManager _chats = default!;
     [Dependency] private readonly EntityLookupSystem _lookup = default!;
+    [Dependency] private readonly SharedMindSystem _mind = default!;
+    [Dependency] private readonly SharedRoleSystem _roles = default!;
 
     private readonly HashSet<Entity<StationAiCoreComponent>> _ais = new();
 
@@ -43,6 +46,19 @@ public override bool SetWhitelistEnabled(Entity<StationAiWhitelistComponent> ent
         return true;
     }
 
+    public override void AnnounceIntellicardUsage(EntityUid uid, SoundSpecifier? cue = null)
+    {
+        if (!TryComp<ActorComponent>(uid, out var actor))
+            return;
+
+        var msg = Loc.GetString("ai-consciousness-download-warning");
+        var wrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", msg));
+        _chats.ChatMessageToOne(ChatChannel.Server, msg, wrappedMessage, default, false, actor.PlayerSession.Channel, colorOverride: Color.Red);
+
+        if (cue != null && _mind.TryGetMind(uid, out var mindId, out _))
+            _roles.MindPlaySound(mindId, cue);
+    }
+
     private void AnnounceSnip(EntityUid entity)
     {
         var xform = Transform(entity);
diff --git a/Content.Shared/Intellicard/Components/IntellicardComponent.cs b/Content.Shared/Intellicard/Components/IntellicardComponent.cs
new file mode 100644
index 00000000000..e27174977fb
--- /dev/null
+++ b/Content.Shared/Intellicard/Components/IntellicardComponent.cs
@@ -0,0 +1,39 @@
+using Robust.Shared.Audio;
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Intellicard;
+
+/// <summary>
+/// Allows this entity to download the station AI onto an AiHolderComponent.
+/// </summary>
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
+public sealed partial class IntellicardComponent : Component
+{
+    /// <summary>
+    /// The duration it takes to download the AI from an AiHolder.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public int DownloadTime = 15;
+
+    /// <summary>
+    /// The duration it takes to upload the AI to an AiHolder.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public int UploadTime = 3;
+
+    /// <summary>
+    /// The sound that plays for the AI
+    /// when they are being downloaded
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public SoundSpecifier? WarningSound = new SoundPathSpecifier("/Audio/Misc/notice2.ogg");
+
+    /// <summary>
+    /// The delay before allowing the warning to play again in seconds.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public TimeSpan WarningDelay = TimeSpan.FromSeconds(8);
+
+    [ViewVariables]
+    public TimeSpan NextWarningAllowed = TimeSpan.Zero;
+}
diff --git a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs
index e067cf3efad..c9279b02151 100644
--- a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs
+++ b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs
@@ -54,7 +54,7 @@ private void OnCoreJump(Entity<StationAiHeldComponent> ent, ref JumpToCoreEvent
     }
 
     /// <summary>
-    /// Tries to get the entity held in the AI core.
+    /// Tries to get the entity held in the AI core using StationAiCore.
     /// </summary>
     private bool TryGetHeld(Entity<StationAiCoreComponent?> entity, out EntityUid held)
     {
@@ -71,6 +71,24 @@ private bool TryGetHeld(Entity<StationAiCoreComponent?> entity, out EntityUid he
         return true;
     }
 
+    /// <summary>
+    /// Tries to get the entity held in the AI using StationAiHolder.
+    /// </summary>
+    private bool TryGetHeldFromHolder(Entity<StationAiHolderComponent?> entity, out EntityUid held)
+    {
+        held = EntityUid.Invalid;
+
+        if (!Resolve(entity.Owner, ref entity.Comp))
+            return false;
+
+        if (!_containers.TryGetContainer(entity.Owner, StationAiHolderComponent.Container, out var container) ||
+            container.ContainedEntities.Count == 0)
+            return false;
+
+        held = container.ContainedEntities[0];
+        return true;
+    }
+
     private bool TryGetCore(EntityUid ent, out Entity<StationAiCoreComponent?> core)
     {
         if (!_containers.TryGetContainingContainer(ent, out var container) ||
diff --git a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs
index f88df9eea6b..189515635a8 100644
--- a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs
+++ b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs
@@ -4,7 +4,9 @@
 using Content.Shared.Containers.ItemSlots;
 using Content.Shared.Database;
 using Content.Shared.Doors.Systems;
+using Content.Shared.DoAfter;
 using Content.Shared.Electrocution;
+using Content.Shared.Intellicard;
 using Content.Shared.Interaction;
 using Content.Shared.Item.ItemToggle;
 using Content.Shared.Mind;
@@ -15,6 +17,7 @@
 using Content.Shared.Power.EntitySystems;
 using Content.Shared.StationAi;
 using Content.Shared.Verbs;
+using Robust.Shared.Audio;
 using Robust.Shared.Audio.Systems;
 using Robust.Shared.Containers;
 using Robust.Shared.Map.Components;
@@ -40,6 +43,7 @@ public abstract partial class SharedStationAiSystem : EntitySystem
     [Dependency] private readonly   SharedAudioSystem _audio = default!;
     [Dependency] private readonly   SharedContainerSystem _containers = default!;
     [Dependency] private readonly   SharedDoorSystem _doors = default!;
+    [Dependency] private readonly   SharedDoAfterSystem _doAfter = default!;
     [Dependency] private readonly   SharedElectrocutionSystem _electrify = default!;
     [Dependency] private readonly   SharedEyeSystem _eye = default!;
     [Dependency] protected readonly SharedMapSystem Maps = default!;
@@ -87,6 +91,7 @@ public override void Initialize()
         SubscribeLocalEvent<StationAiHolderComponent, MapInitEvent>(OnHolderMapInit);
         SubscribeLocalEvent<StationAiHolderComponent, EntInsertedIntoContainerMessage>(OnHolderConInsert);
         SubscribeLocalEvent<StationAiHolderComponent, EntRemovedFromContainerMessage>(OnHolderConRemove);
+        SubscribeLocalEvent<StationAiHolderComponent, IntellicardDoAfterEvent>(OnIntellicardDoAfter);
 
         SubscribeLocalEvent<StationAiCoreComponent, EntInsertedIntoContainerMessage>(OnAiInsert);
         SubscribeLocalEvent<StationAiCoreComponent, EntRemovedFromContainerMessage>(OnAiRemove);
@@ -197,15 +202,22 @@ private void OnAiInRange(Entity<StationAiOverlayComponent> ent, ref InRangeOverr
         args.InRange = _vision.IsAccessible((targetXform.GridUid.Value, broadphase, grid), targetTile);
     }
 
-    private void OnHolderInteract(Entity<StationAiHolderComponent> ent, ref AfterInteractEvent args)
+
+    private void OnIntellicardDoAfter(Entity<StationAiHolderComponent> ent, ref IntellicardDoAfterEvent args)
     {
-        if (!TryComp(args.Target, out StationAiHolderComponent? targetHolder))
+        if (args.Cancelled)
+            return;
+
+        if (args.Handled)
+            return;
+
+        if (!TryComp(args.Args.Target, out StationAiHolderComponent? targetHolder))
             return;
 
         // Try to insert our thing into them
         if (_slots.CanEject(ent.Owner, args.User, ent.Comp.Slot))
         {
-            if (!_slots.TryInsert(args.Target.Value, targetHolder.Slot, ent.Comp.Slot.Item!.Value, args.User, excludeUserAudio: true))
+            if (!_slots.TryInsert(args.Args.Target.Value, targetHolder.Slot, ent.Comp.Slot.Item!.Value, args.User, excludeUserAudio: true))
             {
                 return;
             }
@@ -215,7 +227,7 @@ private void OnHolderInteract(Entity<StationAiHolderComponent> ent, ref AfterInt
         }
 
         // Otherwise try to take from them
-        if (_slots.CanEject(args.Target.Value, args.User, targetHolder.Slot))
+        if (_slots.CanEject(args.Args.Target.Value, args.User, targetHolder.Slot))
         {
             if (!_slots.TryInsert(ent.Owner, ent.Comp.Slot, targetHolder.Slot.Item!.Value, args.User, excludeUserAudio: true))
             {
@@ -226,6 +238,55 @@ private void OnHolderInteract(Entity<StationAiHolderComponent> ent, ref AfterInt
         }
     }
 
+    private void OnHolderInteract(Entity<StationAiHolderComponent> ent, ref AfterInteractEvent args)
+    {
+        if (args.Handled || !args.CanReach || args.Target == null)
+            return;
+
+        if (!TryComp(args.Target, out StationAiHolderComponent? targetHolder))
+            return;
+
+        //Don't want to download/upload between several intellicards. You can just pick it up at that point.
+        if (HasComp<IntellicardComponent>(args.Target))
+            return;
+
+        if (!TryComp(args.Used, out IntellicardComponent? intelliComp))
+            return;
+
+        var cardHasAi = _slots.CanEject(ent.Owner, args.User, ent.Comp.Slot);
+        var coreHasAi = _slots.CanEject(args.Target.Value, args.User, targetHolder.Slot);
+
+        if (cardHasAi && coreHasAi)
+        {
+            _popup.PopupClient(Loc.GetString("intellicard-core-occupied"), args.User, args.User, PopupType.Medium);
+            args.Handled = true;
+            return;
+        }
+        if (!cardHasAi && !coreHasAi)
+        {
+            _popup.PopupClient(Loc.GetString("intellicard-core-empty"), args.User, args.User, PopupType.Medium);
+            args.Handled = true;
+            return;
+        }
+
+        if (TryGetHeldFromHolder((args.Target.Value, targetHolder), out var held) && _timing.CurTime > intelliComp.NextWarningAllowed)
+        {
+            intelliComp.NextWarningAllowed = _timing.CurTime + intelliComp.WarningDelay;
+            AnnounceIntellicardUsage(held, intelliComp.WarningSound);
+        }
+
+        var doAfterArgs = new DoAfterArgs(EntityManager, args.User, cardHasAi ? intelliComp.UploadTime : intelliComp.DownloadTime, new IntellicardDoAfterEvent(), args.Target, ent.Owner)
+        {
+            BreakOnDamage = true,
+            BreakOnMove = true,
+            NeedHand = true,
+            BreakOnDropItem = true
+        };
+
+        _doAfter.TryStartDoAfter(doAfterArgs);
+        args.Handled = true;
+    }
+
     private void OnHolderInit(Entity<StationAiHolderComponent> ent, ref ComponentInit args)
     {
         _slots.AddItemSlot(ent.Owner, StationAiHolderComponent.Container, ent.Comp.Slot);
@@ -378,6 +439,8 @@ private void UpdateAppearance(Entity<StationAiHolderComponent?> entity)
         _appearance.SetData(entity.Owner, StationAiVisualState.Key, StationAiState.Occupied);
     }
 
+    public virtual void AnnounceIntellicardUsage(EntityUid uid, SoundSpecifier? cue = null) { }
+
     public virtual bool SetVisionEnabled(Entity<StationAiVisionComponent> entity, bool enabled, bool announce = false)
     {
         if (entity.Comp.Enabled == enabled)
@@ -419,6 +482,10 @@ public sealed partial class JumpToCoreEvent : InstantActionEvent
 
 }
 
+[Serializable, NetSerializable]
+public sealed partial class IntellicardDoAfterEvent : SimpleDoAfterEvent;
+
+
 [Serializable, NetSerializable]
 public enum StationAiVisualState : byte
 {
diff --git a/Resources/Locale/en-US/intellicard/intellicard.ftl b/Resources/Locale/en-US/intellicard/intellicard.ftl
new file mode 100644
index 00000000000..aed155a1202
--- /dev/null
+++ b/Resources/Locale/en-US/intellicard/intellicard.ftl
@@ -0,0 +1,3 @@
+# General
+intellicard-core-occupied = The AI core is already occupied by another digital consciousness.
+intellicard-core-empty = The AI core has no digital consciousness to download.
\ No newline at end of file
diff --git a/Resources/Locale/en-US/silicons/station-ai.ftl b/Resources/Locale/en-US/silicons/station-ai.ftl
index 7d9db3f6dc5..76c30eb1018 100644
--- a/Resources/Locale/en-US/silicons/station-ai.ftl
+++ b/Resources/Locale/en-US/silicons/station-ai.ftl
@@ -20,3 +20,5 @@ electrify-door-off = Disable overcharge
 toggle-light = Toggle light
 
 ai-device-not-responding = Device is not responding
+
+ai-consciousness-download-warning = Your consciousness is being downloaded.
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index 39750b470f5..e787ef59f00 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -301,6 +301,7 @@
         unshaded:
           Empty: { state: empty }
           Occupied: { state: full }
+  - type: Intellicard
 
 - type: entity
   id: PlayerStationAiEmpty

From 675e42df2446855694359bbcd9298ac6af3e0e48 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sat, 9 Nov 2024 19:30:38 +0000
Subject: [PATCH 044/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 485cad8e96d..a1a17548d48 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: pigeonpeas
-  changes:
-  - message: Added non command mantle into the winterdrobe
-    type: Add
-  id: 7100
-  time: '2024-08-13T09:20:12.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/29774
 - author: TheShuEd
   changes:
   - message: change the way food is sliced - food is now sliced whole after a small
@@ -3948,3 +3941,14 @@
   id: 7599
   time: '2024-11-08T14:50:17.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/31710
+- author: ScarKy0
+  changes:
+  - message: Intellicarding the AI is now a doAfter.
+    type: Tweak
+  - message: AI now gets notified when someone tries to intellicard it.
+    type: Add
+  - message: You can no longer exchange the AI between intellicards.
+    type: Fix
+  id: 7600
+  time: '2024-11-09T19:29:29.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33198

From d1c66d71e7e554cc194f6bc1b4e197b35d3b202a Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 10 Nov 2024 01:46:58 +0100
Subject: [PATCH 045/187] Update Credits (#33237)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
---
 Resources/Credits/GitHub.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt
index 8c2ad5f5b0f..362b82c63f4 100644
--- a/Resources/Credits/GitHub.txt
+++ b/Resources/Credits/GitHub.txt
@@ -1 +1 @@
-0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex
+0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, Tr1bute, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex

From d939e991bba188b6a37e11f402537a93363b278e Mon Sep 17 00:00:00 2001
From: Armok <155400926+ARMOKS@users.noreply.github.com>
Date: Sat, 9 Nov 2024 20:32:54 -0700
Subject: [PATCH 046/187] Removed bola stam damage (#32989)

---
 .../Prototypes/Entities/Objects/Weapons/Throwable/bola.yml  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml
index a4441b18f7f..f8d5efb8c68 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml
@@ -42,9 +42,9 @@
   - type: Ensnaring
     freeTime: 2.0
     breakoutTime: 3.5 #all bola should generally be fast to remove
-    walkSpeed: 0.7 #makeshift bola shouldn't slow too much
-    sprintSpeed: 0.7
-    staminaDamage: 55 # Sudden weight increase sapping stamina
+    walkSpeed: 0.5 #makeshift bola shouldn't slow too much
+    sprintSpeed: 0.5
+    staminaDamage: 0 # anything but this is gamebreaking
     canThrowTrigger: true
     canMoveBreakout: true
   - type: LandAtCursor

From 33b780fd1fb853220ddda96fdd19339c30477016 Mon Sep 17 00:00:00 2001
From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Date: Sat, 9 Nov 2024 23:26:51 -0500
Subject: [PATCH 047/187] tweak: weather command tooltip (#33130)

clear weather tip
---
 Content.Server/Weather/WeatherSystem.cs    | 4 +++-
 Resources/Locale/en-US/weather/weather.ftl | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/Content.Server/Weather/WeatherSystem.cs b/Content.Server/Weather/WeatherSystem.cs
index dbee62a72fc..ec377809133 100644
--- a/Content.Server/Weather/WeatherSystem.cs
+++ b/Content.Server/Weather/WeatherSystem.cs
@@ -4,6 +4,7 @@
 using Robust.Shared.Console;
 using Robust.Shared.GameStates;
 using Robust.Shared.Map;
+using System.Linq;
 
 namespace Content.Server.Weather;
 
@@ -85,6 +86,7 @@ private CompletionResult WeatherCompletion(IConsoleShell shell, string[] args)
             return CompletionResult.FromHintOptions(CompletionHelper.MapIds(EntityManager), "Map Id");
 
         var a = CompletionHelper.PrototypeIDs<WeatherPrototype>(true, ProtoMan);
-        return CompletionResult.FromHintOptions(a, Loc.GetString("cmd-weather-hint"));
+        var b = a.Concat(new[] { new CompletionOption("null", Loc.GetString("cmd-weather-null")) });
+        return CompletionResult.FromHintOptions(b, Loc.GetString("cmd-weather-hint"));
     }
 }
diff --git a/Resources/Locale/en-US/weather/weather.ftl b/Resources/Locale/en-US/weather/weather.ftl
index 67e6eec35f2..0c67b6f66bf 100644
--- a/Resources/Locale/en-US/weather/weather.ftl
+++ b/Resources/Locale/en-US/weather/weather.ftl
@@ -1,6 +1,7 @@
 cmd-weather-desc = Sets the weather for the current map.
 cmd-weather-help = weather <mapId> <prototype / null>
 cmd-weather-hint = Weather prototype
+cmd-weather-null = Clears the weather
 
 cmd-weather-error-no-arguments = Not enough arguments!
 cmd-weather-error-unknown-proto = Unknown Weather prototype!

From 9396ce302aed7b1cfbe9995c9214ed8ee7cd49fc Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sun, 10 Nov 2024 04:27:57 +0000
Subject: [PATCH 048/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index a1a17548d48..9b8052d835a 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: TheShuEd
-  changes:
-  - message: change the way food is sliced - food is now sliced whole after a small
-      doafter than requires multiple clicks on a single entity
-    type: Tweak
-  id: 7101
-  time: '2024-08-13T10:54:00.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30824
 - author: Ubaser
   changes:
   - message: Add two gatfruit mutations, one fake and one real capfruit which spawns
@@ -3952,3 +3944,10 @@
   id: 7600
   time: '2024-11-09T19:29:29.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33198
+- author: IProduceWidgets
+  changes:
+  - message: weather now has a completion result for how to unset the weather.
+    type: Tweak
+  id: 7601
+  time: '2024-11-10T04:26:51.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33130

From 2801ebea8d11548511744556622ebfcfe389931d Mon Sep 17 00:00:00 2001
From: Preston Smith <Blackfoot03@outlook.com>
Date: Sun, 10 Nov 2024 00:45:54 -0600
Subject: [PATCH 049/187] Optimization!

---
 Content.Shared/Damage/Systems/DamageExamineSystem.cs | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/Content.Shared/Damage/Systems/DamageExamineSystem.cs b/Content.Shared/Damage/Systems/DamageExamineSystem.cs
index 72c1af29b22..fe97a40d1b5 100644
--- a/Content.Shared/Damage/Systems/DamageExamineSystem.cs
+++ b/Content.Shared/Damage/Systems/DamageExamineSystem.cs
@@ -61,15 +61,12 @@ private FormattedMessage GetDamageExamine(DamageSpecifier damageSpecifier, strin
         }
         else
         {
-            if (damageSpecifier.DamageDict.Count == 1)
+            if (damageSpecifier.GetTotal() == FixedPoint2.Zero && !damageSpecifier.AnyPositive())
             {
-                // May be simplified to using a foreach(Var x) despite being only one item
-                if(damageSpecifier.DamageDict.Values.GetEnumerator().Current == FixedPoint2.Zero)
-                {
-                    msg.AddMarkupOrThrow(Loc.GetString("damage-none"));
-                    return msg;
-                }
+                msg.AddMarkupOrThrow(Loc.GetString("damage-none"));
+                return msg;
             }
+
             msg.AddMarkupOrThrow(Loc.GetString("damage-examine-type", ("type", type)));
         }
 

From 1c8992ffbe1dc596ef377e52c3ec13d8d5ab4d5c Mon Sep 17 00:00:00 2001
From: Shaddap1 <106589956+Shaddap1@users.noreply.github.com>
Date: Sun, 10 Nov 2024 06:28:55 -0500
Subject: [PATCH 050/187] Goliath rebalance (#31492)

Update asteroid.yml
---
 Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
index 877dd40cc38..270e20e5c52 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
@@ -50,12 +50,12 @@
       Dead:
         Base: goliath_dead
   - type: MovementSpeedModifier
-    baseWalkSpeed : 2.50
-    baseSprintSpeed : 2.50
+    baseWalkSpeed : 2.00
+    baseSprintSpeed : 2.00
   - type: MobThresholds
     thresholds:
       0: Alive
-      300: Dead
+      250: Dead
   - type: MeleeWeapon
     soundHit:
       path: "/Audio/Weapons/smash.ogg"
@@ -64,7 +64,7 @@
     animation: WeaponArcPunch
     damage:
       types:
-        Slash: 15
+        Slash: 10
         Piercing: 10
   - type: NpcFactionMember
     factions:

From 9b7200607b28e0c8118e70554dc7cb586b6d63a1 Mon Sep 17 00:00:00 2001
From: scrivoy <179060466+scrivoy@users.noreply.github.com>
Date: Sun, 10 Nov 2024 12:40:02 +0100
Subject: [PATCH 051/187] Omega Station: Fix Air Alarm in CMO office (#33216)

move air alarm and link devices
---
 Resources/Maps/omega.yml | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/Resources/Maps/omega.yml b/Resources/Maps/omega.yml
index 7709234a6a1..31e3fc7392a 100644
--- a/Resources/Maps/omega.yml
+++ b/Resources/Maps/omega.yml
@@ -4648,9 +4648,13 @@ entities:
   - uid: 6692
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -23.5,-26.5
+      rot: 3.141592653589793 rad
+      pos: -25.5,-29.5
       parent: 4812
+    - type: DeviceList
+      devices:
+      - 6253
+      - 5033
   - uid: 7234
     components:
     - type: Transform
@@ -54547,6 +54551,9 @@ entities:
       rot: 3.141592653589793 rad
       pos: -24.5,-27.5
       parent: 4812
+    - type: DeviceNetwork
+      deviceLists:
+      - 6692
     - type: AtmosPipeColor
       color: '#0055CCFF'
   - uid: 5222
@@ -55489,6 +55496,9 @@ entities:
       rot: 3.141592653589793 rad
       pos: -26.5,-26.5
       parent: 4812
+    - type: DeviceNetwork
+      deviceLists:
+      - 6692
     - type: AtmosPipeColor
       color: '#990000FF'
   - uid: 6417

From 21979a7b5f4e1a2976440f2fdf1d7c150318931a Mon Sep 17 00:00:00 2001
From: leonidussaks <42278348+leonidussaks@users.noreply.github.com>
Date: Mon, 11 Nov 2024 06:17:03 +0300
Subject: [PATCH 052/187] Fix vape use without check if doafter cancelled
 (#33245)

vape small fix
---
 Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs
index c3d41cead6d..26fa5ca3cc8 100644
--- a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs
+++ b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs
@@ -122,8 +122,7 @@ private void OnVapeInteraction(Entity<VapeComponent> entity, ref AfterInteractEv
 
         private void OnVapeDoAfter(Entity<VapeComponent> entity, ref VapeDoAfterEvent args)
         {
-            if (args.Handled
-            || args.Args.Target == null)
+            if (args.Cancelled || args.Handled || args.Args.Target == null)
                 return;
 
             var environment = _atmos.GetContainingMixture(args.Args.Target.Value, true, true);

From a138fede2bda4dcc3901898a5e3cacc415a68c86 Mon Sep 17 00:00:00 2001
From: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
Date: Mon, 11 Nov 2024 17:12:36 +0100
Subject: [PATCH 053/187] Make the Flare Gun & Security Shell Gun be unbolted
 by default. (#33248)

---
 .../Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml
index b63036c58b2..224697bc93f 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml
@@ -27,7 +27,7 @@
       gun_chamber: !type:ContainerSlot
   - type: ChamberMagazineAmmoProvider
     autoCycle: false
-    boltClosed: true
+    boltClosed: false
     canRack: false
     soundBoltClosed: /Audio/Weapons/Guns/Cock/revolver_cock.ogg
     soundBoltOpened: /Audio/Weapons/Guns/Cock/revolver_cock.ogg

From b9c2b0c41b16fe46dbd5cb056e1d5a1b0f8d251f Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Mon, 11 Nov 2024 16:13:45 +0000
Subject: [PATCH 054/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 9b8052d835a..6abb7cc6a5e 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: Ubaser
-  changes:
-  - message: Add two gatfruit mutations, one fake and one real capfruit which spawns
-      cap guns when eaten.
-    type: Add
-  id: 7102
-  time: '2024-08-13T11:08:40.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30850
 - author: slarticodefast
   changes:
   - message: Added new keybindings for rotating and flipping objects. The defaults
@@ -3951,3 +3943,10 @@
   id: 7601
   time: '2024-11-10T04:26:51.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33130
+- author: BramvanZijp
+  changes:
+  - message: The Flare Gun & Security Shell Gun now start in their open/unbolted state.
+    type: Tweak
+  id: 7602
+  time: '2024-11-11T16:12:36.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33248

From 1136200dc838a5fd0a5a347025b703b968cdabec Mon Sep 17 00:00:00 2001
From: Andrew Montagne <andrew@montagne.uk>
Date: Mon, 11 Nov 2024 22:58:31 +0000
Subject: [PATCH 055/187] BUGFIX: Fix APEs being able to be turned on without
 power (#32493)

Add a check to see the APC is powered before turning the emitter on.
---
 Content.Server/Singularity/EntitySystems/EmitterSystem.cs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Content.Server/Singularity/EntitySystems/EmitterSystem.cs b/Content.Server/Singularity/EntitySystems/EmitterSystem.cs
index 1ada60e1d64..f828139ed6f 100644
--- a/Content.Server/Singularity/EntitySystems/EmitterSystem.cs
+++ b/Content.Server/Singularity/EntitySystems/EmitterSystem.cs
@@ -196,7 +196,8 @@ public void SwitchOn(EntityUid uid, EmitterComponent component)
             if (TryComp<ApcPowerReceiverComponent>(uid, out var apcReceiver))
             {
                 apcReceiver.Load = component.PowerUseActive;
-                PowerOn(uid, component);
+                if (apcReceiver.Powered)
+                    PowerOn(uid, component);
             }
             // Do not directly PowerOn().
             // OnReceivedPowerChanged will get fired due to DrawRate change which will turn it on.

From 37958378cbec572b0de11676c6962983ff2c58d5 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Mon, 11 Nov 2024 22:59:38 +0000
Subject: [PATCH 056/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 6abb7cc6a5e..43c7cad22c6 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: slarticodefast
-  changes:
-  - message: Added new keybindings for rotating and flipping objects. The defaults
-      are R for clockwise, Shift+R for counterclockwise and F for flipping.
-    type: Add
-  id: 7103
-  time: '2024-08-13T13:36:45.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30540
 - author: Cojoke-dot
   changes:
   - message: Borg's names are now displayed when they make an announcement on the
@@ -3950,3 +3942,10 @@
   id: 7602
   time: '2024-11-11T16:12:36.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33248
+- author: AndrewMontagne
+  changes:
+  - message: APEs could be powered on without local power
+    type: Fix
+  id: 7603
+  time: '2024-11-11T22:58:31.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32493

From 36aceb178c855b381cb9b5868e4348fde1bedbd0 Mon Sep 17 00:00:00 2001
From: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Date: Tue, 29 Oct 2024 01:34:40 +0100
Subject: [PATCH 057/187] Database SnakeCaseNaming fixes

Fixes formatting of owned entity type property names. These are normally named "FooBar_Baz" by EF Core, but the snake case thing was turning them into "foo_bar__baz". The double underscore is now fixed.

We don't *yet* have any EF Core owned entity in use, but I am planning to add one. I don't know if downstreams are using any so this should still be marked as a breaking change.

Also fixed it creating and dropping a Compiled Regex instance for every name, the regex is now cached (and pregenerated).
---
 Content.Server.Database/SnakeCaseNaming.cs | 40 +++++++++++++---------
 1 file changed, 24 insertions(+), 16 deletions(-)

diff --git a/Content.Server.Database/SnakeCaseNaming.cs b/Content.Server.Database/SnakeCaseNaming.cs
index 27ce392cd50..3a67ffb9cd1 100644
--- a/Content.Server.Database/SnakeCaseNaming.cs
+++ b/Content.Server.Database/SnakeCaseNaming.cs
@@ -82,7 +82,7 @@ public ConventionSet ModifyConventions(ConventionSet conventionSet)
         }
     }
 
-    public class SnakeCaseConvention :
+    public partial class SnakeCaseConvention :
         IEntityTypeAddedConvention,
         IEntityTypeAnnotationChangedConvention,
         IPropertyAddedConvention,
@@ -99,22 +99,27 @@ public SnakeCaseConvention() {}
 
         public static string RewriteName(string name)
         {
-            var regex = new Regex("[A-Z]+",  RegexOptions.Compiled);
-            return regex.Replace(
-                name,
-                (Match match) => {
-                    if (match.Index == 0 && (match.Value == "FK" || match.Value == "PK" ||  match.Value == "IX")) {
-                        return match.Value;
+            return UpperCaseLocator()
+                .Replace(
+                    name,
+                    (Match match) => {
+                        if (match.Index == 0 && (match.Value == "FK" || match.Value == "PK" ||  match.Value == "IX")) {
+                            return match.Value;
+                        }
+                        if (match.Value == "HWI")
+                            return (match.Index == 0 ? "" : "_") + "hwi";
+                        if (match.Index == 0)
+                            return match.Value.ToLower();
+                        if (match.Length > 1)
+                            return $"_{match.Value[..^1].ToLower()}_{match.Value[^1..^0].ToLower()}";
+
+                        // Do not add a _ if there is already one before this. This happens with owned entities.
+                        if (name[match.Index - 1] == '_')
+                            return match.Value.ToLower();
+
+                        return "_" + match.Value.ToLower();
                     }
-                    if (match.Value == "HWI")
-                        return (match.Index == 0 ? "" : "_") + "hwi";
-                    if (match.Index == 0)
-                        return match.Value.ToLower();
-                    if (match.Length > 1)
-                        return $"_{match.Value[..^1].ToLower()}_{match.Value[^1..^0].ToLower()}";
-                    return "_" + match.Value.ToLower();
-                }
-            );
+                );
         }
 
         public virtual void ProcessEntityTypeAdded(
@@ -332,5 +337,8 @@ private static void RewriteColumnName(IConventionPropertyBuilder propertyBuilder
                 }
             }
         }
+
+        [GeneratedRegex("[A-Z]+", RegexOptions.Compiled)]
+        private static partial Regex UpperCaseLocator();
     }
 }

From 4f3db43696fbcc9144d2ad011bbb5f93f6deca7a Mon Sep 17 00:00:00 2001
From: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Date: Tue, 12 Nov 2024 01:51:23 +0100
Subject: [PATCH 058/187] Integrate Modern HWID into content

This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.

HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.

This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.

New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.

Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.

There's also some code cleanup to reduce copy pasting around the place from my changes.

Requires latest engine to support ImmutableArray<byte> in NetSerializer.
---
 .../UI/BanPanel/BanPanel.xaml.cs              |   11 +-
 .../Tests/Commands/PardonCommand.cs           |   24 +-
 .../20241111170112_ModernHwid.Designer.cs     | 2072 ++++++++++++++++
 .../Postgres/20241111170112_ModernHwid.cs     |   62 +
 ...20241111193608_ConnectionTrust.Designer.cs | 2076 +++++++++++++++++
 .../20241111193608_ConnectionTrust.cs         |   29 +
 .../PostgresServerDbContextModelSnapshot.cs   |  162 +-
 .../20241111170107_ModernHwid.Designer.cs     | 1995 ++++++++++++++++
 .../Sqlite/20241111170107_ModernHwid.cs       |   62 +
 ...20241111193602_ConnectionTrust.Designer.cs | 1999 ++++++++++++++++
 .../Sqlite/20241111193602_ConnectionTrust.cs  |   29 +
 .../SqliteServerDbContextModelSnapshot.cs     |  161 +-
 Content.Server.Database/Model.cs              |   88 +-
 .../Administration/BanList/BanListEui.cs      |    8 +-
 Content.Server/Administration/BanPanelEui.cs  |   10 +-
 .../Administration/Commands/BanListCommand.cs |    2 +-
 .../Commands/RoleBanListCommand.cs            |    2 +-
 .../Administration/Managers/BanManager.cs     |   12 +-
 .../Administration/Managers/IBanManager.cs    |    4 +-
 .../Administration/PlayerLocator.cs           |   99 +-
 .../Administration/PlayerPanelEui.cs          |    4 +-
 .../Administration/Systems/BwoinkSystem.cs    |    2 +-
 .../Connection/ConnectionManager.cs           |   13 +-
 Content.Server/Connection/UserDataExt.cs      |   24 +
 Content.Server/Database/BanMatcher.cs         |   33 +-
 Content.Server/Database/DatabaseRecords.cs    |    3 +-
 Content.Server/Database/ServerBanDef.cs       |    5 +-
 Content.Server/Database/ServerDbBase.cs       |   24 +-
 Content.Server/Database/ServerDbManager.cs    |   35 +-
 Content.Server/Database/ServerDbPostgres.cs   |  124 +-
 Content.Server/Database/ServerDbSqlite.cs     |   55 +-
 Content.Server/Database/ServerRoleBanDef.cs   |    5 +-
 Content.Shared.Database/TypedHwid.cs          |   62 +
 .../Administration/BanPanelEuiState.cs        |    4 +-
 34 files changed, 9059 insertions(+), 241 deletions(-)
 create mode 100644 Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs
 create mode 100644 Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs
 create mode 100644 Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs
 create mode 100644 Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs
 create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs
 create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs
 create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs
 create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs
 create mode 100644 Content.Server/Connection/UserDataExt.cs
 create mode 100644 Content.Shared.Database/TypedHwid.cs

diff --git a/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs b/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs
index 588d62e5603..3c7322d4739 100644
--- a/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs
+++ b/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs
@@ -22,11 +22,11 @@ namespace Content.Client.Administration.UI.BanPanel;
 [GenerateTypedNameReferences]
 public sealed partial class BanPanel : DefaultWindow
 {
-    public event Action<string?, (IPAddress, int)?, bool, byte[]?, bool, uint, string, NoteSeverity, string[]?, bool>? BanSubmitted;
+    public event Action<string?, (IPAddress, int)?, bool, ImmutableTypedHwid?, bool, uint, string, NoteSeverity, string[]?, bool>? BanSubmitted;
     public event Action<string>? PlayerChanged;
     private string? PlayerUsername { get; set; }
     private (IPAddress, int)? IpAddress { get; set; }
-    private byte[]? Hwid { get; set; }
+    private ImmutableTypedHwid? Hwid { get; set; }
     private double TimeEntered { get; set; }
     private uint Multiplier { get; set; }
     private bool HasBanFlag { get; set; }
@@ -371,9 +371,8 @@ private void OnIpChanged()
     private void OnHwidChanged()
     {
         var hwidString = HwidLine.Text;
-        var length = 3 * (hwidString.Length / 4) - hwidString.TakeLast(2).Count(c => c == '=');
-        Hwid = new byte[length];
-        if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !Convert.TryFromBase64String(hwidString, Hwid, out _))
+        ImmutableTypedHwid? hwid = null;
+        if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !ImmutableTypedHwid.TryParse(hwidString, out hwid))
         {
             ErrorLevel |= ErrorLevelEnum.Hwid;
             HwidLine.ModulateSelfOverride = Color.Red;
@@ -390,7 +389,7 @@ private void OnHwidChanged()
             Hwid = null;
             return;
         }
-        Hwid = Convert.FromHexString(hwidString);
+        Hwid = hwid;
     }
 
     private void OnTypeChanged()
diff --git a/Content.IntegrationTests/Tests/Commands/PardonCommand.cs b/Content.IntegrationTests/Tests/Commands/PardonCommand.cs
index 4db9eabf5c6..9e57cd4b0e6 100644
--- a/Content.IntegrationTests/Tests/Commands/PardonCommand.cs
+++ b/Content.IntegrationTests/Tests/Commands/PardonCommand.cs
@@ -32,9 +32,9 @@ public async Task PardonTest()
             // No bans on record
             Assert.Multiple(async () =>
             {
-                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null);
+                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null);
                 Assert.That(await sDatabase.GetServerBanAsync(1), Is.Null);
-                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Is.Empty);
+                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Is.Empty);
             });
 
             // Try to pardon a ban that does not exist
@@ -43,9 +43,9 @@ public async Task PardonTest()
             // Still no bans on record
             Assert.Multiple(async () =>
             {
-                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null);
+                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null);
                 Assert.That(await sDatabase.GetServerBanAsync(1), Is.Null);
-                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Is.Empty);
+                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Is.Empty);
             });
 
             var banReason = "test";
@@ -57,9 +57,9 @@ public async Task PardonTest()
             // Should have one ban on record now
             Assert.Multiple(async () =>
             {
-                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Not.Null);
+                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Not.Null);
                 Assert.That(await sDatabase.GetServerBanAsync(1), Is.Not.Null);
-                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1));
+                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1));
             });
 
             await pair.RunTicksSync(5);
@@ -70,13 +70,13 @@ public async Task PardonTest()
             await server.WaitPost(() => sConsole.ExecuteCommand("pardon 2"));
 
             // The existing ban is unaffected
-            Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Not.Null);
+            Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Not.Null);
 
             var ban = await sDatabase.GetServerBanAsync(1);
             Assert.Multiple(async () =>
             {
                 Assert.That(ban, Is.Not.Null);
-                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1));
+                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1));
 
                 // Check that it matches
                 Assert.That(ban.Id, Is.EqualTo(1));
@@ -95,7 +95,7 @@ public async Task PardonTest()
             await server.WaitPost(() => sConsole.ExecuteCommand("pardon 1"));
 
             // No bans should be returned
-            Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null);
+            Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null);
 
             // Direct id lookup returns a pardoned ban
             var pardonedBan = await sDatabase.GetServerBanAsync(1);
@@ -105,7 +105,7 @@ public async Task PardonTest()
                 Assert.That(pardonedBan, Is.Not.Null);
 
                 // The list is still returned since that ignores pardons
-                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1));
+                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1));
 
                 Assert.That(pardonedBan.Id, Is.EqualTo(1));
                 Assert.That(pardonedBan.UserId, Is.EqualTo(clientId));
@@ -133,13 +133,13 @@ public async Task PardonTest()
             Assert.Multiple(async () =>
             {
                 // No bans should be returned
-                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null);
+                Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null);
 
                 // Direct id lookup returns a pardoned ban
                 Assert.That(await sDatabase.GetServerBanAsync(1), Is.Not.Null);
 
                 // The list is still returned since that ignores pardons
-                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1));
+                Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1));
             });
 
             // Reconnect client. Slightly faster than dirtying the pair.
diff --git a/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs
new file mode 100644
index 00000000000..155d6a163fd
--- /dev/null
+++ b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs
@@ -0,0 +1,2072 @@
+// <auto-generated />
+using System;
+using System.Net;
+using System.Text.Json;
+using Content.Server.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using NpgsqlTypes;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Postgres
+{
+    [DbContext(typeof(PostgresServerDbContext))]
+    [Migration("20241111170112_ModernHwid")]
+    partial class ModernHwid
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "8.0.0")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<int?>("AdminRankId")
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Title")
+                        .HasColumnType("text")
+                        .HasColumnName("title");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_admin");
+
+                    b.HasIndex("AdminRankId")
+                        .HasDatabaseName("IX_admin_admin_rank_id");
+
+                    b.ToTable("admin", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_flag_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<Guid>("AdminId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("admin_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("flag");
+
+                    b.Property<bool>("Negative")
+                        .HasColumnType("boolean")
+                        .HasColumnName("negative");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_flag");
+
+                    b.HasIndex("AdminId")
+                        .HasDatabaseName("IX_admin_flag_admin_id");
+
+                    b.HasIndex("Flag", "AdminId")
+                        .IsUnique();
+
+                    b.ToTable("admin_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Id")
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_log_id");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("date");
+
+                    b.Property<short>("Impact")
+                        .HasColumnType("smallint")
+                        .HasColumnName("impact");
+
+                    b.Property<JsonDocument>("Json")
+                        .IsRequired()
+                        .HasColumnType("jsonb")
+                        .HasColumnName("json");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("message");
+
+                    b.Property<int>("Type")
+                        .HasColumnType("integer")
+                        .HasColumnName("type");
+
+                    b.HasKey("RoundId", "Id")
+                        .HasName("PK_admin_log");
+
+                    b.HasIndex("Date");
+
+                    b.HasIndex("Message")
+                        .HasAnnotation("Npgsql:TsVectorConfig", "english");
+
+                    NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN");
+
+                    b.HasIndex("Type")
+                        .HasDatabaseName("IX_admin_log_type");
+
+                    b.ToTable("admin_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("LogId")
+                        .HasColumnType("integer")
+                        .HasColumnName("log_id");
+
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.HasKey("RoundId", "LogId", "PlayerUserId")
+                        .HasName("PK_admin_log_player");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_log_player_player_user_id");
+
+                    b.ToTable("admin_log_player", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_messages_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("boolean")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<bool>("Dismissed")
+                        .HasColumnType("boolean")
+                        .HasColumnName("dismissed");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("character varying(4096)")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Seen")
+                        .HasColumnType("boolean")
+                        .HasColumnName("seen");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_messages");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_messages_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_messages_round_id");
+
+                    b.ToTable("admin_messages", null, t =>
+                        {
+                            t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_notes_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("boolean")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("character varying(4096)")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Secret")
+                        .HasColumnType("boolean")
+                        .HasColumnName("secret");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_notes");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_notes_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_notes_round_id");
+
+                    b.ToTable("admin_notes", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank");
+
+                    b.ToTable("admin_rank", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_flag_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("AdminRankId")
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("flag");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank_flag");
+
+                    b.HasIndex("AdminRankId");
+
+                    b.HasIndex("Flag", "AdminRankId")
+                        .IsUnique();
+
+                    b.ToTable("admin_rank_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_watchlists_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("boolean")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("character varying(4096)")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_watchlists");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_watchlists_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_watchlists_round_id");
+
+                    b.ToTable("admin_watchlists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("antag_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("AntagName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("antag_name");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_antag");
+
+                    b.HasIndex("ProfileId", "AntagName")
+                        .IsUnique();
+
+                    b.ToTable("antag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("assigned_user_id_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_assigned_user_id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.HasIndex("UserName")
+                        .IsUnique();
+
+                    b.ToTable("assigned_user_id", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.BanTemplate", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_template_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("boolean")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("integer")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("boolean")
+                        .HasColumnName("hidden");
+
+                    b.Property<TimeSpan>("Length")
+                        .HasColumnType("interval")
+                        .HasColumnName("length");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("reason");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.Property<string>("Title")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("title");
+
+                    b.HasKey("Id")
+                        .HasName("PK_ban_template");
+
+                    b.ToTable("ban_template", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Blacklist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_blacklist");
+
+                    b.ToTable("blacklist", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("connection_log_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<IPAddress>("Address")
+                        .IsRequired()
+                        .HasColumnType("inet")
+                        .HasColumnName("address");
+
+                    b.Property<byte?>("Denied")
+                        .HasColumnType("smallint")
+                        .HasColumnName("denied");
+
+                    b.Property<int>("ServerId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasDefaultValue(0)
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime>("Time")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("time");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_connection_log");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_connection_log_server_id");
+
+                    b.HasIndex("Time");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("connection_log", null, t =>
+                        {
+                            t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("job_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("JobName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("job_name");
+
+                    b.Property<int>("Priority")
+                        .HasColumnType("integer")
+                        .HasColumnName("priority");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_job");
+
+                    b.HasIndex("ProfileId");
+
+                    b.HasIndex("ProfileId", "JobName")
+                        .IsUnique();
+
+                    b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
+                        .IsUnique()
+                        .HasFilter("priority = 3");
+
+                    b.ToTable("job", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("play_time_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<Guid>("PlayerId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_id");
+
+                    b.Property<TimeSpan>("TimeSpent")
+                        .HasColumnType("interval")
+                        .HasColumnName("time_spent");
+
+                    b.Property<string>("Tracker")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("tracker");
+
+                    b.HasKey("Id")
+                        .HasName("PK_play_time");
+
+                    b.HasIndex("PlayerId", "Tracker")
+                        .IsUnique();
+
+                    b.ToTable("play_time", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("player_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("FirstSeenTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("first_seen_time");
+
+                    b.Property<DateTime?>("LastReadRules")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_read_rules");
+
+                    b.Property<IPAddress>("LastSeenAddress")
+                        .IsRequired()
+                        .HasColumnType("inet")
+                        .HasColumnName("last_seen_address");
+
+                    b.Property<DateTime>("LastSeenTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_seen_time");
+
+                    b.Property<string>("LastSeenUserName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("last_seen_user_name");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_player");
+
+                    b.HasAlternateKey("UserId")
+                        .HasName("ak_player_user_id");
+
+                    b.HasIndex("LastSeenUserName");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("player", null, t =>
+                        {
+                            t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("preference_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("AdminOOCColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("admin_ooc_color");
+
+                    b.Property<int>("SelectedCharacterSlot")
+                        .HasColumnType("integer")
+                        .HasColumnName("selected_character_slot");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_preference");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("preference", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("Age")
+                        .HasColumnType("integer")
+                        .HasColumnName("age");
+
+                    b.Property<string>("CharacterName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("char_name");
+
+                    b.Property<string>("EyeColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("eye_color");
+
+                    b.Property<string>("FacialHairColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("facial_hair_color");
+
+                    b.Property<string>("FacialHairName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("facial_hair_name");
+
+                    b.Property<string>("FlavorText")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("flavor_text");
+
+                    b.Property<string>("Gender")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("gender");
+
+                    b.Property<string>("HairColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("hair_color");
+
+                    b.Property<string>("HairName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("hair_name");
+
+                    b.Property<JsonDocument>("Markings")
+                        .HasColumnType("jsonb")
+                        .HasColumnName("markings");
+
+                    b.Property<int>("PreferenceId")
+                        .HasColumnType("integer")
+                        .HasColumnName("preference_id");
+
+                    b.Property<int>("PreferenceUnavailable")
+                        .HasColumnType("integer")
+                        .HasColumnName("pref_unavailable");
+
+                    b.Property<string>("Sex")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("sex");
+
+                    b.Property<string>("SkinColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("skin_color");
+
+                    b.Property<int>("Slot")
+                        .HasColumnType("integer")
+                        .HasColumnName("slot");
+
+                    b.Property<int>("SpawnPriority")
+                        .HasColumnType("integer")
+                        .HasColumnName("spawn_priority");
+
+                    b.Property<string>("Species")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("species");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile");
+
+                    b.HasIndex("PreferenceId")
+                        .HasDatabaseName("IX_profile_preference_id");
+
+                    b.HasIndex("Slot", "PreferenceId")
+                        .IsUnique();
+
+                    b.ToTable("profile", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_loadout_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("LoadoutName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("loadout_name");
+
+                    b.Property<int>("ProfileLoadoutGroupId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout");
+
+                    b.HasIndex("ProfileLoadoutGroupId");
+
+                    b.ToTable("profile_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("GroupName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("group_name");
+
+                    b.Property<int>("ProfileRoleLoadoutId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout_group");
+
+                    b.HasIndex("ProfileRoleLoadoutId");
+
+                    b.ToTable("profile_loadout_group", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("RoleName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("role_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_role_loadout");
+
+                    b.HasIndex("ProfileId");
+
+                    b.ToTable("profile_role_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<string>("RoleId")
+                        .HasColumnType("text")
+                        .HasColumnName("role_id");
+
+                    b.HasKey("PlayerUserId", "RoleId")
+                        .HasName("PK_role_whitelists");
+
+                    b.ToTable("role_whitelists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ServerId")
+                        .HasColumnType("integer")
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime?>("StartDate")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("start_date");
+
+                    b.HasKey("Id")
+                        .HasName("PK_round");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_round_server_id");
+
+                    b.HasIndex("StartDate");
+
+                    b.ToTable("round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server");
+
+                    b.ToTable("server", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_ban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<NpgsqlInet?>("Address")
+                        .HasColumnType("inet")
+                        .HasColumnName("address");
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("boolean")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("integer")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("boolean")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("reason");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_ban_round_id");
+
+                    b.ToTable("server_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
+
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<int>("Flags")
+                        .HasColumnType("integer")
+                        .HasColumnName("flags");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_server_ban_exemption");
+
+                    b.ToTable("server_ban_exemption", null, t =>
+                        {
+                            t.HasCheckConstraint("FlagsNotZero", "flags != 0");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_ban_hit_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_id");
+
+                    b.Property<int>("ConnectionId")
+                        .HasColumnType("integer")
+                        .HasColumnName("connection_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban_hit");
+
+                    b.HasIndex("BanId")
+                        .HasDatabaseName("IX_server_ban_hit_ban_id");
+
+                    b.HasIndex("ConnectionId")
+                        .HasDatabaseName("IX_server_ban_hit_connection_id");
+
+                    b.ToTable("server_ban_hit", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_role_ban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<NpgsqlInet?>("Address")
+                        .HasColumnType("inet")
+                        .HasColumnName("address");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("boolean")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("reason");
+
+                    b.Property<string>("RoleId")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("role_id");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_role_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_role_ban_round_id");
+
+                    b.ToTable("server_role_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
+
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("role_unban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_role_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("unban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("trait_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("TraitName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("trait_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_trait");
+
+                    b.HasIndex("ProfileId", "TraitName")
+                        .IsUnique();
+
+                    b.ToTable("trait", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("uploaded_resource_log_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<byte[]>("Data")
+                        .IsRequired()
+                        .HasColumnType("bytea")
+                        .HasColumnName("data");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("date");
+
+                    b.Property<string>("Path")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("path");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_uploaded_resource_log");
+
+                    b.ToTable("uploaded_resource_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_whitelist");
+
+                    b.ToTable("whitelist", (string)null);
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.Property<int>("PlayersId")
+                        .HasColumnType("integer")
+                        .HasColumnName("players_id");
+
+                    b.Property<int>("RoundsId")
+                        .HasColumnType("integer")
+                        .HasColumnName("rounds_id");
+
+                    b.HasKey("PlayersId", "RoundsId")
+                        .HasName("PK_player_round");
+
+                    b.HasIndex("RoundsId")
+                        .HasDatabaseName("IX_player_round_rounds_id");
+
+                    b.ToTable("player_round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
+                        .WithMany("Admins")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
+
+                    b.Navigation("AdminRank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Admin", "Admin")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_flag_admin_admin_id");
+
+                    b.Navigation("Admin");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("RoundId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_round_round_id");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.AdminLog", "Log")
+                        .WithMany("Players")
+                        .HasForeignKey("RoundId", "LogId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id");
+
+                    b.Navigation("Log");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminMessagesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminMessagesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminMessagesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminMessagesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_messages_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_messages_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminNotesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminNotesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminNotesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminNotesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_notes_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_notes_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "Rank")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
+
+                    b.Navigation("Rank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminWatchlistsCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminWatchlistsDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminWatchlistsLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminWatchlistsReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_watchlists_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_watchlists_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Antags")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_antag_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("ConnectionLogs")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .IsRequired()
+                        .HasConstraintName("FK_connection_log_server_server_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ConnectionLogId")
+                                .HasColumnType("integer")
+                                .HasColumnName("connection_log_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ConnectionLogId");
+
+                            b1.ToTable("connection_log");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ConnectionLogId")
+                                .HasConstraintName("FK_connection_log_connection_log_connection_log_id");
+                        });
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Jobs")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_job_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 =>
+                        {
+                            b1.Property<int>("PlayerId")
+                                .HasColumnType("integer")
+                                .HasColumnName("player_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("last_seen_hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("last_seen_hwid_type");
+
+                            b1.HasKey("PlayerId");
+
+                            b1.ToTable("player");
+
+                            b1.WithOwner()
+                                .HasForeignKey("PlayerId")
+                                .HasConstraintName("FK_player_player_player_id");
+                        });
+
+                    b.Navigation("LastSeenHWId");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.HasOne("Content.Server.Database.Preference", "Preference")
+                        .WithMany("Profiles")
+                        .HasForeignKey("PreferenceId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_preference_preference_id");
+
+                    b.Navigation("Preference");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileLoadoutGroupId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group~");
+
+                    b.Navigation("ProfileLoadoutGroup");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout")
+                        .WithMany("Groups")
+                        .HasForeignKey("ProfileRoleLoadoutId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loa~");
+
+                    b.Navigation("ProfileRoleLoadout");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_role_loadout_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("JobWhitelists")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_role_whitelists_player_player_user_id");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("Rounds")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_round_server_server_id");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerBanId")
+                                .HasColumnType("integer")
+                                .HasColumnName("server_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerBanId");
+
+                            b1.ToTable("server_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerBanId")
+                                .HasConstraintName("FK_server_ban_server_ban_server_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithMany("BanHits")
+                        .HasForeignKey("BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
+
+                    b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
+                        .WithMany("BanHits")
+                        .HasForeignKey("ConnectionId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
+
+                    b.Navigation("Ban");
+
+                    b.Navigation("Connection");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerRoleBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerRoleBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_role_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerRoleBanId")
+                                .HasColumnType("integer")
+                                .HasColumnName("server_role_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerRoleBanId");
+
+                            b1.ToTable("server_role_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerRoleBanId")
+                                .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_unban_server_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Traits")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_trait_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", null)
+                        .WithMany()
+                        .HasForeignKey("PlayersId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_player_players_id");
+
+                    b.HasOne("Content.Server.Database.Round", null)
+                        .WithMany()
+                        .HasForeignKey("RoundsId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_round_rounds_id");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Navigation("Players");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Navigation("Admins");
+
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Navigation("BanHits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Navigation("AdminLogs");
+
+                    b.Navigation("AdminMessagesCreated");
+
+                    b.Navigation("AdminMessagesDeleted");
+
+                    b.Navigation("AdminMessagesLastEdited");
+
+                    b.Navigation("AdminMessagesReceived");
+
+                    b.Navigation("AdminNotesCreated");
+
+                    b.Navigation("AdminNotesDeleted");
+
+                    b.Navigation("AdminNotesLastEdited");
+
+                    b.Navigation("AdminNotesReceived");
+
+                    b.Navigation("AdminServerBansCreated");
+
+                    b.Navigation("AdminServerBansLastEdited");
+
+                    b.Navigation("AdminServerRoleBansCreated");
+
+                    b.Navigation("AdminServerRoleBansLastEdited");
+
+                    b.Navigation("AdminWatchlistsCreated");
+
+                    b.Navigation("AdminWatchlistsDeleted");
+
+                    b.Navigation("AdminWatchlistsLastEdited");
+
+                    b.Navigation("AdminWatchlistsReceived");
+
+                    b.Navigation("JobWhitelists");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Navigation("Profiles");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Navigation("Antags");
+
+                    b.Navigation("Jobs");
+
+                    b.Navigation("Loadouts");
+
+                    b.Navigation("Traits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Navigation("Loadouts");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Navigation("Groups");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Navigation("AdminLogs");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Navigation("ConnectionLogs");
+
+                    b.Navigation("Rounds");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Navigation("BanHits");
+
+                    b.Navigation("Unban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Navigation("Unban");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs
new file mode 100644
index 00000000000..c70a5ffaa58
--- /dev/null
+++ b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs
@@ -0,0 +1,62 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Postgres
+{
+    /// <inheritdoc />
+    public partial class ModernHwid : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<int>(
+                name: "hwid_type",
+                table: "server_role_ban",
+                type: "integer",
+                nullable: true,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "hwid_type",
+                table: "server_ban",
+                type: "integer",
+                nullable: true,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "last_seen_hwid_type",
+                table: "player",
+                type: "integer",
+                nullable: true,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "hwid_type",
+                table: "connection_log",
+                type: "integer",
+                nullable: true,
+                defaultValue: 0);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "hwid_type",
+                table: "server_role_ban");
+
+            migrationBuilder.DropColumn(
+                name: "hwid_type",
+                table: "server_ban");
+
+            migrationBuilder.DropColumn(
+                name: "last_seen_hwid_type",
+                table: "player");
+
+            migrationBuilder.DropColumn(
+                name: "hwid_type",
+                table: "connection_log");
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs
new file mode 100644
index 00000000000..dc1b4a0eeb7
--- /dev/null
+++ b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs
@@ -0,0 +1,2076 @@
+// <auto-generated />
+using System;
+using System.Net;
+using System.Text.Json;
+using Content.Server.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using NpgsqlTypes;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Postgres
+{
+    [DbContext(typeof(PostgresServerDbContext))]
+    [Migration("20241111193608_ConnectionTrust")]
+    partial class ConnectionTrust
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("ProductVersion", "8.0.0")
+                .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<int?>("AdminRankId")
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Title")
+                        .HasColumnType("text")
+                        .HasColumnName("title");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_admin");
+
+                    b.HasIndex("AdminRankId")
+                        .HasDatabaseName("IX_admin_admin_rank_id");
+
+                    b.ToTable("admin", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_flag_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<Guid>("AdminId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("admin_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("flag");
+
+                    b.Property<bool>("Negative")
+                        .HasColumnType("boolean")
+                        .HasColumnName("negative");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_flag");
+
+                    b.HasIndex("AdminId")
+                        .HasDatabaseName("IX_admin_flag_admin_id");
+
+                    b.HasIndex("Flag", "AdminId")
+                        .IsUnique();
+
+                    b.ToTable("admin_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Id")
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_log_id");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("date");
+
+                    b.Property<short>("Impact")
+                        .HasColumnType("smallint")
+                        .HasColumnName("impact");
+
+                    b.Property<JsonDocument>("Json")
+                        .IsRequired()
+                        .HasColumnType("jsonb")
+                        .HasColumnName("json");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("message");
+
+                    b.Property<int>("Type")
+                        .HasColumnType("integer")
+                        .HasColumnName("type");
+
+                    b.HasKey("RoundId", "Id")
+                        .HasName("PK_admin_log");
+
+                    b.HasIndex("Date");
+
+                    b.HasIndex("Message")
+                        .HasAnnotation("Npgsql:TsVectorConfig", "english");
+
+                    NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN");
+
+                    b.HasIndex("Type")
+                        .HasDatabaseName("IX_admin_log_type");
+
+                    b.ToTable("admin_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("LogId")
+                        .HasColumnType("integer")
+                        .HasColumnName("log_id");
+
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.HasKey("RoundId", "LogId", "PlayerUserId")
+                        .HasName("PK_admin_log_player");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_log_player_player_user_id");
+
+                    b.ToTable("admin_log_player", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_messages_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("boolean")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<bool>("Dismissed")
+                        .HasColumnType("boolean")
+                        .HasColumnName("dismissed");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("character varying(4096)")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Seen")
+                        .HasColumnType("boolean")
+                        .HasColumnName("seen");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_messages");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_messages_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_messages_round_id");
+
+                    b.ToTable("admin_messages", null, t =>
+                        {
+                            t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_notes_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("boolean")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("character varying(4096)")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Secret")
+                        .HasColumnType("boolean")
+                        .HasColumnName("secret");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_notes");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_notes_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_notes_round_id");
+
+                    b.ToTable("admin_notes", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank");
+
+                    b.ToTable("admin_rank", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_flag_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("AdminRankId")
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("flag");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank_flag");
+
+                    b.HasIndex("AdminRankId");
+
+                    b.HasIndex("Flag", "AdminRankId")
+                        .IsUnique();
+
+                    b.ToTable("admin_rank_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("admin_watchlists_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("boolean")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("character varying(4096)")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_watchlists");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_watchlists_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_watchlists_round_id");
+
+                    b.ToTable("admin_watchlists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("antag_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("AntagName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("antag_name");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_antag");
+
+                    b.HasIndex("ProfileId", "AntagName")
+                        .IsUnique();
+
+                    b.ToTable("antag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("assigned_user_id_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_assigned_user_id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.HasIndex("UserName")
+                        .IsUnique();
+
+                    b.ToTable("assigned_user_id", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.BanTemplate", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_template_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("boolean")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("integer")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("boolean")
+                        .HasColumnName("hidden");
+
+                    b.Property<TimeSpan>("Length")
+                        .HasColumnType("interval")
+                        .HasColumnName("length");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("reason");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.Property<string>("Title")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("title");
+
+                    b.HasKey("Id")
+                        .HasName("PK_ban_template");
+
+                    b.ToTable("ban_template", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Blacklist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_blacklist");
+
+                    b.ToTable("blacklist", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("connection_log_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<IPAddress>("Address")
+                        .IsRequired()
+                        .HasColumnType("inet")
+                        .HasColumnName("address");
+
+                    b.Property<byte?>("Denied")
+                        .HasColumnType("smallint")
+                        .HasColumnName("denied");
+
+                    b.Property<int>("ServerId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasDefaultValue(0)
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime>("Time")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("time");
+
+                    b.Property<float>("Trust")
+                        .HasColumnType("real")
+                        .HasColumnName("trust");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_connection_log");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_connection_log_server_id");
+
+                    b.HasIndex("Time");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("connection_log", null, t =>
+                        {
+                            t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("job_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("JobName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("job_name");
+
+                    b.Property<int>("Priority")
+                        .HasColumnType("integer")
+                        .HasColumnName("priority");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_job");
+
+                    b.HasIndex("ProfileId");
+
+                    b.HasIndex("ProfileId", "JobName")
+                        .IsUnique();
+
+                    b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
+                        .IsUnique()
+                        .HasFilter("priority = 3");
+
+                    b.ToTable("job", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("play_time_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<Guid>("PlayerId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_id");
+
+                    b.Property<TimeSpan>("TimeSpent")
+                        .HasColumnType("interval")
+                        .HasColumnName("time_spent");
+
+                    b.Property<string>("Tracker")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("tracker");
+
+                    b.HasKey("Id")
+                        .HasName("PK_play_time");
+
+                    b.HasIndex("PlayerId", "Tracker")
+                        .IsUnique();
+
+                    b.ToTable("play_time", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("player_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<DateTime>("FirstSeenTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("first_seen_time");
+
+                    b.Property<DateTime?>("LastReadRules")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_read_rules");
+
+                    b.Property<IPAddress>("LastSeenAddress")
+                        .IsRequired()
+                        .HasColumnType("inet")
+                        .HasColumnName("last_seen_address");
+
+                    b.Property<DateTime>("LastSeenTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_seen_time");
+
+                    b.Property<string>("LastSeenUserName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("last_seen_user_name");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_player");
+
+                    b.HasAlternateKey("UserId")
+                        .HasName("ak_player_user_id");
+
+                    b.HasIndex("LastSeenUserName");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("player", null, t =>
+                        {
+                            t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("preference_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("AdminOOCColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("admin_ooc_color");
+
+                    b.Property<int>("SelectedCharacterSlot")
+                        .HasColumnType("integer")
+                        .HasColumnName("selected_character_slot");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_preference");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("preference", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("Age")
+                        .HasColumnType("integer")
+                        .HasColumnName("age");
+
+                    b.Property<string>("CharacterName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("char_name");
+
+                    b.Property<string>("EyeColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("eye_color");
+
+                    b.Property<string>("FacialHairColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("facial_hair_color");
+
+                    b.Property<string>("FacialHairName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("facial_hair_name");
+
+                    b.Property<string>("FlavorText")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("flavor_text");
+
+                    b.Property<string>("Gender")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("gender");
+
+                    b.Property<string>("HairColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("hair_color");
+
+                    b.Property<string>("HairName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("hair_name");
+
+                    b.Property<JsonDocument>("Markings")
+                        .HasColumnType("jsonb")
+                        .HasColumnName("markings");
+
+                    b.Property<int>("PreferenceId")
+                        .HasColumnType("integer")
+                        .HasColumnName("preference_id");
+
+                    b.Property<int>("PreferenceUnavailable")
+                        .HasColumnType("integer")
+                        .HasColumnName("pref_unavailable");
+
+                    b.Property<string>("Sex")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("sex");
+
+                    b.Property<string>("SkinColor")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("skin_color");
+
+                    b.Property<int>("Slot")
+                        .HasColumnType("integer")
+                        .HasColumnName("slot");
+
+                    b.Property<int>("SpawnPriority")
+                        .HasColumnType("integer")
+                        .HasColumnName("spawn_priority");
+
+                    b.Property<string>("Species")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("species");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile");
+
+                    b.HasIndex("PreferenceId")
+                        .HasDatabaseName("IX_profile_preference_id");
+
+                    b.HasIndex("Slot", "PreferenceId")
+                        .IsUnique();
+
+                    b.ToTable("profile", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_loadout_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("LoadoutName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("loadout_name");
+
+                    b.Property<int>("ProfileLoadoutGroupId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout");
+
+                    b.HasIndex("ProfileLoadoutGroupId");
+
+                    b.ToTable("profile_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("GroupName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("group_name");
+
+                    b.Property<int>("ProfileRoleLoadoutId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout_group");
+
+                    b.HasIndex("ProfileRoleLoadoutId");
+
+                    b.ToTable("profile_loadout_group", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("RoleName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("role_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_role_loadout");
+
+                    b.HasIndex("ProfileId");
+
+                    b.ToTable("profile_role_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<string>("RoleId")
+                        .HasColumnType("text")
+                        .HasColumnName("role_id");
+
+                    b.HasKey("PlayerUserId", "RoleId")
+                        .HasName("PK_role_whitelists");
+
+                    b.ToTable("role_whitelists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ServerId")
+                        .HasColumnType("integer")
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime?>("StartDate")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("start_date");
+
+                    b.HasKey("Id")
+                        .HasName("PK_round");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_round_server_id");
+
+                    b.HasIndex("StartDate");
+
+                    b.ToTable("round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server");
+
+                    b.ToTable("server", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_ban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<NpgsqlInet?>("Address")
+                        .HasColumnType("inet")
+                        .HasColumnName("address");
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("boolean")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("integer")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("boolean")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("reason");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_ban_round_id");
+
+                    b.ToTable("server_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
+
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.Property<int>("Flags")
+                        .HasColumnType("integer")
+                        .HasColumnName("flags");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_server_ban_exemption");
+
+                    b.ToTable("server_ban_exemption", null, t =>
+                        {
+                            t.HasCheckConstraint("FlagsNotZero", "flags != 0");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_ban_hit_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_id");
+
+                    b.Property<int>("ConnectionId")
+                        .HasColumnType("integer")
+                        .HasColumnName("connection_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban_hit");
+
+                    b.HasIndex("BanId")
+                        .HasDatabaseName("IX_server_ban_hit_ban_id");
+
+                    b.HasIndex("ConnectionId")
+                        .HasDatabaseName("IX_server_ban_hit_connection_id");
+
+                    b.ToTable("server_ban_hit", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("server_role_ban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<NpgsqlInet?>("Address")
+                        .HasColumnType("inet")
+                        .HasColumnName("address");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("boolean")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("uuid")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("interval")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("reason");
+
+                    b.Property<string>("RoleId")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("role_id");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("integer")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("integer")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_role_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_role_ban_round_id");
+
+                    b.ToTable("server_role_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
+
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("role_unban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_role_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("unban_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("integer")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("uuid")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("trait_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("integer")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("TraitName")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("trait_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_trait");
+
+                    b.HasIndex("ProfileId", "TraitName")
+                        .IsUnique();
+
+                    b.ToTable("trait", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("integer")
+                        .HasColumnName("uploaded_resource_log_id");
+
+                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
+
+                    b.Property<byte[]>("Data")
+                        .IsRequired()
+                        .HasColumnType("bytea")
+                        .HasColumnName("data");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("timestamp with time zone")
+                        .HasColumnName("date");
+
+                    b.Property<string>("Path")
+                        .IsRequired()
+                        .HasColumnType("text")
+                        .HasColumnName("path");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_uploaded_resource_log");
+
+                    b.ToTable("uploaded_resource_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_whitelist");
+
+                    b.ToTable("whitelist", (string)null);
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.Property<int>("PlayersId")
+                        .HasColumnType("integer")
+                        .HasColumnName("players_id");
+
+                    b.Property<int>("RoundsId")
+                        .HasColumnType("integer")
+                        .HasColumnName("rounds_id");
+
+                    b.HasKey("PlayersId", "RoundsId")
+                        .HasName("PK_player_round");
+
+                    b.HasIndex("RoundsId")
+                        .HasDatabaseName("IX_player_round_rounds_id");
+
+                    b.ToTable("player_round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
+                        .WithMany("Admins")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
+
+                    b.Navigation("AdminRank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Admin", "Admin")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_flag_admin_admin_id");
+
+                    b.Navigation("Admin");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("RoundId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_round_round_id");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.AdminLog", "Log")
+                        .WithMany("Players")
+                        .HasForeignKey("RoundId", "LogId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id");
+
+                    b.Navigation("Log");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminMessagesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminMessagesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminMessagesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminMessagesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_messages_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_messages_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminNotesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminNotesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminNotesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminNotesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_notes_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_notes_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "Rank")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
+
+                    b.Navigation("Rank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminWatchlistsCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminWatchlistsDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminWatchlistsLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminWatchlistsReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_watchlists_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_watchlists_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Antags")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_antag_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("ConnectionLogs")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .IsRequired()
+                        .HasConstraintName("FK_connection_log_server_server_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ConnectionLogId")
+                                .HasColumnType("integer")
+                                .HasColumnName("connection_log_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ConnectionLogId");
+
+                            b1.ToTable("connection_log");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ConnectionLogId")
+                                .HasConstraintName("FK_connection_log_connection_log_connection_log_id");
+                        });
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Jobs")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_job_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 =>
+                        {
+                            b1.Property<int>("PlayerId")
+                                .HasColumnType("integer")
+                                .HasColumnName("player_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("last_seen_hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("last_seen_hwid_type");
+
+                            b1.HasKey("PlayerId");
+
+                            b1.ToTable("player");
+
+                            b1.WithOwner()
+                                .HasForeignKey("PlayerId")
+                                .HasConstraintName("FK_player_player_player_id");
+                        });
+
+                    b.Navigation("LastSeenHWId");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.HasOne("Content.Server.Database.Preference", "Preference")
+                        .WithMany("Profiles")
+                        .HasForeignKey("PreferenceId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_preference_preference_id");
+
+                    b.Navigation("Preference");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileLoadoutGroupId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group~");
+
+                    b.Navigation("ProfileLoadoutGroup");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout")
+                        .WithMany("Groups")
+                        .HasForeignKey("ProfileRoleLoadoutId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loa~");
+
+                    b.Navigation("ProfileRoleLoadout");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_role_loadout_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("JobWhitelists")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_role_whitelists_player_player_user_id");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("Rounds")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_round_server_server_id");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerBanId")
+                                .HasColumnType("integer")
+                                .HasColumnName("server_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerBanId");
+
+                            b1.ToTable("server_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerBanId")
+                                .HasConstraintName("FK_server_ban_server_ban_server_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithMany("BanHits")
+                        .HasForeignKey("BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
+
+                    b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
+                        .WithMany("BanHits")
+                        .HasForeignKey("ConnectionId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
+
+                    b.Navigation("Ban");
+
+                    b.Navigation("Connection");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerRoleBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerRoleBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_role_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerRoleBanId")
+                                .HasColumnType("integer")
+                                .HasColumnName("server_role_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerRoleBanId");
+
+                            b1.ToTable("server_role_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerRoleBanId")
+                                .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_unban_server_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Traits")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_trait_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", null)
+                        .WithMany()
+                        .HasForeignKey("PlayersId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_player_players_id");
+
+                    b.HasOne("Content.Server.Database.Round", null)
+                        .WithMany()
+                        .HasForeignKey("RoundsId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_round_rounds_id");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Navigation("Players");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Navigation("Admins");
+
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Navigation("BanHits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Navigation("AdminLogs");
+
+                    b.Navigation("AdminMessagesCreated");
+
+                    b.Navigation("AdminMessagesDeleted");
+
+                    b.Navigation("AdminMessagesLastEdited");
+
+                    b.Navigation("AdminMessagesReceived");
+
+                    b.Navigation("AdminNotesCreated");
+
+                    b.Navigation("AdminNotesDeleted");
+
+                    b.Navigation("AdminNotesLastEdited");
+
+                    b.Navigation("AdminNotesReceived");
+
+                    b.Navigation("AdminServerBansCreated");
+
+                    b.Navigation("AdminServerBansLastEdited");
+
+                    b.Navigation("AdminServerRoleBansCreated");
+
+                    b.Navigation("AdminServerRoleBansLastEdited");
+
+                    b.Navigation("AdminWatchlistsCreated");
+
+                    b.Navigation("AdminWatchlistsDeleted");
+
+                    b.Navigation("AdminWatchlistsLastEdited");
+
+                    b.Navigation("AdminWatchlistsReceived");
+
+                    b.Navigation("JobWhitelists");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Navigation("Profiles");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Navigation("Antags");
+
+                    b.Navigation("Jobs");
+
+                    b.Navigation("Loadouts");
+
+                    b.Navigation("Traits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Navigation("Loadouts");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Navigation("Groups");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Navigation("AdminLogs");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Navigation("ConnectionLogs");
+
+                    b.Navigation("Rounds");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Navigation("BanHits");
+
+                    b.Navigation("Unban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Navigation("Unban");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs
new file mode 100644
index 00000000000..debb36aaccb
--- /dev/null
+++ b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs
@@ -0,0 +1,29 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Postgres
+{
+    /// <inheritdoc />
+    public partial class ConnectionTrust : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<float>(
+                name: "trust",
+                table: "connection_log",
+                type: "real",
+                nullable: false,
+                defaultValue: 0f);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "trust",
+                table: "connection_log");
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs b/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
index 1f64f6e51a5..75444386311 100644
--- a/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
+++ b/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
@@ -512,20 +512,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                     b.ToTable("assigned_user_id", (string)null);
                 });
 
-            modelBuilder.Entity("Content.Server.Database.Blacklist",
-                b =>
-                {
-                    b.Property<Guid>("UserId")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("uuid")
-                        .HasColumnName("user_id");
-
-                    b.HasKey("UserId")
-                        .HasName("PK_blacklist");
-
-                    b.ToTable("blacklist", (string) null);
-                });
-
             modelBuilder.Entity("Content.Server.Database.BanTemplate", b =>
                 {
                     b.Property<int>("Id")
@@ -571,6 +557,19 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                     b.ToTable("ban_template", (string)null);
                 });
 
+            modelBuilder.Entity("Content.Server.Database.Blacklist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uuid")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_blacklist");
+
+                    b.ToTable("blacklist", (string)null);
+                });
+
             modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
                 {
                     b.Property<int>("Id")
@@ -589,10 +588,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("smallint")
                         .HasColumnName("denied");
 
-                    b.Property<byte[]>("HWId")
-                        .HasColumnType("bytea")
-                        .HasColumnName("hwid");
-
                     b.Property<int>("ServerId")
                         .ValueGeneratedOnAdd()
                         .HasColumnType("integer")
@@ -603,6 +598,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("timestamp with time zone")
                         .HasColumnName("time");
 
+                    b.Property<float>("Trust")
+                        .HasColumnType("real")
+                        .HasColumnName("trust");
+
                     b.Property<Guid>("UserId")
                         .HasColumnType("uuid")
                         .HasColumnName("user_id");
@@ -718,10 +717,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("inet")
                         .HasColumnName("last_seen_address");
 
-                    b.Property<byte[]>("LastSeenHWId")
-                        .HasColumnType("bytea")
-                        .HasColumnName("last_seen_hwid");
-
                     b.Property<DateTime>("LastSeenTime")
                         .HasColumnType("timestamp with time zone")
                         .HasColumnName("last_seen_time");
@@ -1058,10 +1053,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("timestamp with time zone")
                         .HasColumnName("expiration_time");
 
-                    b.Property<byte[]>("HWId")
-                        .HasColumnType("bytea")
-                        .HasColumnName("hwid");
-
                     b.Property<bool>("Hidden")
                         .HasColumnType("boolean")
                         .HasColumnName("hidden");
@@ -1192,10 +1183,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("timestamp with time zone")
                         .HasColumnName("expiration_time");
 
-                    b.Property<byte[]>("HWId")
-                        .HasColumnType("bytea")
-                        .HasColumnName("hwid");
-
                     b.Property<bool>("Hidden")
                         .HasColumnType("boolean")
                         .HasColumnName("hidden");
@@ -1637,6 +1624,34 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .IsRequired()
                         .HasConstraintName("FK_connection_log_server_server_id");
 
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ConnectionLogId")
+                                .HasColumnType("integer")
+                                .HasColumnName("connection_log_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ConnectionLogId");
+
+                            b1.ToTable("connection_log");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ConnectionLogId")
+                                .HasConstraintName("FK_connection_log_connection_log_connection_log_id");
+                        });
+
+                    b.Navigation("HWId");
+
                     b.Navigation("Server");
                 });
 
@@ -1652,6 +1667,37 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                     b.Navigation("Profile");
                 });
 
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 =>
+                        {
+                            b1.Property<int>("PlayerId")
+                                .HasColumnType("integer")
+                                .HasColumnName("player_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("last_seen_hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("last_seen_hwid_type");
+
+                            b1.HasKey("PlayerId");
+
+                            b1.ToTable("player");
+
+                            b1.WithOwner()
+                                .HasForeignKey("PlayerId")
+                                .HasConstraintName("FK_player_player_player_id");
+                        });
+
+                    b.Navigation("LastSeenHWId");
+                });
+
             modelBuilder.Entity("Content.Server.Database.Profile", b =>
                 {
                     b.HasOne("Content.Server.Database.Preference", "Preference")
@@ -1746,8 +1792,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasForeignKey("RoundId")
                         .HasConstraintName("FK_server_ban_round_round_id");
 
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerBanId")
+                                .HasColumnType("integer")
+                                .HasColumnName("server_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerBanId");
+
+                            b1.ToTable("server_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerBanId")
+                                .HasConstraintName("FK_server_ban_server_ban_server_ban_id");
+                        });
+
                     b.Navigation("CreatedBy");
 
+                    b.Navigation("HWId");
+
                     b.Navigation("LastEditedBy");
 
                     b.Navigation("Round");
@@ -1795,8 +1869,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasForeignKey("RoundId")
                         .HasConstraintName("FK_server_role_ban_round_round_id");
 
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerRoleBanId")
+                                .HasColumnType("integer")
+                                .HasColumnName("server_role_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("bytea")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("integer")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerRoleBanId");
+
+                            b1.ToTable("server_role_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerRoleBanId")
+                                .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id");
+                        });
+
                     b.Navigation("CreatedBy");
 
+                    b.Navigation("HWId");
+
                     b.Navigation("LastEditedBy");
 
                     b.Navigation("Round");
diff --git a/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs
new file mode 100644
index 00000000000..56a9fe0a059
--- /dev/null
+++ b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs
@@ -0,0 +1,1995 @@
+// <auto-generated />
+using System;
+using Content.Server.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Sqlite
+{
+    [DbContext(typeof(SqliteServerDbContext))]
+    [Migration("20241111170107_ModernHwid")]
+    partial class ModernHwid
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder.HasAnnotation("ProductVersion", "8.0.0");
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<int?>("AdminRankId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Title")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("title");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_admin");
+
+                    b.HasIndex("AdminRankId")
+                        .HasDatabaseName("IX_admin_admin_rank_id");
+
+                    b.ToTable("admin", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_flag_id");
+
+                    b.Property<Guid>("AdminId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("admin_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("flag");
+
+                    b.Property<bool>("Negative")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("negative");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_flag");
+
+                    b.HasIndex("AdminId")
+                        .HasDatabaseName("IX_admin_flag_admin_id");
+
+                    b.HasIndex("Flag", "AdminId")
+                        .IsUnique();
+
+                    b.ToTable("admin_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Id")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_log_id");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("date");
+
+                    b.Property<sbyte>("Impact")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("impact");
+
+                    b.Property<string>("Json")
+                        .IsRequired()
+                        .HasColumnType("jsonb")
+                        .HasColumnName("json");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<int>("Type")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("type");
+
+                    b.HasKey("RoundId", "Id")
+                        .HasName("PK_admin_log");
+
+                    b.HasIndex("Date");
+
+                    b.HasIndex("Type")
+                        .HasDatabaseName("IX_admin_log_type");
+
+                    b.ToTable("admin_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("LogId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("log_id");
+
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.HasKey("RoundId", "LogId", "PlayerUserId")
+                        .HasName("PK_admin_log_player");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_log_player_player_user_id");
+
+                    b.ToTable("admin_log_player", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_messages_id");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<bool>("Dismissed")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("dismissed");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Seen")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("seen");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_messages");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_messages_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_messages_round_id");
+
+                    b.ToTable("admin_messages", null, t =>
+                        {
+                            t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_notes_id");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Secret")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("secret");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_notes");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_notes_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_notes_round_id");
+
+                    b.ToTable("admin_notes", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank");
+
+                    b.ToTable("admin_rank", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_flag_id");
+
+                    b.Property<int>("AdminRankId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("flag");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank_flag");
+
+                    b.HasIndex("AdminRankId");
+
+                    b.HasIndex("Flag", "AdminRankId")
+                        .IsUnique();
+
+                    b.ToTable("admin_rank_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_watchlists_id");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_watchlists");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_watchlists_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_watchlists_round_id");
+
+                    b.ToTable("admin_watchlists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("antag_id");
+
+                    b.Property<string>("AntagName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("antag_name");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_antag");
+
+                    b.HasIndex("ProfileId", "AntagName")
+                        .IsUnique();
+
+                    b.ToTable("antag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("assigned_user_id_id");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_assigned_user_id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.HasIndex("UserName")
+                        .IsUnique();
+
+                    b.ToTable("assigned_user_id", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.BanTemplate", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_template_id");
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("hidden");
+
+                    b.Property<TimeSpan>("Length")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("length");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("reason");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.Property<string>("Title")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("title");
+
+                    b.HasKey("Id")
+                        .HasName("PK_ban_template");
+
+                    b.ToTable("ban_template", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Blacklist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_blacklist");
+
+                    b.ToTable("blacklist", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("connection_log_id");
+
+                    b.Property<string>("Address")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("address");
+
+                    b.Property<byte?>("Denied")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("denied");
+
+                    b.Property<int>("ServerId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasDefaultValue(0)
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime>("Time")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("time");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_connection_log");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_connection_log_server_id");
+
+                    b.HasIndex("Time");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("connection_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("job_id");
+
+                    b.Property<string>("JobName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("job_name");
+
+                    b.Property<int>("Priority")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("priority");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_job");
+
+                    b.HasIndex("ProfileId");
+
+                    b.HasIndex("ProfileId", "JobName")
+                        .IsUnique();
+
+                    b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
+                        .IsUnique()
+                        .HasFilter("priority = 3");
+
+                    b.ToTable("job", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("play_time_id");
+
+                    b.Property<Guid>("PlayerId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_id");
+
+                    b.Property<TimeSpan>("TimeSpent")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("time_spent");
+
+                    b.Property<string>("Tracker")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("tracker");
+
+                    b.HasKey("Id")
+                        .HasName("PK_play_time");
+
+                    b.HasIndex("PlayerId", "Tracker")
+                        .IsUnique();
+
+                    b.ToTable("play_time", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("player_id");
+
+                    b.Property<DateTime>("FirstSeenTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("first_seen_time");
+
+                    b.Property<DateTime?>("LastReadRules")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_read_rules");
+
+                    b.Property<string>("LastSeenAddress")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_seen_address");
+
+                    b.Property<DateTime>("LastSeenTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_seen_time");
+
+                    b.Property<string>("LastSeenUserName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_seen_user_name");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_player");
+
+                    b.HasAlternateKey("UserId")
+                        .HasName("ak_player_user_id");
+
+                    b.HasIndex("LastSeenUserName");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("player", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("preference_id");
+
+                    b.Property<string>("AdminOOCColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("admin_ooc_color");
+
+                    b.Property<int>("SelectedCharacterSlot")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("selected_character_slot");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_preference");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("preference", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.Property<int>("Age")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("age");
+
+                    b.Property<string>("CharacterName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("char_name");
+
+                    b.Property<string>("EyeColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("eye_color");
+
+                    b.Property<string>("FacialHairColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("facial_hair_color");
+
+                    b.Property<string>("FacialHairName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("facial_hair_name");
+
+                    b.Property<string>("FlavorText")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("flavor_text");
+
+                    b.Property<string>("Gender")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("gender");
+
+                    b.Property<string>("HairColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("hair_color");
+
+                    b.Property<string>("HairName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("hair_name");
+
+                    b.Property<byte[]>("Markings")
+                        .HasColumnType("jsonb")
+                        .HasColumnName("markings");
+
+                    b.Property<int>("PreferenceId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("preference_id");
+
+                    b.Property<int>("PreferenceUnavailable")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("pref_unavailable");
+
+                    b.Property<string>("Sex")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("sex");
+
+                    b.Property<string>("SkinColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("skin_color");
+
+                    b.Property<int>("Slot")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("slot");
+
+                    b.Property<int>("SpawnPriority")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("spawn_priority");
+
+                    b.Property<string>("Species")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("species");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile");
+
+                    b.HasIndex("PreferenceId")
+                        .HasDatabaseName("IX_profile_preference_id");
+
+                    b.HasIndex("Slot", "PreferenceId")
+                        .IsUnique();
+
+                    b.ToTable("profile", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_loadout_id");
+
+                    b.Property<string>("LoadoutName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("loadout_name");
+
+                    b.Property<int>("ProfileLoadoutGroupId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout");
+
+                    b.HasIndex("ProfileLoadoutGroupId");
+
+                    b.ToTable("profile_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    b.Property<string>("GroupName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("group_name");
+
+                    b.Property<int>("ProfileRoleLoadoutId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout_group");
+
+                    b.HasIndex("ProfileRoleLoadoutId");
+
+                    b.ToTable("profile_loadout_group", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("RoleName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("role_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_role_loadout");
+
+                    b.HasIndex("ProfileId");
+
+                    b.ToTable("profile_role_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<string>("RoleId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("role_id");
+
+                    b.HasKey("PlayerUserId", "RoleId")
+                        .HasName("PK_role_whitelists");
+
+                    b.ToTable("role_whitelists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("ServerId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime?>("StartDate")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("start_date");
+
+                    b.HasKey("Id")
+                        .HasName("PK_round");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_round_server_id");
+
+                    b.HasIndex("StartDate");
+
+                    b.ToTable("round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_id");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server");
+
+                    b.ToTable("server", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_ban_id");
+
+                    b.Property<string>("Address")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("address");
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("reason");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_ban_round_id");
+
+                    b.ToTable("server_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<int>("Flags")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("flags");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_server_ban_exemption");
+
+                    b.ToTable("server_ban_exemption", null, t =>
+                        {
+                            t.HasCheckConstraint("FlagsNotZero", "flags != 0");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_ban_hit_id");
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_id");
+
+                    b.Property<int>("ConnectionId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("connection_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban_hit");
+
+                    b.HasIndex("BanId")
+                        .HasDatabaseName("IX_server_ban_hit_ban_id");
+
+                    b.HasIndex("ConnectionId")
+                        .HasDatabaseName("IX_server_ban_hit_connection_id");
+
+                    b.ToTable("server_ban_hit", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_role_ban_id");
+
+                    b.Property<string>("Address")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("address");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("reason");
+
+                    b.Property<string>("RoleId")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("role_id");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_role_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_role_ban_round_id");
+
+                    b.ToTable("server_role_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("role_unban_id");
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_role_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("unban_id");
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("trait_id");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("TraitName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("trait_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_trait");
+
+                    b.HasIndex("ProfileId", "TraitName")
+                        .IsUnique();
+
+                    b.ToTable("trait", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("uploaded_resource_log_id");
+
+                    b.Property<byte[]>("Data")
+                        .IsRequired()
+                        .HasColumnType("BLOB")
+                        .HasColumnName("data");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("date");
+
+                    b.Property<string>("Path")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("path");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_uploaded_resource_log");
+
+                    b.ToTable("uploaded_resource_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_whitelist");
+
+                    b.ToTable("whitelist", (string)null);
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.Property<int>("PlayersId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("players_id");
+
+                    b.Property<int>("RoundsId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("rounds_id");
+
+                    b.HasKey("PlayersId", "RoundsId")
+                        .HasName("PK_player_round");
+
+                    b.HasIndex("RoundsId")
+                        .HasDatabaseName("IX_player_round_rounds_id");
+
+                    b.ToTable("player_round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
+                        .WithMany("Admins")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
+
+                    b.Navigation("AdminRank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Admin", "Admin")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_flag_admin_admin_id");
+
+                    b.Navigation("Admin");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("RoundId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_round_round_id");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.AdminLog", "Log")
+                        .WithMany("Players")
+                        .HasForeignKey("RoundId", "LogId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id");
+
+                    b.Navigation("Log");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminMessagesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminMessagesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminMessagesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminMessagesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_messages_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_messages_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminNotesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminNotesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminNotesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminNotesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_notes_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_notes_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "Rank")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
+
+                    b.Navigation("Rank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminWatchlistsCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminWatchlistsDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminWatchlistsLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminWatchlistsReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_watchlists_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_watchlists_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Antags")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_antag_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("ConnectionLogs")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .IsRequired()
+                        .HasConstraintName("FK_connection_log_server_server_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ConnectionLogId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("connection_log_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ConnectionLogId");
+
+                            b1.ToTable("connection_log");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ConnectionLogId")
+                                .HasConstraintName("FK_connection_log_connection_log_connection_log_id");
+                        });
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Jobs")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_job_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 =>
+                        {
+                            b1.Property<int>("PlayerId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("player_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("last_seen_hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("last_seen_hwid_type");
+
+                            b1.HasKey("PlayerId");
+
+                            b1.ToTable("player");
+
+                            b1.WithOwner()
+                                .HasForeignKey("PlayerId")
+                                .HasConstraintName("FK_player_player_player_id");
+                        });
+
+                    b.Navigation("LastSeenHWId");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.HasOne("Content.Server.Database.Preference", "Preference")
+                        .WithMany("Profiles")
+                        .HasForeignKey("PreferenceId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_preference_preference_id");
+
+                    b.Navigation("Preference");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileLoadoutGroupId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group_id");
+
+                    b.Navigation("ProfileLoadoutGroup");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout")
+                        .WithMany("Groups")
+                        .HasForeignKey("ProfileRoleLoadoutId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loadout_id");
+
+                    b.Navigation("ProfileRoleLoadout");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_role_loadout_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("JobWhitelists")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_role_whitelists_player_player_user_id");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("Rounds")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_round_server_server_id");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerBanId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("server_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerBanId");
+
+                            b1.ToTable("server_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerBanId")
+                                .HasConstraintName("FK_server_ban_server_ban_server_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithMany("BanHits")
+                        .HasForeignKey("BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
+
+                    b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
+                        .WithMany("BanHits")
+                        .HasForeignKey("ConnectionId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
+
+                    b.Navigation("Ban");
+
+                    b.Navigation("Connection");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerRoleBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerRoleBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_role_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerRoleBanId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("server_role_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerRoleBanId");
+
+                            b1.ToTable("server_role_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerRoleBanId")
+                                .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_unban_server_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Traits")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_trait_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", null)
+                        .WithMany()
+                        .HasForeignKey("PlayersId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_player_players_id");
+
+                    b.HasOne("Content.Server.Database.Round", null)
+                        .WithMany()
+                        .HasForeignKey("RoundsId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_round_rounds_id");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Navigation("Players");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Navigation("Admins");
+
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Navigation("BanHits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Navigation("AdminLogs");
+
+                    b.Navigation("AdminMessagesCreated");
+
+                    b.Navigation("AdminMessagesDeleted");
+
+                    b.Navigation("AdminMessagesLastEdited");
+
+                    b.Navigation("AdminMessagesReceived");
+
+                    b.Navigation("AdminNotesCreated");
+
+                    b.Navigation("AdminNotesDeleted");
+
+                    b.Navigation("AdminNotesLastEdited");
+
+                    b.Navigation("AdminNotesReceived");
+
+                    b.Navigation("AdminServerBansCreated");
+
+                    b.Navigation("AdminServerBansLastEdited");
+
+                    b.Navigation("AdminServerRoleBansCreated");
+
+                    b.Navigation("AdminServerRoleBansLastEdited");
+
+                    b.Navigation("AdminWatchlistsCreated");
+
+                    b.Navigation("AdminWatchlistsDeleted");
+
+                    b.Navigation("AdminWatchlistsLastEdited");
+
+                    b.Navigation("AdminWatchlistsReceived");
+
+                    b.Navigation("JobWhitelists");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Navigation("Profiles");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Navigation("Antags");
+
+                    b.Navigation("Jobs");
+
+                    b.Navigation("Loadouts");
+
+                    b.Navigation("Traits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Navigation("Loadouts");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Navigation("Groups");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Navigation("AdminLogs");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Navigation("ConnectionLogs");
+
+                    b.Navigation("Rounds");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Navigation("BanHits");
+
+                    b.Navigation("Unban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Navigation("Unban");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs
new file mode 100644
index 00000000000..97b5dafd03f
--- /dev/null
+++ b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs
@@ -0,0 +1,62 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Sqlite
+{
+    /// <inheritdoc />
+    public partial class ModernHwid : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<int>(
+                name: "hwid_type",
+                table: "server_role_ban",
+                type: "INTEGER",
+                nullable: true,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "hwid_type",
+                table: "server_ban",
+                type: "INTEGER",
+                nullable: true,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "last_seen_hwid_type",
+                table: "player",
+                type: "INTEGER",
+                nullable: true,
+                defaultValue: 0);
+
+            migrationBuilder.AddColumn<int>(
+                name: "hwid_type",
+                table: "connection_log",
+                type: "INTEGER",
+                nullable: true,
+                defaultValue: 0);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "hwid_type",
+                table: "server_role_ban");
+
+            migrationBuilder.DropColumn(
+                name: "hwid_type",
+                table: "server_ban");
+
+            migrationBuilder.DropColumn(
+                name: "last_seen_hwid_type",
+                table: "player");
+
+            migrationBuilder.DropColumn(
+                name: "hwid_type",
+                table: "connection_log");
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs
new file mode 100644
index 00000000000..bd4e20a464b
--- /dev/null
+++ b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs
@@ -0,0 +1,1999 @@
+// <auto-generated />
+using System;
+using Content.Server.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Sqlite
+{
+    [DbContext(typeof(SqliteServerDbContext))]
+    [Migration("20241111193602_ConnectionTrust")]
+    partial class ConnectionTrust
+    {
+        /// <inheritdoc />
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder.HasAnnotation("ProductVersion", "8.0.0");
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<int?>("AdminRankId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Title")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("title");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_admin");
+
+                    b.HasIndex("AdminRankId")
+                        .HasDatabaseName("IX_admin_admin_rank_id");
+
+                    b.ToTable("admin", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_flag_id");
+
+                    b.Property<Guid>("AdminId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("admin_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("flag");
+
+                    b.Property<bool>("Negative")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("negative");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_flag");
+
+                    b.HasIndex("AdminId")
+                        .HasDatabaseName("IX_admin_flag_admin_id");
+
+                    b.HasIndex("Flag", "AdminId")
+                        .IsUnique();
+
+                    b.ToTable("admin_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Id")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_log_id");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("date");
+
+                    b.Property<sbyte>("Impact")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("impact");
+
+                    b.Property<string>("Json")
+                        .IsRequired()
+                        .HasColumnType("jsonb")
+                        .HasColumnName("json");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<int>("Type")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("type");
+
+                    b.HasKey("RoundId", "Id")
+                        .HasName("PK_admin_log");
+
+                    b.HasIndex("Date");
+
+                    b.HasIndex("Type")
+                        .HasDatabaseName("IX_admin_log_type");
+
+                    b.ToTable("admin_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.Property<int>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("LogId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("log_id");
+
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.HasKey("RoundId", "LogId", "PlayerUserId")
+                        .HasName("PK_admin_log_player");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_log_player_player_user_id");
+
+                    b.ToTable("admin_log_player", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_messages_id");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<bool>("Dismissed")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("dismissed");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Seen")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("seen");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_messages");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_messages_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_messages_round_id");
+
+                    b.ToTable("admin_messages", null, t =>
+                        {
+                            t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_notes_id");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<bool>("Secret")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("secret");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_notes");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_notes_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_notes_round_id");
+
+                    b.ToTable("admin_notes", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank");
+
+                    b.ToTable("admin_rank", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_flag_id");
+
+                    b.Property<int>("AdminRankId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_rank_id");
+
+                    b.Property<string>("Flag")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("flag");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_rank_flag");
+
+                    b.HasIndex("AdminRankId");
+
+                    b.HasIndex("Flag", "AdminRankId")
+                        .IsUnique();
+
+                    b.ToTable("admin_rank_flag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("admin_watchlists_id");
+
+                    b.Property<DateTime>("CreatedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_at");
+
+                    b.Property<Guid?>("CreatedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("created_by_id");
+
+                    b.Property<bool>("Deleted")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("deleted");
+
+                    b.Property<DateTime?>("DeletedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_at");
+
+                    b.Property<Guid?>("DeletedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("deleted_by_id");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<string>("Message")
+                        .IsRequired()
+                        .HasMaxLength(4096)
+                        .HasColumnType("TEXT")
+                        .HasColumnName("message");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_admin_watchlists");
+
+                    b.HasIndex("CreatedById");
+
+                    b.HasIndex("DeletedById");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_admin_watchlists_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_admin_watchlists_round_id");
+
+                    b.ToTable("admin_watchlists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("antag_id");
+
+                    b.Property<string>("AntagName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("antag_name");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_antag");
+
+                    b.HasIndex("ProfileId", "AntagName")
+                        .IsUnique();
+
+                    b.ToTable("antag", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("assigned_user_id_id");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_assigned_user_id");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.HasIndex("UserName")
+                        .IsUnique();
+
+                    b.ToTable("assigned_user_id", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.BanTemplate", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_template_id");
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("hidden");
+
+                    b.Property<TimeSpan>("Length")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("length");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("reason");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.Property<string>("Title")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("title");
+
+                    b.HasKey("Id")
+                        .HasName("PK_ban_template");
+
+                    b.ToTable("ban_template", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Blacklist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_blacklist");
+
+                    b.ToTable("blacklist", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("connection_log_id");
+
+                    b.Property<string>("Address")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("address");
+
+                    b.Property<byte?>("Denied")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("denied");
+
+                    b.Property<int>("ServerId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasDefaultValue(0)
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime>("Time")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("time");
+
+                    b.Property<float>("Trust")
+                        .HasColumnType("REAL")
+                        .HasColumnName("trust");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<string>("UserName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_connection_log");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_connection_log_server_id");
+
+                    b.HasIndex("Time");
+
+                    b.HasIndex("UserId");
+
+                    b.ToTable("connection_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("job_id");
+
+                    b.Property<string>("JobName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("job_name");
+
+                    b.Property<int>("Priority")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("priority");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_job");
+
+                    b.HasIndex("ProfileId");
+
+                    b.HasIndex("ProfileId", "JobName")
+                        .IsUnique();
+
+                    b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
+                        .IsUnique()
+                        .HasFilter("priority = 3");
+
+                    b.ToTable("job", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.PlayTime", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("play_time_id");
+
+                    b.Property<Guid>("PlayerId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_id");
+
+                    b.Property<TimeSpan>("TimeSpent")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("time_spent");
+
+                    b.Property<string>("Tracker")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("tracker");
+
+                    b.HasKey("Id")
+                        .HasName("PK_play_time");
+
+                    b.HasIndex("PlayerId", "Tracker")
+                        .IsUnique();
+
+                    b.ToTable("play_time", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("player_id");
+
+                    b.Property<DateTime>("FirstSeenTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("first_seen_time");
+
+                    b.Property<DateTime?>("LastReadRules")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_read_rules");
+
+                    b.Property<string>("LastSeenAddress")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_seen_address");
+
+                    b.Property<DateTime>("LastSeenTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_seen_time");
+
+                    b.Property<string>("LastSeenUserName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_seen_user_name");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_player");
+
+                    b.HasAlternateKey("UserId")
+                        .HasName("ak_player_user_id");
+
+                    b.HasIndex("LastSeenUserName");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("player", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("preference_id");
+
+                    b.Property<string>("AdminOOCColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("admin_ooc_color");
+
+                    b.Property<int>("SelectedCharacterSlot")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("selected_character_slot");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_preference");
+
+                    b.HasIndex("UserId")
+                        .IsUnique();
+
+                    b.ToTable("preference", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.Property<int>("Age")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("age");
+
+                    b.Property<string>("CharacterName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("char_name");
+
+                    b.Property<string>("EyeColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("eye_color");
+
+                    b.Property<string>("FacialHairColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("facial_hair_color");
+
+                    b.Property<string>("FacialHairName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("facial_hair_name");
+
+                    b.Property<string>("FlavorText")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("flavor_text");
+
+                    b.Property<string>("Gender")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("gender");
+
+                    b.Property<string>("HairColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("hair_color");
+
+                    b.Property<string>("HairName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("hair_name");
+
+                    b.Property<byte[]>("Markings")
+                        .HasColumnType("jsonb")
+                        .HasColumnName("markings");
+
+                    b.Property<int>("PreferenceId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("preference_id");
+
+                    b.Property<int>("PreferenceUnavailable")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("pref_unavailable");
+
+                    b.Property<string>("Sex")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("sex");
+
+                    b.Property<string>("SkinColor")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("skin_color");
+
+                    b.Property<int>("Slot")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("slot");
+
+                    b.Property<int>("SpawnPriority")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("spawn_priority");
+
+                    b.Property<string>("Species")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("species");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile");
+
+                    b.HasIndex("PreferenceId")
+                        .HasDatabaseName("IX_profile_preference_id");
+
+                    b.HasIndex("Slot", "PreferenceId")
+                        .IsUnique();
+
+                    b.ToTable("profile", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_loadout_id");
+
+                    b.Property<string>("LoadoutName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("loadout_name");
+
+                    b.Property<int>("ProfileLoadoutGroupId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout");
+
+                    b.HasIndex("ProfileLoadoutGroupId");
+
+                    b.ToTable("profile_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_loadout_group_id");
+
+                    b.Property<string>("GroupName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("group_name");
+
+                    b.Property<int>("ProfileRoleLoadoutId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_loadout_group");
+
+                    b.HasIndex("ProfileRoleLoadoutId");
+
+                    b.ToTable("profile_loadout_group", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_role_loadout_id");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("RoleName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("role_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_profile_role_loadout");
+
+                    b.HasIndex("ProfileId");
+
+                    b.ToTable("profile_role_loadout", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.Property<Guid>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<string>("RoleId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("role_id");
+
+                    b.HasKey("PlayerUserId", "RoleId")
+                        .HasName("PK_role_whitelists");
+
+                    b.ToTable("role_whitelists", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("ServerId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_id");
+
+                    b.Property<DateTime?>("StartDate")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("start_date");
+
+                    b.HasKey("Id")
+                        .HasName("PK_round");
+
+                    b.HasIndex("ServerId")
+                        .HasDatabaseName("IX_round_server_id");
+
+                    b.HasIndex("StartDate");
+
+                    b.ToTable("round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_id");
+
+                    b.Property<string>("Name")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server");
+
+                    b.ToTable("server", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_ban_id");
+
+                    b.Property<string>("Address")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("address");
+
+                    b.Property<bool>("AutoDelete")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("auto_delete");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<int>("ExemptFlags")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("exempt_flags");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("reason");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_ban_round_id");
+
+                    b.ToTable("server_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.Property<int>("Flags")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("flags");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_server_ban_exemption");
+
+                    b.ToTable("server_ban_exemption", null, t =>
+                        {
+                            t.HasCheckConstraint("FlagsNotZero", "flags != 0");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_ban_hit_id");
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_id");
+
+                    b.Property<int>("ConnectionId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("connection_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_ban_hit");
+
+                    b.HasIndex("BanId")
+                        .HasDatabaseName("IX_server_ban_hit_ban_id");
+
+                    b.HasIndex("ConnectionId")
+                        .HasDatabaseName("IX_server_ban_hit_connection_id");
+
+                    b.ToTable("server_ban_hit", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("server_role_ban_id");
+
+                    b.Property<string>("Address")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("address");
+
+                    b.Property<DateTime>("BanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("ban_time");
+
+                    b.Property<Guid?>("BanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("banning_admin");
+
+                    b.Property<DateTime?>("ExpirationTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("expiration_time");
+
+                    b.Property<bool>("Hidden")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("hidden");
+
+                    b.Property<DateTime?>("LastEditedAt")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_at");
+
+                    b.Property<Guid?>("LastEditedById")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("last_edited_by_id");
+
+                    b.Property<Guid?>("PlayerUserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("player_user_id");
+
+                    b.Property<TimeSpan>("PlaytimeAtNote")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("playtime_at_note");
+
+                    b.Property<string>("Reason")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("reason");
+
+                    b.Property<string>("RoleId")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("role_id");
+
+                    b.Property<int?>("RoundId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("round_id");
+
+                    b.Property<int>("Severity")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("severity");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_ban");
+
+                    b.HasIndex("Address");
+
+                    b.HasIndex("BanningAdmin");
+
+                    b.HasIndex("LastEditedById");
+
+                    b.HasIndex("PlayerUserId")
+                        .HasDatabaseName("IX_server_role_ban_player_user_id");
+
+                    b.HasIndex("RoundId")
+                        .HasDatabaseName("IX_server_role_ban_round_id");
+
+                    b.ToTable("server_role_ban", null, t =>
+                        {
+                            t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL");
+                        });
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("role_unban_id");
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_role_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_role_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("unban_id");
+
+                    b.Property<int>("BanId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("ban_id");
+
+                    b.Property<DateTime>("UnbanTime")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unban_time");
+
+                    b.Property<Guid?>("UnbanningAdmin")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("unbanning_admin");
+
+                    b.HasKey("Id")
+                        .HasName("PK_server_unban");
+
+                    b.HasIndex("BanId")
+                        .IsUnique();
+
+                    b.ToTable("server_unban", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("trait_id");
+
+                    b.Property<int>("ProfileId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("profile_id");
+
+                    b.Property<string>("TraitName")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("trait_name");
+
+                    b.HasKey("Id")
+                        .HasName("PK_trait");
+
+                    b.HasIndex("ProfileId", "TraitName")
+                        .IsUnique();
+
+                    b.ToTable("trait", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b =>
+                {
+                    b.Property<int>("Id")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("uploaded_resource_log_id");
+
+                    b.Property<byte[]>("Data")
+                        .IsRequired()
+                        .HasColumnType("BLOB")
+                        .HasColumnName("data");
+
+                    b.Property<DateTime>("Date")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("date");
+
+                    b.Property<string>("Path")
+                        .IsRequired()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("path");
+
+                    b.Property<Guid>("UserId")
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("Id")
+                        .HasName("PK_uploaded_resource_log");
+
+                    b.ToTable("uploaded_resource_log", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_whitelist");
+
+                    b.ToTable("whitelist", (string)null);
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.Property<int>("PlayersId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("players_id");
+
+                    b.Property<int>("RoundsId")
+                        .HasColumnType("INTEGER")
+                        .HasColumnName("rounds_id");
+
+                    b.HasKey("PlayersId", "RoundsId")
+                        .HasName("PK_player_round");
+
+                    b.HasIndex("RoundsId")
+                        .HasDatabaseName("IX_player_round_rounds_id");
+
+                    b.ToTable("player_round", (string)null);
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
+                        .WithMany("Admins")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
+
+                    b.Navigation("AdminRank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Admin", "Admin")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_flag_admin_admin_id");
+
+                    b.Navigation("Admin");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("RoundId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_round_round_id");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminLogs")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.AdminLog", "Log")
+                        .WithMany("Players")
+                        .HasForeignKey("RoundId", "LogId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id");
+
+                    b.Navigation("Log");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminMessage", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminMessagesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminMessagesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminMessagesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_messages_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminMessagesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_messages_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_messages_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminNote", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminNotesCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminNotesDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminNotesLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_notes_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminNotesReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_notes_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_notes_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
+                {
+                    b.HasOne("Content.Server.Database.AdminRank", "Rank")
+                        .WithMany("Flags")
+                        .HasForeignKey("AdminRankId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
+
+                    b.Navigation("Rank");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminWatchlistsCreated")
+                        .HasForeignKey("CreatedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_created_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "DeletedBy")
+                        .WithMany("AdminWatchlistsDeleted")
+                        .HasForeignKey("DeletedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_deleted_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminWatchlistsLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("AdminWatchlistsReceived")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .HasConstraintName("FK_admin_watchlists_player_player_user_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_admin_watchlists_round_round_id");
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("DeletedBy");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Player");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Antag", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Antags")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_antag_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("ConnectionLogs")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .IsRequired()
+                        .HasConstraintName("FK_connection_log_server_server_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ConnectionLogId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("connection_log_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ConnectionLogId");
+
+                            b1.ToTable("connection_log");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ConnectionLogId")
+                                .HasConstraintName("FK_connection_log_connection_log_connection_log_id");
+                        });
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Job", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Jobs")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_job_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 =>
+                        {
+                            b1.Property<int>("PlayerId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("player_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("last_seen_hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("last_seen_hwid_type");
+
+                            b1.HasKey("PlayerId");
+
+                            b1.ToTable("player");
+
+                            b1.WithOwner()
+                                .HasForeignKey("PlayerId")
+                                .HasConstraintName("FK_player_player_player_id");
+                        });
+
+                    b.Navigation("LastSeenHWId");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.HasOne("Content.Server.Database.Preference", "Preference")
+                        .WithMany("Profiles")
+                        .HasForeignKey("PreferenceId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_preference_preference_id");
+
+                    b.Navigation("Preference");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileLoadoutGroupId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group_id");
+
+                    b.Navigation("ProfileLoadoutGroup");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout")
+                        .WithMany("Groups")
+                        .HasForeignKey("ProfileRoleLoadoutId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loadout_id");
+
+                    b.Navigation("ProfileRoleLoadout");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Loadouts")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_profile_role_loadout_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "Player")
+                        .WithMany("JobWhitelists")
+                        .HasForeignKey("PlayerUserId")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_role_whitelists_player_player_user_id");
+
+                    b.Navigation("Player");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.HasOne("Content.Server.Database.Server", "Server")
+                        .WithMany("Rounds")
+                        .HasForeignKey("ServerId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_round_server_server_id");
+
+                    b.Navigation("Server");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerBanId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("server_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerBanId");
+
+                            b1.ToTable("server_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerBanId")
+                                .HasConstraintName("FK_server_ban_server_ban_server_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithMany("BanHits")
+                        .HasForeignKey("BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
+
+                    b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
+                        .WithMany("BanHits")
+                        .HasForeignKey("ConnectionId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
+
+                    b.Navigation("Ban");
+
+                    b.Navigation("Connection");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", "CreatedBy")
+                        .WithMany("AdminServerRoleBansCreated")
+                        .HasForeignKey("BanningAdmin")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_banning_admin");
+
+                    b.HasOne("Content.Server.Database.Player", "LastEditedBy")
+                        .WithMany("AdminServerRoleBansLastEdited")
+                        .HasForeignKey("LastEditedById")
+                        .HasPrincipalKey("UserId")
+                        .OnDelete(DeleteBehavior.SetNull)
+                        .HasConstraintName("FK_server_role_ban_player_last_edited_by_id");
+
+                    b.HasOne("Content.Server.Database.Round", "Round")
+                        .WithMany()
+                        .HasForeignKey("RoundId")
+                        .HasConstraintName("FK_server_role_ban_round_round_id");
+
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerRoleBanId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("server_role_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerRoleBanId");
+
+                            b1.ToTable("server_role_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerRoleBanId")
+                                .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id");
+                        });
+
+                    b.Navigation("CreatedBy");
+
+                    b.Navigation("HWId");
+
+                    b.Navigation("LastEditedBy");
+
+                    b.Navigation("Round");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerRoleBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
+                {
+                    b.HasOne("Content.Server.Database.ServerBan", "Ban")
+                        .WithOne("Unban")
+                        .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_server_unban_server_ban_ban_id");
+
+                    b.Navigation("Ban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Trait", b =>
+                {
+                    b.HasOne("Content.Server.Database.Profile", "Profile")
+                        .WithMany("Traits")
+                        .HasForeignKey("ProfileId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_trait_profile_profile_id");
+
+                    b.Navigation("Profile");
+                });
+
+            modelBuilder.Entity("PlayerRound", b =>
+                {
+                    b.HasOne("Content.Server.Database.Player", null)
+                        .WithMany()
+                        .HasForeignKey("PlayersId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_player_players_id");
+
+                    b.HasOne("Content.Server.Database.Round", null)
+                        .WithMany()
+                        .HasForeignKey("RoundsId")
+                        .OnDelete(DeleteBehavior.Cascade)
+                        .IsRequired()
+                        .HasConstraintName("FK_player_round_round_rounds_id");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Admin", b =>
+                {
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
+                {
+                    b.Navigation("Players");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
+                {
+                    b.Navigation("Admins");
+
+                    b.Navigation("Flags");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
+                {
+                    b.Navigation("BanHits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.Navigation("AdminLogs");
+
+                    b.Navigation("AdminMessagesCreated");
+
+                    b.Navigation("AdminMessagesDeleted");
+
+                    b.Navigation("AdminMessagesLastEdited");
+
+                    b.Navigation("AdminMessagesReceived");
+
+                    b.Navigation("AdminNotesCreated");
+
+                    b.Navigation("AdminNotesDeleted");
+
+                    b.Navigation("AdminNotesLastEdited");
+
+                    b.Navigation("AdminNotesReceived");
+
+                    b.Navigation("AdminServerBansCreated");
+
+                    b.Navigation("AdminServerBansLastEdited");
+
+                    b.Navigation("AdminServerRoleBansCreated");
+
+                    b.Navigation("AdminServerRoleBansLastEdited");
+
+                    b.Navigation("AdminWatchlistsCreated");
+
+                    b.Navigation("AdminWatchlistsDeleted");
+
+                    b.Navigation("AdminWatchlistsLastEdited");
+
+                    b.Navigation("AdminWatchlistsReceived");
+
+                    b.Navigation("JobWhitelists");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Preference", b =>
+                {
+                    b.Navigation("Profiles");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Profile", b =>
+                {
+                    b.Navigation("Antags");
+
+                    b.Navigation("Jobs");
+
+                    b.Navigation("Loadouts");
+
+                    b.Navigation("Traits");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b =>
+                {
+                    b.Navigation("Loadouts");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b =>
+                {
+                    b.Navigation("Groups");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Round", b =>
+                {
+                    b.Navigation("AdminLogs");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.Server", b =>
+                {
+                    b.Navigation("ConnectionLogs");
+
+                    b.Navigation("Rounds");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
+                {
+                    b.Navigation("BanHits");
+
+                    b.Navigation("Unban");
+                });
+
+            modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b =>
+                {
+                    b.Navigation("Unban");
+                });
+#pragma warning restore 612, 618
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs
new file mode 100644
index 00000000000..3a7fd784e16
--- /dev/null
+++ b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs
@@ -0,0 +1,29 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace Content.Server.Database.Migrations.Sqlite
+{
+    /// <inheritdoc />
+    public partial class ConnectionTrust : Migration
+    {
+        /// <inheritdoc />
+        protected override void Up(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.AddColumn<float>(
+                name: "trust",
+                table: "connection_log",
+                type: "REAL",
+                nullable: false,
+                defaultValue: 0f);
+        }
+
+        /// <inheritdoc />
+        protected override void Down(MigrationBuilder migrationBuilder)
+        {
+            migrationBuilder.DropColumn(
+                name: "trust",
+                table: "connection_log");
+        }
+    }
+}
diff --git a/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs b/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
index 02d44163027..c63127874cc 100644
--- a/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
+++ b/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
@@ -483,19 +483,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                     b.ToTable("assigned_user_id", (string)null);
                 });
 
-            modelBuilder.Entity("Content.Server.Database.Blacklist",
-                b =>
-                {
-                    b.Property<Guid>("UserId")
-                        .ValueGeneratedOnAdd()
-                        .HasColumnType("TEXT")
-                        .HasColumnName("user_id");
-
-                    b.HasKey("UserId")
-                        .HasName("PK_blacklist");
-
-                    b.ToTable("blacklist", (string) null);
-                });
             modelBuilder.Entity("Content.Server.Database.BanTemplate", b =>
                 {
                     b.Property<int>("Id")
@@ -539,6 +526,19 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                     b.ToTable("ban_template", (string)null);
                 });
 
+            modelBuilder.Entity("Content.Server.Database.Blacklist", b =>
+                {
+                    b.Property<Guid>("UserId")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("TEXT")
+                        .HasColumnName("user_id");
+
+                    b.HasKey("UserId")
+                        .HasName("PK_blacklist");
+
+                    b.ToTable("blacklist", (string)null);
+                });
+
             modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
                 {
                     b.Property<int>("Id")
@@ -555,10 +555,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("INTEGER")
                         .HasColumnName("denied");
 
-                    b.Property<byte[]>("HWId")
-                        .HasColumnType("BLOB")
-                        .HasColumnName("hwid");
-
                     b.Property<int>("ServerId")
                         .ValueGeneratedOnAdd()
                         .HasColumnType("INTEGER")
@@ -569,6 +565,10 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("TEXT")
                         .HasColumnName("time");
 
+                    b.Property<float>("Trust")
+                        .HasColumnType("REAL")
+                        .HasColumnName("trust");
+
                     b.Property<Guid>("UserId")
                         .HasColumnType("TEXT")
                         .HasColumnName("user_id");
@@ -675,10 +675,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("TEXT")
                         .HasColumnName("last_seen_address");
 
-                    b.Property<byte[]>("LastSeenHWId")
-                        .HasColumnType("BLOB")
-                        .HasColumnName("last_seen_hwid");
-
                     b.Property<DateTime>("LastSeenTime")
                         .HasColumnType("TEXT")
                         .HasColumnName("last_seen_time");
@@ -996,10 +992,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("TEXT")
                         .HasColumnName("expiration_time");
 
-                    b.Property<byte[]>("HWId")
-                        .HasColumnType("BLOB")
-                        .HasColumnName("hwid");
-
                     b.Property<bool>("Hidden")
                         .HasColumnType("INTEGER")
                         .HasColumnName("hidden");
@@ -1124,10 +1116,6 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasColumnType("TEXT")
                         .HasColumnName("expiration_time");
 
-                    b.Property<byte[]>("HWId")
-                        .HasColumnType("BLOB")
-                        .HasColumnName("hwid");
-
                     b.Property<bool>("Hidden")
                         .HasColumnType("INTEGER")
                         .HasColumnName("hidden");
@@ -1559,6 +1547,34 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .IsRequired()
                         .HasConstraintName("FK_connection_log_server_server_id");
 
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ConnectionLogId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("connection_log_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ConnectionLogId");
+
+                            b1.ToTable("connection_log");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ConnectionLogId")
+                                .HasConstraintName("FK_connection_log_connection_log_connection_log_id");
+                        });
+
+                    b.Navigation("HWId");
+
                     b.Navigation("Server");
                 });
 
@@ -1574,6 +1590,37 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                     b.Navigation("Profile");
                 });
 
+            modelBuilder.Entity("Content.Server.Database.Player", b =>
+                {
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 =>
+                        {
+                            b1.Property<int>("PlayerId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("player_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("last_seen_hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("last_seen_hwid_type");
+
+                            b1.HasKey("PlayerId");
+
+                            b1.ToTable("player");
+
+                            b1.WithOwner()
+                                .HasForeignKey("PlayerId")
+                                .HasConstraintName("FK_player_player_player_id");
+                        });
+
+                    b.Navigation("LastSeenHWId");
+                });
+
             modelBuilder.Entity("Content.Server.Database.Profile", b =>
                 {
                     b.HasOne("Content.Server.Database.Preference", "Preference")
@@ -1668,8 +1715,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasForeignKey("RoundId")
                         .HasConstraintName("FK_server_ban_round_round_id");
 
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerBanId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("server_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerBanId");
+
+                            b1.ToTable("server_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerBanId")
+                                .HasConstraintName("FK_server_ban_server_ban_server_ban_id");
+                        });
+
                     b.Navigation("CreatedBy");
 
+                    b.Navigation("HWId");
+
                     b.Navigation("LastEditedBy");
 
                     b.Navigation("Round");
@@ -1717,8 +1792,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
                         .HasForeignKey("RoundId")
                         .HasConstraintName("FK_server_role_ban_round_round_id");
 
+                    b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 =>
+                        {
+                            b1.Property<int>("ServerRoleBanId")
+                                .HasColumnType("INTEGER")
+                                .HasColumnName("server_role_ban_id");
+
+                            b1.Property<byte[]>("Hwid")
+                                .IsRequired()
+                                .HasColumnType("BLOB")
+                                .HasColumnName("hwid");
+
+                            b1.Property<int>("Type")
+                                .ValueGeneratedOnAdd()
+                                .HasColumnType("INTEGER")
+                                .HasDefaultValue(0)
+                                .HasColumnName("hwid_type");
+
+                            b1.HasKey("ServerRoleBanId");
+
+                            b1.ToTable("server_role_ban");
+
+                            b1.WithOwner()
+                                .HasForeignKey("ServerRoleBanId")
+                                .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id");
+                        });
+
                     b.Navigation("CreatedBy");
 
+                    b.Navigation("HWId");
+
                     b.Navigation("LastEditedBy");
 
                     b.Navigation("Round");
diff --git a/Content.Server.Database/Model.cs b/Content.Server.Database/Model.cs
index 00b3cfea032..9190475b153 100644
--- a/Content.Server.Database/Model.cs
+++ b/Content.Server.Database/Model.cs
@@ -1,7 +1,9 @@
 using System;
 using System.Collections.Generic;
+using System.Collections.Immutable;
 using System.ComponentModel.DataAnnotations;
 using System.ComponentModel.DataAnnotations.Schema;
+using System.Diagnostics.CodeAnalysis;
 using System.Linq;
 using System.Net;
 using System.Text.Json;
@@ -327,6 +329,47 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
                 .HasForeignKey(w => w.PlayerUserId)
                 .HasPrincipalKey(p => p.UserId)
                 .OnDelete(DeleteBehavior.Cascade);
+
+            // Changes for modern HWID integration
+            modelBuilder.Entity<Player>()
+                .OwnsOne(p => p.LastSeenHWId)
+                .Property(p => p.Hwid)
+                .HasColumnName("last_seen_hwid");
+
+            modelBuilder.Entity<Player>()
+                .OwnsOne(p => p.LastSeenHWId)
+                .Property(p => p.Type)
+                .HasDefaultValue(HwidType.Legacy);
+
+            modelBuilder.Entity<ServerBan>()
+                .OwnsOne(p => p.HWId)
+                .Property(p => p.Hwid)
+                .HasColumnName("hwid");
+
+            modelBuilder.Entity<ServerBan>()
+                .OwnsOne(p => p.HWId)
+                .Property(p => p.Type)
+                .HasDefaultValue(HwidType.Legacy);
+
+            modelBuilder.Entity<ServerRoleBan>()
+                .OwnsOne(p => p.HWId)
+                .Property(p => p.Hwid)
+                .HasColumnName("hwid");
+
+            modelBuilder.Entity<ServerRoleBan>()
+                .OwnsOne(p => p.HWId)
+                .Property(p => p.Type)
+                .HasDefaultValue(HwidType.Legacy);
+
+            modelBuilder.Entity<ConnectionLog>()
+                .OwnsOne(p => p.HWId)
+                .Property(p => p.Hwid)
+                .HasColumnName("hwid");
+
+            modelBuilder.Entity<ConnectionLog>()
+                .OwnsOne(p => p.HWId)
+                .Property(p => p.Type)
+                .HasDefaultValue(HwidType.Legacy);
         }
 
         public virtual IQueryable<AdminLog> SearchLogs(IQueryable<AdminLog> query, string searchText)
@@ -519,7 +562,7 @@ public class Player
         public string LastSeenUserName { get; set; } = null!;
         public DateTime LastSeenTime { get; set; }
         public IPAddress LastSeenAddress { get; set; } = null!;
-        public byte[]? LastSeenHWId { get; set; }
+        public TypedHwid? LastSeenHWId { get; set; }
 
         // Data that changes with each round
         public List<Round> Rounds { get; set; } = null!;
@@ -668,7 +711,7 @@ public interface IBanCommon<TUnban> where TUnban : IUnbanCommon
         int Id { get; set; }
         Guid? PlayerUserId { get; set; }
         NpgsqlInet? Address { get; set; }
-        byte[]? HWId { get; set; }
+        TypedHwid? HWId { get; set; }
         DateTime BanTime { get; set; }
         DateTime? ExpirationTime { get; set; }
         string Reason { get; set; }
@@ -753,7 +796,7 @@ public class ServerBan : IBanCommon<ServerUnban>
         /// <summary>
         /// Hardware ID of the banned player.
         /// </summary>
-        public byte[]? HWId { get; set; }
+        public TypedHwid? HWId { get; set; }
 
         /// <summary>
         /// The time when the ban was applied by an administrator.
@@ -891,7 +934,7 @@ public class ConnectionLog
         public DateTime Time { get; set; }
 
         public IPAddress Address { get; set; } = null!;
-        public byte[]? HWId { get; set; }
+        public TypedHwid? HWId { get; set; }
 
         public ConnectionDenyReason? Denied { get; set; }
 
@@ -908,6 +951,8 @@ public class ConnectionLog
 
         public List<ServerBanHit> BanHits { get; set; } = null!;
         public Server Server { get; set; } = null!;
+
+        public float Trust { get; set; }
     }
 
     public enum ConnectionDenyReason : byte
@@ -945,7 +990,7 @@ public sealed class ServerRoleBan : IBanCommon<ServerRoleUnban>
         public Guid? PlayerUserId { get; set; }
         [Required] public TimeSpan PlaytimeAtNote { get; set; }
         public NpgsqlInet? Address { get; set; }
-        public byte[]? HWId { get; set; }
+        public TypedHwid? HWId { get; set; }
 
         public DateTime BanTime { get; set; }
 
@@ -1206,4 +1251,37 @@ public sealed class BanTemplate
         /// <seealso cref="ServerBan.Hidden"/>
         public bool Hidden { get; set; }
     }
+
+    /// <summary>
+    /// A hardware ID value together with its <see cref="HwidType"/>.
+    /// </summary>
+    /// <seealso cref="ImmutableTypedHwid"/>
+    [Owned]
+    public sealed class TypedHwid
+    {
+        public byte[] Hwid { get; set; } = default!;
+        public HwidType Type { get; set; }
+
+        [return: NotNullIfNotNull(nameof(immutable))]
+        public static implicit operator TypedHwid?(ImmutableTypedHwid? immutable)
+        {
+            if (immutable == null)
+                return null;
+
+            return new TypedHwid
+            {
+                Hwid = immutable.Hwid.ToArray(),
+                Type = immutable.Type,
+            };
+        }
+
+        [return: NotNullIfNotNull(nameof(hwid))]
+        public static implicit operator ImmutableTypedHwid?(TypedHwid? hwid)
+        {
+            if (hwid == null)
+                return null;
+
+            return new ImmutableTypedHwid(hwid.Hwid.ToImmutableArray(), hwid.Type);
+        }
+    }
 }
diff --git a/Content.Server/Administration/BanList/BanListEui.cs b/Content.Server/Administration/BanList/BanListEui.cs
index 8ddc7459d7b..2ca126bf164 100644
--- a/Content.Server/Administration/BanList/BanListEui.cs
+++ b/Content.Server/Administration/BanList/BanListEui.cs
@@ -54,7 +54,7 @@ private void OnPermsChanged(AdminPermsChangedEventArgs args)
 
     private async Task LoadBans(NetUserId userId)
     {
-        foreach (var ban in await _db.GetServerBansAsync(null, userId, null))
+        foreach (var ban in await _db.GetServerBansAsync(null, userId, null, null))
         {
             SharedServerUnban? unban = null;
             if (ban.Unban is { } unbanDef)
@@ -74,7 +74,7 @@ private async Task LoadBans(NetUserId userId)
                     ? (address.address.ToString(), address.cidrMask)
                     : null;
 
-                hwid = ban.HWId == null ? null : Convert.ToBase64String(ban.HWId.Value.AsSpan());
+                hwid = ban.HWId?.ToString();
             }
 
             Bans.Add(new SharedServerBan(
@@ -95,7 +95,7 @@ private async Task LoadBans(NetUserId userId)
 
     private async Task LoadRoleBans(NetUserId userId)
     {
-        foreach (var ban in await _db.GetServerRoleBansAsync(null, userId, null))
+        foreach (var ban in await _db.GetServerRoleBansAsync(null, userId, null, null))
         {
             SharedServerUnban? unban = null;
             if (ban.Unban is { } unbanDef)
@@ -115,7 +115,7 @@ private async Task LoadRoleBans(NetUserId userId)
                     ? (address.address.ToString(), address.cidrMask)
                     : null;
 
-                hwid = ban.HWId == null ? null : Convert.ToBase64String(ban.HWId.Value.AsSpan());
+                hwid = ban.HWId?.ToString();
             }
             RoleBans.Add(new SharedServerRoleBan(
                 ban.Id,
diff --git a/Content.Server/Administration/BanPanelEui.cs b/Content.Server/Administration/BanPanelEui.cs
index e746e9c725f..3eedad3ed50 100644
--- a/Content.Server/Administration/BanPanelEui.cs
+++ b/Content.Server/Administration/BanPanelEui.cs
@@ -1,4 +1,3 @@
-using System.Collections.Immutable;
 using System.Net;
 using System.Net.Sockets;
 using Content.Server.Administration.Managers;
@@ -8,7 +7,6 @@
 using Content.Shared.Administration;
 using Content.Shared.Database;
 using Content.Shared.Eui;
-using Robust.Server.Player;
 using Robust.Shared.Network;
 
 namespace Content.Server.Administration;
@@ -27,7 +25,7 @@ public sealed class BanPanelEui : BaseEui
     private NetUserId? PlayerId { get; set; }
     private string PlayerName { get; set; } = string.Empty;
     private IPAddress? LastAddress { get; set; }
-    private ImmutableArray<byte>? LastHwid { get; set; }
+    private ImmutableTypedHwid? LastHwid { get; set; }
     private const int Ipv4_CIDR = 32;
     private const int Ipv6_CIDR = 64;
 
@@ -51,7 +49,7 @@ public override void HandleMessage(EuiMessageBase msg)
         switch (msg)
         {
             case BanPanelEuiStateMsg.CreateBanRequest r:
-                BanPlayer(r.Player, r.IpAddress, r.UseLastIp, r.Hwid?.ToImmutableArray(), r.UseLastHwid, r.Minutes, r.Severity, r.Reason, r.Roles, r.Erase);
+                BanPlayer(r.Player, r.IpAddress, r.UseLastIp, r.Hwid, r.UseLastHwid, r.Minutes, r.Severity, r.Reason, r.Roles, r.Erase);
                 break;
             case BanPanelEuiStateMsg.GetPlayerInfoRequest r:
                 ChangePlayer(r.PlayerUsername);
@@ -59,7 +57,7 @@ public override void HandleMessage(EuiMessageBase msg)
         }
     }
 
-    private async void BanPlayer(string? target, string? ipAddressString, bool useLastIp, ImmutableArray<byte>? hwid, bool useLastHwid, uint minutes, NoteSeverity severity, string reason, IReadOnlyCollection<string>? roles, bool erase)
+    private async void BanPlayer(string? target, string? ipAddressString, bool useLastIp, ImmutableTypedHwid? hwid, bool useLastHwid, uint minutes, NoteSeverity severity, string reason, IReadOnlyCollection<string>? roles, bool erase)
     {
         if (!_admins.HasAdminFlag(Player, AdminFlags.Ban))
         {
@@ -155,7 +153,7 @@ public async void ChangePlayer(string playerNameOrId)
         ChangePlayer(located?.UserId, located?.Username ?? string.Empty, located?.LastAddress, located?.LastHWId);
     }
 
-    public void ChangePlayer(NetUserId? playerId, string playerName, IPAddress? lastAddress, ImmutableArray<byte>? lastHwid)
+    public void ChangePlayer(NetUserId? playerId, string playerName, IPAddress? lastAddress, ImmutableTypedHwid? lastHwid)
     {
         PlayerId = playerId;
         PlayerName = playerName;
diff --git a/Content.Server/Administration/Commands/BanListCommand.cs b/Content.Server/Administration/Commands/BanListCommand.cs
index a5bc97dce3e..2f7093ae1d8 100644
--- a/Content.Server/Administration/Commands/BanListCommand.cs
+++ b/Content.Server/Administration/Commands/BanListCommand.cs
@@ -38,7 +38,7 @@ public override async void Execute(IConsoleShell shell, string argStr, string[]
 
         if (shell.Player is not { } player)
         {
-            var bans = await _dbManager.GetServerBansAsync(data.LastAddress, data.UserId, data.LastHWId, false);
+            var bans = await _dbManager.GetServerBansAsync(data.LastAddress, data.UserId, data.LastLegacyHWId, data.LastModernHWIds, false);
 
             if (bans.Count == 0)
             {
diff --git a/Content.Server/Administration/Commands/RoleBanListCommand.cs b/Content.Server/Administration/Commands/RoleBanListCommand.cs
index 30bb3073add..8244ded3b20 100644
--- a/Content.Server/Administration/Commands/RoleBanListCommand.cs
+++ b/Content.Server/Administration/Commands/RoleBanListCommand.cs
@@ -48,7 +48,7 @@ public async void Execute(IConsoleShell shell, string argStr, string[] args)
         if (shell.Player is not { } player)
         {
 
-            var bans = await _dbManager.GetServerRoleBansAsync(data.LastAddress, data.UserId, data.LastHWId, includeUnbanned);
+            var bans = await _dbManager.GetServerRoleBansAsync(data.LastAddress, data.UserId, data.LastLegacyHWId, data.LastModernHWIds, includeUnbanned);
 
             if (bans.Count == 0)
             {
diff --git a/Content.Server/Administration/Managers/BanManager.cs b/Content.Server/Administration/Managers/BanManager.cs
index 1cdfb822242..2e21710e51d 100644
--- a/Content.Server/Administration/Managers/BanManager.cs
+++ b/Content.Server/Administration/Managers/BanManager.cs
@@ -65,7 +65,8 @@ private async Task CachePlayerData(ICommonSession player, CancellationToken canc
 
         var netChannel = player.Channel;
         ImmutableArray<byte>? hwId = netChannel.UserData.HWId.Length == 0 ? null : netChannel.UserData.HWId;
-        var roleBans = await _db.GetServerRoleBansAsync(netChannel.RemoteEndPoint.Address, player.UserId, hwId, false);
+        var modernHwids = netChannel.UserData.ModernHWIds;
+        var roleBans = await _db.GetServerRoleBansAsync(netChannel.RemoteEndPoint.Address, player.UserId, hwId, modernHwids, false);
 
         var userRoleBans = new List<ServerRoleBanDef>();
         foreach (var ban in roleBans)
@@ -132,7 +133,7 @@ public void Restart()
     }
 
     #region Server Bans
-    public async void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray<byte>? hwid, uint? minutes, NoteSeverity severity, string reason)
+    public async void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, uint? minutes, NoteSeverity severity, string reason)
     {
         DateTimeOffset? expires = null;
         if (minutes > 0)
@@ -166,9 +167,7 @@ public async void CreateServerBan(NetUserId? target, string? targetUsername, Net
         var addressRangeString = addressRange != null
             ? $"{addressRange.Value.Item1}/{addressRange.Value.Item2}"
             : "null";
-        var hwidString = hwid != null
-            ? string.Concat(hwid.Value.Select(x => x.ToString("x2")))
-            : "null";
+        var hwidString = hwid?.ToString() ?? "null";
         var expiresString = expires == null ? Loc.GetString("server-ban-string-never") : $"{expires}";
 
         var key = _cfg.GetCVar(CCVars.AdminShowPIIOnBan) ? "server-ban-string" : "server-ban-string-no-pii";
@@ -208,6 +207,7 @@ private bool BanMatchesPlayer(ICommonSession player, ServerBanDef ban)
             UserId = player.UserId,
             Address = player.Channel.RemoteEndPoint.Address,
             HWId = player.Channel.UserData.HWId,
+            ModernHWIds = player.Channel.UserData.ModernHWIds,
             // It's possible for the player to not have cached data loading yet due to coincidental timing.
             // If this is the case, we assume they have all flags to avoid false-positives.
             ExemptFlags = _cachedBanExemptions.GetValueOrDefault(player, ServerBanExemptFlags.All),
@@ -228,7 +228,7 @@ private void KickForBanDef(ICommonSession player, ServerBanDef def)
     #region Job Bans
     // If you are trying to remove timeOfBan, please don't. It's there because the note system groups role bans by time, reason and banning admin.
     // Removing it will clutter the note list. Please also make sure that department bans are applied to roles with the same DateTimeOffset.
-    public async void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray<byte>? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan)
+    public async void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan)
     {
         if (!_prototypeManager.TryIndex(role, out JobPrototype? _))
         {
diff --git a/Content.Server/Administration/Managers/IBanManager.cs b/Content.Server/Administration/Managers/IBanManager.cs
index c11e310a825..fc192cc3066 100644
--- a/Content.Server/Administration/Managers/IBanManager.cs
+++ b/Content.Server/Administration/Managers/IBanManager.cs
@@ -24,7 +24,7 @@ public interface IBanManager
     /// <param name="minutes">Number of minutes to ban for. 0 and null mean permanent</param>
     /// <param name="severity">Severity of the resulting ban note</param>
     /// <param name="reason">Reason for the ban</param>
-    public void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray<byte>? hwid, uint? minutes, NoteSeverity severity, string reason);
+    public void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, uint? minutes, NoteSeverity severity, string reason);
     public HashSet<string>? GetRoleBans(NetUserId playerUserId);
     public HashSet<ProtoId<JobPrototype>>? GetJobBans(NetUserId playerUserId);
 
@@ -37,7 +37,7 @@ public interface IBanManager
     /// <param name="reason">Reason for the ban</param>
     /// <param name="minutes">Number of minutes to ban for. 0 and null mean permanent</param>
     /// <param name="timeOfBan">Time when the ban was applied, used for grouping role bans</param>
-    public void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray<byte>? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan);
+    public void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan);
 
     /// <summary>
     /// Pardons a role ban for the specified target, username or GUID
diff --git a/Content.Server/Administration/PlayerLocator.cs b/Content.Server/Administration/PlayerLocator.cs
index 64a85f19ad0..25cc7714686 100644
--- a/Content.Server/Administration/PlayerLocator.cs
+++ b/Content.Server/Administration/PlayerLocator.cs
@@ -5,16 +5,42 @@
 using System.Net.Http.Json;
 using System.Threading;
 using System.Threading.Tasks;
+using Content.Server.Connection;
 using Content.Server.Database;
+using Content.Shared.Database;
 using JetBrains.Annotations;
 using Robust.Server.Player;
 using Robust.Shared;
 using Robust.Shared.Configuration;
 using Robust.Shared.Network;
+using Robust.Shared.Player;
 
 namespace Content.Server.Administration
 {
-    public sealed record LocatedPlayerData(NetUserId UserId, IPAddress? LastAddress, ImmutableArray<byte>? LastHWId, string Username);
+    /// <summary>
+    /// Contains data resolved via <see cref="IPlayerLocator"/>.
+    /// </summary>
+    /// <param name="UserId">The ID of the located user.</param>
+    /// <param name="LastAddress">The last known IP address that the user connected with.</param>
+    /// <param name="LastHWId">
+    /// The last known HWID that the user connected with.
+    /// This should be used for placing new records involving HWIDs, such as bans.
+    /// For looking up data based on HWID, use combined <see cref="LastLegacyHWId"/> and <see cref="LastModernHWIds"/>.
+    /// </param>
+    /// <param name="Username">The last known username for the user connected with.</param>
+    /// <param name="LastLegacyHWId">
+    /// The last known legacy HWID value this user connected with. Only use for old lookups!
+    /// </param>
+    /// <param name="LastModernHWIds">
+    /// The set of last known modern HWIDs the user connected with.
+    /// </param>
+    public sealed record LocatedPlayerData(
+        NetUserId UserId,
+        IPAddress? LastAddress,
+        ImmutableTypedHwid? LastHWId,
+        string Username,
+        ImmutableArray<byte>? LastLegacyHWId,
+        ImmutableArray<ImmutableArray<byte>> LastModernHWIds);
 
     /// <summary>
     ///     Utilities for finding user IDs that extend to more than the server database.
@@ -67,63 +93,42 @@ public PlayerLocator()
         {
             // Check people currently on the server, the easiest case.
             if (_playerManager.TryGetSessionByUsername(playerName, out var session))
-            {
-                var userId = session.UserId;
-                var address = session.Channel.RemoteEndPoint.Address;
-                var hwId = session.Channel.UserData.HWId;
-                return new LocatedPlayerData(userId, address, hwId, session.Name);
-            }
+                return ReturnForSession(session);
 
             // Check database for past players.
             var record = await _db.GetPlayerRecordByUserName(playerName, cancel);
             if (record != null)
-                return new LocatedPlayerData(record.UserId, record.LastSeenAddress, record.HWId, record.LastSeenUserName);
+                return ReturnForPlayerRecord(record);
 
             // If all else fails, ask the auth server.
             var authServer = _configurationManager.GetCVar(CVars.AuthServer);
             var requestUri = $"{authServer}api/query/name?name={WebUtility.UrlEncode(playerName)}";
             using var resp = await _httpClient.GetAsync(requestUri, cancel);
 
-            if (resp.StatusCode == HttpStatusCode.NotFound)
-                return null;
-
-            if (!resp.IsSuccessStatusCode)
-            {
-                _sawmill.Error("Auth server returned bad response {StatusCode}!", resp.StatusCode);
-                return null;
-            }
-
-            var responseData = await resp.Content.ReadFromJsonAsync<UserDataResponse>(cancellationToken: cancel);
-
-            if (responseData == null)
-            {
-                _sawmill.Error("Auth server returned null response!");
-                return null;
-            }
-
-            return new LocatedPlayerData(new NetUserId(responseData.UserId), null, null, responseData.UserName);
+            return await HandleAuthServerResponse(resp, cancel);
         }
 
         public async Task<LocatedPlayerData?> LookupIdAsync(NetUserId userId, CancellationToken cancel = default)
         {
             // Check people currently on the server, the easiest case.
             if (_playerManager.TryGetSessionById(userId, out var session))
-            {
-                var address = session.Channel.RemoteEndPoint.Address;
-                var hwId = session.Channel.UserData.HWId;
-                return new LocatedPlayerData(userId, address, hwId, session.Name);
-            }
+                return ReturnForSession(session);
 
             // Check database for past players.
             var record = await _db.GetPlayerRecordByUserId(userId, cancel);
             if (record != null)
-                return new LocatedPlayerData(record.UserId, record.LastSeenAddress, record.HWId, record.LastSeenUserName);
+                return ReturnForPlayerRecord(record);
 
             // If all else fails, ask the auth server.
             var authServer = _configurationManager.GetCVar(CVars.AuthServer);
             var requestUri = $"{authServer}api/query/userid?userid={WebUtility.UrlEncode(userId.UserId.ToString())}";
             using var resp = await _httpClient.GetAsync(requestUri, cancel);
 
+            return await HandleAuthServerResponse(resp, cancel);
+        }
+
+        private async Task<LocatedPlayerData?> HandleAuthServerResponse(HttpResponseMessage resp, CancellationToken cancel)
+        {
             if (resp.StatusCode == HttpStatusCode.NotFound)
                 return null;
 
@@ -134,14 +139,40 @@ public PlayerLocator()
             }
 
             var responseData = await resp.Content.ReadFromJsonAsync<UserDataResponse>(cancellationToken: cancel);
-
             if (responseData == null)
             {
                 _sawmill.Error("Auth server returned null response!");
                 return null;
             }
 
-            return new LocatedPlayerData(new NetUserId(responseData.UserId), null, null, responseData.UserName);
+            return new LocatedPlayerData(new NetUserId(responseData.UserId), null, null, responseData.UserName, null, []);
+        }
+
+        private static LocatedPlayerData ReturnForSession(ICommonSession session)
+        {
+            var userId = session.UserId;
+            var address = session.Channel.RemoteEndPoint.Address;
+            var hwId = session.Channel.UserData.GetModernHwid();
+            return new LocatedPlayerData(
+                userId,
+                address,
+                hwId,
+                session.Name,
+                session.Channel.UserData.HWId,
+                session.Channel.UserData.ModernHWIds);
+        }
+
+        private static LocatedPlayerData ReturnForPlayerRecord(PlayerRecord record)
+        {
+            var hwid = record.HWId;
+
+            return new LocatedPlayerData(
+                record.UserId,
+                record.LastSeenAddress,
+                hwid,
+                record.LastSeenUserName,
+                hwid is { Type: HwidType.Legacy } ? hwid.Hwid : null,
+                hwid is { Type: HwidType.Modern } ? [hwid.Hwid] : []);
         }
 
         public async Task<LocatedPlayerData?> LookupIdByNameOrIdAsync(string playerName, CancellationToken cancel = default)
diff --git a/Content.Server/Administration/PlayerPanelEui.cs b/Content.Server/Administration/PlayerPanelEui.cs
index 4c0df806012..6c304888866 100644
--- a/Content.Server/Administration/PlayerPanelEui.cs
+++ b/Content.Server/Administration/PlayerPanelEui.cs
@@ -173,11 +173,11 @@ public async void SetPlayerState()
         {
             _whitelisted = await _db.GetWhitelistStatusAsync(_targetPlayer.UserId);
             // This won't get associated ip or hwid bans but they were not placed on this account anyways
-            _bans = (await _db.GetServerBansAsync(null, _targetPlayer.UserId, null)).Count;
+            _bans = (await _db.GetServerBansAsync(null, _targetPlayer.UserId, null, null)).Count;
             // Unfortunately role bans for departments and stuff are issued individually. This means that a single role ban can have many individual role bans internally
             // The only way to distinguish whether a role ban is the same is to compare the ban time.
             // This is horrible and I would love to just erase the database and start from scratch instead but that's what I can do for now.
-            _roleBans = (await _db.GetServerRoleBansAsync(null, _targetPlayer.UserId, null)).DistinctBy(rb => rb.BanTime).Count();
+            _roleBans = (await _db.GetServerRoleBansAsync(null, _targetPlayer.UserId, null, null)).DistinctBy(rb => rb.BanTime).Count();
         }
         else
         {
diff --git a/Content.Server/Administration/Systems/BwoinkSystem.cs b/Content.Server/Administration/Systems/BwoinkSystem.cs
index 7a47755db9d..4358b7e3876 100644
--- a/Content.Server/Administration/Systems/BwoinkSystem.cs
+++ b/Content.Server/Administration/Systems/BwoinkSystem.cs
@@ -172,7 +172,7 @@ private async void OnPlayerStatusChanged(object? sender, SessionStatusEventArgs
                 }
 
                 // Check if the user has been banned
-                var ban = await _dbManager.GetServerBanAsync(null, e.Session.UserId, null);
+                var ban = await _dbManager.GetServerBanAsync(null, e.Session.UserId, null, null);
                 if (ban != null)
                 {
                     var banMessage = Loc.GetString("bwoink-system-player-banned", ("banReason", ban.Reason));
diff --git a/Content.Server/Connection/ConnectionManager.cs b/Content.Server/Connection/ConnectionManager.cs
index 2c1f9fb36f1..e4c7cf0be2e 100644
--- a/Content.Server/Connection/ConnectionManager.cs
+++ b/Content.Server/Connection/ConnectionManager.cs
@@ -111,11 +111,14 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e)
 
             var serverId = (await _serverDbEntry.ServerEntity).Id;
 
+            var hwid = e.UserData.GetModernHwid();
+            var trust = e.UserData.Trust;
+
             if (deny != null)
             {
                 var (reason, msg, banHits) = deny.Value;
 
-                var id = await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId, reason, serverId);
+                var id = await _db.AddConnectionLogAsync(userId, e.UserName, addr, hwid, trust, reason, serverId);
                 if (banHits is { Count: > 0 })
                     await _db.AddServerBanHitsAsync(id, banHits);
 
@@ -127,12 +130,12 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e)
             }
             else
             {
-                await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId, null, serverId);
+                await _db.AddConnectionLogAsync(userId, e.UserName, addr, hwid, trust, null, serverId);
 
                 if (!ServerPreferencesManager.ShouldStorePrefs(e.AuthType))
                     return;
 
-                await _db.UpdatePlayerRecordAsync(userId, e.UserName, addr, e.UserData.HWId);
+                await _db.UpdatePlayerRecordAsync(userId, e.UserName, addr, hwid);
             }
         }
 
@@ -190,7 +193,9 @@ session.Status is SessionStatus.Connected or SessionStatus.InGame
                 hwId = null;
             }
 
-            var bans = await _db.GetServerBansAsync(addr, userId, hwId, includeUnbanned: false);
+            var modernHwid = e.UserData.ModernHWIds;
+
+            var bans = await _db.GetServerBansAsync(addr, userId, hwId, modernHwid, includeUnbanned: false);
             if (bans.Count > 0)
             {
                 var firstBan = bans[0];
diff --git a/Content.Server/Connection/UserDataExt.cs b/Content.Server/Connection/UserDataExt.cs
new file mode 100644
index 00000000000..a409f79a75d
--- /dev/null
+++ b/Content.Server/Connection/UserDataExt.cs
@@ -0,0 +1,24 @@
+using Content.Shared.Database;
+using Robust.Shared.Network;
+
+namespace Content.Server.Connection;
+
+/// <summary>
+/// Helper functions for working with <see cref="NetUserData"/>.
+/// </summary>
+public static class UserDataExt
+{
+    /// <summary>
+    /// Get the preferred HWID that should be used for new records related to a player.
+    /// </summary>
+    /// <remarks>
+    /// Players can have zero or more HWIDs, but for logging things like connection logs we generally
+    /// only want a single one. This method returns a nullable method.
+    /// </remarks>
+    public static ImmutableTypedHwid? GetModernHwid(this NetUserData userData)
+    {
+        return userData.ModernHWIds.Length == 0
+            ? null
+            : new ImmutableTypedHwid(userData.ModernHWIds[0], HwidType.Modern);
+    }
+}
diff --git a/Content.Server/Database/BanMatcher.cs b/Content.Server/Database/BanMatcher.cs
index e58e5b0b5f6..f477ccd822a 100644
--- a/Content.Server/Database/BanMatcher.cs
+++ b/Content.Server/Database/BanMatcher.cs
@@ -1,6 +1,7 @@
 using System.Collections.Immutable;
 using System.Net;
 using Content.Server.IP;
+using Content.Shared.Database;
 using Robust.Shared.Network;
 
 namespace Content.Server.Database;
@@ -52,9 +53,28 @@ public static bool BanMatches(ServerBanDef ban, in PlayerInfo player)
             return true;
         }
 
-        return player.HWId is { Length: > 0 } hwIdVar
-               && ban.HWId != null
-               && hwIdVar.AsSpan().SequenceEqual(ban.HWId.Value.AsSpan());
+        switch (ban.HWId?.Type)
+        {
+            case HwidType.Legacy:
+                if (player.HWId is { Length: > 0 } hwIdVar
+                    && hwIdVar.AsSpan().SequenceEqual(ban.HWId.Hwid.AsSpan()))
+                {
+                    return true;
+                }
+                break;
+            case HwidType.Modern:
+                if (player.ModernHWIds is { Length: > 0 } modernHwIdVar)
+                {
+                    foreach (var hwid in modernHwIdVar)
+                    {
+                        if (hwid.AsSpan().SequenceEqual(ban.HWId.Hwid.AsSpan()))
+                            return true;
+                    }
+                }
+                break;
+        }
+
+        return false;
     }
 
     /// <summary>
@@ -73,10 +93,15 @@ public struct PlayerInfo
         public IPAddress? Address;
 
         /// <summary>
-        /// The hardware ID of the player.
+        /// The LEGACY hardware ID of the player. Corresponds with <see cref="NetUserData.HWId"/>.
         /// </summary>
         public ImmutableArray<byte>? HWId;
 
+        /// <summary>
+        /// The modern hardware IDs of the player. Corresponds with <see cref="NetUserData.ModernHWIds"/>.
+        /// </summary>
+        public ImmutableArray<ImmutableArray<byte>>? ModernHWIds;
+
         /// <summary>
         /// Exemption flags the player has been granted.
         /// </summary>
diff --git a/Content.Server/Database/DatabaseRecords.cs b/Content.Server/Database/DatabaseRecords.cs
index c0d81147bb4..30fba3434b8 100644
--- a/Content.Server/Database/DatabaseRecords.cs
+++ b/Content.Server/Database/DatabaseRecords.cs
@@ -1,4 +1,3 @@
-using System.Collections.Immutable;
 using System.Net;
 using Content.Shared.Database;
 using Robust.Shared.Network;
@@ -121,7 +120,7 @@ public sealed record PlayerRecord(
     string LastSeenUserName,
     DateTimeOffset LastSeenTime,
     IPAddress LastSeenAddress,
-    ImmutableArray<byte>? HWId);
+    ImmutableTypedHwid? HWId);
 
 public sealed record RoundRecord(int Id, DateTimeOffset? StartDate, ServerRecord Server);
 
diff --git a/Content.Server/Database/ServerBanDef.cs b/Content.Server/Database/ServerBanDef.cs
index 09a960e9a6c..a09f9e959c6 100644
--- a/Content.Server/Database/ServerBanDef.cs
+++ b/Content.Server/Database/ServerBanDef.cs
@@ -1,4 +1,3 @@
-using System.Collections.Immutable;
 using System.Net;
 using Content.Shared.CCVar;
 using Content.Shared.Database;
@@ -13,7 +12,7 @@ public sealed class ServerBanDef
         public int? Id { get; }
         public NetUserId? UserId { get; }
         public (IPAddress address, int cidrMask)? Address { get; }
-        public ImmutableArray<byte>? HWId { get; }
+        public ImmutableTypedHwid? HWId { get; }
 
         public DateTimeOffset BanTime { get; }
         public DateTimeOffset? ExpirationTime { get; }
@@ -28,7 +27,7 @@ public sealed class ServerBanDef
         public ServerBanDef(int? id,
             NetUserId? userId,
             (IPAddress, int)? address,
-            ImmutableArray<byte>? hwId,
+            TypedHwid? hwId,
             DateTimeOffset banTime,
             DateTimeOffset? expirationTime,
             int? roundId,
diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs
index c85b774e381..723092bdc46 100644
--- a/Content.Server/Database/ServerDbBase.cs
+++ b/Content.Server/Database/ServerDbBase.cs
@@ -388,12 +388,14 @@ public async Task AssignUserIdAsync(string name, NetUserId netUserId)
         /// </summary>
         /// <param name="address">The ip address of the user.</param>
         /// <param name="userId">The id of the user.</param>
-        /// <param name="hwId">The HWId of the user.</param>
+        /// <param name="hwId">The legacy HWId of the user.</param>
+        /// <param name="modernHWIds">The modern HWIDs of the user.</param>
         /// <returns>The user's latest received un-pardoned ban, or null if none exist.</returns>
         public abstract Task<ServerBanDef?> GetServerBanAsync(
             IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId);
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds);
 
         /// <summary>
         ///     Looks up an user's ban history.
@@ -402,13 +404,15 @@ public async Task AssignUserIdAsync(string name, NetUserId netUserId)
         /// </summary>
         /// <param name="address">The ip address of the user.</param>
         /// <param name="userId">The id of the user.</param>
-        /// <param name="hwId">The HWId of the user.</param>
+        /// <param name="hwId">The legacy HWId of the user.</param>
+        /// <param name="modernHWIds">The modern HWIDs of the user.</param>
         /// <param name="includeUnbanned">Include pardoned and expired bans.</param>
         /// <returns>The user's ban history.</returns>
         public abstract Task<List<ServerBanDef>> GetServerBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned);
 
         public abstract Task AddServerBanAsync(ServerBanDef serverBan);
@@ -499,11 +503,13 @@ public async Task<ServerBanExemptFlags> GetBanExemption(NetUserId userId, Cancel
         /// <param name="address">The IP address of the user.</param>
         /// <param name="userId">The NetUserId of the user.</param>
         /// <param name="hwId">The Hardware Id of the user.</param>
+        /// <param name="modernHWIds">The modern HWIDs of the user.</param>
         /// <param name="includeUnbanned">Whether expired and pardoned bans are included.</param>
         /// <returns>The user's role ban history.</returns>
         public abstract Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned);
 
         public abstract Task<ServerRoleBanDef> AddServerRoleBanAsync(ServerRoleBanDef serverRoleBan);
@@ -586,7 +592,7 @@ public async Task UpdatePlayerRecord(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId)
+            ImmutableTypedHwid? hwId)
         {
             await using var db = await GetDb();
 
@@ -603,7 +609,7 @@ public async Task UpdatePlayerRecord(
             record.LastSeenTime = DateTime.UtcNow;
             record.LastSeenAddress = address;
             record.LastSeenUserName = userName;
-            record.LastSeenHWId = hwId.ToArray();
+            record.LastSeenHWId = hwId;
 
             await db.DbContext.SaveChangesAsync();
         }
@@ -649,7 +655,7 @@ protected async Task<bool> PlayerRecordExists(DbGuard db, NetUserId userId)
                 player.LastSeenUserName,
                 new DateTimeOffset(NormalizeDatabaseTime(player.LastSeenTime)),
                 player.LastSeenAddress,
-                player.LastSeenHWId?.ToImmutableArray());
+                player.LastSeenHWId);
         }
 
         #endregion
@@ -658,11 +664,11 @@ protected async Task<bool> PlayerRecordExists(DbGuard db, NetUserId userId)
         /*
          * CONNECTION LOG
          */
-        public abstract Task<int> AddConnectionLogAsync(
-            NetUserId userId,
+        public abstract Task<int> AddConnectionLogAsync(NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId,
+            ImmutableTypedHwid? hwId,
+            float trust,
             ConnectionDenyReason? denied,
             int serverId);
 
diff --git a/Content.Server/Database/ServerDbManager.cs b/Content.Server/Database/ServerDbManager.cs
index 216b1ec1596..be32b43595d 100644
--- a/Content.Server/Database/ServerDbManager.cs
+++ b/Content.Server/Database/ServerDbManager.cs
@@ -69,12 +69,14 @@ Task<PlayerPreferences> InitPrefsAsync(
         /// </summary>
         /// <param name="address">The ip address of the user.</param>
         /// <param name="userId">The id of the user.</param>
-        /// <param name="hwId">The hardware ID of the user.</param>
+        /// <param name="hwId">The legacy HWID of the user.</param>
+        /// <param name="modernHWIds">The modern HWIDs of the user.</param>
         /// <returns>The user's latest received un-pardoned ban, or null if none exist.</returns>
         Task<ServerBanDef?> GetServerBanAsync(
             IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId);
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds);
 
         /// <summary>
         ///     Looks up an user's ban history.
@@ -82,13 +84,15 @@ Task<PlayerPreferences> InitPrefsAsync(
         /// </summary>
         /// <param name="address">The ip address of the user.</param>
         /// <param name="userId">The id of the user.</param>
-        /// <param name="hwId">The HWId of the user.</param>
+        /// <param name="hwId">The legacy HWId of the user.</param>
+        /// <param name="modernHWIds">The modern HWIDs of the user.</param>
         /// <param name="includeUnbanned">If true, bans that have been expired or pardoned are also included.</param>
         /// <returns>The user's ban history.</returns>
         Task<List<ServerBanDef>> GetServerBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned=true);
 
         Task AddServerBanAsync(ServerBanDef serverBan);
@@ -137,12 +141,14 @@ public Task EditServerBan(
         /// <param name="address">The IP address of the user.</param>
         /// <param name="userId">The NetUserId of the user.</param>
         /// <param name="hwId">The Hardware Id of the user.</param>
+        /// <param name="modernHWIds">The modern HWIDs of the user.</param>
         /// <param name="includeUnbanned">Whether expired and pardoned bans are included.</param>
         /// <returns>The user's role ban history.</returns>
         Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned = true);
 
         Task<ServerRoleBanDef> AddServerRoleBanAsync(ServerRoleBanDef serverBan);
@@ -180,7 +186,7 @@ Task UpdatePlayerRecordAsync(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId);
+            ImmutableTypedHwid? hwId);
         Task<PlayerRecord?> GetPlayerRecordByUserName(string userName, CancellationToken cancel = default);
         Task<PlayerRecord?> GetPlayerRecordByUserId(NetUserId userId, CancellationToken cancel = default);
         #endregion
@@ -191,7 +197,8 @@ Task<int> AddConnectionLogAsync(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId,
+            ImmutableTypedHwid? hwId,
+            float trust,
             ConnectionDenyReason? denied,
             int serverId);
 
@@ -480,20 +487,22 @@ public Task AssignUserIdAsync(string name, NetUserId userId)
         public Task<ServerBanDef?> GetServerBanAsync(
             IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId)
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds)
         {
             DbReadOpsMetric.Inc();
-            return RunDbCommand(() => _db.GetServerBanAsync(address, userId, hwId));
+            return RunDbCommand(() => _db.GetServerBanAsync(address, userId, hwId, modernHWIds));
         }
 
         public Task<List<ServerBanDef>> GetServerBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned=true)
         {
             DbReadOpsMetric.Inc();
-            return RunDbCommand(() => _db.GetServerBansAsync(address, userId, hwId, includeUnbanned));
+            return RunDbCommand(() => _db.GetServerBansAsync(address, userId, hwId, modernHWIds, includeUnbanned));
         }
 
         public Task AddServerBanAsync(ServerBanDef serverBan)
@@ -537,10 +546,11 @@ public Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned = true)
         {
             DbReadOpsMetric.Inc();
-            return RunDbCommand(() => _db.GetServerRoleBansAsync(address, userId, hwId, includeUnbanned));
+            return RunDbCommand(() => _db.GetServerRoleBansAsync(address, userId, hwId, modernHWIds, includeUnbanned));
         }
 
         public Task<ServerRoleBanDef> AddServerRoleBanAsync(ServerRoleBanDef serverRoleBan)
@@ -582,7 +592,7 @@ public Task UpdatePlayerRecordAsync(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId)
+            ImmutableTypedHwid? hwId)
         {
             DbWriteOpsMetric.Inc();
             return RunDbCommand(() => _db.UpdatePlayerRecord(userId, userName, address, hwId));
@@ -604,12 +614,13 @@ public Task<int> AddConnectionLogAsync(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId,
+            ImmutableTypedHwid? hwId,
+            float trust,
             ConnectionDenyReason? denied,
             int serverId)
         {
             DbWriteOpsMetric.Inc();
-            return RunDbCommand(() => _db.AddConnectionLogAsync(userId, userName, address, hwId, denied, serverId));
+            return RunDbCommand(() => _db.AddConnectionLogAsync(userId, userName, address, hwId, trust, denied, serverId));
         }
 
         public Task AddServerBanHitsAsync(int connection, IEnumerable<ServerBanDef> bans)
diff --git a/Content.Server/Database/ServerDbPostgres.cs b/Content.Server/Database/ServerDbPostgres.cs
index 7d131f70dc3..c0346708377 100644
--- a/Content.Server/Database/ServerDbPostgres.cs
+++ b/Content.Server/Database/ServerDbPostgres.cs
@@ -9,6 +9,7 @@
 using Content.Server.Administration.Logs;
 using Content.Server.IP;
 using Content.Shared.CCVar;
+using Content.Shared.Database;
 using Microsoft.EntityFrameworkCore;
 using Robust.Shared.Configuration;
 using Robust.Shared.Network;
@@ -73,7 +74,8 @@ public ServerDbPostgres(DbContextOptions<PostgresServerDbContext> options,
         public override async Task<ServerBanDef?> GetServerBanAsync(
             IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId)
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds)
         {
             if (address == null && userId == null && hwId == null)
             {
@@ -84,7 +86,7 @@ public ServerDbPostgres(DbContextOptions<PostgresServerDbContext> options,
 
             var exempt = await GetBanExemptionCore(db, userId);
             var newPlayer = userId == null || !await PlayerRecordExists(db, userId.Value);
-            var query = MakeBanLookupQuery(address, userId, hwId, db, includeUnbanned: false, exempt, newPlayer)
+            var query = MakeBanLookupQuery(address, userId, hwId, modernHWIds, db, includeUnbanned: false, exempt, newPlayer)
                 .OrderByDescending(b => b.BanTime);
 
             var ban = await query.FirstOrDefaultAsync();
@@ -94,7 +96,9 @@ public ServerDbPostgres(DbContextOptions<PostgresServerDbContext> options,
 
         public override async Task<List<ServerBanDef>> GetServerBansAsync(IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId, bool includeUnbanned)
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
+            bool includeUnbanned)
         {
             if (address == null && userId == null && hwId == null)
             {
@@ -105,7 +109,7 @@ public override async Task<List<ServerBanDef>> GetServerBansAsync(IPAddress? add
 
             var exempt = await GetBanExemptionCore(db, userId);
             var newPlayer = !await db.PgDbContext.Player.AnyAsync(p => p.UserId == userId);
-            var query = MakeBanLookupQuery(address, userId, hwId, db, includeUnbanned, exempt, newPlayer);
+            var query = MakeBanLookupQuery(address, userId, hwId, modernHWIds, db, includeUnbanned, exempt, newPlayer);
 
             var queryBans = await query.ToArrayAsync();
             var bans = new List<ServerBanDef>(queryBans.Length);
@@ -127,6 +131,7 @@ private static IQueryable<ServerBan> MakeBanLookupQuery(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             DbGuardImpl db,
             bool includeUnbanned,
             ServerBanExemptFlags? exemptFlags,
@@ -134,16 +139,11 @@ private static IQueryable<ServerBan> MakeBanLookupQuery(
         {
             DebugTools.Assert(!(address == null && userId == null && hwId == null));
 
-            IQueryable<ServerBan>? query = null;
-
-            if (userId is { } uid)
-            {
-                var newQ = db.PgDbContext.Ban
-                    .Include(p => p.Unban)
-                    .Where(b => b.PlayerUserId == uid.UserId);
-
-                query = query == null ? newQ : query.Union(newQ);
-            }
+            var query = MakeBanLookupQualityShared<ServerBan, ServerUnban>(
+                userId,
+                hwId,
+                modernHWIds,
+                db.PgDbContext.Ban);
 
             if (address != null && !exemptFlags.GetValueOrDefault(ServerBanExemptFlags.None).HasFlag(ServerBanExemptFlags.IP))
             {
@@ -156,15 +156,6 @@ private static IQueryable<ServerBan> MakeBanLookupQuery(
                 query = query == null ? newQ : query.Union(newQ);
             }
 
-            if (hwId != null && hwId.Value.Length > 0)
-            {
-                var newQ = db.PgDbContext.Ban
-                    .Include(p => p.Unban)
-                    .Where(b => b.HWId!.SequenceEqual(hwId.Value.ToArray()));
-
-                query = query == null ? newQ : query.Union(newQ);
-            }
-
             DebugTools.Assert(
                 query != null,
                 "At least one filter item (IP/UserID/HWID) must have been given to make query not null.");
@@ -186,6 +177,49 @@ private static IQueryable<ServerBan> MakeBanLookupQuery(
             return query.Distinct();
         }
 
+        private static IQueryable<TBan>? MakeBanLookupQualityShared<TBan, TUnban>(
+            NetUserId? userId,
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
+            DbSet<TBan> set)
+            where TBan : class, IBanCommon<TUnban>
+            where TUnban : class, IUnbanCommon
+        {
+            IQueryable<TBan>? query = null;
+
+            if (userId is { } uid)
+            {
+                var newQ = set
+                    .Include(p => p.Unban)
+                    .Where(b => b.PlayerUserId == uid.UserId);
+
+                query = query == null ? newQ : query.Union(newQ);
+            }
+
+            if (hwId != null && hwId.Value.Length > 0)
+            {
+                var newQ = set
+                    .Include(p => p.Unban)
+                    .Where(b => b.HWId!.Type == HwidType.Legacy && b.HWId!.Hwid.SequenceEqual(hwId.Value.ToArray()));
+
+                query = query == null ? newQ : query.Union(newQ);
+            }
+
+            if (modernHWIds != null)
+            {
+                foreach (var modernHwid in modernHWIds)
+                {
+                    var newQ = set
+                        .Include(p => p.Unban)
+                        .Where(b => b.HWId!.Type == HwidType.Modern && b.HWId!.Hwid.SequenceEqual(modernHwid.ToArray()));
+
+                    query = query == null ? newQ : query.Union(newQ);
+                }
+            }
+
+            return query;
+        }
+
         private static ServerBanDef? ConvertBan(ServerBan? ban)
         {
             if (ban == null)
@@ -211,7 +245,7 @@ private static IQueryable<ServerBan> MakeBanLookupQuery(
                 ban.Id,
                 uid,
                 ban.Address.ToTuple(),
-                ban.HWId == null ? null : ImmutableArray.Create(ban.HWId),
+                ban.HWId,
                 ban.BanTime,
                 ban.ExpirationTime,
                 ban.RoundId,
@@ -249,7 +283,7 @@ public override async Task AddServerBanAsync(ServerBanDef serverBan)
             db.PgDbContext.Ban.Add(new ServerBan
             {
                 Address = serverBan.Address.ToNpgsqlInet(),
-                HWId = serverBan.HWId?.ToArray(),
+                HWId = serverBan.HWId,
                 Reason = serverBan.Reason,
                 Severity = serverBan.Severity,
                 BanningAdmin = serverBan.BanningAdmin?.UserId,
@@ -297,6 +331,7 @@ public override async Task AddServerUnbanAsync(ServerUnbanDef serverUnban)
         public override async Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned)
         {
             if (address == null && userId == null && hwId == null)
@@ -306,7 +341,7 @@ public override async Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(IPAddr
 
             await using var db = await GetDbImpl();
 
-            var query = MakeRoleBanLookupQuery(address, userId, hwId, db, includeUnbanned)
+            var query = MakeRoleBanLookupQuery(address, userId, hwId, modernHWIds, db, includeUnbanned)
                 .OrderByDescending(b => b.BanTime);
 
             return await QueryRoleBans(query);
@@ -334,19 +369,15 @@ private static IQueryable<ServerRoleBan> MakeRoleBanLookupQuery(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             DbGuardImpl db,
             bool includeUnbanned)
         {
-            IQueryable<ServerRoleBan>? query = null;
-
-            if (userId is { } uid)
-            {
-                var newQ = db.PgDbContext.RoleBan
-                    .Include(p => p.Unban)
-                    .Where(b => b.PlayerUserId == uid.UserId);
-
-                query = query == null ? newQ : query.Union(newQ);
-            }
+            var query = MakeBanLookupQualityShared<ServerRoleBan, ServerRoleUnban>(
+                userId,
+                hwId,
+                modernHWIds,
+                db.PgDbContext.RoleBan);
 
             if (address != null)
             {
@@ -357,15 +388,6 @@ private static IQueryable<ServerRoleBan> MakeRoleBanLookupQuery(
                 query = query == null ? newQ : query.Union(newQ);
             }
 
-            if (hwId != null && hwId.Value.Length > 0)
-            {
-                var newQ = db.PgDbContext.RoleBan
-                    .Include(p => p.Unban)
-                    .Where(b => b.HWId!.SequenceEqual(hwId.Value.ToArray()));
-
-                query = query == null ? newQ : query.Union(newQ);
-            }
-
             if (!includeUnbanned)
             {
                 query = query?.Where(p =>
@@ -402,7 +424,7 @@ private static IQueryable<ServerRoleBan> MakeRoleBanLookupQuery(
                 ban.Id,
                 uid,
                 ban.Address.ToTuple(),
-                ban.HWId == null ? null : ImmutableArray.Create(ban.HWId),
+                ban.HWId,
                 ban.BanTime,
                 ban.ExpirationTime,
                 ban.RoundId,
@@ -440,7 +462,7 @@ public override async Task<ServerRoleBanDef> AddServerRoleBanAsync(ServerRoleBan
             var ban = new ServerRoleBan
             {
                 Address = serverRoleBan.Address.ToNpgsqlInet(),
-                HWId = serverRoleBan.HWId?.ToArray(),
+                HWId = serverRoleBan.HWId,
                 Reason = serverRoleBan.Reason,
                 Severity = serverRoleBan.Severity,
                 BanningAdmin = serverRoleBan.BanningAdmin?.UserId,
@@ -476,7 +498,8 @@ public override async Task<int> AddConnectionLogAsync(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId,
+            ImmutableTypedHwid? hwId,
+            float trust,
             ConnectionDenyReason? denied,
             int serverId)
         {
@@ -488,9 +511,10 @@ public override async Task<int> AddConnectionLogAsync(
                 Time = DateTime.UtcNow,
                 UserId = userId.UserId,
                 UserName = userName,
-                HWId = hwId.ToArray(),
+                HWId = hwId,
                 Denied = denied,
-                ServerId = serverId
+                ServerId = serverId,
+                Trust = trust,
             };
 
             db.PgDbContext.ConnectionLog.Add(connectionLog);
diff --git a/Content.Server/Database/ServerDbSqlite.cs b/Content.Server/Database/ServerDbSqlite.cs
index af4bc2cf8de..6ec90c3332f 100644
--- a/Content.Server/Database/ServerDbSqlite.cs
+++ b/Content.Server/Database/ServerDbSqlite.cs
@@ -9,6 +9,7 @@
 using Content.Server.IP;
 using Content.Server.Preferences.Managers;
 using Content.Shared.CCVar;
+using Content.Shared.Database;
 using Microsoft.EntityFrameworkCore;
 using Robust.Shared.Configuration;
 using Robust.Shared.Network;
@@ -80,22 +81,24 @@ public ServerDbSqlite(
         public override async Task<ServerBanDef?> GetServerBanAsync(
             IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId)
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds)
         {
             await using var db = await GetDbImpl();
 
-            return (await GetServerBanQueryAsync(db, address, userId, hwId, includeUnbanned: false)).FirstOrDefault();
+            return (await GetServerBanQueryAsync(db, address, userId, hwId, modernHWIds, includeUnbanned: false)).FirstOrDefault();
         }
 
         public override async Task<List<ServerBanDef>> GetServerBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned)
         {
             await using var db = await GetDbImpl();
 
-            return (await GetServerBanQueryAsync(db, address, userId, hwId, includeUnbanned)).ToList();
+            return (await GetServerBanQueryAsync(db, address, userId, hwId, modernHWIds, includeUnbanned)).ToList();
         }
 
         private async Task<IEnumerable<ServerBanDef>> GetServerBanQueryAsync(
@@ -103,6 +106,7 @@ private async Task<IEnumerable<ServerBanDef>> GetServerBanQueryAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned)
         {
             var exempt = await GetBanExemptionCore(db, userId);
@@ -119,6 +123,7 @@ private async Task<IEnumerable<ServerBanDef>> GetServerBanQueryAsync(
                 UserId = userId,
                 ExemptFlags = exempt ?? default,
                 HWId = hwId,
+                ModernHWIds = modernHWIds,
                 IsNewPlayer = newPlayer,
             };
 
@@ -161,7 +166,7 @@ public override async Task AddServerBanAsync(ServerBanDef serverBan)
                 Reason = serverBan.Reason,
                 Severity = serverBan.Severity,
                 BanningAdmin = serverBan.BanningAdmin?.UserId,
-                HWId = serverBan.HWId?.ToArray(),
+                HWId = serverBan.HWId,
                 BanTime = serverBan.BanTime.UtcDateTime,
                 ExpirationTime = serverBan.ExpirationTime?.UtcDateTime,
                 RoundId = serverBan.RoundId,
@@ -205,6 +210,7 @@ public override async Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(
             IPAddress? address,
             NetUserId? userId,
             ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds,
             bool includeUnbanned)
         {
             await using var db = await GetDbImpl();
@@ -214,7 +220,7 @@ public override async Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(
             var queryBans = await GetAllRoleBans(db.SqliteDbContext, includeUnbanned);
 
             return queryBans
-                .Where(b => RoleBanMatches(b, address, userId, hwId))
+                .Where(b => RoleBanMatches(b, address, userId, hwId, modernHWIds))
                 .Select(ConvertRoleBan)
                 .ToList()!;
         }
@@ -237,7 +243,8 @@ private static bool RoleBanMatches(
             ServerRoleBan ban,
             IPAddress? address,
             NetUserId? userId,
-            ImmutableArray<byte>? hwId)
+            ImmutableArray<byte>? hwId,
+            ImmutableArray<ImmutableArray<byte>>? modernHWIds)
         {
             if (address != null && ban.Address is not null && address.IsInSubnet(ban.Address.ToTuple().Value))
             {
@@ -249,7 +256,27 @@ private static bool RoleBanMatches(
                 return true;
             }
 
-            return hwId is { Length: > 0 } hwIdVar && hwIdVar.AsSpan().SequenceEqual(ban.HWId);
+            switch (ban.HWId?.Type)
+            {
+                case HwidType.Legacy:
+                    if (hwId is { Length: > 0 } hwIdVar && hwIdVar.AsSpan().SequenceEqual(ban.HWId.Hwid))
+                        return true;
+                    break;
+
+                case HwidType.Modern:
+                    if (modernHWIds != null)
+                    {
+                        foreach (var modernHWId in modernHWIds)
+                        {
+                            if (modernHWId.AsSpan().SequenceEqual(ban.HWId.Hwid))
+                                return true;
+                        }
+                    }
+
+                    break;
+            }
+
+            return false;
         }
 
         public override async Task<ServerRoleBanDef> AddServerRoleBanAsync(ServerRoleBanDef serverBan)
@@ -262,7 +289,7 @@ public override async Task<ServerRoleBanDef> AddServerRoleBanAsync(ServerRoleBan
                 Reason = serverBan.Reason,
                 Severity = serverBan.Severity,
                 BanningAdmin = serverBan.BanningAdmin?.UserId,
-                HWId = serverBan.HWId?.ToArray(),
+                HWId = serverBan.HWId,
                 BanTime = serverBan.BanTime.UtcDateTime,
                 ExpirationTime = serverBan.ExpirationTime?.UtcDateTime,
                 RoundId = serverBan.RoundId,
@@ -316,7 +343,7 @@ public override async Task AddServerRoleUnbanAsync(ServerRoleUnbanDef serverUnba
                 ban.Id,
                 uid,
                 ban.Address.ToTuple(),
-                ban.HWId == null ? null : ImmutableArray.Create(ban.HWId),
+                ban.HWId,
                 // SQLite apparently always reads DateTime as unspecified, but we always write as UTC.
                 DateTime.SpecifyKind(ban.BanTime, DateTimeKind.Utc),
                 ban.ExpirationTime == null ? null : DateTime.SpecifyKind(ban.ExpirationTime.Value, DateTimeKind.Utc),
@@ -376,7 +403,7 @@ public override async Task AddServerRoleUnbanAsync(ServerRoleUnbanDef serverUnba
                 ban.Id,
                 uid,
                 ban.Address.ToTuple(),
-                ban.HWId == null ? null : ImmutableArray.Create(ban.HWId),
+                ban.HWId,
                 // SQLite apparently always reads DateTime as unspecified, but we always write as UTC.
                 DateTime.SpecifyKind(ban.BanTime, DateTimeKind.Utc),
                 ban.ExpirationTime == null ? null : DateTime.SpecifyKind(ban.ExpirationTime.Value, DateTimeKind.Utc),
@@ -412,7 +439,8 @@ public override async Task<int> AddConnectionLogAsync(
             NetUserId userId,
             string userName,
             IPAddress address,
-            ImmutableArray<byte> hwId,
+            ImmutableTypedHwid? hwId,
+            float trust,
             ConnectionDenyReason? denied,
             int serverId)
         {
@@ -424,9 +452,10 @@ public override async Task<int> AddConnectionLogAsync(
                 Time = DateTime.UtcNow,
                 UserId = userId.UserId,
                 UserName = userName,
-                HWId = hwId.ToArray(),
+                HWId = hwId,
                 Denied = denied,
-                ServerId = serverId
+                ServerId = serverId,
+                Trust = trust,
             };
 
             db.SqliteDbContext.ConnectionLog.Add(connectionLog);
diff --git a/Content.Server/Database/ServerRoleBanDef.cs b/Content.Server/Database/ServerRoleBanDef.cs
index f615d5da4d1..dda3a822378 100644
--- a/Content.Server/Database/ServerRoleBanDef.cs
+++ b/Content.Server/Database/ServerRoleBanDef.cs
@@ -1,4 +1,3 @@
-using System.Collections.Immutable;
 using System.Net;
 using Content.Shared.Database;
 using Robust.Shared.Network;
@@ -10,7 +9,7 @@ public sealed class ServerRoleBanDef
     public int? Id { get; }
     public NetUserId? UserId { get; }
     public (IPAddress address, int cidrMask)? Address { get; }
-    public ImmutableArray<byte>? HWId { get; }
+    public ImmutableTypedHwid? HWId { get; }
 
     public DateTimeOffset BanTime { get; }
     public DateTimeOffset? ExpirationTime { get; }
@@ -26,7 +25,7 @@ public ServerRoleBanDef(
         int? id,
         NetUserId? userId,
         (IPAddress, int)? address,
-        ImmutableArray<byte>? hwId,
+        ImmutableTypedHwid? hwId,
         DateTimeOffset banTime,
         DateTimeOffset? expirationTime,
         int? roundId,
diff --git a/Content.Shared.Database/TypedHwid.cs b/Content.Shared.Database/TypedHwid.cs
new file mode 100644
index 00000000000..6e4a7763b3a
--- /dev/null
+++ b/Content.Shared.Database/TypedHwid.cs
@@ -0,0 +1,62 @@
+using System.Collections.Immutable;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Content.Shared.Database;
+
+/// <summary>
+/// Represents a raw HWID value together with its type.
+/// </summary>
+[Serializable]
+public sealed class ImmutableTypedHwid(ImmutableArray<byte> hwid, HwidType type)
+{
+    public readonly ImmutableArray<byte> Hwid = hwid;
+    public readonly HwidType Type = type;
+
+    public override string ToString()
+    {
+        var b64 = Convert.ToBase64String(Hwid.AsSpan());
+        return Type == HwidType.Modern ? $"V2-{b64}" : b64;
+    }
+
+    public static bool TryParse(string value, [NotNullWhen(true)] out ImmutableTypedHwid? hwid)
+    {
+        var type = HwidType.Legacy;
+        if (value.StartsWith("V2-", StringComparison.Ordinal))
+        {
+            value = value["V2-".Length..];
+            type = HwidType.Modern;
+        }
+
+        var array = new byte[GetBase64ByteLength(value)];
+        if (!Convert.TryFromBase64String(value, array, out _))
+        {
+            hwid = null;
+            return false;
+        }
+
+        hwid = new ImmutableTypedHwid([..array], type);
+        return true;
+    }
+
+    private static int GetBase64ByteLength(string value)
+    {
+        // Why is .NET like this man wtf.
+        return 3 * (value.Length / 4) - value.TakeLast(2).Count(c => c == '=');
+    }
+}
+
+/// <summary>
+/// Represents different types of HWIDs as exposed by the engine.
+/// </summary>
+public enum HwidType
+{
+    /// <summary>
+    /// The legacy HWID system. Should only be used for checking old existing database bans.
+    /// </summary>
+    Legacy = 0,
+
+    /// <summary>
+    /// The modern HWID system.
+    /// </summary>
+    Modern = 1,
+}
diff --git a/Content.Shared/Administration/BanPanelEuiState.cs b/Content.Shared/Administration/BanPanelEuiState.cs
index dd10068e5da..74c340566b5 100644
--- a/Content.Shared/Administration/BanPanelEuiState.cs
+++ b/Content.Shared/Administration/BanPanelEuiState.cs
@@ -25,7 +25,7 @@ public sealed class CreateBanRequest : EuiMessageBase
     {
         public string? Player { get; set; }
         public string? IpAddress { get; set; }
-        public byte[]? Hwid { get; set; }
+        public ImmutableTypedHwid? Hwid { get; set; }
         public uint Minutes { get; set; }
         public string Reason { get; set; }
         public NoteSeverity Severity { get; set; }
@@ -34,7 +34,7 @@ public sealed class CreateBanRequest : EuiMessageBase
         public bool UseLastHwid { get; set; }
         public bool Erase { get; set; }
 
-        public CreateBanRequest(string? player, (IPAddress, int)? ipAddress, bool useLastIp, byte[]? hwid, bool useLastHwid, uint minutes, string reason, NoteSeverity severity, string[]? roles, bool erase)
+        public CreateBanRequest(string? player, (IPAddress, int)? ipAddress, bool useLastIp, ImmutableTypedHwid? hwid, bool useLastHwid, uint minutes, string reason, NoteSeverity severity, string[]? roles, bool erase)
         {
             Player = player;
             IpAddress = ipAddress == null ? null : $"{ipAddress.Value.Item1}/{ipAddress.Value.Item2}";

From 806e1e46cb1fec598310d46c31e332e0876794c1 Mon Sep 17 00:00:00 2001
From: Simon <63975668+Simyon264@users.noreply.github.com>
Date: Tue, 12 Nov 2024 03:10:25 +0100
Subject: [PATCH 059/187] Separate CCVars into separate files

---
 Content.Shared/CCVar/CCVars.Accessibility.cs  |   41 +
 Content.Shared/CCVar/CCVars.Admin.Ahelp.cs    |   39 +
 Content.Shared/CCVar/CCVars.Admin.Logs.cs     |   42 +
 Content.Shared/CCVar/CCVars.Admin.Rules.cs    |   18 +
 Content.Shared/CCVar/CCVars.Admin.cs          |  163 ++
 Content.Shared/CCVar/CCVars.Atmos.cs          |  153 ++
 Content.Shared/CCVar/CCVars.Audio.cs          |   61 +
 Content.Shared/CCVar/CCVars.Chat.Looc.cs      |   26 +
 Content.Shared/CCVar/CCVars.Chat.Ooc.cs       |   27 +
 Content.Shared/CCVar/CCVars.Chat.cs           |   68 +
 Content.Shared/CCVar/CCVars.Config.cs         |   35 +
 Content.Shared/CCVar/CCVars.Console.cs        |   15 +
 Content.Shared/CCVar/CCVars.Crewmanifest.cs   |   24 +
 Content.Shared/CCVar/CCVars.Database.cs       |   77 +
 Content.Shared/CCVar/CCVars.Discord.cs        |   61 +
 Content.Shared/CCVar/CCVars.Events.cs         |   12 +
 Content.Shared/CCVar/CCVars.Explosion.cs      |  108 +
 Content.Shared/CCVar/CCVars.Game.Infolinks.cs |   54 +
 Content.Shared/CCVar/CCVars.Game.cs           |  336 +++
 Content.Shared/CCVar/CCVars.Ghost.cs          |   24 +
 Content.Shared/CCVar/CCVars.Hud.cs            |   24 +
 Content.Shared/CCVar/CCVars.Ic.cs             |   48 +
 Content.Shared/CCVar/CCVars.Interactions.cs   |   54 +
 Content.Shared/CCVar/CCVars.Interface.cs      |   24 +
 Content.Shared/CCVar/CCVars.Mapping.cs        |   24 +
 Content.Shared/CCVar/CCVars.Midi.cs           |   18 +
 Content.Shared/CCVar/CCVars.Misc.cs           |   97 +
 Content.Shared/CCVar/CCVars.NPC.cs            |   16 +
 Content.Shared/CCVar/CCVars.Net.cs            |   15 +
 Content.Shared/CCVar/CCVars.Parallax.cs       |   15 +
 Content.Shared/CCVar/CCVars.Physics.cs        |   27 +
 Content.Shared/CCVar/CCVars.Radiation.cs      |   32 +
 Content.Shared/CCVar/CCVars.Replays.cs        |   43 +
 Content.Shared/CCVar/CCVars.Salvage.cs        |   18 +
 Content.Shared/CCVar/CCVars.Server.cs         |   43 +
 Content.Shared/CCVar/CCVars.Shuttle.cs        |  176 ++
 Content.Shared/CCVar/CCVars.Sounds.cs         |   34 +
 Content.Shared/CCVar/CCVars.Status.cs         |   13 +
 Content.Shared/CCVar/CCVars.Tips.cs           |   40 +
 Content.Shared/CCVar/CCVars.Viewport.cs       |   33 +
 Content.Shared/CCVar/CCVars.Vote.cs           |  180 ++
 Content.Shared/CCVar/CCVars.Whitelist.cs      |   19 +
 Content.Shared/CCVar/CCVars.Worldgen.cs       |   18 +
 Content.Shared/CCVar/CCVars.cs                | 2406 +----------------
 44 files changed, 2418 insertions(+), 2383 deletions(-)
 create mode 100644 Content.Shared/CCVar/CCVars.Accessibility.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Admin.Ahelp.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Admin.Logs.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Admin.Rules.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Admin.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Atmos.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Audio.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Chat.Looc.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Chat.Ooc.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Chat.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Config.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Console.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Crewmanifest.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Database.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Discord.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Events.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Explosion.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Game.Infolinks.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Game.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Ghost.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Hud.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Ic.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Interactions.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Interface.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Mapping.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Midi.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Misc.cs
 create mode 100644 Content.Shared/CCVar/CCVars.NPC.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Net.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Parallax.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Physics.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Radiation.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Replays.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Salvage.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Server.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Shuttle.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Sounds.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Status.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Tips.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Viewport.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Vote.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Whitelist.cs
 create mode 100644 Content.Shared/CCVar/CCVars.Worldgen.cs

diff --git a/Content.Shared/CCVar/CCVars.Accessibility.cs b/Content.Shared/CCVar/CCVars.Accessibility.cs
new file mode 100644
index 00000000000..8eb61f0806d
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Accessibility.cs
@@ -0,0 +1,41 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Chat window opacity slider, controlling the alpha of the chat window background.
+    ///     Goes from to 0 (completely transparent) to 1 (completely opaque)
+    /// </summary>
+    public static readonly CVarDef<float> ChatWindowOpacity =
+        CVarDef.Create("accessibility.chat_window_transparency", 0.85f, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    /// <summary>
+    ///     Toggle for visual effects that may potentially cause motion sickness.
+    ///     Where reasonable, effects affected by this CVar should use an alternate effect.
+    ///     Please do not use this CVar as a bandaid for effects that could otherwise be made accessible without issue.
+    /// </summary>
+    public static readonly CVarDef<bool> ReducedMotion =
+        CVarDef.Create("accessibility.reduced_motion", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<bool> ChatEnableColorName =
+        CVarDef.Create("accessibility.enable_color_name",
+            true,
+            CVar.CLIENTONLY | CVar.ARCHIVE,
+            "Toggles displaying names with individual colors.");
+
+    /// <summary>
+    ///     Screen shake intensity slider, controlling the intensity of the CameraRecoilSystem.
+    ///     Goes from 0 (no recoil at all) to 1 (regular amounts of recoil)
+    /// </summary>
+    public static readonly CVarDef<float> ScreenShakeIntensity =
+        CVarDef.Create("accessibility.screen_shake_intensity", 1f, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    /// <summary>
+    ///     A generic toggle for various visual effects that are color sensitive.
+    ///     As of 2/16/24, only applies to progress bar colors.
+    /// </summary>
+    public static readonly CVarDef<bool> AccessibilityColorblindFriendly =
+        CVarDef.Create("accessibility.colorblind_friendly", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+}
diff --git a/Content.Shared/CCVar/CCVars.Admin.Ahelp.cs b/Content.Shared/CCVar/CCVars.Admin.Ahelp.cs
new file mode 100644
index 00000000000..48f3965bb5c
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Admin.Ahelp.cs
@@ -0,0 +1,39 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Ahelp rate limit values are accounted in periods of this size (seconds).
+    ///     After the period has passed, the count resets.
+    /// </summary>
+    /// <seealso cref="AhelpRateLimitCount"/>
+    public static readonly CVarDef<float> AhelpRateLimitPeriod =
+        CVarDef.Create("ahelp.rate_limit_period", 2f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How many ahelp messages are allowed in a single rate limit period.
+    /// </summary>
+    /// <seealso cref="AhelpRateLimitPeriod"/>
+    public static readonly CVarDef<int> AhelpRateLimitCount =
+        CVarDef.Create("ahelp.rate_limit_count", 10, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Should the administrator's position be displayed in ahelp.
+    ///     If it is is false, only the admin's ckey will be displayed in the ahelp.
+    /// </summary>
+    /// <seealso cref="AdminUseCustomNamesAdminRank"/>
+    /// <seealso cref="AhelpAdminPrefixWebhook"/>
+    public static readonly CVarDef<bool> AhelpAdminPrefix =
+        CVarDef.Create("ahelp.admin_prefix", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Should the administrator's position be displayed in the webhook.
+    ///     If it is is false, only the admin's ckey will be displayed in webhook.
+    /// </summary>
+    /// <seealso cref="AdminUseCustomNamesAdminRank"/>
+    /// <seealso cref="AhelpAdminPrefix"/>
+    public static readonly CVarDef<bool> AhelpAdminPrefixWebhook =
+        CVarDef.Create("ahelp.admin_prefix_webhook", false, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Admin.Logs.cs b/Content.Shared/CCVar/CCVars.Admin.Logs.cs
new file mode 100644
index 00000000000..862456ddfdd
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Admin.Logs.cs
@@ -0,0 +1,42 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Controls if admin logs are enabled. Highly recommended to shut this off for development.
+    /// </summary>
+    public static readonly CVarDef<bool> AdminLogsEnabled =
+        CVarDef.Create("adminlogs.enabled", true, CVar.SERVERONLY);
+
+    public static readonly CVarDef<float> AdminLogsQueueSendDelay =
+        CVarDef.Create("adminlogs.queue_send_delay_seconds", 5f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     When to skip the waiting time to save in-round admin logs, if no admin logs are currently being saved
+    /// </summary>
+    public static readonly CVarDef<int> AdminLogsQueueMax =
+        CVarDef.Create("adminlogs.queue_max", 5000, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     When to skip the waiting time to save pre-round admin logs, if no admin logs are currently being saved
+    /// </summary>
+    public static readonly CVarDef<int> AdminLogsPreRoundQueueMax =
+        CVarDef.Create("adminlogs.pre_round_queue_max", 5000, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     When to start dropping logs
+    /// </summary>
+    public static readonly CVarDef<int> AdminLogsDropThreshold =
+        CVarDef.Create("adminlogs.drop_threshold", 20000, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How many logs to send to the client at once
+    /// </summary>
+    public static readonly CVarDef<int> AdminLogsClientBatchSize =
+        CVarDef.Create("adminlogs.client_batch_size", 1000, CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> AdminLogsServerName =
+        CVarDef.Create("adminlogs.server_name", "unknown", CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Admin.Rules.cs b/Content.Shared/CCVar/CCVars.Admin.Rules.cs
new file mode 100644
index 00000000000..7385104364b
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Admin.Rules.cs
@@ -0,0 +1,18 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Time that players have to wait before rules can be accepted.
+    /// </summary>
+    public static readonly CVarDef<float> RulesWaitTime =
+        CVarDef.Create("rules.time", 45f, CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Don't show rules to localhost/loopback interface.
+    /// </summary>
+    public static readonly CVarDef<bool> RulesExemptLocal =
+        CVarDef.Create("rules.exempt_local", true, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Admin.cs b/Content.Shared/CCVar/CCVars.Admin.cs
new file mode 100644
index 00000000000..28bebfbe8a6
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Admin.cs
@@ -0,0 +1,163 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> AdminAnnounceLogin =
+        CVarDef.Create("admin.announce_login", true, CVar.SERVERONLY);
+
+    public static readonly CVarDef<bool> AdminAnnounceLogout =
+        CVarDef.Create("admin.announce_logout", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The token used to authenticate with the admin API. Leave empty to disable the admin API. This is a secret! Do not share!
+    /// </summary>
+    public static readonly CVarDef<string> AdminApiToken =
+        CVarDef.Create("admin.api_token", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+    /// <summary>
+    ///     Should users be able to see their own notes? Admins will be able to see and set notes regardless
+    /// </summary>
+    public static readonly CVarDef<bool> SeeOwnNotes =
+        CVarDef.Create("admin.see_own_notes", false, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     Should the server play a quick sound to the active admins whenever a new player joins?
+    /// </summary>
+    public static readonly CVarDef<bool> AdminNewPlayerJoinSound =
+        CVarDef.Create("admin.new_player_join_sound", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The amount of days before the note starts fading. It will slowly lose opacity until it reaches stale. Set to 0 to disable.
+    /// </summary>
+    public static readonly CVarDef<double> NoteFreshDays =
+        CVarDef.Create("admin.note_fresh_days", 91.31055, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     The amount of days before the note completely fades, and can only be seen by admins if they press "see more notes". Set to 0
+    ///     if you want the note to immediately disappear without fading.
+    /// </summary>
+    public static readonly CVarDef<double> NoteStaleDays =
+        CVarDef.Create("admin.note_stale_days", 365.2422, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     How much time does the user have to wait in seconds before confirming that they saw an admin message?
+    /// </summary>
+    public static readonly CVarDef<float> MessageWaitTime =
+        CVarDef.Create("admin.message_wait_time", 3f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     Default severity for role bans
+    /// </summary>
+    public static readonly CVarDef<string> RoleBanDefaultSeverity =
+        CVarDef.Create("admin.role_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Default severity for department bans
+    /// </summary>
+    public static readonly CVarDef<string> DepartmentBanDefaultSeverity =
+        CVarDef.Create("admin.department_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Default severity for server bans
+    /// </summary>
+    public static readonly CVarDef<string> ServerBanDefaultSeverity =
+        CVarDef.Create("admin.server_ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Whether a server ban will ban the player's ip by default.
+    /// </summary>
+    public static readonly CVarDef<bool> ServerBanIpBanDefault =
+        CVarDef.Create("admin.server_ban_ip_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Whether a server ban will ban the player's hardware id by default.
+    /// </summary>
+    public static readonly CVarDef<bool> ServerBanHwidBanDefault =
+        CVarDef.Create("admin.server_ban_hwid_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Whether to use details from last connection for ip/hwid in the BanPanel.
+    /// </summary>
+    public static readonly CVarDef<bool> ServerBanUseLastDetails =
+        CVarDef.Create("admin.server_ban_use_last_details", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Whether to erase a player's chat messages and their entity from the game when banned.
+    /// </summary>
+    public static readonly CVarDef<bool> ServerBanErasePlayer =
+        CVarDef.Create("admin.server_ban_erase_player", false, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Minimum players sharing a connection required to create an alert. -1 to disable the alert.
+    /// </summary>
+    /// <remarks>
+    ///     If you set this to 0 or 1 then it will alert on every connection, so probably don't do that.
+    /// </remarks>
+    public static readonly CVarDef<int> AdminAlertMinPlayersSharingConnection =
+        CVarDef.Create("admin.alert.min_players_sharing_connection", -1, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Minimum explosion intensity to create an admin alert message. -1 to disable the alert.
+    /// </summary>
+    public static readonly CVarDef<int> AdminAlertExplosionMinIntensity =
+        CVarDef.Create("admin.alert.explosion_min_intensity", 60, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Minimum particle accelerator strength to create an admin alert message.
+    /// </summary>
+    public static readonly CVarDef<int> AdminAlertParticleAcceleratorMinPowerState =
+        CVarDef.Create("admin.alert.particle_accelerator_min_power_state", 5, CVar.SERVERONLY); // strength 4
+
+    /// <summary>
+    ///     Should the ban details in admin channel include PII? (IP, HWID, etc)
+    /// </summary>
+    public static readonly CVarDef<bool> AdminShowPIIOnBan =
+        CVarDef.Create("admin.show_pii_onban", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If an admin joins a round by reading up or using the late join button, automatically
+    ///     de-admin them.
+    /// </summary>
+    public static readonly CVarDef<bool> AdminDeadminOnJoin =
+        CVarDef.Create("admin.deadmin_on_join", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Overrides the name the client sees in ahelps. Set empty to disable.
+    /// </summary>
+    public static readonly CVarDef<string> AdminAhelpOverrideClientName =
+        CVarDef.Create("admin.override_adminname_in_client_ahelp", string.Empty, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The threshold of minutes to appear as a "new player" in the ahelp menu
+    ///     If 0, appearing as a new player is disabled.
+    /// </summary>
+    public static readonly CVarDef<int> NewPlayerThreshold =
+        CVarDef.Create("admin.new_player_threshold", 0, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     How long an admin client can go without any input before being considered AFK.
+    /// </summary>
+    public static readonly CVarDef<float> AdminAfkTime =
+        CVarDef.Create("admin.afk_time", 600f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If true, admins are able to connect even if
+    ///     <see cref="SoftMaxPlayers"/> would otherwise block regular players.
+    /// </summary>
+    public static readonly CVarDef<bool> AdminBypassMaxPlayers =
+        CVarDef.Create("admin.bypass_max_players", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Determine if custom rank names are used.
+    ///     If it is false, it'd use the actual rank name regardless of the individual's title.
+    /// </summary>
+    /// <seealso cref="AhelpAdminPrefix"/>
+    /// <seealso cref="AhelpAdminPrefixWebhook"/>
+    public static readonly CVarDef<bool> AdminUseCustomNamesAdminRank =
+        CVarDef.Create("admin.use_custom_names_admin_rank", true, CVar.SERVERONLY);
+
+    public static readonly CVarDef<bool> BanHardwareIds =
+        CVarDef.Create("ban.hardware_ids", true, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Atmos.cs b/Content.Shared/CCVar/CCVars.Atmos.cs
new file mode 100644
index 00000000000..cc1069b4fc8
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Atmos.cs
@@ -0,0 +1,153 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Whether gas differences will move entities.
+    /// </summary>
+    public static readonly CVarDef<bool> SpaceWind =
+        CVarDef.Create("atmos.space_wind", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects.
+    /// </summary>
+    public static readonly CVarDef<float> SpaceWindPressureForceDivisorThrow =
+        CVarDef.Create("atmos.space_wind_pressure_force_divisor_throw", 15f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects.
+    /// </summary>
+    public static readonly CVarDef<float> SpaceWindPressureForceDivisorPush =
+        CVarDef.Create("atmos.space_wind_pressure_force_divisor_push", 2500f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The maximum velocity (not force) that may be applied to an object by atmospheric pressure differences.
+    ///     Useful to prevent clipping through objects.
+    /// </summary>
+    public static readonly CVarDef<float> SpaceWindMaxVelocity =
+        CVarDef.Create("atmos.space_wind_max_velocity", 30f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The maximum force that may be applied to an object by pushing (i.e. not throwing) atmospheric pressure differences.
+    ///     A "throwing" atmospheric pressure difference ignores this limit, but not the max. velocity limit.
+    /// </summary>
+    public static readonly CVarDef<float> SpaceWindMaxPushForce =
+        CVarDef.Create("atmos.space_wind_max_push_force", 20f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether monstermos tile equalization is enabled.
+    /// </summary>
+    public static readonly CVarDef<bool> MonstermosEqualization =
+        CVarDef.Create("atmos.monstermos_equalization", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether monstermos explosive depressurization is enabled.
+    ///     Needs <see cref="MonstermosEqualization"/> to be enabled to work.
+    /// </summary>
+    public static readonly CVarDef<bool> MonstermosDepressurization =
+        CVarDef.Create("atmos.monstermos_depressurization", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether monstermos explosive depressurization will rip tiles..
+    ///     Needs <see cref="MonstermosEqualization"/> and <see cref="MonstermosDepressurization"/> to be enabled to work.
+    ///     WARNING: This cvar causes MAJOR contrast issues, and usually tends to make any spaced scene look very cluttered.
+    ///     This not only usually looks strange, but can also reduce playability for people with impaired vision. Please think twice before enabling this on your server.
+    ///     Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing.
+    /// </summary>
+    public static readonly CVarDef<bool> MonstermosRipTiles =
+        CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether explosive depressurization will cause the grid to gain an impulse.
+    ///     Needs <see cref="MonstermosEqualization"/> and <see cref="MonstermosDepressurization"/> to be enabled to work.
+    /// </summary>
+    public static readonly CVarDef<bool> AtmosGridImpulse =
+        CVarDef.Create("atmos.grid_impulse", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     What fraction of air from a spaced tile escapes every tick.
+    ///     1.0 for instant spacing, 0.2 means 20% of remaining air lost each time
+    /// </summary>
+    public static readonly CVarDef<float> AtmosSpacingEscapeRatio =
+        CVarDef.Create("atmos.mmos_spacing_speed", 0.15f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Minimum amount of air allowed on a spaced tile before it is reset to 0 immediately in kPa
+    ///     Since the decay due to SpacingEscapeRatio follows a curve, it would never reach 0.0 exactly
+    ///     unless we truncate it somewhere.
+    /// </summary>
+    public static readonly CVarDef<float> AtmosSpacingMinGas =
+        CVarDef.Create("atmos.mmos_min_gas", 2.0f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How much wind can go through a single tile before that tile doesn't depressurize itself
+    ///     (I.e spacing is limited in large rooms heading into smaller spaces)
+    /// </summary>
+    public static readonly CVarDef<float> AtmosSpacingMaxWind =
+        CVarDef.Create("atmos.mmos_max_wind", 500f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether atmos superconduction is enabled.
+    /// </summary>
+    /// <remarks> Disabled by default, superconduction is awful. </remarks>
+    public static readonly CVarDef<bool> Superconduction =
+        CVarDef.Create("atmos.superconduction", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Heat loss per tile due to radiation at 20 degC, in W.
+    /// </summary>
+    public static readonly CVarDef<float> SuperconductionTileLoss =
+        CVarDef.Create("atmos.superconduction_tile_loss", 30f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether excited groups will be processed and created.
+    /// </summary>
+    public static readonly CVarDef<bool> ExcitedGroups =
+        CVarDef.Create("atmos.excited_groups", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether all tiles in an excited group will clear themselves once being exposed to space.
+    ///     Similar to <see cref="MonstermosDepressurization"/>, without none of the tile ripping or
+    ///     things being thrown around very violently.
+    ///     Needs <see cref="ExcitedGroups"/> to be enabled to work.
+    /// </summary>
+    public static readonly CVarDef<bool> ExcitedGroupsSpaceIsAllConsuming =
+        CVarDef.Create("atmos.excited_groups_space_is_all_consuming", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Maximum time in milliseconds that atmos can take processing.
+    /// </summary>
+    public static readonly CVarDef<float> AtmosMaxProcessTime =
+        CVarDef.Create("atmos.max_process_time", 3f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Atmos tickrate in TPS. Atmos processing will happen every 1/TPS seconds.
+    /// </summary>
+    public static readonly CVarDef<float> AtmosTickRate =
+        CVarDef.Create("atmos.tickrate", 15f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Scale factor for how fast things happen in our atmosphere
+    ///     simulation compared to real life. 1x means pumps run at 1x
+    ///     speed. Players typically expect things to happen faster
+    ///     in-game.
+    /// </summary>
+    public static readonly CVarDef<float> AtmosSpeedup =
+        CVarDef.Create("atmos.speedup", 8f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Like atmos.speedup, but only for gas and reaction heat values. 64x means
+    ///     gases heat up and cool down 64x faster than real life.
+    /// </summary>
+    public static readonly CVarDef<float> AtmosHeatScale =
+        CVarDef.Create("atmos.heat_scale", 8f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Maximum explosion radius for explosions caused by bursting a gas tank ("max caps").
+    ///     Setting this to zero disables the explosion but still allows the tank to burst and leak.
+    /// </summary>
+    public static readonly CVarDef<float> AtmosTankFragment =
+        CVarDef.Create("atmos.max_explosion_range", 26f, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Audio.cs b/Content.Shared/CCVar/CCVars.Audio.cs
new file mode 100644
index 00000000000..4d9e7c44315
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Audio.cs
@@ -0,0 +1,61 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+        /// <summary>
+        ///     How long we'll wait until re-sampling nearby objects for ambience. Should be pretty fast, but doesn't have to match the tick rate.
+        /// </summary>
+        public static readonly CVarDef<float> AmbientCooldown =
+            CVarDef.Create("ambience.cooldown", 0.1f, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+        /// <summary>
+        ///     How large of a range to sample for ambience.
+        /// </summary>
+        public static readonly CVarDef<float> AmbientRange =
+            CVarDef.Create("ambience.range", 8f, CVar.REPLICATED | CVar.SERVER);
+
+        /// <summary>
+        ///     Maximum simultaneous ambient sounds.
+        /// </summary>
+        public static readonly CVarDef<int> MaxAmbientSources =
+            CVarDef.Create("ambience.max_sounds", 16, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+        /// <summary>
+        ///     The minimum value the user can set for ambience.max_sounds
+        /// </summary>
+        public static readonly CVarDef<int> MinMaxAmbientSourcesConfigured =
+            CVarDef.Create("ambience.min_max_sounds_configured", 16, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT);
+
+        /// <summary>
+        ///     The maximum value the user can set for ambience.max_sounds
+        /// </summary>
+        public static readonly CVarDef<int> MaxMaxAmbientSourcesConfigured =
+            CVarDef.Create("ambience.max_max_sounds_configured", 64, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT);
+
+        /// <summary>
+        ///     Ambience volume.
+        /// </summary>
+        public static readonly CVarDef<float> AmbienceVolume =
+            CVarDef.Create("ambience.volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+        /// <summary>
+        ///     Ambience music volume.
+        /// </summary>
+        public static readonly CVarDef<float> AmbientMusicVolume =
+            CVarDef.Create("ambience.music_volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+        /// <summary>
+        ///     Lobby / round end music volume.
+        /// </summary>
+        public static readonly CVarDef<float> LobbyMusicVolume =
+            CVarDef.Create("ambience.lobby_music_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+        /// <summary>
+        ///     UI volume.
+        /// </summary>
+        public static readonly CVarDef<float> InterfaceVolume =
+            CVarDef.Create("audio.interface_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+}
diff --git a/Content.Shared/CCVar/CCVars.Chat.Looc.cs b/Content.Shared/CCVar/CCVars.Chat.Looc.cs
new file mode 100644
index 00000000000..84ee2c28072
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Chat.Looc.cs
@@ -0,0 +1,26 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> LoocEnabled =
+        CVarDef.Create("looc.enabled", true, CVar.NOTIFY | CVar.REPLICATED);
+
+    public static readonly CVarDef<bool> AdminLoocEnabled =
+        CVarDef.Create("looc.enabled_admin", true, CVar.NOTIFY);
+
+    /// <summary>
+    ///     True: Dead players can use LOOC
+    ///     False: Dead player LOOC gets redirected to dead chat
+    /// </summary>
+    public static readonly CVarDef<bool> DeadLoocEnabled =
+        CVarDef.Create("looc.enabled_dead", false, CVar.NOTIFY | CVar.REPLICATED);
+
+    /// <summary>
+    ///     True: Crit players can use LOOC
+    ///     False: Crit player LOOC gets redirected to dead chat
+    /// </summary>
+    public static readonly CVarDef<bool> CritLoocEnabled =
+        CVarDef.Create("looc.enabled_crit", false, CVar.NOTIFY | CVar.REPLICATED);
+}
diff --git a/Content.Shared/CCVar/CCVars.Chat.Ooc.cs b/Content.Shared/CCVar/CCVars.Chat.Ooc.cs
new file mode 100644
index 00000000000..ba5e41053b6
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Chat.Ooc.cs
@@ -0,0 +1,27 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool>
+        OocEnabled = CVarDef.Create("ooc.enabled", true, CVar.NOTIFY | CVar.REPLICATED);
+
+    public static readonly CVarDef<bool> AdminOocEnabled =
+        CVarDef.Create("ooc.enabled_admin", true, CVar.NOTIFY);
+
+    /// <summary>
+    ///     If true, whenever OOC is disabled the Discord OOC relay will also be disabled.
+    /// </summary>
+    public static readonly CVarDef<bool> DisablingOOCDisablesRelay =
+        CVarDef.Create("ooc.disabling_ooc_disables_relay", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether or not OOC chat should be enabled during a round.
+    /// </summary>
+    public static readonly CVarDef<bool> OocEnableDuringRound =
+        CVarDef.Create("ooc.enable_during_round", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<bool> ShowOocPatronColor =
+        CVarDef.Create("ooc.show_ooc_patron_color", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.CLIENT);
+}
diff --git a/Content.Shared/CCVar/CCVars.Chat.cs b/Content.Shared/CCVar/CCVars.Chat.cs
new file mode 100644
index 00000000000..139a82372a2
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Chat.cs
@@ -0,0 +1,68 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Chat rate limit values are accounted in periods of this size (seconds).
+    ///     After the period has passed, the count resets.
+    /// </summary>
+    /// <seealso cref="ChatRateLimitCount"/>
+    public static readonly CVarDef<float> ChatRateLimitPeriod =
+        CVarDef.Create("chat.rate_limit_period", 2f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How many chat messages are allowed in a single rate limit period.
+    /// </summary>
+    /// <remarks>
+    ///     The total rate limit throughput per second is effectively
+    ///     <see cref="ChatRateLimitCount"/> divided by <see cref="ChatRateLimitCount"/>.
+    /// </remarks>
+    /// <seealso cref="ChatRateLimitPeriod"/>
+    public static readonly CVarDef<int> ChatRateLimitCount =
+        CVarDef.Create("chat.rate_limit_count", 10, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Minimum delay (in seconds) between notifying admins about chat message rate limit violations.
+    ///     A negative value disables admin announcements.
+    /// </summary>
+    public static readonly CVarDef<int> ChatRateLimitAnnounceAdminsDelay =
+        CVarDef.Create("chat.rate_limit_announce_admins_delay", 15, CVar.SERVERONLY);
+
+    public static readonly CVarDef<int> ChatMaxMessageLength =
+        CVarDef.Create("chat.max_message_length", 1000, CVar.SERVER | CVar.REPLICATED);
+
+    public static readonly CVarDef<int> ChatMaxAnnouncementLength =
+        CVarDef.Create("chat.max_announcement_length", 256, CVar.SERVER | CVar.REPLICATED);
+
+    public static readonly CVarDef<bool> ChatSanitizerEnabled =
+        CVarDef.Create("chat.chat_sanitizer_enabled", true, CVar.SERVERONLY);
+
+    public static readonly CVarDef<bool> ChatShowTypingIndicator =
+        CVarDef.Create("chat.show_typing_indicator", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<bool> ChatEnableFancyBubbles =
+        CVarDef.Create("chat.enable_fancy_bubbles",
+            true,
+            CVar.CLIENTONLY | CVar.ARCHIVE,
+            "Toggles displaying fancy speech bubbles, which display the speaking character's name.");
+
+    public static readonly CVarDef<bool> ChatFancyNameBackground =
+        CVarDef.Create("chat.fancy_name_background",
+            false,
+            CVar.CLIENTONLY | CVar.ARCHIVE,
+            "Toggles displaying a background under the speaking character's name.");
+
+    /// <summary>
+    ///     A message broadcast to each player that joins the lobby.
+    ///     May be changed by admins ingame through use of the "set-motd" command.
+    ///     In this case the new value, if not empty, is broadcast to all connected players and saved between rounds.
+    ///     May be requested by any player through use of the "get-motd" command.
+    /// </summary>
+    public static readonly CVarDef<string> MOTD =
+        CVarDef.Create("chat.motd",
+            "",
+            CVar.SERVER | CVar.SERVERONLY | CVar.ARCHIVE,
+            "A message broadcast to each player that joins the lobby.");
+}
diff --git a/Content.Shared/CCVar/CCVars.Config.cs b/Content.Shared/CCVar/CCVars.Config.cs
new file mode 100644
index 00000000000..4e11f09ee7c
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Config.cs
@@ -0,0 +1,35 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    // These are server-only for now since I don't foresee a client use yet,
+    // and I don't wanna have to start coming up with like .client suffixes and stuff like that.
+
+    /// <summary>
+    ///     Configuration presets to load during startup.
+    ///     Multiple presets can be separated by comma and are loaded in order.
+    /// </summary>
+    /// <remarks>
+    ///     Loaded presets must be located under the <c>ConfigPresets/</c> resource directory and end with the <c>.toml</c> extension.
+    ///     Only the file name (without extension) must be given for this variable.
+    /// </remarks>
+    public static readonly CVarDef<string> ConfigPresets =
+        CVarDef.Create("config.presets", "", CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether to load the preset development CVars.
+    ///     This disables some things like lobby to make development easier.
+    ///     Even when true, these are only loaded if the game is compiled with <c>DEVELOPMENT</c> set.
+    /// </summary>
+    public static readonly CVarDef<bool> ConfigPresetDevelopment =
+        CVarDef.Create("config.preset_development", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether to load the preset debug CVars.
+    ///     Even when true, these are only loaded if the game is compiled with <c>DEBUG</c> set.
+    /// </summary>
+    public static readonly CVarDef<bool> ConfigPresetDebug =
+        CVarDef.Create("config.preset_debug", true, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Console.cs b/Content.Shared/CCVar/CCVars.Console.cs
new file mode 100644
index 00000000000..e670b9f836e
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Console.cs
@@ -0,0 +1,15 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> ConsoleLoginLocal =
+        CVarDef.Create("console.loginlocal", true, CVar.ARCHIVE | CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Automatically log in the given user as host, equivalent to the <c>promotehost</c> command.
+    /// </summary>
+    public static readonly CVarDef<string> ConsoleLoginHostUser =
+        CVarDef.Create("console.login_host_user", "", CVar.ARCHIVE | CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Crewmanifest.cs b/Content.Shared/CCVar/CCVars.Crewmanifest.cs
new file mode 100644
index 00000000000..d6251886b95
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Crewmanifest.cs
@@ -0,0 +1,24 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Setting this allows a crew manifest to be opened from any window
+    ///     that has a crew manifest button, and sends the correct message.
+    ///     If this is false, only in-game entities will allow you to see
+    ///     the crew manifest, if the functionality is coded in.
+    ///     Having administrator priveledge ignores this, but will still
+    ///     hide the button in UI windows.
+    /// </summary>
+    public static readonly CVarDef<bool> CrewManifestWithoutEntity =
+        CVarDef.Create("crewmanifest.no_entity", true, CVar.REPLICATED);
+
+    /// <summary>
+    ///     Setting this allows the crew manifest to be viewed from 'unsecure'
+    ///     entities, such as the PDA.
+    /// </summary>
+    public static readonly CVarDef<bool> CrewManifestUnsecure =
+        CVarDef.Create("crewmanifest.unsecure", true, CVar.REPLICATED);
+}
diff --git a/Content.Shared/CCVar/CCVars.Database.cs b/Content.Shared/CCVar/CCVars.Database.cs
new file mode 100644
index 00000000000..c549bd7e033
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Database.cs
@@ -0,0 +1,77 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+#if DEBUG
+    private const int DefaultSqliteDelay = 1;
+#else
+    private const int DefaultSqliteDelay = 0;
+#endif
+
+    public static readonly CVarDef<string> DatabaseEngine =
+        CVarDef.Create("database.engine", "sqlite", CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> DatabaseSqliteDbPath =
+        CVarDef.Create("database.sqlite_dbpath", "preferences.db", CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Milliseconds to asynchronously delay all SQLite database acquisitions with.
+    /// </summary>
+    /// <remarks>
+    ///     Defaults to 1 on DEBUG, 0 on RELEASE.
+    ///     This is intended to help catch .Result deadlock bugs that only happen on postgres
+    ///     (because SQLite is not actually asynchronous normally)
+    /// </remarks>
+    public static readonly CVarDef<int> DatabaseSqliteDelay =
+        CVarDef.Create("database.sqlite_delay", DefaultSqliteDelay, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Amount of concurrent SQLite database operations.
+    /// </summary>
+    /// <remarks>
+    ///     Note that SQLite is not a properly asynchronous database and also has limited read/write concurrency.
+    ///     Increasing this number may allow more concurrent reads, but it probably won't matter much.
+    ///     SQLite operations are normally ran on the thread pool, which may cause thread pool starvation if the concurrency is too high.
+    /// </remarks>
+    public static readonly CVarDef<int> DatabaseSqliteConcurrency =
+        CVarDef.Create("database.sqlite_concurrency", 3, CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> DatabasePgHost =
+        CVarDef.Create("database.pg_host", "localhost", CVar.SERVERONLY);
+
+    public static readonly CVarDef<int> DatabasePgPort =
+        CVarDef.Create("database.pg_port", 5432, CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> DatabasePgDatabase =
+        CVarDef.Create("database.pg_database", "ss14", CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> DatabasePgUsername =
+        CVarDef.Create("database.pg_username", "postgres", CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> DatabasePgPassword =
+        CVarDef.Create("database.pg_password", "", CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+    /// <summary>
+    ///     Max amount of concurrent Postgres database operations.
+    /// </summary>
+    public static readonly CVarDef<int> DatabasePgConcurrency =
+        CVarDef.Create("database.pg_concurrency", 8, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Milliseconds to asynchronously delay all PostgreSQL database operations with.
+    /// </summary>
+    /// <remarks>
+    ///     This is intended for performance testing. It works different from <see cref="DatabaseSqliteDelay"/>,
+    ///     as the lag is applied after acquiring the database lock.
+    /// </remarks>
+    public static readonly CVarDef<int> DatabasePgFakeLag =
+        CVarDef.Create("database.pg_fake_lag", 0, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Basically only exists for integration tests to avoid race conditions.
+    /// </summary>
+    public static readonly CVarDef<bool> DatabaseSynchronous =
+        CVarDef.Create("database.sync", false, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Discord.cs b/Content.Shared/CCVar/CCVars.Discord.cs
new file mode 100644
index 00000000000..a6c4ada7454
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Discord.cs
@@ -0,0 +1,61 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     The role that will get mentioned if a new SOS ahelp comes in.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordAhelpMention =
+        CVarDef.Create("discord.on_call_ping", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+    /// <summary>
+    ///     URL of the discord webhook to relay unanswered ahelp messages.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordOnCallWebhook =
+        CVarDef.Create("discord.on_call_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+    /// <summary>
+    ///     URL of the Discord webhook which will relay all ahelp messages.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordAHelpWebhook =
+        CVarDef.Create("discord.ahelp_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+    /// <summary>
+    ///     The server icon to use in the Discord ahelp embed footer.
+    ///     Valid values are specified at https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordAHelpFooterIcon =
+        CVarDef.Create("discord.ahelp_footer_icon", string.Empty, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The avatar to use for the webhook. Should be an URL.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordAHelpAvatar =
+        CVarDef.Create("discord.ahelp_avatar", string.Empty, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordVoteWebhook =
+        CVarDef.Create("discord.vote_webhook", string.Empty, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     URL of the Discord webhook which will relay all votekick votes. If left empty, disables the webhook.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordVotekickWebhook =
+        CVarDef.Create("discord.votekick_webhook", string.Empty, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     URL of the Discord webhook which will relay round restart messages.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordRoundUpdateWebhook =
+        CVarDef.Create("discord.round_update_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+    /// <summary>
+    ///     Role id for the Discord webhook to ping when the round ends.
+    /// </summary>
+    public static readonly CVarDef<string> DiscordRoundEndRoleWebhook =
+        CVarDef.Create("discord.round_end_role", string.Empty, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Events.cs b/Content.Shared/CCVar/CCVars.Events.cs
new file mode 100644
index 00000000000..48797b8438c
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Events.cs
@@ -0,0 +1,12 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Controls if the game should run station events
+    /// </summary>
+    public static readonly CVarDef<bool>
+        EventsEnabled = CVarDef.Create("events.enabled", true, CVar.ARCHIVE | CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Explosion.cs b/Content.Shared/CCVar/CCVars.Explosion.cs
new file mode 100644
index 00000000000..51d93456b7e
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Explosion.cs
@@ -0,0 +1,108 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     How many tiles the explosion system will process per tick
+    /// </summary>
+    /// <remarks>
+    ///     Setting this too high will put a large load on a single tick. Setting this too low will lead to
+    ///     unnaturally "slow" explosions.
+    /// </remarks>
+    public static readonly CVarDef<int> ExplosionTilesPerTick =
+        CVarDef.Create("explosion.tiles_per_tick", 100, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Upper limit on the size of an explosion before physics-throwing is disabled.
+    /// </summary>
+    /// <remarks>
+    ///     Large nukes tend to generate a lot of shrapnel that flies through space. This can functionally cripple
+    ///     the server TPS for a while after an explosion (or even during, if the explosion is processed
+    ///     incrementally.
+    /// </remarks>
+    public static readonly CVarDef<int> ExplosionThrowLimit =
+        CVarDef.Create("explosion.throw_limit", 400, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If this is true, explosion processing will pause the NodeGroupSystem to pause updating.
+    /// </summary>
+    /// <remarks>
+    ///     This only takes effect if an explosion needs more than one tick to process (i.e., covers more than <see
+    ///     cref="ExplosionTilesPerTick"/> tiles). If this is not enabled, the node-system will rebuild its graph
+    ///     every tick as the explosion shreds the station, causing significant slowdown.
+    /// </remarks>
+    public static readonly CVarDef<bool> ExplosionSleepNodeSys =
+        CVarDef.Create("explosion.node_sleep", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Upper limit on the total area that an explosion can affect before the neighbor-finding algorithm just
+    ///     stops. Defaults to a 60-rile radius explosion.
+    /// </summary>
+    /// <remarks>
+    ///     Actual area may be larger, as it currently doesn't terminate mid neighbor finding. I.e., area may be that of a ~51 tile radius circle instead.
+    /// </remarks>
+    public static readonly CVarDef<int> ExplosionMaxArea =
+        CVarDef.Create("explosion.max_area", (int)3.14f * 256 * 256, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Upper limit on the number of neighbor finding steps for the explosion system neighbor-finding algorithm.
+    /// </summary>
+    /// <remarks>
+    ///     Effectively places an upper limit on the range that any explosion can have. In the vast majority of
+    ///     instances, <see cref="ExplosionMaxArea"/> will likely be hit before this becomes a limiting factor.
+    /// </remarks>
+    public static readonly CVarDef<int> ExplosionMaxIterations =
+        CVarDef.Create("explosion.max_iterations", 500, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Max Time in milliseconds to spend processing explosions every tick.
+    /// </summary>
+    /// <remarks>
+    ///     This time limiting is not perfectly implemented. Firstly, a significant chunk of processing time happens
+    ///     due to queued entity deletions, which happen outside of the system update code. Secondly, explosion
+    ///     spawning cannot currently be interrupted & resumed, and may lead to exceeding this time limit.
+    /// </remarks>
+    public static readonly CVarDef<float> ExplosionMaxProcessingTime =
+        CVarDef.Create("explosion.max_tick_time", 7f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If the explosion is being processed incrementally over several ticks, this variable determines whether
+    ///     updating the grid tiles should be done incrementally at the end of every tick, or only once the explosion has finished processing.
+    /// </summary>
+    /// <remarks>
+    ///     The most notable consequence of this change is that explosions will only punch a hole in the station &
+    ///     create a vacumm once they have finished exploding. So airlocks will no longer slam shut as the explosion
+    ///     expands, just suddenly at the end.
+    /// </remarks>
+    public static readonly CVarDef<bool> ExplosionIncrementalTileBreaking =
+        CVarDef.Create("explosion.incremental_tile", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     This determines for how many seconds an explosion should stay visible once it has finished expanding.
+    /// </summary>
+    public static readonly CVarDef<float> ExplosionPersistence =
+        CVarDef.Create("explosion.persistence", 1.0f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If an explosion covers a larger area than this number, the damaging/processing will always start during
+    ///     the next tick, instead of during the same tick that the explosion was generated in.
+    /// </summary>
+    /// <remarks>
+    ///     This value can be used to ensure that for large explosions the area/tile calculation and the explosion
+    ///     processing/damaging occurs in separate ticks. This helps reduce the single-tick lag if both <see
+    ///     cref="ExplosionMaxProcessingTime"/> and <see cref="ExplosionTilesPerTick"/> are large. I.e., instead of
+    ///     a single tick explosion, this cvar allows for a configuration that results in a two-tick explosion,
+    ///     though most of the computational cost is still in the second tick.
+    /// </remarks>
+    public static readonly CVarDef<int> ExplosionSingleTickAreaLimit =
+        CVarDef.Create("explosion.single_tick_area_limit", 400, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether or not explosions are allowed to create tiles that have
+    ///     <see cref="ContentTileDefinition.MapAtmosphere"/> set to true.
+    /// </summary>
+    public static readonly CVarDef<bool> ExplosionCanCreateVacuum =
+        CVarDef.Create("explosion.can_create_vacuum", true, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Game.Infolinks.cs b/Content.Shared/CCVar/CCVars.Game.Infolinks.cs
new file mode 100644
index 00000000000..fa8332b497e
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Game.Infolinks.cs
@@ -0,0 +1,54 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Link to Discord server to show in the launcher.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksDiscord =
+        CVarDef.Create("infolinks.discord", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to website to show in the launcher.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksForum =
+        CVarDef.Create("infolinks.forum", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to GitHub page to show in the launcher.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksGithub =
+        CVarDef.Create("infolinks.github", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to website to show in the launcher.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksWebsite =
+        CVarDef.Create("infolinks.website", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to wiki to show in the launcher.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksWiki =
+        CVarDef.Create("infolinks.wiki", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to Patreon. Not shown in the launcher currently.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksPatreon =
+        CVarDef.Create("infolinks.patreon", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to the bug report form.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksBugReport =
+        CVarDef.Create("infolinks.bug_report", "", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Link to site handling ban appeals. Shown in ban disconnect messages.
+    /// </summary>
+    public static readonly CVarDef<string> InfoLinksAppeal =
+        CVarDef.Create("infolinks.appeal", "", CVar.SERVER | CVar.REPLICATED);
+}
diff --git a/Content.Shared/CCVar/CCVars.Game.cs b/Content.Shared/CCVar/CCVars.Game.cs
new file mode 100644
index 00000000000..19092055e39
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Game.cs
@@ -0,0 +1,336 @@
+using Content.Shared.Roles;
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+        /// <summary>
+        ///     Disables most functionality in the GameTicker.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameDummyTicker = CVarDef.Create("game.dummyticker", false, CVar.ARCHIVE | CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Controls if the lobby is enabled. If it is not, and there are no available jobs, you may get stuck on a black screen.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameLobbyEnabled = CVarDef.Create("game.lobbyenabled", true, CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Controls the duration of the lobby timer in seconds. Defaults to 2 minutes and 30 seconds.
+        /// </summary>
+        public static readonly CVarDef<int>
+            GameLobbyDuration = CVarDef.Create("game.lobbyduration", 150, CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Controls if players can latejoin at all.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameDisallowLateJoins = CVarDef.Create("game.disallowlatejoins", false, CVar.ARCHIVE | CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Controls the default game preset.
+        /// </summary>
+        public static readonly CVarDef<string>
+            GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "secret", CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Controls if the game can force a different preset if the current preset's criteria are not met.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameLobbyFallbackEnabled = CVarDef.Create("game.fallbackenabled", true, CVar.ARCHIVE);
+
+        /// <summary>
+        ///     The preset for the game to fall back to if the selected preset could not be used, and fallback is enabled.
+        /// </summary>
+        public static readonly CVarDef<string>
+            GameLobbyFallbackPreset = CVarDef.Create("game.fallbackpreset", "Traitor,Extended", CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Controls if people can win the game in Suspicion or Deathmatch.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameLobbyEnableWin = CVarDef.Create("game.enablewin", true, CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Controls the maximum number of character slots a player is allowed to have.
+        /// </summary>
+        public static readonly CVarDef<int>
+            GameMaxCharacterSlots = CVarDef.Create("game.maxcharacterslots", 30, CVar.ARCHIVE | CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Controls the game map prototype to load. SS14 stores these prototypes in Prototypes/Maps.
+        /// </summary>
+        public static readonly CVarDef<string>
+            GameMap = CVarDef.Create("game.map", string.Empty, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Controls whether to use world persistence or not.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            UsePersistence = CVarDef.Create("game.usepersistence", false, CVar.ARCHIVE);
+
+        /// <summary>
+        ///     If world persistence is used, what map prototype should be initially loaded.
+        ///     If the save file exists, it replaces MapPath but everything else stays the same (station name and such).
+        /// </summary>
+        public static readonly CVarDef<string>
+            PersistenceMap = CVarDef.Create("game.persistencemap", "Empty", CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Prototype to use for map pool.
+        /// </summary>
+        public static readonly CVarDef<string>
+            GameMapPool = CVarDef.Create("game.map_pool", "DefaultMapPool", CVar.SERVERONLY);
+
+        /// <summary>
+        ///     The depth of the queue used to calculate which map is next in rotation.
+        ///     This is how long the game "remembers" that some map was put in play. Default is 16 rounds.
+        /// </summary>
+        public static readonly CVarDef<int>
+            GameMapMemoryDepth = CVarDef.Create("game.map_memory_depth", 16, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Is map rotation enabled?
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameMapRotation = CVarDef.Create("game.map_rotation", true, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     If roles should be restricted based on time.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameRoleTimers = CVarDef.Create("game.role_timers", true, CVar.SERVER | CVar.REPLICATED);
+
+        /// <summary>
+        ///     Override default role requirements using a <see cref="JobRequirementOverridePrototype"/>
+        /// </summary>
+        public static readonly CVarDef<string>
+            GameRoleTimerOverride = CVarDef.Create("game.role_timer_override", "", CVar.SERVER | CVar.REPLICATED);
+
+        /// <summary>
+        ///     If roles should be restricted based on whether or not they are whitelisted.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameRoleWhitelist = CVarDef.Create("game.role_whitelist", true, CVar.SERVER | CVar.REPLICATED);
+
+        /// <summary>
+        ///     Whether or not disconnecting inside of a cryopod should remove the character or just store them until they reconnect.
+        /// </summary>
+        public static readonly CVarDef<bool>
+            GameCryoSleepRejoining = CVarDef.Create("game.cryo_sleep_rejoining", false, CVar.SERVER | CVar.REPLICATED);
+
+        /// <summary>
+        ///     When enabled, guests will be assigned permanent UIDs and will have their preferences stored.
+        /// </summary>
+        public static readonly CVarDef<bool> GamePersistGuests =
+            CVarDef.Create("game.persistguests", true, CVar.ARCHIVE | CVar.SERVERONLY);
+
+        public static readonly CVarDef<bool> GameDiagonalMovement =
+            CVarDef.Create("game.diagonalmovement", true, CVar.ARCHIVE);
+
+        public static readonly CVarDef<int> SoftMaxPlayers =
+            CVarDef.Create("game.soft_max_players", 30, CVar.SERVERONLY | CVar.ARCHIVE);
+
+        /// <summary>
+        ///     If a player gets denied connection to the server,
+        ///     how long they are forced to wait before attempting to reconnect.
+        /// </summary>
+        public static readonly CVarDef<int> GameServerFullReconnectDelay =
+            CVarDef.Create("game.server_full_reconnect_delay", 30, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Whether or not panic bunker is currently enabled.
+        /// </summary>
+        public static readonly CVarDef<bool> PanicBunkerEnabled =
+            CVarDef.Create("game.panic_bunker.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
+
+        /// <summary>
+        ///     Whether or not the panic bunker will disable when an admin comes online.
+        /// </summary>
+        public static readonly CVarDef<bool> PanicBunkerDisableWithAdmins =
+            CVarDef.Create("game.panic_bunker.disable_with_admins", false, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Whether or not the panic bunker will enable when no admins are online.
+        /// </summary>
+        public static readonly CVarDef<bool> PanicBunkerEnableWithoutAdmins =
+            CVarDef.Create("game.panic_bunker.enable_without_admins", false, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Whether or not the panic bunker will count deadminned admins for
+        ///     <see cref="PanicBunkerDisableWithAdmins"/> and
+        ///     <see cref="PanicBunkerEnableWithoutAdmins"/>
+        /// </summary>
+        public static readonly CVarDef<bool> PanicBunkerCountDeadminnedAdmins =
+            CVarDef.Create("game.panic_bunker.count_deadminned_admins", false, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Show reason of disconnect for user or not.
+        /// </summary>
+        public static readonly CVarDef<bool> PanicBunkerShowReason =
+            CVarDef.Create("game.panic_bunker.show_reason", false, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Minimum age of the account (from server's PoV, so from first-seen date) in minutes.
+        /// </summary>
+        public static readonly CVarDef<int> PanicBunkerMinAccountAge =
+            CVarDef.Create("game.panic_bunker.min_account_age", 1440, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Minimal overall played time.
+        /// </summary>
+        public static readonly CVarDef<int> PanicBunkerMinOverallMinutes =
+            CVarDef.Create("game.panic_bunker.min_overall_minutes", 600, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     A custom message that will be used for connections denied to the panic bunker
+        ///     If not empty, then will overwrite <see cref="PanicBunkerShowReason"/>
+        /// </summary>
+        public static readonly CVarDef<string> PanicBunkerCustomReason =
+            CVarDef.Create("game.panic_bunker.custom_reason", string.Empty, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Allow bypassing the panic bunker if the user is whitelisted.
+        /// </summary>
+        public static readonly CVarDef<bool> BypassBunkerWhitelist =
+            CVarDef.Create("game.panic_bunker.whitelisted_can_bypass", true, CVar.SERVERONLY);
+
+        /*
+         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
+         */
+
+        /// <summary>
+        ///     Whether the baby jail is currently enabled.
+        /// </summary>
+        public static readonly CVarDef<bool> BabyJailEnabled  =
+            CVarDef.Create("game.baby_jail.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
+
+        /// <summary>
+        ///     Show reason of disconnect for user or not.
+        /// </summary>
+        public static readonly CVarDef<bool> BabyJailShowReason =
+            CVarDef.Create("game.baby_jail.show_reason", false, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Maximum age of the account (from server's PoV, so from first-seen date) in minutes that can access baby
+        ///     jailed servers.
+        /// </summary>
+        public static readonly CVarDef<int> BabyJailMaxAccountAge =
+            CVarDef.Create("game.baby_jail.max_account_age", 1440, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Maximum overall played time allowed to access baby jailed servers.
+        /// </summary>
+        public static readonly CVarDef<int> BabyJailMaxOverallMinutes =
+            CVarDef.Create("game.baby_jail.max_overall_minutes", 120, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     A custom message that will be used for connections denied due to the baby jail.
+        ///     If not empty, then will overwrite <see cref="BabyJailShowReason"/>
+        /// </summary>
+        public static readonly CVarDef<string> BabyJailCustomReason =
+            CVarDef.Create("game.baby_jail.custom_reason", string.Empty, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Allow bypassing the baby jail if the user is whitelisted.
+        /// </summary>
+        public static readonly CVarDef<bool> BypassBabyJailWhitelist =
+            CVarDef.Create("game.baby_jail.whitelisted_can_bypass", true, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Make people bonk when trying to climb certain objects like tables.
+        /// </summary>
+        public static readonly CVarDef<bool> GameTableBonk =
+            CVarDef.Create("game.table_bonk", false, CVar.REPLICATED);
+
+        /// <summary>
+        ///     Whether or not status icons are rendered for everyone.
+        /// </summary>
+        public static readonly CVarDef<bool> GlobalStatusIconsEnabled =
+            CVarDef.Create("game.global_status_icons_enabled", true, CVar.SERVER | CVar.REPLICATED);
+
+        /// <summary>
+        ///     Whether or not status icons are rendered on this specific client.
+        /// </summary>
+        public static readonly CVarDef<bool> LocalStatusIconsEnabled =
+            CVarDef.Create("game.local_status_icons_enabled", true, CVar.CLIENTONLY);
+
+        /// <summary>
+        ///     Whether or not coordinates on the Debug overlay should only be available to admins.
+        /// </summary>
+        public static readonly CVarDef<bool> DebugCoordinatesAdminOnly =
+            CVarDef.Create("game.debug_coordinates_admin_only", true, CVar.SERVER | CVar.REPLICATED);
+
+#if EXCEPTION_TOLERANCE
+        /// <summary>
+        ///     Amount of times round start must fail before the server is shut down.
+        ///     Set to 0 or a negative number to disable.
+        /// </summary>
+        public static readonly CVarDef<int> RoundStartFailShutdownCount =
+            CVarDef.Create("game.round_start_fail_shutdown_count", 5, CVar.SERVERONLY | CVar.SERVER);
+#endif
+
+        /// <summary>
+        ///     Delay between station alert level changes.
+        /// </summary>
+        public static readonly CVarDef<int> GameAlertLevelChangeDelay =
+            CVarDef.Create("game.alert_level_change_delay", 30, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     The time in seconds that the server should wait before restarting the round.
+        ///     Defaults to 2 minutes.
+        /// </summary>
+        public static readonly CVarDef<float> RoundRestartTime =
+            CVarDef.Create("game.round_restart_time", 120f, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     The prototype to use for secret weights.
+        /// </summary>
+        public static readonly CVarDef<string> SecretWeightPrototype =
+            CVarDef.Create("game.secret_weight_prototype", "Secret", CVar.SERVERONLY);
+
+        /// <summary>
+        ///     The id of the sound collection to randomly choose a sound from and play when the round ends.
+        /// </summary>
+        public static readonly CVarDef<string> RoundEndSoundCollection =
+            CVarDef.Create("game.round_end_sound_collection", "RoundEnd", CVar.SERVERONLY);
+
+        /// <summary>
+        ///     Whether or not to add every player as a global override to PVS at round end.
+        ///     This will allow all players to see their clothing in the round screen player list screen,
+        ///     but may cause lag during round end with very high player counts.
+        /// </summary>
+        public static readonly CVarDef<bool> RoundEndPVSOverrides =
+            CVarDef.Create("game.round_end_pvs_overrides", true, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     If true, players can place objects onto tabletop games like chess boards.
+        /// </summary>
+        /// <remarks>
+        ///     This feature is currently highly abusable and can easily be used to crash the server,
+        ///     so it's off by default.
+        /// </remarks>
+        public static readonly CVarDef<bool> GameTabletopPlace =
+            CVarDef.Create("game.tabletop_place", false, CVar.SERVERONLY);
+
+        /// <summary>
+        ///     If true, contraband severity can be viewed in the examine menu
+        /// </summary>
+        public static readonly CVarDef<bool> ContrabandExamine =
+            CVarDef.Create("game.contraband_examine", true, CVar.SERVER | CVar.REPLICATED);
+
+        /// <summary>
+        ///     Size of the lookup area for adding entities to the context menu
+        /// </summary>
+        public static readonly CVarDef<float> GameEntityMenuLookup =
+            CVarDef.Create("game.entity_menu_lookup", 0.25f, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+        /// <summary>
+        ///     Should the clients window show the server hostname in the title?
+        /// </summary>
+        public static readonly CVarDef<bool> GameHostnameInTitlebar =
+            CVarDef.Create("game.hostname_in_titlebar", true, CVar.SERVER | CVar.REPLICATED);
+
+}
diff --git a/Content.Shared/CCVar/CCVars.Ghost.cs b/Content.Shared/CCVar/CCVars.Ghost.cs
new file mode 100644
index 00000000000..39e7a3c4910
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Ghost.cs
@@ -0,0 +1,24 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     The time you must spend reading the rules, before the "Request" button is enabled
+    /// </summary>
+    public static readonly CVarDef<float> GhostRoleTime =
+        CVarDef.Create("ghost.role_time", 3f, CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     If ghost role lotteries should be made near-instanteous.
+    /// </summary>
+    public static readonly CVarDef<bool> GhostQuickLottery =
+        CVarDef.Create("ghost.quick_lottery", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether or not to kill the player's mob on ghosting, when it is in a critical health state.
+    /// </summary>
+    public static readonly CVarDef<bool> GhostKillCrit =
+        CVarDef.Create("ghost.kill_crit", true, CVar.REPLICATED | CVar.SERVER);
+}
diff --git a/Content.Shared/CCVar/CCVars.Hud.cs b/Content.Shared/CCVar/CCVars.Hud.cs
new file mode 100644
index 00000000000..f96924b3496
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Hud.cs
@@ -0,0 +1,24 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<int> HudTheme =
+        CVarDef.Create("hud.theme", 0, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> HudHeldItemShow =
+        CVarDef.Create("hud.held_item_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> CombatModeIndicatorsPointShow =
+        CVarDef.Create("hud.combat_mode_indicators_point_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> LoocAboveHeadShow =
+        CVarDef.Create("hud.show_looc_above_head", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<float> HudHeldItemOffset =
+        CVarDef.Create("hud.held_item_offset", 28f, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> HudFpsCounterVisible =
+        CVarDef.Create("hud.fps_counter_visible", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+}
diff --git a/Content.Shared/CCVar/CCVars.Ic.cs b/Content.Shared/CCVar/CCVars.Ic.cs
new file mode 100644
index 00000000000..e149e9f3e1e
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Ic.cs
@@ -0,0 +1,48 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Restricts IC character names to alphanumeric chars.
+    /// </summary>
+    public static readonly CVarDef<bool> RestrictedNames =
+        CVarDef.Create("ic.restricted_names", true, CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Allows flavor text (character descriptions)
+    /// </summary>
+    public static readonly CVarDef<bool> FlavorText =
+        CVarDef.Create("ic.flavor_text", false, CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Adds a period at the end of a sentence if the sentence ends in a letter.
+    /// </summary>
+    public static readonly CVarDef<bool> ChatPunctuation =
+        CVarDef.Create("ic.punctuation", false, CVar.SERVER);
+
+    /// <summary>
+    ///     Enables automatically forcing IC name rules. Uppercases the first letter of the first and last words of the name
+    /// </summary>
+    public static readonly CVarDef<bool> ICNameCase =
+        CVarDef.Create("ic.name_case", true, CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Whether or not players' characters are randomly generated rather than using their selected characters in the creator.
+    /// </summary>
+    public static readonly CVarDef<bool> ICRandomCharacters =
+        CVarDef.Create("ic.random_characters", false, CVar.SERVER);
+
+    /// <summary>
+    ///     A weighted random prototype used to determine the species selected for random characters.
+    /// </summary>
+    public static readonly CVarDef<string> ICRandomSpeciesWeights =
+        CVarDef.Create("ic.random_species_weights", "SpeciesWeights", CVar.SERVER);
+
+    /// <summary>
+    ///     Control displaying SSD indicators near players
+    /// </summary>
+    public static readonly CVarDef<bool> ICShowSSDIndicator =
+        CVarDef.Create("ic.show_ssd_indicator", true, CVar.CLIENTONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Interactions.cs b/Content.Shared/CCVar/CCVars.Interactions.cs
new file mode 100644
index 00000000000..c62f81be0ca
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Interactions.cs
@@ -0,0 +1,54 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Deadzone for drag-drop interactions.
+    /// </summary>
+    public static readonly CVarDef<float> DragDropDeadZone =
+        CVarDef.Create("control.drag_dead_zone", 12f, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    /// <summary>
+    ///     Toggles whether the walking key is a toggle or a held key.
+    /// </summary>
+    public static readonly CVarDef<bool> ToggleWalk =
+        CVarDef.Create("control.toggle_walk", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    // The rationale behind the default limit is simply that I can easily get to 7 interactions per second by just
+    // trying to spam toggle a light switch or lever (though the UseDelay component limits the actual effect of the
+    // interaction).  I don't want to accidentally spam admins with alerts just because somebody is spamming a
+    // key manually, nor do we want to alert them just because the player is having network issues and the server
+    // receives multiple interactions at once. But we also want to try catch people with modified clients that spam
+    // many interactions on the same tick. Hence, a very short period, with a relatively high count.
+
+    /// <summary>
+    ///     Maximum number of interactions that a player can perform within <see cref="InteractionRateLimitCount"/> seconds
+    /// </summary>
+    public static readonly CVarDef<int> InteractionRateLimitCount =
+        CVarDef.Create("interaction.rate_limit_count", 5, CVar.SERVER | CVar.REPLICATED);
+
+    /// <seealso cref="InteractionRateLimitCount"/>
+    public static readonly CVarDef<float> InteractionRateLimitPeriod =
+        CVarDef.Create("interaction.rate_limit_period", 0.5f, CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Minimum delay (in seconds) between notifying admins about interaction rate limit violations. A negative
+    ///     value disables admin announcements.
+    /// </summary>
+    public static readonly CVarDef<int> InteractionRateLimitAnnounceAdminsDelay =
+        CVarDef.Create("interaction.rate_limit_announce_admins_delay", 120, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether or not the storage UI is static and bound to the hotbar, or unbound and allowed to be dragged anywhere.
+    /// </summary>
+    public static readonly CVarDef<bool> StaticStorageUI =
+        CVarDef.Create("control.static_storage_ui", true, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    /// <summary>
+    ///     Whether or not the storage window uses a transparent or opaque sprite.
+    /// </summary>
+    public static readonly CVarDef<bool> OpaqueStorageWindow =
+        CVarDef.Create("control.opaque_storage_background", false, CVar.CLIENTONLY | CVar.ARCHIVE);
+}
diff --git a/Content.Shared/CCVar/CCVars.Interface.cs b/Content.Shared/CCVar/CCVars.Interface.cs
new file mode 100644
index 00000000000..79a28e6b4e6
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Interface.cs
@@ -0,0 +1,24 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<string> UIClickSound =
+        CVarDef.Create("interface.click_sound", "/Audio/UserInterface/click.ogg", CVar.REPLICATED);
+
+    public static readonly CVarDef<string> UIHoverSound =
+        CVarDef.Create("interface.hover_sound", "/Audio/UserInterface/hover.ogg", CVar.REPLICATED);
+
+    public static readonly CVarDef<string> UILayout =
+        CVarDef.Create("ui.layout", "Default", CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<string> DefaultScreenChatSize =
+        CVarDef.Create("ui.default_chat_size", "", CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<string> SeparatedScreenChatSize =
+        CVarDef.Create("ui.separated_chat_size", "0.6,0", CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<bool> OutlineEnabled =
+        CVarDef.Create("outline.enabled", true, CVar.CLIENTONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Mapping.cs b/Content.Shared/CCVar/CCVars.Mapping.cs
new file mode 100644
index 00000000000..06cd2870ba2
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Mapping.cs
@@ -0,0 +1,24 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Will mapping mode enable autosaves when it's activated?
+    /// </summary>
+    public static readonly CVarDef<bool>
+        AutosaveEnabled = CVarDef.Create("mapping.autosave", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Autosave interval in seconds.
+    /// </summary>
+    public static readonly CVarDef<float>
+        AutosaveInterval = CVarDef.Create("mapping.autosave_interval", 600f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Directory in server user data to save to. Saves will be inside folders in this directory.
+    /// </summary>
+    public static readonly CVarDef<string>
+        AutosaveDirectory = CVarDef.Create("mapping.autosave_dir", "Autosaves", CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Midi.cs b/Content.Shared/CCVar/CCVars.Midi.cs
new file mode 100644
index 00000000000..4ca4bfd6f86
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Midi.cs
@@ -0,0 +1,18 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<int> MaxMidiEventsPerSecond =
+        CVarDef.Create("midi.max_events_per_second", 1000, CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<int> MaxMidiEventsPerBatch =
+        CVarDef.Create("midi.max_events_per_batch", 60, CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<int> MaxMidiBatchesDropped =
+        CVarDef.Create("midi.max_batches_dropped", 1, CVar.SERVERONLY);
+
+    public static readonly CVarDef<int> MaxMidiLaggedBatches =
+        CVarDef.Create("midi.max_lagged_batches", 8, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Misc.cs b/Content.Shared/CCVar/CCVars.Misc.cs
new file mode 100644
index 00000000000..3d597c74274
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Misc.cs
@@ -0,0 +1,97 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> HolidaysEnabled = CVarDef.Create("holidays.enabled", true, CVar.SERVERONLY);
+    public static readonly CVarDef<bool> BrandingSteam = CVarDef.Create("branding.steam", false, CVar.CLIENTONLY);
+    public static readonly CVarDef<int> EntityMenuGroupingType = CVarDef.Create("entity_menu", 0, CVar.CLIENTONLY);
+
+    /// <summary>
+    ///     Should we pre-load all of the procgen atlasses.
+    /// </summary>
+    public static readonly CVarDef<bool> ProcgenPreload =
+        CVarDef.Create("procgen.preload", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Enabled: Cloning has 70% cost and reclaimer will refuse to reclaim corpses with souls. (For LRP).
+    ///     Disabled: Cloning has full biomass cost and reclaimer can reclaim corpses with souls. (Playtested and balanced for MRP+).
+    /// </summary>
+    public static readonly CVarDef<bool> BiomassEasyMode =
+        CVarDef.Create("biomass.easy_mode", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     A scale factor applied to a grid's bounds when trying to find a spot to randomly generate an anomaly.
+    /// </summary>
+    public static readonly CVarDef<float> AnomalyGenerationGridBoundsScale =
+        CVarDef.Create("anomaly.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long a client can go without any input before being considered AFK.
+    /// </summary>
+    public static readonly CVarDef<float> AfkTime =
+        CVarDef.Create("afk.time", 60f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Flavor limit. This is to ensure that having a large mass of flavors in
+    ///     some food object won't spam a user with flavors.
+    /// </summary>
+    public static readonly CVarDef<int>
+        FlavorLimit = CVarDef.Create("flavor.limit", 10, CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> DestinationFile =
+        CVarDef.Create("autogen.destination_file", "", CVar.SERVER | CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether uploaded files will be stored in the server's database.
+    ///     This is useful to keep "logs" on what files admins have uploaded in the past.
+    /// </summary>
+    public static readonly CVarDef<bool> ResourceUploadingStoreEnabled =
+        CVarDef.Create("netres.store_enabled", true, CVar.SERVER | CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Numbers of days before stored uploaded files are deleted. Set to zero or negative to disable auto-delete.
+    ///     This is useful to free some space automatically. Auto-deletion runs only on server boot.
+    /// </summary>
+    public static readonly CVarDef<int> ResourceUploadingStoreDeletionDays =
+        CVarDef.Create("netres.store_deletion_days", 30, CVar.SERVER | CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If a server update restart is pending, the delay after the last player leaves before we actually restart. In seconds.
+    /// </summary>
+    public static readonly CVarDef<float> UpdateRestartDelay =
+        CVarDef.Create("update.restart_delay", 20f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If fire alarms should have all access, or if activating/resetting these
+    ///     should be restricted to what is dictated on a player's access card.
+    ///     Defaults to true.
+    /// </summary>
+    public static readonly CVarDef<bool> FireAlarmAllAccess =
+        CVarDef.Create("firealarm.allaccess", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Time between play time autosaves, in seconds.
+    /// </summary>
+    public static readonly CVarDef<float>
+        PlayTimeSaveInterval = CVarDef.Create("playtime.save_interval", 900f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The maximum amount of time the entity GC can process, in ms.
+    /// </summary>
+    public static readonly CVarDef<int> GCMaximumTimeMs =
+        CVarDef.Create("entgc.maximum_time_ms", 5, CVar.SERVERONLY);
+
+    public static readonly CVarDef<bool> GatewayGeneratorEnabled =
+        CVarDef.Create("gateway.generator_enabled", true);
+
+    public static readonly CVarDef<string> TippyEntity =
+        CVarDef.Create("tippy.entity", "Tippy", CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     The number of seconds that must pass for a single entity to be able to point at something again.
+    /// </summary>
+    public static readonly CVarDef<float> PointingCooldownSeconds =
+        CVarDef.Create("pointing.cooldown_seconds", 0.5f, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.NPC.cs b/Content.Shared/CCVar/CCVars.NPC.cs
new file mode 100644
index 00000000000..f0d5520195d
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.NPC.cs
@@ -0,0 +1,16 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<int> NPCMaxUpdates =
+        CVarDef.Create("npc.max_updates", 128);
+
+    public static readonly CVarDef<bool> NPCEnabled = CVarDef.Create("npc.enabled", true);
+
+    /// <summary>
+    ///     Should NPCs pathfind when steering. For debug purposes.
+    /// </summary>
+    public static readonly CVarDef<bool> NPCPathfinding = CVarDef.Create("npc.pathfinding", true);
+}
diff --git a/Content.Shared/CCVar/CCVars.Net.cs b/Content.Shared/CCVar/CCVars.Net.cs
new file mode 100644
index 00000000000..b7465def2eb
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Net.cs
@@ -0,0 +1,15 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<float> NetAtmosDebugOverlayTickRate =
+        CVarDef.Create("net.atmosdbgoverlaytickrate", 3.0f);
+
+    public static readonly CVarDef<float> NetGasOverlayTickRate =
+        CVarDef.Create("net.gasoverlaytickrate", 3.0f);
+
+    public static readonly CVarDef<int> GasOverlayThresholds =
+        CVarDef.Create("net.gasoverlaythresholds", 20);
+}
diff --git a/Content.Shared/CCVar/CCVars.Parallax.cs b/Content.Shared/CCVar/CCVars.Parallax.cs
new file mode 100644
index 00000000000..9b19c8f4943
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Parallax.cs
@@ -0,0 +1,15 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> ParallaxEnabled =
+        CVarDef.Create("parallax.enabled", true, CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> ParallaxDebug =
+        CVarDef.Create("parallax.debug", false, CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> ParallaxLowQuality =
+        CVarDef.Create("parallax.low_quality", false, CVar.ARCHIVE | CVar.CLIENTONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Physics.cs b/Content.Shared/CCVar/CCVars.Physics.cs
new file mode 100644
index 00000000000..379676b5df9
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Physics.cs
@@ -0,0 +1,27 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     When a mob is walking should its X / Y movement be relative to its parent (true) or the map (false).
+    /// </summary>
+    public static readonly CVarDef<bool> RelativeMovement =
+        CVarDef.Create("physics.relative_movement", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<float> TileFrictionModifier =
+        CVarDef.Create("physics.tile_friction", 40.0f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<float> StopSpeed =
+        CVarDef.Create("physics.stop_speed", 0.1f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     Whether mobs can push objects like lockers.
+    /// </summary>
+    /// <remarks>
+    ///     Technically client doesn't need to know about it but this may prevent a bug in the distant future so it stays.
+    /// </remarks>
+    public static readonly CVarDef<bool> MobPushing =
+        CVarDef.Create("physics.mob_pushing", false, CVar.REPLICATED | CVar.SERVER);
+}
diff --git a/Content.Shared/CCVar/CCVars.Radiation.cs b/Content.Shared/CCVar/CCVars.Radiation.cs
new file mode 100644
index 00000000000..dfcce15b2f9
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Radiation.cs
@@ -0,0 +1,32 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     What is the smallest radiation dose in rads that can be received by object.
+    ///     Extremely small values may impact performance.
+    /// </summary>
+    public static readonly CVarDef<float> RadiationMinIntensity =
+        CVarDef.Create("radiation.min_intensity", 0.1f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Rate of radiation system update in seconds.
+    /// </summary>
+    public static readonly CVarDef<float> RadiationGridcastUpdateRate =
+        CVarDef.Create("radiation.gridcast.update_rate", 1.0f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If both radiation source and receiver are placed on same grid, ignore grids between them.
+    ///     May get inaccurate result in some cases, but greatly boost performance in general.
+    /// </summary>
+    public static readonly CVarDef<bool> RadiationGridcastSimplifiedSameGrid =
+        CVarDef.Create("radiation.gridcast.simplified_same_grid", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Max distance that radiation ray can travel in meters.
+    /// </summary>
+    public static readonly CVarDef<float> RadiationGridcastMaxDistance =
+        CVarDef.Create("radiation.gridcast.max_distance", 50f, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Replays.cs b/Content.Shared/CCVar/CCVars.Replays.cs
new file mode 100644
index 00000000000..64f47e8ad8c
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Replays.cs
@@ -0,0 +1,43 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Whether or not to record admin chat. If replays are being publicly distributes, this should probably be
+    ///     false.
+    /// </summary>
+    public static readonly CVarDef<bool> ReplayRecordAdminChat =
+        CVarDef.Create("replay.record_admin_chat", false, CVar.ARCHIVE);
+
+    /// <summary>
+    ///     Automatically record full rounds as replays.
+    /// </summary>
+    public static readonly CVarDef<bool> ReplayAutoRecord =
+        CVarDef.Create("replay.auto_record", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The file name to record automatic replays to. The path is relative to <see cref="CVars.ReplayDirectory"/>.
+    /// </summary>
+    /// <remarks>
+    /// <para>
+    ///     If the path includes slashes, directories will be automatically created if necessary.
+    /// </para>
+    /// <para>
+    ///     A number of substitutions can be used to automatically fill in the file name: <c>{year}</c>, <c>{month}</c>, <c>{day}</c>, <c>{hour}</c>, <c>{minute}</c>, <c>{round}</c>.
+    /// </para>
+    /// </remarks>
+    public static readonly CVarDef<string> ReplayAutoRecordName =
+        CVarDef.Create("replay.auto_record_name",
+            "{year}_{month}_{day}-{hour}_{minute}-round_{round}.zip",
+            CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Path that, if provided, automatic replays are initially recorded in.
+    ///     When the recording is done, the file is moved into its final destination.
+    ///     Unless this path is rooted, it will be relative to <see cref="CVars.ReplayDirectory"/>.
+    /// </summary>
+    public static readonly CVarDef<string> ReplayAutoRecordTempDir =
+        CVarDef.Create("replay.auto_record_temp_dir", "", CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Salvage.cs b/Content.Shared/CCVar/CCVars.Salvage.cs
new file mode 100644
index 00000000000..ddc332786ba
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Salvage.cs
@@ -0,0 +1,18 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Duration for missions
+    /// </summary>
+    public static readonly CVarDef<float>
+        SalvageExpeditionDuration = CVarDef.Create("salvage.expedition_duration", 660f, CVar.REPLICATED);
+
+    /// <summary>
+    ///     Cooldown for missions.
+    /// </summary>
+    public static readonly CVarDef<float>
+        SalvageExpeditionCooldown = CVarDef.Create("salvage.expedition_cooldown", 780f, CVar.REPLICATED);
+}
diff --git a/Content.Shared/CCVar/CCVars.Server.cs b/Content.Shared/CCVar/CCVars.Server.cs
new file mode 100644
index 00000000000..2c861584afc
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Server.cs
@@ -0,0 +1,43 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /*
+     * Server
+     */
+
+    /// <summary>
+    ///     Change this to have the changelog and rules "last seen" date stored separately.
+    /// </summary>
+    public static readonly CVarDef<string> ServerId =
+        CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     Guide Entry Prototype ID to be displayed as the server rules.
+    /// </summary>
+    public static readonly CVarDef<string> RulesFile =
+        CVarDef.Create("server.rules_file", "DefaultRuleset", CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     Guide entry that is displayed by default when a guide is opened.
+    /// </summary>
+    public static readonly CVarDef<string> DefaultGuide =
+        CVarDef.Create("server.default_guide", "NewPlayer", CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     If greater than 0, automatically restart the server after this many minutes of uptime.
+    /// </summary>
+    /// <remarks>
+    /// <para>
+    ///     This is intended to work around various bugs and performance issues caused by long continuous server uptime.
+    /// </para>
+    /// <para>
+    ///     This uses the same non-disruptive logic as update restarts,
+    ///     i.e. the game will only restart at round end or when there is nobody connected.
+    /// </para>
+    /// </remarks>
+    public static readonly CVarDef<int> ServerUptimeRestartMinutes =
+        CVarDef.Create("server.uptime_restart_minutes", 0, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Shuttle.cs b/Content.Shared/CCVar/CCVars.Shuttle.cs
new file mode 100644
index 00000000000..f66fe9ca598
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Shuttle.cs
@@ -0,0 +1,176 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     If true then the camera will match the grid / map and is unchangeable.
+    ///     - When traversing grids it will snap to 0 degrees rotation.
+    ///     False means the player has control over the camera rotation.
+    ///     - When traversing grids it will snap to the nearest cardinal which will generally be imperceptible.
+    /// </summary>
+    public static readonly CVarDef<bool> CameraRotationLocked =
+        CVarDef.Create("shuttle.camera_rotation_locked", false, CVar.REPLICATED);
+
+    /// <summary>
+    ///     Whether the arrivals terminal should be on a planet map.
+    /// </summary>
+    public static readonly CVarDef<bool> ArrivalsPlanet =
+        CVarDef.Create("shuttle.arrivals_planet", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether the arrivals shuttle is enabled.
+    /// </summary>
+    public static readonly CVarDef<bool> ArrivalsShuttles =
+        CVarDef.Create("shuttle.arrivals", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The map to use for the arrivals station.
+    /// </summary>
+    public static readonly CVarDef<string> ArrivalsMap =
+        CVarDef.Create("shuttle.arrivals_map", "/Maps/Misc/terminal.yml", CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Cooldown between arrivals departures. This should be longer than the FTL time or it will double cycle.
+    /// </summary>
+    public static readonly CVarDef<float> ArrivalsCooldown =
+        CVarDef.Create("shuttle.arrivals_cooldown", 50f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Are players allowed to return on the arrivals shuttle.
+    /// </summary>
+    public static readonly CVarDef<bool> ArrivalsReturns =
+        CVarDef.Create("shuttle.arrivals_returns", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Should all players who spawn at arrivals have godmode until they leave the map?
+    /// </summary>
+    public static readonly CVarDef<bool> GodmodeArrivals =
+        CVarDef.Create("shuttle.godmode_arrivals", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If a grid is split then hide any smaller ones under this mass (kg) from the map.
+    ///     This is useful to avoid split grids spamming out labels.
+    /// </summary>
+    public static readonly CVarDef<int> HideSplitGridsUnder =
+        CVarDef.Create("shuttle.hide_split_grids_under", 30, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether to automatically spawn escape shuttles.
+    /// </summary>
+    public static readonly CVarDef<bool> GridFill =
+        CVarDef.Create("shuttle.grid_fill", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether to automatically preloading grids by GridPreloaderSystem
+    /// </summary>
+    public static readonly CVarDef<bool> PreloadGrids =
+        CVarDef.Create("shuttle.preload_grids", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long the warmup time before FTL start should be.
+    /// </summary>
+    public static readonly CVarDef<float> FTLStartupTime =
+        CVarDef.Create("shuttle.startup_time", 5.5f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long a shuttle spends in FTL.
+    /// </summary>
+    public static readonly CVarDef<float> FTLTravelTime =
+        CVarDef.Create("shuttle.travel_time", 20f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long the final stage of FTL before arrival should be.
+    /// </summary>
+    public static readonly CVarDef<float> FTLArrivalTime =
+        CVarDef.Create("shuttle.arrival_time", 5f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How much time needs to pass before a shuttle can FTL again.
+    /// </summary>
+    public static readonly CVarDef<float> FTLCooldown =
+        CVarDef.Create("shuttle.cooldown", 10f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The maximum <see cref="PhysicsComponent.Mass"/> a grid can have before it becomes unable to FTL.
+    ///     Any value equal to or less than zero will disable this check.
+    /// </summary>
+    public static readonly CVarDef<float> FTLMassLimit =
+        CVarDef.Create("shuttle.mass_limit", 300f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long to knock down entities for if they aren't buckled when FTL starts and stops.
+    /// </summary>
+    public static readonly CVarDef<float> HyperspaceKnockdownTime =
+        CVarDef.Create("shuttle.hyperspace_knockdown_time", 5f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Is the emergency shuttle allowed to be early launched.
+    /// </summary>
+    public static readonly CVarDef<bool> EmergencyEarlyLaunchAllowed =
+        CVarDef.Create("shuttle.emergency_early_launch_allowed", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long the emergency shuttle remains docked with the station, in seconds.
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyShuttleDockTime =
+        CVarDef.Create("shuttle.emergency_dock_time", 180f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If the emergency shuttle can't dock at a priority port, the dock time will be multiplied with this value.
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyShuttleDockTimeMultiplierOtherDock =
+        CVarDef.Create("shuttle.emergency_dock_time_multiplier_other_dock", 1.6667f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     If the emergency shuttle can't dock at all, the dock time will be multiplied with this value.
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyShuttleDockTimeMultiplierNoDock =
+        CVarDef.Create("shuttle.emergency_dock_time_multiplier_no_dock", 2f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     How long after the console is authorized for the shuttle to early launch.
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyShuttleAuthorizeTime =
+        CVarDef.Create("shuttle.emergency_authorize_time", 10f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The minimum time for the emergency shuttle to arrive at centcomm.
+    ///     Actual minimum travel time cannot be less than <see cref="ShuttleSystem.DefaultArrivalTime"/>
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyShuttleMinTransitTime =
+        CVarDef.Create("shuttle.emergency_transit_time_min", 60f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The maximum time for the emergency shuttle to arrive at centcomm.
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyShuttleMaxTransitTime =
+        CVarDef.Create("shuttle.emergency_transit_time_max", 180f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether the emergency shuttle is enabled or should the round just end.
+    /// </summary>
+    public static readonly CVarDef<bool> EmergencyShuttleEnabled =
+        CVarDef.Create("shuttle.emergency", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The percentage of time passed from the initial call to when the shuttle can no longer be recalled.
+    ///     ex. a call time of 10min and turning point of 0.5 means the shuttle cannot be recalled after 5 minutes.
+    /// </summary>
+    public static readonly CVarDef<float> EmergencyRecallTurningPoint =
+        CVarDef.Create("shuttle.recall_turning_point", 0.5f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Time in minutes after round start to auto-call the shuttle. Set to zero to disable.
+    /// </summary>
+    public static readonly CVarDef<int> EmergencyShuttleAutoCallTime =
+        CVarDef.Create("shuttle.auto_call_time", 90, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Time in minutes after the round was extended (by recalling the shuttle) to call
+    ///     the shuttle again.
+    /// </summary>
+    public static readonly CVarDef<int> EmergencyShuttleAutoCallExtensionTime =
+        CVarDef.Create("shuttle.auto_call_extension_time", 45, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Sounds.cs b/Content.Shared/CCVar/CCVars.Sounds.cs
new file mode 100644
index 00000000000..73d9d3852f1
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Sounds.cs
@@ -0,0 +1,34 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> LobbyMusicEnabled =
+        CVarDef.Create("ambience.lobby_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<bool> EventMusicEnabled =
+        CVarDef.Create("ambience.event_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    /// <summary>
+    ///     Round end sound (APC Destroyed)
+    /// </summary>
+    public static readonly CVarDef<bool> RestartSoundsEnabled =
+        CVarDef.Create("ambience.restart_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+
+
+    public static readonly CVarDef<bool> AdminSoundsEnabled =
+        CVarDef.Create("audio.admin_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
+
+    public static readonly CVarDef<string> AdminChatSoundPath =
+        CVarDef.Create("audio.admin_chat_sound_path",
+            "/Audio/Items/pop.ogg",
+            CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED);
+
+    public static readonly CVarDef<float> AdminChatSoundVolume =
+        CVarDef.Create("audio.admin_chat_sound_volume", -5f, CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED);
+
+    public static readonly CVarDef<string> AHelpSound =
+        CVarDef.Create("audio.ahelp_sound", "/Audio/Effects/adminhelp.ogg", CVar.ARCHIVE | CVar.CLIENTONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Status.cs b/Content.Shared/CCVar/CCVars.Status.cs
new file mode 100644
index 00000000000..007f678106a
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Status.cs
@@ -0,0 +1,13 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<string> StatusMoMMIUrl =
+        CVarDef.Create("status.mommiurl", "", CVar.SERVERONLY);
+
+    public static readonly CVarDef<string> StatusMoMMIPassword =
+        CVarDef.Create("status.mommipassword", "", CVar.SERVERONLY | CVar.CONFIDENTIAL);
+
+}
diff --git a/Content.Shared/CCVar/CCVars.Tips.cs b/Content.Shared/CCVar/CCVars.Tips.cs
new file mode 100644
index 00000000000..61e6342061f
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Tips.cs
@@ -0,0 +1,40 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Whether tips being shown is enabled at all.
+    /// </summary>
+    public static readonly CVarDef<bool> TipsEnabled =
+        CVarDef.Create("tips.enabled", true);
+
+    /// <summary>
+    ///     The dataset prototype to use when selecting a random tip.
+    /// </summary>
+    public static readonly CVarDef<string> TipsDataset =
+        CVarDef.Create("tips.dataset", "Tips");
+
+    /// <summary>
+    ///     The number of seconds between each tip being displayed when the round is not actively going
+    ///     (i.e. postround or lobby)
+    /// </summary>
+    public static readonly CVarDef<float> TipFrequencyOutOfRound =
+        CVarDef.Create("tips.out_of_game_frequency", 60f * 1.5f);
+
+    /// <summary>
+    ///     The number of seconds between each tip being displayed when the round is actively going
+    /// </summary>
+    public static readonly CVarDef<float> TipFrequencyInRound =
+        CVarDef.Create("tips.in_game_frequency", 60f * 60);
+
+    public static readonly CVarDef<string> LoginTipsDataset =
+        CVarDef.Create("tips.login_dataset", "Tips");
+
+    /// <summary>
+    ///     The chance for Tippy to replace a normal tip message.
+    /// </summary>
+    public static readonly CVarDef<float> TipsTippyChance =
+        CVarDef.Create("tips.tippy_chance", 0.01f);
+}
diff --git a/Content.Shared/CCVar/CCVars.Viewport.cs b/Content.Shared/CCVar/CCVars.Viewport.cs
new file mode 100644
index 00000000000..d94394d2a75
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Viewport.cs
@@ -0,0 +1,33 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    public static readonly CVarDef<bool> ViewportStretch =
+        CVarDef.Create("viewport.stretch", true, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<int> ViewportFixedScaleFactor =
+        CVarDef.Create("viewport.fixed_scale_factor", 2, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<int> ViewportSnapToleranceMargin =
+        CVarDef.Create("viewport.snap_tolerance_margin", 64, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<int> ViewportSnapToleranceClip =
+        CVarDef.Create("viewport.snap_tolerance_clip", 32, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<bool> ViewportScaleRender =
+        CVarDef.Create("viewport.scale_render", true, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<int> ViewportMinimumWidth =
+        CVarDef.Create("viewport.minimum_width", 15, CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<int> ViewportMaximumWidth =
+        CVarDef.Create("viewport.maximum_width", 21, CVar.REPLICATED | CVar.SERVER);
+
+    public static readonly CVarDef<int> ViewportWidth =
+        CVarDef.Create("viewport.width", 21, CVar.CLIENTONLY | CVar.ARCHIVE);
+
+    public static readonly CVarDef<bool> ViewportVerticalFit =
+        CVarDef.Create("viewport.vertical_fit", true, CVar.CLIENTONLY | CVar.ARCHIVE);
+}
diff --git a/Content.Shared/CCVar/CCVars.Vote.cs b/Content.Shared/CCVar/CCVars.Vote.cs
new file mode 100644
index 00000000000..ee9fee7d3db
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Vote.cs
@@ -0,0 +1,180 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Allows enabling/disabling player-started votes for ultimate authority
+    /// </summary>
+    public static readonly CVarDef<bool> VoteEnabled =
+        CVarDef.Create("vote.enabled", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     See vote.enabled, but specific to restart votes
+    /// </summary>
+    public static readonly CVarDef<bool> VoteRestartEnabled =
+        CVarDef.Create("vote.restart_enabled", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Config for when the restart vote should be allowed to be called regardless with less than this amount of players.
+    /// </summary>
+    public static readonly CVarDef<int> VoteRestartMaxPlayers =
+        CVarDef.Create("vote.restart_max_players", 20, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Config for when the restart vote should be allowed to be called based on percentage of ghosts.
+    /// </summary>
+    public static readonly CVarDef<int> VoteRestartGhostPercentage =
+        CVarDef.Create("vote.restart_ghost_percentage", 55, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     See vote.enabled, but specific to preset votes
+    /// </summary>
+    public static readonly CVarDef<bool> VotePresetEnabled =
+        CVarDef.Create("vote.preset_enabled", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     See vote.enabled, but specific to map votes
+    /// </summary>
+    public static readonly CVarDef<bool> VoteMapEnabled =
+        CVarDef.Create("vote.map_enabled", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The required ratio of the server that must agree for a restart round vote to go through.
+    /// </summary>
+    public static readonly CVarDef<float> VoteRestartRequiredRatio =
+        CVarDef.Create("vote.restart_required_ratio", 0.85f, CVar.SERVERONLY);
+
+    /// <summary>
+    /// Whether or not to prevent the restart vote from having any effect when there is an online admin
+    /// </summary>
+    public static readonly CVarDef<bool> VoteRestartNotAllowedWhenAdminOnline =
+        CVarDef.Create("vote.restart_not_allowed_when_admin_online", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The delay which two votes of the same type are allowed to be made by separate people, in seconds.
+    /// </summary>
+    public static readonly CVarDef<float> VoteSameTypeTimeout =
+        CVarDef.Create("vote.same_type_timeout", 240f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Sets the duration of the map vote timer.
+    /// </summary>
+    public static readonly CVarDef<int>
+        VoteTimerMap = CVarDef.Create("vote.timermap", 90, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Sets the duration of the restart vote timer.
+    /// </summary>
+    public static readonly CVarDef<int>
+        VoteTimerRestart = CVarDef.Create("vote.timerrestart", 60, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Sets the duration of the gamemode/preset vote timer.
+    /// </summary>
+    public static readonly CVarDef<int>
+        VoteTimerPreset = CVarDef.Create("vote.timerpreset", 30, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Sets the duration of the map vote timer when ALONE.
+    /// </summary>
+    public static readonly CVarDef<int>
+        VoteTimerAlone = CVarDef.Create("vote.timeralone", 10, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Allows enabling/disabling player-started votekick for ultimate authority
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickEnabled =
+        CVarDef.Create("votekick.enabled", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Config for when the votekick should be allowed to be called based on number of eligible voters.
+    /// </summary>
+    public static readonly CVarDef<int> VotekickEligibleNumberRequirement =
+        CVarDef.Create("votekick.eligible_number", 5, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether a votekick initiator must be a ghost or not.
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickInitiatorGhostRequirement =
+        CVarDef.Create("votekick.initiator_ghost_requirement", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Should the initiator be whitelisted to initiate a votekick?
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickInitiatorWhitelistedRequirement =
+        CVarDef.Create("votekick.initiator_whitelist_requirement", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Should the initiator be able to start a votekick if they are bellow the votekick.voter_playtime requirement?
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickInitiatorTimeRequirement =
+        CVarDef.Create("votekick.initiator_time_requirement", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether a votekick voter must be a ghost or not.
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickVoterGhostRequirement =
+        CVarDef.Create("votekick.voter_ghost_requirement", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Config for how many hours playtime a player must have to be able to vote on a votekick.
+    /// </summary>
+    public static readonly CVarDef<int> VotekickEligibleVoterPlaytime =
+        CVarDef.Create("votekick.voter_playtime", 100, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Config for how many seconds a player must have been dead to initiate a votekick / be able to vote on a votekick.
+    /// </summary>
+    public static readonly CVarDef<int> VotekickEligibleVoterDeathtime =
+        CVarDef.Create("votekick.voter_deathtime", 30, CVar.REPLICATED | CVar.SERVER);
+
+    /// <summary>
+    ///     The required ratio of eligible voters that must agree for a votekick to go through.
+    /// </summary>
+    public static readonly CVarDef<float> VotekickRequiredRatio =
+        CVarDef.Create("votekick.required_ratio", 0.6f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether or not to prevent the votekick from having any effect when there is an online admin.
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickNotAllowedWhenAdminOnline =
+        CVarDef.Create("votekick.not_allowed_when_admin_online", true, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The delay for which two votekicks are allowed to be made by separate people, in seconds.
+    /// </summary>
+    public static readonly CVarDef<float> VotekickTimeout =
+        CVarDef.Create("votekick.timeout", 120f, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Sets the duration of the votekick vote timer.
+    /// </summary>
+    public static readonly CVarDef<int>
+        VotekickTimer = CVarDef.Create("votekick.timer", 60, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Config for how many hours playtime a player must have to get protection from the Raider votekick type when playing as an antag.
+    /// </summary>
+    public static readonly CVarDef<int> VotekickAntagRaiderProtection =
+        CVarDef.Create("votekick.antag_raider_protection", 10, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Default severity for votekick bans
+    /// </summary>
+    public static readonly CVarDef<string> VotekickBanDefaultSeverity =
+        CVarDef.Create("votekick.ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
+
+    /// <summary>
+    ///     Duration of a ban caused by a votekick (in minutes).
+    /// </summary>
+    public static readonly CVarDef<int> VotekickBanDuration =
+        CVarDef.Create("votekick.ban_duration", 180, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Whether the ghost requirement settings for votekicks should be ignored for the lobby.
+    /// </summary>
+    public static readonly CVarDef<bool> VotekickIgnoreGhostReqInLobby =
+        CVarDef.Create("votekick.ignore_ghost_req_in_lobby", true, CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Whitelist.cs b/Content.Shared/CCVar/CCVars.Whitelist.cs
new file mode 100644
index 00000000000..7a7a5206a11
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Whitelist.cs
@@ -0,0 +1,19 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Controls whether the server will deny any players that are not whitelisted in the DB.
+    /// </summary>
+    public static readonly CVarDef<bool> WhitelistEnabled =
+        CVarDef.Create("whitelist.enabled", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     Specifies the whitelist prototypes to be used by the server. This should be a comma-separated list of prototypes.
+    ///     If a whitelists conditions to be active fail (for example player count), the next whitelist will be used instead. If no whitelist is valid, the player will be allowed to connect.
+    /// </summary>
+    public static readonly CVarDef<string> WhitelistPrototypeList =
+        CVarDef.Create("whitelist.prototype_list", "basicWhitelist", CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.Worldgen.cs b/Content.Shared/CCVar/CCVars.Worldgen.cs
new file mode 100644
index 00000000000..da165ce74a7
--- /dev/null
+++ b/Content.Shared/CCVar/CCVars.Worldgen.cs
@@ -0,0 +1,18 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared.CCVar;
+
+public sealed partial class CCVars
+{
+    /// <summary>
+    ///     Whether or not world generation is enabled.
+    /// </summary>
+    public static readonly CVarDef<bool> WorldgenEnabled =
+        CVarDef.Create("worldgen.enabled", false, CVar.SERVERONLY);
+
+    /// <summary>
+    ///     The worldgen config to use.
+    /// </summary>
+    public static readonly CVarDef<string> WorldgenConfig =
+        CVarDef.Create("worldgen.worldgen_config", "Default", CVar.SERVERONLY);
+}
diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs
index 83068b5262b..316d9b8690a 100644
--- a/Content.Shared/CCVar/CCVars.cs
+++ b/Content.Shared/CCVar/CCVars.cs
@@ -1,2388 +1,28 @@
-using Content.Shared.Maps;
-using Content.Shared.Roles;
 using Robust.Shared;
 using Robust.Shared.Configuration;
-using Robust.Shared.Physics.Components;
 
-namespace Content.Shared.CCVar
-{
-    // ReSharper disable once InconsistentNaming
-    [CVarDefs]
-    public sealed class CCVars : CVars
-    {
-        /*
-         * Server
-         */
-
-        /// <summary>
-        ///     Change this to have the changelog and rules "last seen" date stored separately.
-        /// </summary>
-        public static readonly CVarDef<string> ServerId =
-            CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        ///     Guide Entry Prototype ID to be displayed as the server rules.
-        /// </summary>
-        public static readonly CVarDef<string> RulesFile =
-            CVarDef.Create("server.rules_file", "DefaultRuleset", CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        ///     Guide entry that is displayed by default when a guide is opened.
-        /// </summary>
-        public static readonly CVarDef<string> DefaultGuide =
-            CVarDef.Create("server.default_guide", "NewPlayer", CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// If greater than 0, automatically restart the server after this many minutes of uptime.
-        /// </summary>
-        /// <remarks>
-        /// <para>
-        /// This is intended to work around various bugs and performance issues caused by long continuous server uptime.
-        /// </para>
-        /// <para>
-        /// This uses the same non-disruptive logic as update restarts,
-        /// i.e. the game will only restart at round end or when there is nobody connected.
-        /// </para>
-        /// </remarks>
-        public static readonly CVarDef<int> ServerUptimeRestartMinutes =
-            CVarDef.Create("server.uptime_restart_minutes", 0, CVar.SERVERONLY);
-
-        /*
-         * Ambience
-         */
-
-        /// <summary>
-        /// How long we'll wait until re-sampling nearby objects for ambience. Should be pretty fast, but doesn't have to match the tick rate.
-        /// </summary>
-        public static readonly CVarDef<float> AmbientCooldown =
-            CVarDef.Create("ambience.cooldown", 0.1f, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /// <summary>
-        /// How large of a range to sample for ambience.
-        /// </summary>
-        public static readonly CVarDef<float> AmbientRange =
-            CVarDef.Create("ambience.range", 8f, CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// Maximum simultaneous ambient sounds.
-        /// </summary>
-        public static readonly CVarDef<int> MaxAmbientSources =
-            CVarDef.Create("ambience.max_sounds", 16, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /// <summary>
-        /// The minimum value the user can set for ambience.max_sounds
-        /// </summary>
-        public static readonly CVarDef<int> MinMaxAmbientSourcesConfigured =
-            CVarDef.Create("ambience.min_max_sounds_configured", 16, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT);
-
-        /// <summary>
-        /// The maximum value the user can set for ambience.max_sounds
-        /// </summary>
-        public static readonly CVarDef<int> MaxMaxAmbientSourcesConfigured =
-            CVarDef.Create("ambience.max_max_sounds_configured", 64, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT);
-
-        /// <summary>
-        /// Ambience volume.
-        /// </summary>
-        public static readonly CVarDef<float> AmbienceVolume =
-            CVarDef.Create("ambience.volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /// <summary>
-        /// Ambience music volume.
-        /// </summary>
-        public static readonly CVarDef<float> AmbientMusicVolume =
-            CVarDef.Create("ambience.music_volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /// <summary>
-        /// Lobby / round end music volume.
-        /// </summary>
-        public static readonly CVarDef<float> LobbyMusicVolume =
-            CVarDef.Create("ambience.lobby_music_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /// <summary>
-        /// UI volume.
-        /// </summary>
-        public static readonly CVarDef<float> InterfaceVolume =
-            CVarDef.Create("audio.interface_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /*
-         * Status
-         */
-
-        public static readonly CVarDef<string> StatusMoMMIUrl =
-            CVarDef.Create("status.mommiurl", "", CVar.SERVERONLY);
-
-        public static readonly CVarDef<string> StatusMoMMIPassword =
-            CVarDef.Create("status.mommipassword", "", CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-        /*
-         * Events
-         */
-
-        /// <summary>
-        ///     Controls if the game should run station events
-        /// </summary>
-        public static readonly CVarDef<bool>
-            EventsEnabled = CVarDef.Create("events.enabled", true, CVar.ARCHIVE | CVar.SERVERONLY);
-
-        /*
-         * Game
-         */
-
-        /// <summary>
-        ///     Disables most functionality in the GameTicker.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameDummyTicker = CVarDef.Create("game.dummyticker", false, CVar.ARCHIVE | CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Controls if the lobby is enabled. If it is not, and there are no available jobs, you may get stuck on a black screen.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameLobbyEnabled = CVarDef.Create("game.lobbyenabled", true, CVar.ARCHIVE);
-
-        /// <summary>
-        ///     Controls the duration of the lobby timer in seconds. Defaults to 2 minutes and 30 seconds.
-        /// </summary>
-        public static readonly CVarDef<int>
-            GameLobbyDuration = CVarDef.Create("game.lobbyduration", 150, CVar.ARCHIVE);
-
-        /// <summary>
-        ///     Controls if players can latejoin at all.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameDisallowLateJoins = CVarDef.Create("game.disallowlatejoins", false, CVar.ARCHIVE | CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Controls the default game preset.
-        /// </summary>
-        public static readonly CVarDef<string>
-            GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "secret", CVar.ARCHIVE);
-
-        /// <summary>
-        ///     Controls if the game can force a different preset if the current preset's criteria are not met.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameLobbyFallbackEnabled = CVarDef.Create("game.fallbackenabled", true, CVar.ARCHIVE);
-
-        /// <summary>
-        ///     The preset for the game to fall back to if the selected preset could not be used, and fallback is enabled.
-        /// </summary>
-        public static readonly CVarDef<string>
-            GameLobbyFallbackPreset = CVarDef.Create("game.fallbackpreset", "Traitor,Extended", CVar.ARCHIVE);
-
-        /// <summary>
-        ///     Controls if people can win the game in Suspicion or Deathmatch.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameLobbyEnableWin = CVarDef.Create("game.enablewin", true, CVar.ARCHIVE);
-
-        /// <summary>
-        ///     Controls the maximum number of character slots a player is allowed to have.
-        /// </summary>
-        public static readonly CVarDef<int>
-            GameMaxCharacterSlots = CVarDef.Create("game.maxcharacterslots", 30, CVar.ARCHIVE | CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Controls the game map prototype to load. SS14 stores these prototypes in Prototypes/Maps.
-        /// </summary>
-        public static readonly CVarDef<string>
-            GameMap = CVarDef.Create("game.map", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Controls whether to use world persistence or not.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            UsePersistence = CVarDef.Create("game.usepersistence", false, CVar.ARCHIVE);
-
-        /// <summary>
-        ///     If world persistence is used, what map prototype should be initially loaded.
-        ///     If the save file exists, it replaces MapPath but everything else stays the same (station name and such).
-        /// </summary>
-        public static readonly CVarDef<string>
-            PersistenceMap = CVarDef.Create("game.persistencemap", "Empty", CVar.ARCHIVE);
-
-        /// <summary>
-        ///     Prototype to use for map pool.
-        /// </summary>
-        public static readonly CVarDef<string>
-            GameMapPool = CVarDef.Create("game.map_pool", "DefaultMapPool", CVar.SERVERONLY);
-
-        /// <summary>
-        /// The depth of the queue used to calculate which map is next in rotation.
-        /// This is how long the game "remembers" that some map was put in play. Default is 16 rounds.
-        /// </summary>
-        public static readonly CVarDef<int>
-            GameMapMemoryDepth = CVarDef.Create("game.map_memory_depth", 16, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Is map rotation enabled?
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameMapRotation = CVarDef.Create("game.map_rotation", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If roles should be restricted based on time.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameRoleTimers = CVarDef.Create("game.role_timers", true, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Override default role requirements using a <see cref="JobRequirementOverridePrototype"/>
-        /// </summary>
-        public static readonly CVarDef<string>
-            GameRoleTimerOverride = CVarDef.Create("game.role_timer_override", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// If roles should be restricted based on whether or not they are whitelisted.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameRoleWhitelist = CVarDef.Create("game.role_whitelist", true, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether or not disconnecting inside of a cryopod should remove the character or just store them until they reconnect.
-        /// </summary>
-        public static readonly CVarDef<bool>
-            GameCryoSleepRejoining = CVarDef.Create("game.cryo_sleep_rejoining", false, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        ///     When enabled, guests will be assigned permanent UIDs and will have their preferences stored.
-        /// </summary>
-        public static readonly CVarDef<bool> GamePersistGuests =
-            CVarDef.Create("game.persistguests", true, CVar.ARCHIVE | CVar.SERVERONLY);
-
-        public static readonly CVarDef<bool> GameDiagonalMovement =
-            CVarDef.Create("game.diagonalmovement", true, CVar.ARCHIVE);
-
-        public static readonly CVarDef<int> SoftMaxPlayers =
-            CVarDef.Create("game.soft_max_players", 30, CVar.SERVERONLY | CVar.ARCHIVE);
-
-        /// <summary>
-        /// If a player gets denied connection to the server,
-        /// how long they are forced to wait before attempting to reconnect.
-        /// </summary>
-        public static readonly CVarDef<int> GameServerFullReconnectDelay =
-            CVarDef.Create("game.server_full_reconnect_delay", 30, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not panic bunker is currently enabled.
-        /// </summary>
-        public static readonly CVarDef<bool> PanicBunkerEnabled =
-            CVarDef.Create("game.panic_bunker.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// Whether or not the panic bunker will disable when an admin comes online.
-        /// </summary>
-        public static readonly CVarDef<bool> PanicBunkerDisableWithAdmins =
-            CVarDef.Create("game.panic_bunker.disable_with_admins", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not the panic bunker will enable when no admins are online.
-        /// </summary>
-        public static readonly CVarDef<bool> PanicBunkerEnableWithoutAdmins =
-            CVarDef.Create("game.panic_bunker.enable_without_admins", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not the panic bunker will count deadminned admins for
-        /// <see cref="PanicBunkerDisableWithAdmins"/> and
-        /// <see cref="PanicBunkerEnableWithoutAdmins"/>
-        /// </summary>
-        public static readonly CVarDef<bool> PanicBunkerCountDeadminnedAdmins =
-            CVarDef.Create("game.panic_bunker.count_deadminned_admins", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Show reason of disconnect for user or not.
-        /// </summary>
-        public static readonly CVarDef<bool> PanicBunkerShowReason =
-            CVarDef.Create("game.panic_bunker.show_reason", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Minimum age of the account (from server's PoV, so from first-seen date) in minutes.
-        /// </summary>
-        public static readonly CVarDef<int> PanicBunkerMinAccountAge =
-            CVarDef.Create("game.panic_bunker.min_account_age", 1440, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Minimal overall played time.
-        /// </summary>
-        public static readonly CVarDef<int> PanicBunkerMinOverallMinutes =
-            CVarDef.Create("game.panic_bunker.min_overall_minutes", 600, CVar.SERVERONLY);
-
-        /// <summary>
-        /// A custom message that will be used for connections denied to the panic bunker
-        /// If not empty, then will overwrite <see cref="PanicBunkerShowReason"/>
-        /// </summary>
-        public static readonly CVarDef<string> PanicBunkerCustomReason =
-            CVarDef.Create("game.panic_bunker.custom_reason", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Allow bypassing the panic bunker if the user is whitelisted.
-        /// </summary>
-        public static readonly CVarDef<bool> BypassBunkerWhitelist =
-            CVarDef.Create("game.panic_bunker.whitelisted_can_bypass", true, CVar.SERVERONLY);
-
-        /*
-         * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future.
-         */
-
-        /// <summary>
-        /// Whether the baby jail is currently enabled.
-        /// </summary>
-        public static readonly CVarDef<bool> BabyJailEnabled  =
-            CVarDef.Create("game.baby_jail.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// Show reason of disconnect for user or not.
-        /// </summary>
-        public static readonly CVarDef<bool> BabyJailShowReason =
-            CVarDef.Create("game.baby_jail.show_reason", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Maximum age of the account (from server's PoV, so from first-seen date) in minutes that can access baby
-        /// jailed servers.
-        /// </summary>
-        public static readonly CVarDef<int> BabyJailMaxAccountAge =
-            CVarDef.Create("game.baby_jail.max_account_age", 1440, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Maximum overall played time allowed to access baby jailed servers.
-        /// </summary>
-        public static readonly CVarDef<int> BabyJailMaxOverallMinutes =
-            CVarDef.Create("game.baby_jail.max_overall_minutes", 120, CVar.SERVERONLY);
-
-        /// <summary>
-        /// A custom message that will be used for connections denied due to the baby jail.
-        /// If not empty, then will overwrite <see cref="BabyJailShowReason"/>
-        /// </summary>
-        public static readonly CVarDef<string> BabyJailCustomReason =
-            CVarDef.Create("game.baby_jail.custom_reason", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Allow bypassing the baby jail if the user is whitelisted.
-        /// </summary>
-        public static readonly CVarDef<bool> BypassBabyJailWhitelist =
-            CVarDef.Create("game.baby_jail.whitelisted_can_bypass", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Make people bonk when trying to climb certain objects like tables.
-        /// </summary>
-        public static readonly CVarDef<bool> GameTableBonk =
-            CVarDef.Create("game.table_bonk", false, CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether or not status icons are rendered for everyone.
-        /// </summary>
-        public static readonly CVarDef<bool> GlobalStatusIconsEnabled =
-            CVarDef.Create("game.global_status_icons_enabled", true, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether or not status icons are rendered on this specific client.
-        /// </summary>
-        public static readonly CVarDef<bool> LocalStatusIconsEnabled =
-            CVarDef.Create("game.local_status_icons_enabled", true, CVar.CLIENTONLY);
-
-        /// <summary>
-        /// Whether or not coordinates on the Debug overlay should only be available to admins.
-        /// </summary>
-        public static readonly CVarDef<bool> DebugCoordinatesAdminOnly =
-            CVarDef.Create("game.debug_coordinates_admin_only", true, CVar.SERVER | CVar.REPLICATED);
-
-#if EXCEPTION_TOLERANCE
-        /// <summary>
-        ///     Amount of times round start must fail before the server is shut down.
-        ///     Set to 0 or a negative number to disable.
-        /// </summary>
-        public static readonly CVarDef<int> RoundStartFailShutdownCount =
-            CVarDef.Create("game.round_start_fail_shutdown_count", 5, CVar.SERVERONLY | CVar.SERVER);
-#endif
-
-        /// <summary>
-        /// Delay between station alert level changes.
-        /// </summary>
-        public static readonly CVarDef<int> GameAlertLevelChangeDelay =
-            CVarDef.Create("game.alert_level_change_delay", 30, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The time in seconds that the server should wait before restarting the round.
-        /// Defaults to 2 minutes.
-        /// </summary>
-        public static readonly CVarDef<float> RoundRestartTime =
-            CVarDef.Create("game.round_restart_time", 120f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The prototype to use for secret weights.
-        /// </summary>
-        public static readonly CVarDef<string> SecretWeightPrototype =
-            CVarDef.Create("game.secret_weight_prototype", "Secret", CVar.SERVERONLY);
-
-        /// <summary>
-        /// The id of the sound collection to randomly choose a sound from and play when the round ends.
-        /// </summary>
-        public static readonly CVarDef<string> RoundEndSoundCollection =
-            CVarDef.Create("game.round_end_sound_collection", "RoundEnd", CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not to add every player as a global override to PVS at round end.
-        /// This will allow all players to see their clothing in the round screen player list screen,
-        /// but may cause lag during round end with very high player counts.
-        /// </summary>
-        public static readonly CVarDef<bool> RoundEndPVSOverrides =
-            CVarDef.Create("game.round_end_pvs_overrides", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If true, players can place objects onto tabletop games like chess boards.
-        /// </summary>
-        /// <remarks>
-        /// This feature is currently highly abusable and can easily be used to crash the server,
-        /// so it's off by default.
-        /// </remarks>
-        public static readonly CVarDef<bool> GameTabletopPlace =
-            CVarDef.Create("game.tabletop_place", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If true, contraband severity can be viewed in the examine menu
-        /// </summary>
-        public static readonly CVarDef<bool> ContrabandExamine =
-            CVarDef.Create("game.contraband_examine", true, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Size of the lookup area for adding entities to the context menu
-        /// </summary>
-        public static readonly CVarDef<float> GameEntityMenuLookup =
-            CVarDef.Create("game.entity_menu_lookup", 0.25f, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /// <summary>
-        /// Should the clients window show the server hostname in the title?
-        /// </summary>
-        public static readonly CVarDef<bool> GameHostnameInTitlebar =
-            CVarDef.Create("game.hostname_in_titlebar", true, CVar.SERVER | CVar.REPLICATED);
-
-        /*
-         * Discord
-         */
-
-        /// <summary>
-        /// The role that will get mentioned if a new SOS ahelp comes in.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordAhelpMention =
-        CVarDef.Create("discord.on_call_ping", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-        /// <summary>
-        /// URL of the discord webhook to relay unanswered ahelp messages.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordOnCallWebhook =
-            CVarDef.Create("discord.on_call_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-        /// <summary>
-        /// URL of the Discord webhook which will relay all ahelp messages.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordAHelpWebhook =
-            CVarDef.Create("discord.ahelp_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-        /// <summary>
-        /// The server icon to use in the Discord ahelp embed footer.
-        /// Valid values are specified at https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordAHelpFooterIcon =
-            CVarDef.Create("discord.ahelp_footer_icon", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The avatar to use for the webhook. Should be an URL.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordAHelpAvatar =
-            CVarDef.Create("discord.ahelp_avatar", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        /// URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordVoteWebhook =
-            CVarDef.Create("discord.vote_webhook", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        /// URL of the Discord webhook which will relay all votekick votes. If left empty, disables the webhook.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordVotekickWebhook =
-            CVarDef.Create("discord.votekick_webhook", string.Empty, CVar.SERVERONLY);
-
-        /// URL of the Discord webhook which will relay round restart messages.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordRoundUpdateWebhook =
-            CVarDef.Create("discord.round_update_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-        /// <summary>
-        /// Role id for the Discord webhook to ping when the round ends.
-        /// </summary>
-        public static readonly CVarDef<string> DiscordRoundEndRoleWebhook =
-            CVarDef.Create("discord.round_end_role", string.Empty, CVar.SERVERONLY);
-
-        /*
-         * Tips
-         */
-
-        /// <summary>
-        ///     Whether tips being shown is enabled at all.
-        /// </summary>
-        public static readonly CVarDef<bool> TipsEnabled =
-            CVarDef.Create("tips.enabled", true);
-
-        /// <summary>
-        ///     The dataset prototype to use when selecting a random tip.
-        /// </summary>
-        public static readonly CVarDef<string> TipsDataset =
-            CVarDef.Create("tips.dataset", "Tips");
-
-        /// <summary>
-        ///     The number of seconds between each tip being displayed when the round is not actively going
-        ///     (i.e. postround or lobby)
-        /// </summary>
-        public static readonly CVarDef<float> TipFrequencyOutOfRound =
-            CVarDef.Create("tips.out_of_game_frequency", 60f * 1.5f);
-
-        /// <summary>
-        ///     The number of seconds between each tip being displayed when the round is actively going
-        /// </summary>
-        public static readonly CVarDef<float> TipFrequencyInRound =
-            CVarDef.Create("tips.in_game_frequency", 60f * 60);
-
-        public static readonly CVarDef<string> LoginTipsDataset =
-            CVarDef.Create("tips.login_dataset", "Tips");
-
-        /// <summary>
-        ///     The chance for Tippy to replace a normal tip message.
-        /// </summary>
-        public static readonly CVarDef<float> TipsTippyChance =
-            CVarDef.Create("tips.tippy_chance", 0.01f);
-
-        /*
-         * Console
-         */
-
-        public static readonly CVarDef<bool> ConsoleLoginLocal =
-            CVarDef.Create("console.loginlocal", true, CVar.ARCHIVE | CVar.SERVERONLY);
-
-        /// <summary>
-        /// Automatically log in the given user as host, equivalent to the <c>promotehost</c> command.
-        /// </summary>
-        public static readonly CVarDef<string> ConsoleLoginHostUser =
-            CVarDef.Create("console.login_host_user", "", CVar.ARCHIVE | CVar.SERVERONLY);
-
-
-        /*
-         * Database stuff
-         */
-
-        public static readonly CVarDef<string> DatabaseEngine =
-            CVarDef.Create("database.engine", "sqlite", CVar.SERVERONLY);
-
-        public static readonly CVarDef<string> DatabaseSqliteDbPath =
-            CVarDef.Create("database.sqlite_dbpath", "preferences.db", CVar.SERVERONLY);
-
-        /// <summary>
-        /// Milliseconds to asynchronously delay all SQLite database acquisitions with.
-        /// </summary>
-        /// <remarks>
-        /// Defaults to 1 on DEBUG, 0 on RELEASE.
-        /// This is intended to help catch .Result deadlock bugs that only happen on postgres
-        /// (because SQLite is not actually asynchronous normally)
-        /// </remarks>
-        public static readonly CVarDef<int> DatabaseSqliteDelay =
-            CVarDef.Create("database.sqlite_delay", DefaultSqliteDelay, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Amount of concurrent SQLite database operations.
-        /// </summary>
-        /// <remarks>
-        /// Note that SQLite is not a properly asynchronous database and also has limited read/write concurrency.
-        /// Increasing this number may allow more concurrent reads, but it probably won't matter much.
-        /// SQLite operations are normally ran on the thread pool, which may cause thread pool starvation if the concurrency is too high.
-        /// </remarks>
-        public static readonly CVarDef<int> DatabaseSqliteConcurrency =
-            CVarDef.Create("database.sqlite_concurrency", 3, CVar.SERVERONLY);
-
-#if DEBUG
-        private const int DefaultSqliteDelay = 1;
-#else
-        private const int DefaultSqliteDelay = 0;
-#endif
-
-
-        public static readonly CVarDef<string> DatabasePgHost =
-            CVarDef.Create("database.pg_host", "localhost", CVar.SERVERONLY);
-
-        public static readonly CVarDef<int> DatabasePgPort =
-            CVarDef.Create("database.pg_port", 5432, CVar.SERVERONLY);
-
-        public static readonly CVarDef<string> DatabasePgDatabase =
-            CVarDef.Create("database.pg_database", "ss14", CVar.SERVERONLY);
-
-        public static readonly CVarDef<string> DatabasePgUsername =
-            CVarDef.Create("database.pg_username", "postgres", CVar.SERVERONLY);
-
-        public static readonly CVarDef<string> DatabasePgPassword =
-            CVarDef.Create("database.pg_password", "", CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-        /// <summary>
-        /// Max amount of concurrent Postgres database operations.
-        /// </summary>
-        public static readonly CVarDef<int> DatabasePgConcurrency =
-            CVarDef.Create("database.pg_concurrency", 8, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Milliseconds to asynchronously delay all PostgreSQL database operations with.
-        /// </summary>
-        /// <remarks>
-        /// This is intended for performance testing. It works different from <see cref="DatabaseSqliteDelay"/>,
-        /// as the lag is applied after acquiring the database lock.
-        /// </remarks>
-        public static readonly CVarDef<int> DatabasePgFakeLag =
-            CVarDef.Create("database.pg_fake_lag", 0, CVar.SERVERONLY);
-
-        // Basically only exists for integration tests to avoid race conditions.
-        public static readonly CVarDef<bool> DatabaseSynchronous =
-            CVarDef.Create("database.sync", false, CVar.SERVERONLY);
-
-        /*
-         * Interface
-         */
-
-        public static readonly CVarDef<string> UIClickSound =
-            CVarDef.Create("interface.click_sound", "/Audio/UserInterface/click.ogg", CVar.REPLICATED);
-
-        public static readonly CVarDef<string> UIHoverSound =
-            CVarDef.Create("interface.hover_sound", "/Audio/UserInterface/hover.ogg", CVar.REPLICATED);
-
-        /*
-         * Outline
-         */
-
-        public static readonly CVarDef<bool> OutlineEnabled =
-            CVarDef.Create("outline.enabled", true, CVar.CLIENTONLY);
-
-
-        /*
-         * Parallax
-         */
-
-        public static readonly CVarDef<bool> ParallaxEnabled =
-            CVarDef.Create("parallax.enabled", true, CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> ParallaxDebug =
-            CVarDef.Create("parallax.debug", false, CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> ParallaxLowQuality =
-            CVarDef.Create("parallax.low_quality", false, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /*
-         * Physics
-         */
-
-        /// <summary>
-        /// When a mob is walking should its X / Y movement be relative to its parent (true) or the map (false).
-        /// </summary>
-        public static readonly CVarDef<bool> RelativeMovement =
-            CVarDef.Create("physics.relative_movement", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<float> TileFrictionModifier =
-            CVarDef.Create("physics.tile_friction", 40.0f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<float> StopSpeed =
-            CVarDef.Create("physics.stop_speed", 0.1f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// Whether mobs can push objects like lockers.
-        /// </summary>
-        /// <remarks>
-        /// Technically client doesn't need to know about it but this may prevent a bug in the distant future so it stays.
-        /// </remarks>
-        public static readonly CVarDef<bool> MobPushing =
-            CVarDef.Create("physics.mob_pushing", false, CVar.REPLICATED | CVar.SERVER);
-
-        /*
-         * Music
-         */
-
-        public static readonly CVarDef<bool> LobbyMusicEnabled =
-            CVarDef.Create("ambience.lobby_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> EventMusicEnabled =
-            CVarDef.Create("ambience.event_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /*
-         * Specific Sounds
-         */
-        // Round  end sound (APC Destroyed)
-        public static readonly CVarDef<bool> RestartSoundsEnabled =
-            CVarDef.Create("ambience.restart_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-
-        /*
-         * Admin sounds
-         */
-
-        public static readonly CVarDef<bool> AdminSoundsEnabled =
-            CVarDef.Create("audio.admin_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-        public static readonly CVarDef<string> AdminChatSoundPath =
-            CVarDef.Create("audio.admin_chat_sound_path", "/Audio/Items/pop.ogg", CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED);
-        public static readonly CVarDef<float> AdminChatSoundVolume =
-            CVarDef.Create("audio.admin_chat_sound_volume", -5f, CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED);
-        public static readonly CVarDef<string> AHelpSound =
-            CVarDef.Create("audio.ahelp_sound", "/Audio/Effects/adminhelp.ogg", CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        /*
-         * HUD
-         */
-
-        public static readonly CVarDef<int> HudTheme =
-            CVarDef.Create("hud.theme", 0, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> HudHeldItemShow =
-            CVarDef.Create("hud.held_item_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> CombatModeIndicatorsPointShow =
-            CVarDef.Create("hud.combat_mode_indicators_point_show", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> LoocAboveHeadShow =
-            CVarDef.Create("hud.show_looc_above_head", true, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        public static readonly CVarDef<float> HudHeldItemOffset =
-            CVarDef.Create("hud.held_item_offset", 28f, CVar.ARCHIVE | CVar.CLIENTONLY);
-
-        public static readonly CVarDef<bool> HudFpsCounterVisible =
-            CVarDef.Create("hud.fps_counter_visible", false, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /*
-         * NPCs
-         */
-
-        public static readonly CVarDef<int> NPCMaxUpdates =
-            CVarDef.Create("npc.max_updates", 128);
-
-        public static readonly CVarDef<bool> NPCEnabled = CVarDef.Create("npc.enabled", true);
-
-        /// <summary>
-        /// Should NPCs pathfind when steering. For debug purposes.
-        /// </summary>
-        public static readonly CVarDef<bool> NPCPathfinding = CVarDef.Create("npc.pathfinding", true);
-
-        /*
-         * Net
-         */
-
-        public static readonly CVarDef<float> NetAtmosDebugOverlayTickRate =
-            CVarDef.Create("net.atmosdbgoverlaytickrate", 3.0f);
-
-        public static readonly CVarDef<float> NetGasOverlayTickRate =
-            CVarDef.Create("net.gasoverlaytickrate", 3.0f);
-
-        public static readonly CVarDef<int> GasOverlayThresholds =
-            CVarDef.Create("net.gasoverlaythresholds", 20);
-
-        /*
-         * Admin
-         */
-
-        public static readonly CVarDef<bool> AdminAnnounceLogin =
-            CVarDef.Create("admin.announce_login", true, CVar.SERVERONLY);
-
-        public static readonly CVarDef<bool> AdminAnnounceLogout =
-            CVarDef.Create("admin.announce_logout", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The token used to authenticate with the admin API. Leave empty to disable the admin API. This is a secret! Do not share!
-        /// </summary>
-        public static readonly CVarDef<string> AdminApiToken =
-            CVarDef.Create("admin.api_token", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL);
-
-
-        /// <summary>
-        /// Should users be able to see their own notes? Admins will be able to see and set notes regardless
-        /// </summary>
-        public static readonly CVarDef<bool> SeeOwnNotes =
-            CVarDef.Create("admin.see_own_notes", false, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// Should the server play a quick sound to the active admins whenever a new player joins?
-        /// </summary>
-        public static readonly CVarDef<bool> AdminNewPlayerJoinSound =
-            CVarDef.Create("admin.new_player_join_sound", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The amount of days before the note starts fading. It will slowly lose opacity until it reaches stale. Set to 0 to disable.
-        /// </summary>
-        public static readonly CVarDef<double> NoteFreshDays =
-            CVarDef.Create("admin.note_fresh_days", 91.31055, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// The amount of days before the note completely fades, and can only be seen by admins if they press "see more notes". Set to 0
-        /// if you want the note to immediately disappear without fading.
-        /// </summary>
-        public static readonly CVarDef<double> NoteStaleDays =
-            CVarDef.Create("admin.note_stale_days", 365.2422, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// How much time does the user have to wait in seconds before confirming that they saw an admin message?
-        /// </summary>
-        public static readonly CVarDef<float> MessageWaitTime =
-            CVarDef.Create("admin.message_wait_time", 3f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// Default severity for role bans
-        /// </summary>
-        public static readonly CVarDef<string> RoleBanDefaultSeverity =
-            CVarDef.Create("admin.role_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Default severity for department bans
-        /// </summary>
-        public static readonly CVarDef<string> DepartmentBanDefaultSeverity =
-            CVarDef.Create("admin.department_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Default severity for server bans
-        /// </summary>
-        public static readonly CVarDef<string> ServerBanDefaultSeverity =
-            CVarDef.Create("admin.server_ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether a server ban will ban the player's ip by default.
-        /// </summary>
-        public static readonly CVarDef<bool> ServerBanIpBanDefault =
-            CVarDef.Create("admin.server_ban_ip_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether a server ban will ban the player's hardware id by default.
-        /// </summary>
-        public static readonly CVarDef<bool> ServerBanHwidBanDefault =
-            CVarDef.Create("admin.server_ban_hwid_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether to use details from last connection for ip/hwid in the BanPanel.
-        /// </summary>
-        public static readonly CVarDef<bool> ServerBanUseLastDetails =
-            CVarDef.Create("admin.server_ban_use_last_details", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether to erase a player's chat messages and their entity from the game when banned.
-        /// </summary>
-        public static readonly CVarDef<bool> ServerBanErasePlayer =
-            CVarDef.Create("admin.server_ban_erase_player", false, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        ///     Minimum players sharing a connection required to create an alert. -1 to disable the alert.
-        /// </summary>
-        /// <remarks>
-        ///     If you set this to 0 or 1 then it will alert on every connection, so probably don't do that.
-        /// </remarks>
-        public static readonly CVarDef<int> AdminAlertMinPlayersSharingConnection =
-            CVarDef.Create("admin.alert.min_players_sharing_connection", -1, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Minimum explosion intensity to create an admin alert message. -1 to disable the alert.
-        /// </summary>
-        public static readonly CVarDef<int> AdminAlertExplosionMinIntensity =
-            CVarDef.Create("admin.alert.explosion_min_intensity", 60, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Minimum particle accelerator strength to create an admin alert message.
-        /// </summary>
-        public static readonly CVarDef<int> AdminAlertParticleAcceleratorMinPowerState =
-            CVarDef.Create("admin.alert.particle_accelerator_min_power_state", 5, CVar.SERVERONLY); // strength 4
-
-        /// <summary>
-        ///     Should the ban details in admin channel include PII? (IP, HWID, etc)
-        /// </summary>
-        public static readonly CVarDef<bool> AdminShowPIIOnBan =
-            CVarDef.Create("admin.show_pii_onban", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If an admin joins a round by reading up or using the late join button, automatically
-        /// de-admin them.
-        /// </summary>
-        public static readonly CVarDef<bool> AdminDeadminOnJoin =
-            CVarDef.Create("admin.deadmin_on_join", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Overrides the name the client sees in ahelps. Set empty to disable.
-        /// </summary>
-        public static readonly CVarDef<string> AdminAhelpOverrideClientName =
-            CVarDef.Create("admin.override_adminname_in_client_ahelp", string.Empty, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The threshold of minutes to appear as a "new player" in the ahelp menu
-        ///     If 0, appearing as a new player is disabled.
-        /// </summary>
-        public static readonly CVarDef<int> NewPlayerThreshold =
-            CVarDef.Create("admin.new_player_threshold", 0, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// How long an admin client can go without any input before being considered AFK.
-        /// </summary>
-        public static readonly CVarDef<float> AdminAfkTime =
-            CVarDef.Create("admin.afk_time", 600f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If true, admins are able to connect even if
-        /// <see cref="SoftMaxPlayers"/> would otherwise block regular players.
-        /// </summary>
-        public static readonly CVarDef<bool> AdminBypassMaxPlayers =
-            CVarDef.Create("admin.bypass_max_players", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Determine if custom rank names are used.
-        /// If it is false, it'd use the actual rank name regardless of the individual's title.
-        /// </summary>
-        /// <seealso cref="AhelpAdminPrefix"/>
-        /// <seealso cref="AhelpAdminPrefixWebhook"/>
-        public static readonly CVarDef<bool> AdminUseCustomNamesAdminRank =
-            CVarDef.Create("admin.use_custom_names_admin_rank", true, CVar.SERVERONLY);
-
-        /*
-         * AHELP
-         */
-
-        /// <summary>
-        /// Ahelp rate limit values are accounted in periods of this size (seconds).
-        /// After the period has passed, the count resets.
-        /// </summary>
-        /// <seealso cref="AhelpRateLimitCount"/>
-        public static readonly CVarDef<float> AhelpRateLimitPeriod =
-            CVarDef.Create("ahelp.rate_limit_period", 2f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How many ahelp messages are allowed in a single rate limit period.
-        /// </summary>
-        /// <seealso cref="AhelpRateLimitPeriod"/>
-        public static readonly CVarDef<int> AhelpRateLimitCount =
-            CVarDef.Create("ahelp.rate_limit_count", 10, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Should the administrator's position be displayed in ahelp.
-        /// If it is is false, only the admin's ckey will be displayed in the ahelp.
-        /// </summary>
-        /// <seealso cref="AdminUseCustomNamesAdminRank"/>
-        /// <seealso cref="AhelpAdminPrefixWebhook"/>
-        public static readonly CVarDef<bool> AhelpAdminPrefix =
-            CVarDef.Create("ahelp.admin_prefix", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Should the administrator's position be displayed in the webhook.
-        /// If it is is false, only the admin's ckey will be displayed in webhook.
-        /// </summary>
-        /// <seealso cref="AdminUseCustomNamesAdminRank"/>
-        /// <seealso cref="AhelpAdminPrefix"/>
-        public static readonly CVarDef<bool> AhelpAdminPrefixWebhook =
-            CVarDef.Create("ahelp.admin_prefix_webhook", false, CVar.SERVERONLY);
-
-        /*
-         * Explosions
-         */
-
-        /// <summary>
-        ///     How many tiles the explosion system will process per tick
-        /// </summary>
-        /// <remarks>
-        ///     Setting this too high will put a large load on a single tick. Setting this too low will lead to
-        ///     unnaturally "slow" explosions.
-        /// </remarks>
-        public static readonly CVarDef<int> ExplosionTilesPerTick =
-            CVarDef.Create("explosion.tiles_per_tick", 100, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Upper limit on the size of an explosion before physics-throwing is disabled.
-        /// </summary>
-        /// <remarks>
-        ///     Large nukes tend to generate a lot of shrapnel that flies through space. This can functionally cripple
-        ///     the server TPS for a while after an explosion (or even during, if the explosion is processed
-        ///     incrementally.
-        /// </remarks>
-        public static readonly CVarDef<int> ExplosionThrowLimit =
-            CVarDef.Create("explosion.throw_limit", 400, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     If this is true, explosion processing will pause the NodeGroupSystem to pause updating.
-        /// </summary>
-        /// <remarks>
-        ///     This only takes effect if an explosion needs more than one tick to process (i.e., covers more than <see
-        ///     cref="ExplosionTilesPerTick"/> tiles). If this is not enabled, the node-system will rebuild its graph
-        ///     every tick as the explosion shreds the station, causing significant slowdown.
-        /// </remarks>
-        public static readonly CVarDef<bool> ExplosionSleepNodeSys =
-            CVarDef.Create("explosion.node_sleep", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Upper limit on the total area that an explosion can affect before the neighbor-finding algorithm just
-        ///     stops. Defaults to a 60-rile radius explosion.
-        /// </summary>
-        /// <remarks>
-        ///     Actual area may be larger, as it currently doesn't terminate mid neighbor finding. I.e., area may be that of a ~51 tile radius circle instead.
-        /// </remarks>
-        public static readonly CVarDef<int> ExplosionMaxArea =
-            CVarDef.Create("explosion.max_area", (int) 3.14f * 256 * 256, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Upper limit on the number of neighbor finding steps for the explosion system neighbor-finding algorithm.
-        /// </summary>
-        /// <remarks>
-        ///     Effectively places an upper limit on the range that any explosion can have. In the vast majority of
-        ///     instances, <see cref="ExplosionMaxArea"/> will likely be hit before this becomes a limiting factor.
-        /// </remarks>
-        public static readonly CVarDef<int> ExplosionMaxIterations =
-            CVarDef.Create("explosion.max_iterations", 500, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Max Time in milliseconds to spend processing explosions every tick.
-        /// </summary>
-        /// <remarks>
-        ///     This time limiting is not perfectly implemented. Firstly, a significant chunk of processing time happens
-        ///     due to queued entity deletions, which happen outside of the system update code. Secondly, explosion
-        ///     spawning cannot currently be interrupted & resumed, and may lead to exceeding this time limit.
-        /// </remarks>
-        public static readonly CVarDef<float> ExplosionMaxProcessingTime =
-            CVarDef.Create("explosion.max_tick_time", 7f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     If the explosion is being processed incrementally over several ticks, this variable determines whether
-        ///     updating the grid tiles should be done incrementally at the end of every tick, or only once the explosion has finished processing.
-        /// </summary>
-        /// <remarks>
-        ///     The most notable consequence of this change is that explosions will only punch a hole in the station &
-        ///     create a vacumm once they have finished exploding. So airlocks will no longer slam shut as the explosion
-        ///     expands, just suddenly at the end.
-        /// </remarks>
-        public static readonly CVarDef<bool> ExplosionIncrementalTileBreaking =
-            CVarDef.Create("explosion.incremental_tile", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     This determines for how many seconds an explosion should stay visible once it has finished expanding.
-        /// </summary>
-        public static readonly CVarDef<float> ExplosionPersistence =
-            CVarDef.Create("explosion.persistence", 1.0f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     If an explosion covers a larger area than this number, the damaging/processing will always start during
-        ///     the next tick, instead of during the same tick that the explosion was generated in.
-        /// </summary>
-        /// <remarks>
-        ///     This value can be used to ensure that for large explosions the area/tile calculation and the explosion
-        ///     processing/damaging occurs in separate ticks. This helps reduce the single-tick lag if both <see
-        ///     cref="ExplosionMaxProcessingTime"/> and <see cref="ExplosionTilesPerTick"/> are large. I.e., instead of
-        ///     a single tick explosion, this cvar allows for a configuration that results in a two-tick explosion,
-        ///     though most of the computational cost is still in the second tick.
-        /// </remarks>
-        public static readonly CVarDef<int> ExplosionSingleTickAreaLimit =
-            CVarDef.Create("explosion.single_tick_area_limit", 400, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether or not explosions are allowed to create tiles that have
-        ///     <see cref="ContentTileDefinition.MapAtmosphere"/> set to true.
-        /// </summary>
-        public static readonly CVarDef<bool> ExplosionCanCreateVacuum =
-            CVarDef.Create("explosion.can_create_vacuum", true, CVar.SERVERONLY);
-
-        /*
-         * Radiation
-         */
-
-        /// <summary>
-        ///     What is the smallest radiation dose in rads that can be received by object.
-        ///     Extremely small values may impact performance.
-        /// </summary>
-        public static readonly CVarDef<float> RadiationMinIntensity =
-            CVarDef.Create("radiation.min_intensity", 0.1f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Rate of radiation system update in seconds.
-        /// </summary>
-        public static readonly CVarDef<float> RadiationGridcastUpdateRate =
-            CVarDef.Create("radiation.gridcast.update_rate", 1.0f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     If both radiation source and receiver are placed on same grid, ignore grids between them.
-        ///     May get inaccurate result in some cases, but greatly boost performance in general.
-        /// </summary>
-        public static readonly CVarDef<bool> RadiationGridcastSimplifiedSameGrid =
-            CVarDef.Create("radiation.gridcast.simplified_same_grid", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Max distance that radiation ray can travel in meters.
-        /// </summary>
-        public static readonly CVarDef<float> RadiationGridcastMaxDistance =
-            CVarDef.Create("radiation.gridcast.max_distance", 50f, CVar.SERVERONLY);
-
-        /*
-         * Admin logs
-         */
-
-        /// <summary>
-        ///     Controls if admin logs are enabled. Highly recommended to shut this off for development.
-        /// </summary>
-        public static readonly CVarDef<bool> AdminLogsEnabled =
-            CVarDef.Create("adminlogs.enabled", true, CVar.SERVERONLY);
-
-        public static readonly CVarDef<float> AdminLogsQueueSendDelay =
-            CVarDef.Create("adminlogs.queue_send_delay_seconds", 5f, CVar.SERVERONLY);
-
-        // When to skip the waiting time to save in-round admin logs, if no admin logs are currently being saved
-        public static readonly CVarDef<int> AdminLogsQueueMax =
-            CVarDef.Create("adminlogs.queue_max", 5000, CVar.SERVERONLY);
-
-        // When to skip the waiting time to save pre-round admin logs, if no admin logs are currently being saved
-        public static readonly CVarDef<int> AdminLogsPreRoundQueueMax =
-            CVarDef.Create("adminlogs.pre_round_queue_max", 5000, CVar.SERVERONLY);
-
-        // When to start dropping logs
-        public static readonly CVarDef<int> AdminLogsDropThreshold =
-            CVarDef.Create("adminlogs.drop_threshold", 20000, CVar.SERVERONLY);
-
-        // How many logs to send to the client at once
-        public static readonly CVarDef<int> AdminLogsClientBatchSize =
-            CVarDef.Create("adminlogs.client_batch_size", 1000, CVar.SERVERONLY);
-
-        public static readonly CVarDef<string> AdminLogsServerName =
-            CVarDef.Create("adminlogs.server_name", "unknown", CVar.SERVERONLY);
-
-        /*
-         * Atmos
-         */
-
-        /// <summary>
-        ///     Whether gas differences will move entities.
-        /// </summary>
-        public static readonly CVarDef<bool> SpaceWind =
-            CVarDef.Create("atmos.space_wind", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects.
-        /// </summary>
-        public static readonly CVarDef<float> SpaceWindPressureForceDivisorThrow =
-            CVarDef.Create("atmos.space_wind_pressure_force_divisor_throw", 15f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects.
-        /// </summary>
-        public static readonly CVarDef<float> SpaceWindPressureForceDivisorPush =
-            CVarDef.Create("atmos.space_wind_pressure_force_divisor_push", 2500f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The maximum velocity (not force) that may be applied to an object by atmospheric pressure differences.
-        ///     Useful to prevent clipping through objects.
-        /// </summary>
-        public static readonly CVarDef<float> SpaceWindMaxVelocity =
-            CVarDef.Create("atmos.space_wind_max_velocity", 30f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The maximum force that may be applied to an object by pushing (i.e. not throwing) atmospheric pressure differences.
-        ///     A "throwing" atmospheric pressure difference ignores this limit, but not the max. velocity limit.
-        /// </summary>
-        public static readonly CVarDef<float> SpaceWindMaxPushForce =
-            CVarDef.Create("atmos.space_wind_max_push_force", 20f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether monstermos tile equalization is enabled.
-        /// </summary>
-        public static readonly CVarDef<bool> MonstermosEqualization =
-            CVarDef.Create("atmos.monstermos_equalization", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether monstermos explosive depressurization is enabled.
-        ///     Needs <see cref="MonstermosEqualization"/> to be enabled to work.
-        /// </summary>
-        public static readonly CVarDef<bool> MonstermosDepressurization =
-            CVarDef.Create("atmos.monstermos_depressurization", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether monstermos explosive depressurization will rip tiles..
-        ///     Needs <see cref="MonstermosEqualization"/> and <see cref="MonstermosDepressurization"/> to be enabled to work.
-		///     WARNING: This cvar causes MAJOR contrast issues, and usually tends to make any spaced scene look very cluttered.
-		///     This not only usually looks strange, but can also reduce playability for people with impaired vision. Please think twice before enabling this on your server.
-		///     Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing.
-        /// </summary>
-        public static readonly CVarDef<bool> MonstermosRipTiles =
-            CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether explosive depressurization will cause the grid to gain an impulse.
-        ///     Needs <see cref="MonstermosEqualization"/> and <see cref="MonstermosDepressurization"/> to be enabled to work.
-        /// </summary>
-        public static readonly CVarDef<bool> AtmosGridImpulse =
-            CVarDef.Create("atmos.grid_impulse", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     What fraction of air from a spaced tile escapes every tick.
-        ///     1.0 for instant spacing, 0.2 means 20% of remaining air lost each time
-        /// </summary>
-        public static readonly CVarDef<float> AtmosSpacingEscapeRatio =
-            CVarDef.Create("atmos.mmos_spacing_speed", 0.15f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Minimum amount of air allowed on a spaced tile before it is reset to 0 immediately in kPa
-        ///     Since the decay due to SpacingEscapeRatio follows a curve, it would never reach 0.0 exactly
-        ///     unless we truncate it somewhere.
-        /// </summary>
-        public static readonly CVarDef<float> AtmosSpacingMinGas =
-            CVarDef.Create("atmos.mmos_min_gas", 2.0f, CVar.SERVERONLY);
+namespace Content.Shared.CCVar;
 
-        /// <summary>
-        ///     How much wind can go through a single tile before that tile doesn't depressurize itself
-        ///     (I.e spacing is limited in large rooms heading into smaller spaces)
-        /// </summary>
-        public static readonly CVarDef<float> AtmosSpacingMaxWind =
-            CVarDef.Create("atmos.mmos_max_wind", 500f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether atmos superconduction is enabled.
-        /// </summary>
-        /// <remarks> Disabled by default, superconduction is awful. </remarks>
-        public static readonly CVarDef<bool> Superconduction =
-            CVarDef.Create("atmos.superconduction", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Heat loss per tile due to radiation at 20 degC, in W.
-        /// </summary>
-        public static readonly CVarDef<float> SuperconductionTileLoss =
-            CVarDef.Create("atmos.superconduction_tile_loss", 30f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether excited groups will be processed and created.
-        /// </summary>
-        public static readonly CVarDef<bool> ExcitedGroups =
-            CVarDef.Create("atmos.excited_groups", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether all tiles in an excited group will clear themselves once being exposed to space.
-        ///     Similar to <see cref="MonstermosDepressurization"/>, without none of the tile ripping or
-        ///     things being thrown around very violently.
-        ///     Needs <see cref="ExcitedGroups"/> to be enabled to work.
-        /// </summary>
-        public static readonly CVarDef<bool> ExcitedGroupsSpaceIsAllConsuming =
-            CVarDef.Create("atmos.excited_groups_space_is_all_consuming", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Maximum time in milliseconds that atmos can take processing.
-        /// </summary>
-        public static readonly CVarDef<float> AtmosMaxProcessTime =
-            CVarDef.Create("atmos.max_process_time", 3f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Atmos tickrate in TPS. Atmos processing will happen every 1/TPS seconds.
-        /// </summary>
-        public static readonly CVarDef<float> AtmosTickRate =
-            CVarDef.Create("atmos.tickrate", 15f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Scale factor for how fast things happen in our atmosphere
-        ///     simulation compared to real life. 1x means pumps run at 1x
-        ///     speed. Players typically expect things to happen faster
-        ///     in-game.
-        /// </summary>
-        public static readonly CVarDef<float> AtmosSpeedup =
-            CVarDef.Create("atmos.speedup", 8f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Like atmos.speedup, but only for gas and reaction heat values. 64x means
-        ///     gases heat up and cool down 64x faster than real life.
-        /// </summary>
-        public static readonly CVarDef<float> AtmosHeatScale =
-            CVarDef.Create("atmos.heat_scale", 8f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Maximum explosion radius for explosions caused by bursting a gas tank ("max caps").
-        /// Setting this to zero disables the explosion but still allows the tank to burst and leak.
-        /// </summary>
-        public static readonly CVarDef<float> AtmosTankFragment =
-            CVarDef.Create("atmos.max_explosion_range", 26f, CVar.SERVERONLY);
-
-        /*
-         * MIDI instruments
-         */
-
-        public static readonly CVarDef<int> MaxMidiEventsPerSecond =
-            CVarDef.Create("midi.max_events_per_second", 1000, CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<int> MaxMidiEventsPerBatch =
-            CVarDef.Create("midi.max_events_per_batch", 60, CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<int> MaxMidiBatchesDropped =
-            CVarDef.Create("midi.max_batches_dropped", 1, CVar.SERVERONLY);
-
-        public static readonly CVarDef<int> MaxMidiLaggedBatches =
-            CVarDef.Create("midi.max_lagged_batches", 8, CVar.SERVERONLY);
-
-        /*
-         * Holidays
-         */
-
-        public static readonly CVarDef<bool> HolidaysEnabled = CVarDef.Create("holidays.enabled", true, CVar.SERVERONLY);
-
-        /*
-         * Branding stuff
-         */
-
-        public static readonly CVarDef<bool> BrandingSteam = CVarDef.Create("branding.steam", false, CVar.CLIENTONLY);
-
-        /*
-         * OOC
-         */
-
-        public static readonly CVarDef<bool> OocEnabled = CVarDef.Create("ooc.enabled", true, CVar.NOTIFY | CVar.REPLICATED);
-
-        public static readonly CVarDef<bool> AdminOocEnabled =
-            CVarDef.Create("ooc.enabled_admin", true, CVar.NOTIFY);
-
-        /// <summary>
-        /// If true, whenever OOC is disabled the Discord OOC relay will also be disabled.
-        /// </summary>
-        public static readonly CVarDef<bool> DisablingOOCDisablesRelay = CVarDef.Create("ooc.disabling_ooc_disables_relay", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not OOC chat should be enabled during a round.
-        /// </summary>
-        public static readonly CVarDef<bool> OocEnableDuringRound =
-            CVarDef.Create("ooc.enable_during_round", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<bool> ShowOocPatronColor =
-            CVarDef.Create("ooc.show_ooc_patron_color", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.CLIENT);
-
-        /*
-         * LOOC
-         */
-
-        public static readonly CVarDef<bool> LoocEnabled = CVarDef.Create("looc.enabled", true, CVar.NOTIFY | CVar.REPLICATED);
-
-        public static readonly CVarDef<bool> AdminLoocEnabled =
-            CVarDef.Create("looc.enabled_admin", true, CVar.NOTIFY);
-
-        /// <summary>
-        /// True: Dead players can use LOOC
-        /// False: Dead player LOOC gets redirected to dead chat
-        /// </summary>
-        public static readonly CVarDef<bool> DeadLoocEnabled = CVarDef.Create("looc.enabled_dead", false, CVar.NOTIFY | CVar.REPLICATED);
-
-        /// <summary>
-        /// True: Crit players can use LOOC
-        /// False: Crit player LOOC gets redirected to dead chat
-        /// </summary>
-        public static readonly CVarDef<bool> CritLoocEnabled = CVarDef.Create("looc.enabled_crit", false, CVar.NOTIFY | CVar.REPLICATED);
-
-        /*
-         * Entity Menu Grouping Types
-         */
-        public static readonly CVarDef<int> EntityMenuGroupingType = CVarDef.Create("entity_menu", 0, CVar.CLIENTONLY);
-
-        /*
-         * Whitelist
-         */
-
-        /// <summary>
-        ///     Controls whether the server will deny any players that are not whitelisted in the DB.
-        /// </summary>
-        public static readonly CVarDef<bool> WhitelistEnabled =
-            CVarDef.Create("whitelist.enabled", false, CVar.SERVERONLY);
-        /// <summary>
-        ///     Specifies the whitelist prototypes to be used by the server. This should be a comma-separated list of prototypes.
-        ///     If a whitelists conditions to be active fail (for example player count), the next whitelist will be used instead. If no whitelist is valid, the player will be allowed to connect.
-        /// </summary>
-        public static readonly CVarDef<string> WhitelistPrototypeList =
-            CVarDef.Create("whitelist.prototype_list", "basicWhitelist", CVar.SERVERONLY);
-
-        /*
-         * VOTE
-         */
-
-        /// <summary>
-        ///     Allows enabling/disabling player-started votes for ultimate authority
-        /// </summary>
-        public static readonly CVarDef<bool> VoteEnabled =
-            CVarDef.Create("vote.enabled", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     See vote.enabled, but specific to restart votes
-        /// </summary>
-        public static readonly CVarDef<bool> VoteRestartEnabled =
-            CVarDef.Create("vote.restart_enabled", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Config for when the restart vote should be allowed to be called regardless with less than this amount of players.
-        /// </summary>
-        public static readonly CVarDef<int> VoteRestartMaxPlayers =
-            CVarDef.Create("vote.restart_max_players", 20, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Config for when the restart vote should be allowed to be called based on percentage of ghosts.
-        ///
-        public static readonly CVarDef<int> VoteRestartGhostPercentage =
-            CVarDef.Create("vote.restart_ghost_percentage", 55, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     See vote.enabled, but specific to preset votes
-        /// </summary>
-        public static readonly CVarDef<bool> VotePresetEnabled =
-            CVarDef.Create("vote.preset_enabled", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     See vote.enabled, but specific to map votes
-        /// </summary>
-        public static readonly CVarDef<bool> VoteMapEnabled =
-            CVarDef.Create("vote.map_enabled", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The required ratio of the server that must agree for a restart round vote to go through.
-        /// </summary>
-        public static readonly CVarDef<float> VoteRestartRequiredRatio =
-            CVarDef.Create("vote.restart_required_ratio", 0.85f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not to prevent the restart vote from having any effect when there is an online admin
-        /// </summary>
-        public static readonly CVarDef<bool> VoteRestartNotAllowedWhenAdminOnline =
-            CVarDef.Create("vote.restart_not_allowed_when_admin_online", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The delay which two votes of the same type are allowed to be made by separate people, in seconds.
-        /// </summary>
-        public static readonly CVarDef<float> VoteSameTypeTimeout =
-            CVarDef.Create("vote.same_type_timeout", 240f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Sets the duration of the map vote timer.
-        /// </summary>
-        public static readonly CVarDef<int>
-            VoteTimerMap = CVarDef.Create("vote.timermap", 90, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Sets the duration of the restart vote timer.
-        /// </summary>
-        public static readonly CVarDef<int>
-            VoteTimerRestart = CVarDef.Create("vote.timerrestart", 60, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Sets the duration of the gamemode/preset vote timer.
-        /// </summary>
-        public static readonly CVarDef<int>
-            VoteTimerPreset = CVarDef.Create("vote.timerpreset", 30, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Sets the duration of the map vote timer when ALONE.
-        /// </summary>
-        public static readonly CVarDef<int>
-            VoteTimerAlone = CVarDef.Create("vote.timeralone", 10, CVar.SERVERONLY);
-
-        /*
-         * VOTEKICK
-         */
-
-        /// <summary>
-        ///     Allows enabling/disabling player-started votekick for ultimate authority
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickEnabled =
-            CVarDef.Create("votekick.enabled", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Config for when the votekick should be allowed to be called based on number of eligible voters.
-        /// </summary>
-        public static readonly CVarDef<int> VotekickEligibleNumberRequirement =
-            CVarDef.Create("votekick.eligible_number", 5, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether a votekick initiator must be a ghost or not.
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickInitiatorGhostRequirement =
-            CVarDef.Create("votekick.initiator_ghost_requirement", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Should the initiator be whitelisted to initiate a votekick?
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickInitiatorWhitelistedRequirement =
-            CVarDef.Create("votekick.initiator_whitelist_requirement", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Should the initiator be able to start a votekick if they are bellow the votekick.voter_playtime requirement?
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickInitiatorTimeRequirement =
-            CVarDef.Create("votekick.initiator_time_requirement", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether a votekick voter must be a ghost or not.
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickVoterGhostRequirement =
-            CVarDef.Create("votekick.voter_ghost_requirement", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Config for how many hours playtime a player must have to be able to vote on a votekick.
-        /// </summary>
-        public static readonly CVarDef<int> VotekickEligibleVoterPlaytime =
-            CVarDef.Create("votekick.voter_playtime", 100, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Config for how many seconds a player must have been dead to initiate a votekick / be able to vote on a votekick.
-        /// </summary>
-        public static readonly CVarDef<int> VotekickEligibleVoterDeathtime =
-            CVarDef.Create("votekick.voter_deathtime", 30, CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        ///     The required ratio of eligible voters that must agree for a votekick to go through.
-        /// </summary>
-        public static readonly CVarDef<float> VotekickRequiredRatio =
-            CVarDef.Create("votekick.required_ratio", 0.6f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not to prevent the votekick from having any effect when there is an online admin.
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickNotAllowedWhenAdminOnline =
-            CVarDef.Create("votekick.not_allowed_when_admin_online", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The delay for which two votekicks are allowed to be made by separate people, in seconds.
-        /// </summary>
-        public static readonly CVarDef<float> VotekickTimeout =
-            CVarDef.Create("votekick.timeout", 120f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Sets the duration of the votekick vote timer.
-        /// </summary>
-        public static readonly CVarDef<int>
-            VotekickTimer = CVarDef.Create("votekick.timer", 60, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Config for how many hours playtime a player must have to get protection from the Raider votekick type when playing as an antag.
-        /// </summary>
-        public static readonly CVarDef<int> VotekickAntagRaiderProtection =
-            CVarDef.Create("votekick.antag_raider_protection", 10, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Default severity for votekick bans
-        /// </summary>
-        public static readonly CVarDef<string> VotekickBanDefaultSeverity =
-            CVarDef.Create("votekick.ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        ///     Duration of a ban caused by a votekick (in minutes).
-        /// </summary>
-        public static readonly CVarDef<int> VotekickBanDuration =
-            CVarDef.Create("votekick.ban_duration", 180, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Whether the ghost requirement settings for votekicks should be ignored for the lobby. 
-        /// </summary>
-        public static readonly CVarDef<bool> VotekickIgnoreGhostReqInLobby =
-            CVarDef.Create("votekick.ignore_ghost_req_in_lobby", true, CVar.SERVERONLY);
-
-        /*
-         * BAN
-         */
-
-        public static readonly CVarDef<bool> BanHardwareIds =
-            CVarDef.Create("ban.hardware_ids", true, CVar.SERVERONLY);
-
-        /*
-         * Procgen
-         */
-
-        /// <summary>
-        /// Should we pre-load all of the procgen atlasses.
-        /// </summary>
-        public static readonly CVarDef<bool> ProcgenPreload =
-            CVarDef.Create("procgen.preload", true, CVar.SERVERONLY);
-
-        /*
-         * Shuttles
-         */
-
-        // Look this is technically eye behavior but its main impact is shuttles so I just dumped it here.
-        /// <summary>
-        /// If true then the camera will match the grid / map and is unchangeable.
-        /// - When traversing grids it will snap to 0 degrees rotation.
-        /// False means the player has control over the camera rotation.
-        /// - When traversing grids it will snap to the nearest cardinal which will generally be imperceptible.
-        /// </summary>
-        public static readonly CVarDef<bool> CameraRotationLocked =
-            CVarDef.Create("shuttle.camera_rotation_locked", false, CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether the arrivals terminal should be on a planet map.
-        /// </summary>
-        public static readonly CVarDef<bool> ArrivalsPlanet =
-            CVarDef.Create("shuttle.arrivals_planet", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether the arrivals shuttle is enabled.
-        /// </summary>
-        public static readonly CVarDef<bool> ArrivalsShuttles =
-            CVarDef.Create("shuttle.arrivals", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The map to use for the arrivals station.
-        /// </summary>
-        public static readonly CVarDef<string> ArrivalsMap =
-            CVarDef.Create("shuttle.arrivals_map", "/Maps/Misc/terminal.yml", CVar.SERVERONLY);
-
-        /// <summary>
-        /// Cooldown between arrivals departures. This should be longer than the FTL time or it will double cycle.
-        /// </summary>
-        public static readonly CVarDef<float> ArrivalsCooldown =
-            CVarDef.Create("shuttle.arrivals_cooldown", 50f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Are players allowed to return on the arrivals shuttle.
-        /// </summary>
-        public static readonly CVarDef<bool> ArrivalsReturns =
-            CVarDef.Create("shuttle.arrivals_returns", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Should all players who spawn at arrivals have godmode until they leave the map?
-        /// </summary>
-        public static readonly CVarDef<bool> GodmodeArrivals =
-            CVarDef.Create("shuttle.godmode_arrivals", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If a grid is split then hide any smaller ones under this mass (kg) from the map.
-        /// This is useful to avoid split grids spamming out labels.
-        /// </summary>
-        public static readonly CVarDef<int> HideSplitGridsUnder =
-            CVarDef.Create("shuttle.hide_split_grids_under", 30, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether to automatically spawn escape shuttles.
-        /// </summary>
-        public static readonly CVarDef<bool> GridFill =
-            CVarDef.Create("shuttle.grid_fill", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether to automatically preloading grids by GridPreloaderSystem
-        /// </summary>
-        public static readonly CVarDef<bool> PreloadGrids =
-            CVarDef.Create("shuttle.preload_grids", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How long the warmup time before FTL start should be.
-        /// </summary>
-        public static readonly CVarDef<float> FTLStartupTime =
-            CVarDef.Create("shuttle.startup_time", 5.5f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How long a shuttle spends in FTL.
-        /// </summary>
-        public static readonly CVarDef<float> FTLTravelTime =
-            CVarDef.Create("shuttle.travel_time", 20f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How long the final stage of FTL before arrival should be.
-        /// </summary>
-        public static readonly CVarDef<float> FTLArrivalTime =
-            CVarDef.Create("shuttle.arrival_time", 5f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How much time needs to pass before a shuttle can FTL again.
-        /// </summary>
-        public static readonly CVarDef<float> FTLCooldown =
-            CVarDef.Create("shuttle.cooldown", 10f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The maximum <see cref="PhysicsComponent.Mass"/> a grid can have before it becomes unable to FTL.
-        /// Any value equal to or less than zero will disable this check.
-        /// </summary>
-        public static readonly CVarDef<float> FTLMassLimit =
-            CVarDef.Create("shuttle.mass_limit", 300f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How long to knock down entities for if they aren't buckled when FTL starts and stops.
-        /// </summary>
-        public static readonly CVarDef<float> HyperspaceKnockdownTime =
-            CVarDef.Create("shuttle.hyperspace_knockdown_time", 5f, CVar.SERVERONLY);
-
-        /*
-         * Emergency
-         */
-
-        /// <summary>
-        /// Is the emergency shuttle allowed to be early launched.
-        /// </summary>
-        public static readonly CVarDef<bool> EmergencyEarlyLaunchAllowed =
-            CVarDef.Create("shuttle.emergency_early_launch_allowed", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How long the emergency shuttle remains docked with the station, in seconds.
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyShuttleDockTime =
-            CVarDef.Create("shuttle.emergency_dock_time", 180f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If the emergency shuttle can't dock at a priority port, the dock time will be multiplied with this value.
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyShuttleDockTimeMultiplierOtherDock =
-            CVarDef.Create("shuttle.emergency_dock_time_multiplier_other_dock", 1.6667f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// If the emergency shuttle can't dock at all, the dock time will be multiplied with this value.
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyShuttleDockTimeMultiplierNoDock =
-            CVarDef.Create("shuttle.emergency_dock_time_multiplier_no_dock", 2f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How long after the console is authorized for the shuttle to early launch.
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyShuttleAuthorizeTime =
-            CVarDef.Create("shuttle.emergency_authorize_time", 10f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The minimum time for the emergency shuttle to arrive at centcomm.
-        /// Actual minimum travel time cannot be less than <see cref="ShuttleSystem.DefaultArrivalTime"/>
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyShuttleMinTransitTime =
-            CVarDef.Create("shuttle.emergency_transit_time_min", 60f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The maximum time for the emergency shuttle to arrive at centcomm.
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyShuttleMaxTransitTime =
-            CVarDef.Create("shuttle.emergency_transit_time_max", 180f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether the emergency shuttle is enabled or should the round just end.
-        /// </summary>
-        public static readonly CVarDef<bool> EmergencyShuttleEnabled =
-            CVarDef.Create("shuttle.emergency", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The percentage of time passed from the initial call to when the shuttle can no longer be recalled.
-        ///     ex. a call time of 10min and turning point of 0.5 means the shuttle cannot be recalled after 5 minutes.
-        /// </summary>
-        public static readonly CVarDef<float> EmergencyRecallTurningPoint =
-            CVarDef.Create("shuttle.recall_turning_point", 0.5f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Time in minutes after round start to auto-call the shuttle. Set to zero to disable.
-        /// </summary>
-        public static readonly CVarDef<int> EmergencyShuttleAutoCallTime =
-            CVarDef.Create("shuttle.auto_call_time", 90, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Time in minutes after the round was extended (by recalling the shuttle) to call
-        ///     the shuttle again.
-        /// </summary>
-        public static readonly CVarDef<int> EmergencyShuttleAutoCallExtensionTime =
-            CVarDef.Create("shuttle.auto_call_extension_time", 45, CVar.SERVERONLY);
-
-        /*
-         * Crew Manifests
-         */
-
-        /// <summary>
-        ///     Setting this allows a crew manifest to be opened from any window
-        ///     that has a crew manifest button, and sends the correct message.
-        ///     If this is false, only in-game entities will allow you to see
-        ///     the crew manifest, if the functionality is coded in.
-        ///     Having administrator priveledge ignores this, but will still
-        ///     hide the button in UI windows.
-        /// </summary>
-        public static readonly CVarDef<bool> CrewManifestWithoutEntity =
-            CVarDef.Create("crewmanifest.no_entity", true, CVar.REPLICATED);
-
-        /// <summary>
-        ///     Setting this allows the crew manifest to be viewed from 'unsecure'
-        ///     entities, such as the PDA.
-        /// </summary>
-        public static readonly CVarDef<bool> CrewManifestUnsecure =
-            CVarDef.Create("crewmanifest.unsecure", true, CVar.REPLICATED);
-
-        /*
-         * Biomass
-         */
-
-        /// <summary>
-        ///     Enabled: Cloning has 70% cost and reclaimer will refuse to reclaim corpses with souls. (For LRP).
-        ///     Disabled: Cloning has full biomass cost and reclaimer can reclaim corpses with souls. (Playtested and balanced for MRP+).
-        /// </summary>
-        public static readonly CVarDef<bool> BiomassEasyMode =
-            CVarDef.Create("biomass.easy_mode", true, CVar.SERVERONLY);
-
-        /*
-         * Anomaly
-         */
-
-        /// <summary>
-        ///     A scale factor applied to a grid's bounds when trying to find a spot to randomly generate an anomaly.
-        /// </summary>
-        public static readonly CVarDef<float> AnomalyGenerationGridBoundsScale =
-            CVarDef.Create("anomaly.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY);
-
-        /*
-         * VIEWPORT
-         */
-
-        public static readonly CVarDef<bool> ViewportStretch =
-            CVarDef.Create("viewport.stretch", true, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<int> ViewportFixedScaleFactor =
-            CVarDef.Create("viewport.fixed_scale_factor", 2, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        // This default is basically specifically chosen so fullscreen/maximized 1080p hits a 2x snap and does NN.
-        public static readonly CVarDef<int> ViewportSnapToleranceMargin =
-            CVarDef.Create("viewport.snap_tolerance_margin", 64, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<int> ViewportSnapToleranceClip =
-            CVarDef.Create("viewport.snap_tolerance_clip", 32, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<bool> ViewportScaleRender =
-            CVarDef.Create("viewport.scale_render", true, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<int> ViewportMinimumWidth =
-            CVarDef.Create("viewport.minimum_width", 15, CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<int> ViewportMaximumWidth =
-            CVarDef.Create("viewport.maximum_width", 21, CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<int> ViewportWidth =
-            CVarDef.Create("viewport.width", 21, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<bool> ViewportVerticalFit =
-            CVarDef.Create("viewport.vertical_fit", true, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /*
-         * UI
-         */
-
-        public static readonly CVarDef<string> UILayout =
-            CVarDef.Create("ui.layout", "Default", CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<string> DefaultScreenChatSize =
-            CVarDef.Create("ui.default_chat_size", "", CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<string> SeparatedScreenChatSize =
-            CVarDef.Create("ui.separated_chat_size", "0.6,0", CVar.CLIENTONLY | CVar.ARCHIVE);
-
-
-        /*
-        * Accessibility
-        */
-
-        /// <summary>
-        /// Chat window opacity slider, controlling the alpha of the chat window background.
-        /// Goes from to 0 (completely transparent) to 1 (completely opaque)
-        /// </summary>
-        public static readonly CVarDef<float> ChatWindowOpacity =
-            CVarDef.Create("accessibility.chat_window_transparency", 0.85f, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /// <summary>
-        /// Toggle for visual effects that may potentially cause motion sickness.
-        /// Where reasonable, effects affected by this CVar should use an alternate effect.
-        /// Please do not use this CVar as a bandaid for effects that could otherwise be made accessible without issue.
-        /// </summary>
-        public static readonly CVarDef<bool> ReducedMotion =
-            CVarDef.Create("accessibility.reduced_motion", false, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        public static readonly CVarDef<bool> ChatEnableColorName =
-            CVarDef.Create("accessibility.enable_color_name", true, CVar.CLIENTONLY | CVar.ARCHIVE, "Toggles displaying names with individual colors.");
-
-        /// <summary>
-        /// Screen shake intensity slider, controlling the intensity of the CameraRecoilSystem.
-        /// Goes from 0 (no recoil at all) to 1 (regular amounts of recoil)
-        /// </summary>
-        public static readonly CVarDef<float> ScreenShakeIntensity =
-            CVarDef.Create("accessibility.screen_shake_intensity", 1f, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /// <summary>
-        /// A generic toggle for various visual effects that are color sensitive.
-        /// As of 2/16/24, only applies to progress bar colors.
-        /// </summary>
-        public static readonly CVarDef<bool> AccessibilityColorblindFriendly =
-            CVarDef.Create("accessibility.colorblind_friendly", false, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /*
-         * CHAT
-         */
-
-        /// <summary>
-        /// Chat rate limit values are accounted in periods of this size (seconds).
-        /// After the period has passed, the count resets.
-        /// </summary>
-        /// <seealso cref="ChatRateLimitCount"/>
-        public static readonly CVarDef<float> ChatRateLimitPeriod =
-            CVarDef.Create("chat.rate_limit_period", 2f, CVar.SERVERONLY);
-
-        /// <summary>
-        /// How many chat messages are allowed in a single rate limit period.
-        /// </summary>
-        /// <remarks>
-        /// The total rate limit throughput per second is effectively
-        /// <see cref="ChatRateLimitCount"/> divided by <see cref="ChatRateLimitCount"/>.
-        /// </remarks>
-        /// <seealso cref="ChatRateLimitPeriod"/>
-        public static readonly CVarDef<int> ChatRateLimitCount =
-            CVarDef.Create("chat.rate_limit_count", 10, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Minimum delay (in seconds) between notifying admins about chat message rate limit violations.
-        /// A negative value disables admin announcements.
-        /// </summary>
-        public static readonly CVarDef<int> ChatRateLimitAnnounceAdminsDelay =
-            CVarDef.Create("chat.rate_limit_announce_admins_delay", 15, CVar.SERVERONLY);
-
-        public static readonly CVarDef<int> ChatMaxMessageLength =
-            CVarDef.Create("chat.max_message_length", 1000, CVar.SERVER | CVar.REPLICATED);
-
-        public static readonly CVarDef<int> ChatMaxAnnouncementLength =
-            CVarDef.Create("chat.max_announcement_length", 256, CVar.SERVER | CVar.REPLICATED);
-
-        public static readonly CVarDef<bool> ChatSanitizerEnabled =
-            CVarDef.Create("chat.chat_sanitizer_enabled", true, CVar.SERVERONLY);
-
-        public static readonly CVarDef<bool> ChatShowTypingIndicator =
-            CVarDef.Create("chat.show_typing_indicator", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER);
-
-        public static readonly CVarDef<bool> ChatEnableFancyBubbles =
-            CVarDef.Create("chat.enable_fancy_bubbles", true, CVar.CLIENTONLY | CVar.ARCHIVE, "Toggles displaying fancy speech bubbles, which display the speaking character's name.");
-
-        public static readonly CVarDef<bool> ChatFancyNameBackground =
-            CVarDef.Create("chat.fancy_name_background", false, CVar.CLIENTONLY | CVar.ARCHIVE, "Toggles displaying a background under the speaking character's name.");
-
-        /// <summary>
-        /// A message broadcast to each player that joins the lobby.
-        /// May be changed by admins ingame through use of the "set-motd" command.
-        /// In this case the new value, if not empty, is broadcast to all connected players and saved between rounds.
-        /// May be requested by any player through use of the "get-motd" command.
-        /// </summary>
-        public static readonly CVarDef<string> MOTD =
-            CVarDef.Create("chat.motd", "", CVar.SERVER | CVar.SERVERONLY | CVar.ARCHIVE, "A message broadcast to each player that joins the lobby.");
-
-        /*
-         * AFK
-         */
-
-        /// <summary>
-        /// How long a client can go without any input before being considered AFK.
-        /// </summary>
-        public static readonly CVarDef<float> AfkTime =
-            CVarDef.Create("afk.time", 60f, CVar.SERVERONLY);
-
-        /*
-         * IC
-         */
-
-        /// <summary>
-        /// Restricts IC character names to alphanumeric chars.
-        /// </summary>
-        public static readonly CVarDef<bool> RestrictedNames =
-            CVarDef.Create("ic.restricted_names", true, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Allows flavor text (character descriptions)
-        /// </summary>
-        public static readonly CVarDef<bool> FlavorText =
-            CVarDef.Create("ic.flavor_text", false, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Adds a period at the end of a sentence if the sentence ends in a letter.
-        /// </summary>
-        public static readonly CVarDef<bool> ChatPunctuation =
-            CVarDef.Create("ic.punctuation", false, CVar.SERVER);
-
-        /// <summary>
-        /// Enables automatically forcing IC name rules. Uppercases the first letter of the first and last words of the name
-        /// </summary>
-        public static readonly CVarDef<bool> ICNameCase =
-            CVarDef.Create("ic.name_case", true, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Whether or not players' characters are randomly generated rather than using their selected characters in the creator.
-        /// </summary>
-        public static readonly CVarDef<bool> ICRandomCharacters =
-            CVarDef.Create("ic.random_characters", false, CVar.SERVER);
-
-        /// <summary>
-        /// A weighted random prototype used to determine the species selected for random characters.
-        /// </summary>
-        public static readonly CVarDef<string> ICRandomSpeciesWeights =
-            CVarDef.Create("ic.random_species_weights", "SpeciesWeights", CVar.SERVER);
-
-        /// <summary>
-        /// Control displaying SSD indicators near players
-        /// </summary>
-        public static readonly CVarDef<bool> ICShowSSDIndicator =
-            CVarDef.Create("ic.show_ssd_indicator", true, CVar.CLIENTONLY);
-
-        /*
-         * Salvage
-         */
-
-        /// <summary>
-        /// Duration for missions
-        /// </summary>
-        public static readonly CVarDef<float>
-            SalvageExpeditionDuration = CVarDef.Create("salvage.expedition_duration", 660f, CVar.REPLICATED);
-
-        /// <summary>
-        /// Cooldown for missions.
-        /// </summary>
-        public static readonly CVarDef<float>
-            SalvageExpeditionCooldown = CVarDef.Create("salvage.expedition_cooldown", 780f, CVar.REPLICATED);
-
-        /*
-         * Flavor
-         */
-
-        /// <summary>
-        ///     Flavor limit. This is to ensure that having a large mass of flavors in
-        ///     some food object won't spam a user with flavors.
-        /// </summary>
-        public static readonly CVarDef<int>
-            FlavorLimit = CVarDef.Create("flavor.limit", 10, CVar.SERVERONLY);
-
-        /*
-         * Mapping
-         */
-
-        /// <summary>
-        ///     Will mapping mode enable autosaves when it's activated?
-        /// </summary>
-        public static readonly CVarDef<bool>
-            AutosaveEnabled = CVarDef.Create("mapping.autosave", true, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Autosave interval in seconds.
-        /// </summary>
-        public static readonly CVarDef<float>
-            AutosaveInterval = CVarDef.Create("mapping.autosave_interval", 600f, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     Directory in server user data to save to. Saves will be inside folders in this directory.
-        /// </summary>
-        public static readonly CVarDef<string>
-            AutosaveDirectory = CVarDef.Create("mapping.autosave_dir", "Autosaves", CVar.SERVERONLY);
-
-
-        /*
-         * Rules
-         */
-
-        /// <summary>
-        /// Time that players have to wait before rules can be accepted.
-        /// </summary>
-        public static readonly CVarDef<float> RulesWaitTime =
-            CVarDef.Create("rules.time", 45f, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Don't show rules to localhost/loopback interface.
-        /// </summary>
-        public static readonly CVarDef<bool> RulesExemptLocal =
-            CVarDef.Create("rules.exempt_local", true, CVar.SERVERONLY);
-
-
-        /*
-         * Autogeneration
-         */
-
-        public static readonly CVarDef<string> DestinationFile =
-            CVarDef.Create("autogen.destination_file", "", CVar.SERVER | CVar.SERVERONLY);
-
-        /*
-         * Network Resource Manager
-         */
-
-        /// <summary>
-        /// Whether uploaded files will be stored in the server's database.
-        /// This is useful to keep "logs" on what files admins have uploaded in the past.
-        /// </summary>
-        public static readonly CVarDef<bool> ResourceUploadingStoreEnabled =
-            CVarDef.Create("netres.store_enabled", true, CVar.SERVER | CVar.SERVERONLY);
-
-        /// <summary>
-        /// Numbers of days before stored uploaded files are deleted. Set to zero or negative to disable auto-delete.
-        /// This is useful to free some space automatically. Auto-deletion runs only on server boot.
-        /// </summary>
-        public static readonly CVarDef<int> ResourceUploadingStoreDeletionDays =
-            CVarDef.Create("netres.store_deletion_days", 30, CVar.SERVER | CVar.SERVERONLY);
-
-        /*
-         * Controls
-         */
-
-        /// <summary>
-        /// Deadzone for drag-drop interactions.
-        /// </summary>
-        public static readonly CVarDef<float> DragDropDeadZone =
-            CVarDef.Create("control.drag_dead_zone", 12f, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /// <summary>
-        /// Toggles whether the walking key is a toggle or a held key.
-        /// </summary>
-        public static readonly CVarDef<bool> ToggleWalk =
-            CVarDef.Create("control.toggle_walk", false, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /*
-         * Interactions
-         */
-
-        // The rationale behind the default limit is simply that I can easily get to 7 interactions per second by just
-        // trying to spam toggle a light switch or lever (though the UseDelay component limits the actual effect of the
-        // interaction).  I don't want to accidentally spam admins with alerts just because somebody is spamming a
-        // key manually, nor do we want to alert them just because the player is having network issues and the server
-        // receives multiple interactions at once. But we also want to try catch people with modified clients that spam
-        // many interactions on the same tick. Hence, a very short period, with a relatively high count.
-
-        /// <summary>
-        /// Maximum number of interactions that a player can perform within <see cref="InteractionRateLimitCount"/> seconds
-        /// </summary>
-        public static readonly CVarDef<int> InteractionRateLimitCount =
-            CVarDef.Create("interaction.rate_limit_count", 5, CVar.SERVER | CVar.REPLICATED);
-
-        /// <seealso cref="InteractionRateLimitCount"/>
-        public static readonly CVarDef<float> InteractionRateLimitPeriod =
-            CVarDef.Create("interaction.rate_limit_period", 0.5f, CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Minimum delay (in seconds) between notifying admins about interaction rate limit violations. A negative
-        /// value disables admin announcements.
-        /// </summary>
-        public static readonly CVarDef<int> InteractionRateLimitAnnounceAdminsDelay =
-            CVarDef.Create("interaction.rate_limit_announce_admins_delay", 120, CVar.SERVERONLY);
-
-        /*
-         * STORAGE
-         */
-
-        /// <summary>
-        /// Whether or not the storage UI is static and bound to the hotbar, or unbound and allowed to be dragged anywhere.
-        /// </summary>
-        public static readonly CVarDef<bool> StaticStorageUI =
-            CVarDef.Create("control.static_storage_ui", true, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /// <summary>
-        /// Whether or not the storage window uses a transparent or opaque sprite.
-        /// </summary>
-        public static readonly CVarDef<bool> OpaqueStorageWindow =
-            CVarDef.Create("control.opaque_storage_background", false, CVar.CLIENTONLY | CVar.ARCHIVE);
-
-        /*
-         * UPDATE
-         */
-
-        /// <summary>
-        /// If a server update restart is pending, the delay after the last player leaves before we actually restart. In seconds.
-        /// </summary>
-        public static readonly CVarDef<float> UpdateRestartDelay =
-            CVarDef.Create("update.restart_delay", 20f, CVar.SERVERONLY);
-
-        /*
-         * Ghost
-         */
-
-        /// <summary>
-        /// The time you must spend reading the rules, before the "Request" button is enabled
-        /// </summary>
-        public static readonly CVarDef<float> GhostRoleTime =
-            CVarDef.Create("ghost.role_time", 3f, CVar.REPLICATED | CVar.SERVER);
-
-        /// <summary>
-        /// If ghost role lotteries should be made near-instanteous.
-        /// </summary>
-        public static readonly CVarDef<bool> GhostQuickLottery =
-            CVarDef.Create("ghost.quick_lottery", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether or not to kill the player's mob on ghosting, when it is in a critical health state.
-        /// </summary>
-        public static readonly CVarDef<bool> GhostKillCrit =
-            CVarDef.Create("ghost.kill_crit", true, CVar.REPLICATED | CVar.SERVER);
-
-        /*
-         * Fire alarm
-         */
-
-        /// <summary>
-        ///     If fire alarms should have all access, or if activating/resetting these
-        ///     should be restricted to what is dictated on a player's access card.
-        ///     Defaults to true.
-        /// </summary>
-        public static readonly CVarDef<bool> FireAlarmAllAccess =
-            CVarDef.Create("firealarm.allaccess", true, CVar.SERVERONLY);
-
-        /*
-         * PLAYTIME
-         */
-
-        /// <summary>
-        /// Time between play time autosaves, in seconds.
-        /// </summary>
-        public static readonly CVarDef<float>
-            PlayTimeSaveInterval = CVarDef.Create("playtime.save_interval", 900f, CVar.SERVERONLY);
-
-        /*
-         * INFOLINKS
-         */
-
-        /// <summary>
-        /// Link to Discord server to show in the launcher.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksDiscord =
-            CVarDef.Create("infolinks.discord", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to website to show in the launcher.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksForum =
-            CVarDef.Create("infolinks.forum", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to GitHub page to show in the launcher.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksGithub =
-            CVarDef.Create("infolinks.github", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to website to show in the launcher.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksWebsite =
-            CVarDef.Create("infolinks.website", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to wiki to show in the launcher.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksWiki =
-            CVarDef.Create("infolinks.wiki", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to Patreon. Not shown in the launcher currently.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksPatreon =
-            CVarDef.Create("infolinks.patreon", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to the bug report form.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksBugReport =
-            CVarDef.Create("infolinks.bug_report", "", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        /// Link to site handling ban appeals. Shown in ban disconnect messages.
-        /// </summary>
-        public static readonly CVarDef<string> InfoLinksAppeal =
-            CVarDef.Create("infolinks.appeal", "", CVar.SERVER | CVar.REPLICATED);
-
-        /*
-         * CONFIG
-         */
-
-        // These are server-only for now since I don't foresee a client use yet,
-        // and I don't wanna have to start coming up with like .client suffixes and stuff like that.
-
-        /// <summary>
-        /// Configuration presets to load during startup.
-        /// Multiple presets can be separated by comma and are loaded in order.
-        /// </summary>
-        /// <remarks>
-        /// Loaded presets must be located under the <c>ConfigPresets/</c> resource directory and end with the <c>.toml</c> extension.
-        /// Only the file name (without extension) must be given for this variable.
-        /// </remarks>
-        public static readonly CVarDef<string> ConfigPresets =
-            CVarDef.Create("config.presets", "", CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether to load the preset development CVars.
-        /// This disables some things like lobby to make development easier.
-        /// Even when true, these are only loaded if the game is compiled with <c>DEVELOPMENT</c> set.
-        /// </summary>
-        public static readonly CVarDef<bool> ConfigPresetDevelopment =
-            CVarDef.Create("config.preset_development", true, CVar.SERVERONLY);
-
-        /// <summary>
-        /// Whether to load the preset debug CVars.
-        /// Even when true, these are only loaded if the game is compiled with <c>DEBUG</c> set.
-        /// </summary>
-        public static readonly CVarDef<bool> ConfigPresetDebug =
-            CVarDef.Create("config.preset_debug", true, CVar.SERVERONLY);
-
-        /*
-         * World Generation
-         */
-        /// <summary>
-        ///     Whether or not world generation is enabled.
-        /// </summary>
-        public static readonly CVarDef<bool> WorldgenEnabled =
-            CVarDef.Create("worldgen.enabled", false, CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The worldgen config to use.
-        /// </summary>
-        public static readonly CVarDef<string> WorldgenConfig =
-            CVarDef.Create("worldgen.worldgen_config", "Default", CVar.SERVERONLY);
-
-        /// <summary>
-        ///     The maximum amount of time the entity GC can process, in ms.
-        /// </summary>
-        public static readonly CVarDef<int> GCMaximumTimeMs =
-            CVarDef.Create("entgc.maximum_time_ms", 5, CVar.SERVERONLY);
-
-        /*
-         * Replays
-         */
-
-        /// <summary>
-        ///     Whether or not to record admin chat. If replays are being publicly distributes, this should probably be
-        ///     false.
-        /// </summary>
-        public static readonly CVarDef<bool> ReplayRecordAdminChat =
-            CVarDef.Create("replay.record_admin_chat", false, CVar.ARCHIVE);
-
-        /// <summary>
-        /// Automatically record full rounds as replays.
-        /// </summary>
-        public static readonly CVarDef<bool> ReplayAutoRecord =
-            CVarDef.Create("replay.auto_record", false, CVar.SERVERONLY);
-
-        /// <summary>
-        /// The file name to record automatic replays to. The path is relative to <see cref="CVars.ReplayDirectory"/>.
-        /// </summary>
-        /// <remarks>
-        /// <para>
-        /// If the path includes slashes, directories will be automatically created if necessary.
-        /// </para>
-        /// <para>
-        /// A number of substitutions can be used to automatically fill in the file name: <c>{year}</c>, <c>{month}</c>, <c>{day}</c>, <c>{hour}</c>, <c>{minute}</c>, <c>{round}</c>.
-        /// </para>
-        /// </remarks>
-        public static readonly CVarDef<string> ReplayAutoRecordName =
-            CVarDef.Create("replay.auto_record_name", "{year}_{month}_{day}-{hour}_{minute}-round_{round}.zip", CVar.SERVERONLY);
-
-        /// <summary>
-        /// Path that, if provided, automatic replays are initially recorded in.
-        /// When the recording is done, the file is moved into its final destination.
-        /// Unless this path is rooted, it will be relative to <see cref="CVars.ReplayDirectory"/>.
-        /// </summary>
-        public static readonly CVarDef<string> ReplayAutoRecordTempDir =
-            CVarDef.Create("replay.auto_record_temp_dir", "", CVar.SERVERONLY);
-
-        /*
-         * Miscellaneous
-         */
-
-        public static readonly CVarDef<bool> GatewayGeneratorEnabled =
-            CVarDef.Create("gateway.generator_enabled", true);
-
-        // Clippy!
-        public static readonly CVarDef<string> TippyEntity =
-            CVarDef.Create("tippy.entity", "Tippy", CVar.SERVER | CVar.REPLICATED);
-
-        /// <summary>
-        ///     The number of seconds that must pass for a single entity to be able to point at something again.
-        /// </summary>
-        public static readonly CVarDef<float> PointingCooldownSeconds =
-            CVarDef.Create("pointing.cooldown_seconds", 0.5f, CVar.SERVERONLY);
-
-        /*
-         * DEBUG
-         */
-
-        /// <summary>
-        /// A simple toggle to test <c>OptionsVisualizerComponent</c>.
-        /// </summary>
-        public static readonly CVarDef<bool> DebugOptionVisualizerTest =
-            CVarDef.Create("debug.option_visualizer_test", false, CVar.CLIENTONLY);
-
-        /// <summary>
-        /// Set to true to disable parallel processing in the pow3r solver.
-        /// </summary>
-        public static readonly CVarDef<bool> DebugPow3rDisableParallel =
-            CVarDef.Create("debug.pow3r_disable_parallel", true, CVar.SERVERONLY);
-    }
+/// <summary>
+/// Contains all the CVars used by content.
+/// </summary>
+/// <remarks>
+/// NOTICE FOR FORKS: Put your own CVars in a separate file with a different [CVarDefs] attribute. RT will automatically pick up on it.
+/// </remarks>
+[CVarDefs]
+public sealed partial class CCVars : CVars
+{
+    // Only debug stuff lives here.
+
+    /// <summary>
+    /// A simple toggle to test <c>OptionsVisualizerComponent</c>.
+    /// </summary>
+    public static readonly CVarDef<bool> DebugOptionVisualizerTest =
+        CVarDef.Create("debug.option_visualizer_test", false, CVar.CLIENTONLY);
+
+    /// <summary>
+    /// Set to true to disable parallel processing in the pow3r solver.
+    /// </summary>
+    public static readonly CVarDef<bool> DebugPow3rDisableParallel =
+        CVarDef.Create("debug.pow3r_disable_parallel", true, CVar.SERVERONLY);
 }

From a1966d867183f2962d17ef5415dc89b3cde54253 Mon Sep 17 00:00:00 2001
From: Ed <96445749+TheShuEd@users.noreply.github.com>
Date: Tue, 12 Nov 2024 08:19:54 +0300
Subject: [PATCH 060/187] improve BiomeDunGen (#33113)

* improve BiomeDunGen

* forgot lol

* Update DungeonJob.PostGenBiome.cs

* Update DungeonJob.PostGenBiome.cs
---
 .../DungeonJob/DungeonJob.PostGenBiome.cs     | 25 ++++++++++++-------
 .../Parallax/Biomes/SharedBiomeSystem.cs      |  2 +-
 .../Procedural/PostGeneration/BiomeDunGen.cs  |  7 ++++++
 3 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs b/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs
index 65f6d2d14f9..fdadcb7849d 100644
--- a/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs
+++ b/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs
@@ -1,5 +1,6 @@
 using System.Threading.Tasks;
 using Content.Server.Parallax;
+using Content.Shared.Maps;
 using Content.Shared.Parallax.Biomes;
 using Content.Shared.Procedural;
 using Content.Shared.Procedural.PostGeneration;
@@ -15,27 +16,35 @@ public sealed partial class DungeonJob
     /// </summary>
     private async Task PostGen(BiomeDunGen dunGen, DungeonData data, Dungeon dungeon, HashSet<Vector2i> reservedTiles, Random random)
     {
-        if (_entManager.TryGetComponent(_gridUid, out BiomeComponent? biomeComp))
+        if (!_prototype.TryIndex(dunGen.BiomeTemplate, out var indexedBiome))
             return;
 
-        biomeComp = _entManager.AddComponent<BiomeComponent>(_gridUid);
         var biomeSystem = _entManager.System<BiomeSystem>();
-        biomeSystem.SetTemplate(_gridUid, biomeComp, _prototype.Index(dunGen.BiomeTemplate));
+
         var seed = random.Next();
         var xformQuery = _entManager.GetEntityQuery<TransformComponent>();
 
-        foreach (var node in dungeon.RoomTiles)
+        var tiles = _maps.GetAllTilesEnumerator(_gridUid, _grid);
+        while (tiles.MoveNext(out var tileRef))
         {
+            var node = tileRef.Value.GridIndices;
+
             if (reservedTiles.Contains(node))
                 continue;
+            
+            if (dunGen.TileMask is not null)
+            {
+                if (!dunGen.TileMask.Contains(((ContentTileDefinition) _tileDefManager[tileRef.Value.Tile.TypeId]).ID))
+                    continue;
+            }
 
             // Need to set per-tile to override data.
-            if (biomeSystem.TryGetTile(node, biomeComp.Layers, seed, _grid, out var tile))
+            if (biomeSystem.TryGetTile(node, indexedBiome.Layers, seed, _grid, out var tile))
             {
                 _maps.SetTile(_gridUid, _grid, node, tile.Value);
             }
 
-            if (biomeSystem.TryGetDecals(node, biomeComp.Layers, seed, _grid, out var decals))
+            if (biomeSystem.TryGetDecals(node, indexedBiome.Layers, seed, _grid, out var decals))
             {
                 foreach (var decal in decals)
                 {
@@ -43,7 +52,7 @@ private async Task PostGen(BiomeDunGen dunGen, DungeonData data, Dungeon dungeon
                 }
             }
 
-            if (biomeSystem.TryGetEntity(node, biomeComp, _grid, out var entityProto))
+            if (tile is not null && biomeSystem.TryGetEntity(node, indexedBiome.Layers, tile.Value, seed, _grid, out var entityProto))
             {
                 var ent = _entManager.SpawnEntity(entityProto, new EntityCoordinates(_gridUid, node + _grid.TileSizeHalfVector));
                 var xform = xformQuery.Get(ent);
@@ -61,7 +70,5 @@ private async Task PostGen(BiomeDunGen dunGen, DungeonData data, Dungeon dungeon
             if (!ValidateResume())
                 return;
         }
-
-        biomeComp.Enabled = false;
     }
 }
diff --git a/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs b/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs
index b14baba9817..250b0f70a54 100644
--- a/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs
+++ b/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs
@@ -183,7 +183,7 @@ public bool TryGetEntity(Vector2i indices, BiomeComponent component, MapGridComp
     }
 
 
-    private bool TryGetEntity(Vector2i indices, List<IBiomeLayer> layers, Tile tileRef, int seed, MapGridComponent grid,
+    public bool TryGetEntity(Vector2i indices, List<IBiomeLayer> layers, Tile tileRef, int seed, MapGridComponent grid,
         [NotNullWhen(true)] out string? entity)
     {
         var tileId = TileDefManager[tileRef.TypeId].ID;
diff --git a/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs b/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs
index 833cf2dec76..e21e582211b 100644
--- a/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs
+++ b/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs
@@ -1,3 +1,4 @@
+using Content.Shared.Maps;
 using Content.Shared.Parallax.Biomes;
 using Robust.Shared.Prototypes;
 
@@ -11,4 +12,10 @@ public sealed partial class BiomeDunGen : IDunGenLayer
 {
     [DataField(required: true)]
     public ProtoId<BiomeTemplatePrototype> BiomeTemplate;
+
+    /// <summary>
+    /// creates a biome only on the specified tiles
+    /// </summary>
+    [DataField]
+    public HashSet<ProtoId<ContentTileDefinition>>? TileMask;
 }

From 70e3650246bcf0f32f5d5a78b8238dc6c486a2e5 Mon Sep 17 00:00:00 2001
From: Preston Smith <92108534+thetolbean@users.noreply.github.com>
Date: Tue, 12 Nov 2024 06:06:43 -0600
Subject: [PATCH 061/187] Make Droppers Respect Closed/Sealed Containers
 (#33011)

* Make droppers respect closed/sealed

* Combine nested

* Optimize conditions a bit
---
 Content.Server/Chemistry/EntitySystems/InjectorSystem.cs | 9 ++++++---
 Content.Shared/Chemistry/Components/InjectorComponent.cs | 9 +++++++++
 .../Prototypes/Entities/Objects/Specific/chemistry.yml   | 1 +
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
index c5c45daa5bd..eb2039604af 100644
--- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
+++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
@@ -13,6 +13,7 @@
 using Content.Shared.Interaction;
 using Content.Shared.Mobs.Components;
 using Content.Shared.Stacks;
+using Content.Shared.Nutrition.EntitySystems;
 
 namespace Content.Server.Chemistry.EntitySystems;
 
@@ -20,6 +21,7 @@ public sealed class InjectorSystem : SharedInjectorSystem
 {
     [Dependency] private readonly BloodstreamSystem _blood = default!;
     [Dependency] private readonly ReactiveSystem _reactiveSystem = default!;
+    [Dependency] private readonly OpenableSystem _openable = default!;
 
     public override void Initialize()
     {
@@ -31,13 +33,14 @@ public override void Initialize()
 
     private bool TryUseInjector(Entity<InjectorComponent> injector, EntityUid target, EntityUid user)
     {
+        var isOpenOrIgnored = injector.Comp.IgnoreClosed || !_openable.IsClosed(target);
         // Handle injecting/drawing for solutions
         if (injector.Comp.ToggleState == InjectorToggleMode.Inject)
         {
-            if (SolutionContainers.TryGetInjectableSolution(target, out var injectableSolution, out _))
+            if (isOpenOrIgnored && SolutionContainers.TryGetInjectableSolution(target, out var injectableSolution, out _))
                 return TryInject(injector, target, injectableSolution.Value, user, false);
 
-            if (SolutionContainers.TryGetRefillableSolution(target, out var refillableSolution, out _))
+            if (isOpenOrIgnored && SolutionContainers.TryGetRefillableSolution(target, out var refillableSolution, out _))
                 return TryInject(injector, target, refillableSolution.Value, user, true);
 
             if (TryComp<BloodstreamComponent>(target, out var bloodstream))
@@ -58,7 +61,7 @@ private bool TryUseInjector(Entity<InjectorComponent> injector, EntityUid target
             }
 
             // Draw from an object (food, beaker, etc)
-            if (SolutionContainers.TryGetDrawableSolution(target, out var drawableSolution, out _))
+            if (isOpenOrIgnored && SolutionContainers.TryGetDrawableSolution(target, out var drawableSolution, out _))
                 return TryDraw(injector, target, drawableSolution.Value, user);
 
             Popup.PopupEntity(Loc.GetString("injector-component-cannot-draw-message",
diff --git a/Content.Shared/Chemistry/Components/InjectorComponent.cs b/Content.Shared/Chemistry/Components/InjectorComponent.cs
index 17a65ef1c17..ebd6654d9f5 100644
--- a/Content.Shared/Chemistry/Components/InjectorComponent.cs
+++ b/Content.Shared/Chemistry/Components/InjectorComponent.cs
@@ -45,6 +45,15 @@ public sealed partial class InjectorComponent : Component
     [DataField]
     public bool IgnoreMobs;
 
+    /// <summary>
+    /// Whether or not the injector is able to draw from or inject into containers that are closed/sealed
+    /// </summary>
+    /// <remarks>
+    ///     for example: droppers can not inject into cans, but syringes can
+    /// </remarks>
+    [DataField]
+    public bool IgnoreClosed = true;
+
     /// <summary>
     ///     The minimum amount of solution that can be transferred at once from this solution.
     /// </summary>
diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
index 527b0ba5e62..edaa8288145 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml
@@ -283,6 +283,7 @@
   - type: Injector
     injectOnly: false
     ignoreMobs: true
+    ignoreClosed: false
     minTransferAmount: 1
     maxTransferAmount: 5
     transferAmount: 1

From 8776c71e5972cc6daec3271b5e6528e48d796770 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Tue, 12 Nov 2024 12:07:50 +0000
Subject: [PATCH 062/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 43c7cad22c6..4ab88b325b5 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: Cojoke-dot
-  changes:
-  - message: Borg's names are now displayed when they make an announcement on the
-      Communications Console.
-    type: Tweak
-  id: 7104
-  time: '2024-08-13T18:31:33.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30107
 - author: Spessmann
   changes:
   - message: Added Cog, a new midpop map based on Cogmap from ss13
@@ -3949,3 +3941,10 @@
   id: 7603
   time: '2024-11-11T22:58:31.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32493
+- author: thetolbean
+  changes:
+  - message: Droppers can no longer inject or draw from closed containers.
+    type: Fix
+  id: 7604
+  time: '2024-11-12T12:06:43.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33011

From 8b154899b515e0d7552d283c3086c417ae00ab7c Mon Sep 17 00:00:00 2001
From: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Date: Tue, 12 Nov 2024 22:11:02 +0300
Subject: [PATCH 063/187] Allow editing angle of the fired projectile (#33254)

Add Angle datafield to `ProjectileComponent`. It allows to change the angle of the fired projectile
---
 Content.Shared/Projectiles/ProjectileComponent.cs        | 6 ++++++
 Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/Content.Shared/Projectiles/ProjectileComponent.cs b/Content.Shared/Projectiles/ProjectileComponent.cs
index c24cf2b5ee5..8349252df2b 100644
--- a/Content.Shared/Projectiles/ProjectileComponent.cs
+++ b/Content.Shared/Projectiles/ProjectileComponent.cs
@@ -8,6 +8,12 @@ namespace Content.Shared.Projectiles;
 [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
 public sealed partial class ProjectileComponent : Component
 {
+    /// <summary>
+    ///     The angle of the fired projectile.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public Angle Angle;
+
     /// <summary>
     ///     The effect that appears when a projectile collides with an entity.
     /// </summary>
diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
index 9bd786bbe08..c7cc09e618b 100644
--- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
+++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
@@ -429,7 +429,7 @@ public void ShootProjectile(EntityUid uid, Vector2 direction, Vector2 gunVelocit
         Projectiles.SetShooter(uid, projectile, user ?? gunUid);
         projectile.Weapon = gunUid;
 
-        TransformSystem.SetWorldRotation(uid, direction.ToWorldAngle());
+        TransformSystem.SetWorldRotation(uid, direction.ToWorldAngle() + projectile.Angle);
     }
 
     protected abstract void Popup(string message, EntityUid? uid, EntityUid? user);

From ef51700094aa22cd1ce7f243d934dc3c45d4ff7f Mon Sep 17 00:00:00 2001
From: Repo <47093363+Titian3@users.noreply.github.com>
Date: Wed, 13 Nov 2024 10:03:13 +1300
Subject: [PATCH 064/187] Fix unban/editing role bans placed in groups.
 (#30659)

* On editing a roleban, get all the bans with the same time.

* forgoten newline

* Update to check for player ID too.
---
 Content.Server/Database/ServerDbBase.cs | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs
index c85b774e381..3806241e345 100644
--- a/Content.Server/Database/ServerDbBase.cs
+++ b/Content.Server/Database/ServerDbBase.cs
@@ -512,16 +512,23 @@ public abstract Task<List<ServerRoleBanDef>> GetServerRoleBansAsync(IPAddress? a
         public async Task EditServerRoleBan(int id, string reason, NoteSeverity severity, DateTimeOffset? expiration, Guid editedBy, DateTimeOffset editedAt)
         {
             await using var db = await GetDb();
+            var roleBanDetails = await db.DbContext.RoleBan
+                .Where(b => b.Id == id)
+                .Select(b => new { b.BanTime, b.PlayerUserId })
+                .SingleOrDefaultAsync();
 
-            var ban = await db.DbContext.RoleBan.SingleOrDefaultAsync(b => b.Id == id);
-            if (ban is null)
+            if (roleBanDetails == default)
                 return;
-            ban.Severity = severity;
-            ban.Reason = reason;
-            ban.ExpirationTime = expiration?.UtcDateTime;
-            ban.LastEditedById = editedBy;
-            ban.LastEditedAt = editedAt.UtcDateTime;
-            await db.DbContext.SaveChangesAsync();
+
+            await db.DbContext.RoleBan
+                .Where(b => b.BanTime == roleBanDetails.BanTime && b.PlayerUserId == roleBanDetails.PlayerUserId)
+                .ExecuteUpdateAsync(setters => setters
+                    .SetProperty(b => b.Severity, severity)
+                    .SetProperty(b => b.Reason, reason)
+                    .SetProperty(b => b.ExpirationTime, expiration.HasValue ? expiration.Value.UtcDateTime : (DateTime?)null)
+                    .SetProperty(b => b.LastEditedById, editedBy)
+                    .SetProperty(b => b.LastEditedAt, editedAt.UtcDateTime)
+                );
         }
         #endregion
 

From cc3712be0c3e0da2921cfc6c98897780e975db63 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Tue, 12 Nov 2024 21:04:21 +0000
Subject: [PATCH 065/187] Automatic changelog update

---
 Resources/Changelog/Admin.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml
index 56c82c23a43..680915d3821 100644
--- a/Resources/Changelog/Admin.yml
+++ b/Resources/Changelog/Admin.yml
@@ -590,5 +590,12 @@ Entries:
   id: 73
   time: '2024-11-02T13:21:10.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32461
+- author: Repo
+  changes:
+  - message: All role bans in a set are updated on edits now.
+    type: Fix
+  id: 74
+  time: '2024-11-12T21:03:13.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/30659
 Name: Admin
 Order: 1

From af3593a3b7c2a36b0e0c4a19cc846e96f139fb58 Mon Sep 17 00:00:00 2001
From: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com>
Date: Tue, 12 Nov 2024 18:45:59 -0500
Subject: [PATCH 066/187] Adds new sprites for shotgun shell boxes (#33176)

* Adds new sprites for shotgun shell boxes

* Adds second set of mag visuals for slug and uranium casings

* Fixes yaml that I messed up

* Changes credit to new username before merging happens
---
 .../Weapons/Guns/Ammunition/Boxes/shotgun.yml |  95 ++++++++++++------
 .../Ammunition/Boxes/shotgun.rsi/base.png     | Bin 0 -> 356 bytes
 .../Ammunition/Boxes/shotgun.rsi/beanbag.png  | Bin 0 -> 268 bytes
 .../Ammunition/Boxes/shotgun.rsi/flare.png    | Bin 0 -> 229 bytes
 .../Boxes/shotgun.rsi/incendiary.png          | Bin 0 -> 233 bytes
 .../Ammunition/Boxes/shotgun.rsi/lethal.png   | Bin 0 -> 263 bytes
 .../Ammunition/Boxes/shotgun.rsi/mag-1.png    | Bin 0 -> 107 bytes
 .../Ammunition/Boxes/shotgun.rsi/mag-2.png    | Bin 0 -> 134 bytes
 .../Ammunition/Boxes/shotgun.rsi/mag-3.png    | Bin 0 -> 142 bytes
 .../Ammunition/Boxes/shotgun.rsi/mag-4.png    | Bin 0 -> 155 bytes
 .../Boxes/shotgun.rsi/mag-alt-1.png           | Bin 0 -> 106 bytes
 .../Boxes/shotgun.rsi/mag-alt-2.png           | Bin 0 -> 127 bytes
 .../Boxes/shotgun.rsi/mag-alt-3.png           | Bin 0 -> 135 bytes
 .../Boxes/shotgun.rsi/mag-alt-4.png           | Bin 0 -> 151 bytes
 .../Ammunition/Boxes/shotgun.rsi/meta.json    |  62 ++++++++++++
 .../Ammunition/Boxes/shotgun.rsi/practice.png | Bin 0 -> 221 bytes
 .../Ammunition/Boxes/shotgun.rsi/slug.png     | Bin 0 -> 257 bytes
 .../Boxes/shotgun.rsi/tranquilizer.png        | Bin 0 -> 292 bytes
 .../Ammunition/Boxes/shotgun.rsi/uranium.png  | Bin 0 -> 249 bytes
 19 files changed, 125 insertions(+), 32 deletions(-)
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/base.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/beanbag.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/flare.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/incendiary.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/lethal.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-1.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-2.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-3.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-4.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-1.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-2.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-3.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-4.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/practice.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/slug.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/tranquilizer.png
 create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/uranium.png

diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml
index 063937aee9a..e5c2987ec3e 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml
@@ -16,114 +16,145 @@
   id: AmmoProviderShotgunShell
   abstract: true
   components:
+    - type: Sprite
+      sprite: Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi
     - type: BallisticAmmoProvider
       mayTransfer: true
       whitelist:
         tags:
         - ShellShotgun
       capacity: 16
+    - type: MagazineVisuals
+      magState: mag
+      steps: 5
+      zeroVisible: false
+    - type: Appearance
 
 # Shotgun Shells
 - type: entity
-  name: shotgun beanbag cartridges dispenser
   parent: AmmoProviderShotgunShell
   id: BoxBeanbag
-  description: A dispenser box full of beanbag shots, designed for riot shotguns.
+  name: shell box (beanbag)
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgunBeanbag
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shellbeanbag
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: beanbag
 
 - type: entity
-  name: shotgun lethal cartridges dispenser
+  name: shell box (lethal)
   parent: AmmoProviderShotgunShell
   id: BoxLethalshot
-  description: A dispenser box full of lethal pellet shots, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgun
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shelllethal
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: lethal
 
 - type: entity
-  name: shotgun slug cartridges dispenser
+  name: shell box (slug)
   parent: AmmoProviderShotgunShell
   id: BoxShotgunSlug
-  description: A dispenser box full of slugs, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgunSlug
+    - type: MagazineVisuals
+      magState: mag-alt
+      steps: 5
+      zeroVisible: false
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shellslug
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-alt-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: slug
 
 - type: entity
-  name: shotgun flare cartridges dispenser
+  name: shell box (flare)
   parent: AmmoProviderShotgunShell
   id: BoxShotgunFlare
-  description: A dispenser box full of flare cartridges, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgunFlare
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shellflare
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: flare
 
 - type: entity
-  name: shotgun incendiary cartridges dispenser
+  name: shell box (incendiary)
   parent: AmmoProviderShotgunShell
   id: BoxShotgunIncendiary
-  description: A dispenser box full of incendiary cartridges, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgunIncendiary
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shellincendiary
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: incendiary
 
 - type: entity
-  name: shotgun uranium cartridges dispenser
+  name: shell box (uranium)
   parent: AmmoProviderShotgunShell
   id: BoxShotgunUranium
-  description: A dispenser box full of uranium cartridges, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgunUranium
+    - type: MagazineVisuals
+      magState: mag-alt
+      steps: 5
+      zeroVisible: false
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shelluranium
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-alt-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: uranium
 
 - type: entity
-  name: shotgun practice cartridges dispenser
+  name: shell box (practice)
   parent: AmmoProviderShotgunShell
   id: BoxShotgunPractice
-  description: A dispenser box full of practice cartridges, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellShotgunPractice
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shellpractice
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: practice
 
 - type: entity
-  name: tranquilizer cartridges dispenser
+  name: shell box (tranquilizer)
   parent: AmmoProviderShotgunShell
   id: BoxShellTranquilizer
-  description: A dispenser box full of tranquilizer cartridges, designed for riot shotguns.
   components:
     - type: BallisticAmmoProvider
       proto: ShellTranquilizer
     - type: Sprite
       layers:
-        - state: boxwide
-        - state: shelltranquilizer
+      - state: base
+        map: ["enum.GunVisualLayers.Base"]
+      - state: mag-1
+        map: ["enum.GunVisualLayers.Mag"]
+      - state: tranquilizer
diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/base.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/base.png
new file mode 100644
index 0000000000000000000000000000000000000000..f460615079dcbc3bc4f0244f62ee6d194767a522
GIT binary patch
literal 356
zcmV-q0h|7bP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80003iNkl<ZScUDC
zu};E37{`AYCqhb$4$5LMVUn4}^a1L~=G0ec;#0Ws3QTUUJb;tV%EHDV34stALc(+m
z`o(f-ORqf>hx<)!^4<M^ci)#591e#?qR>}S=qr;oC$=T7E*eH6r?v$|0={nqU@&~G
zWz|}{fhhEq1nVMsSP_UqUv)bz&d)sKwUt`%^cX1MAXuK4tN8B(^k4}~6PYbGxqD>}
zM;g-SWbkaUq1$PtzJE-<atF{zK>92}Lh^*k;OTtF%jo^+{zgOC^y)Od`q8?g;b1re
z>v#*m&GjV!&!bNO?(f<_@xd!Cpo=^Nx2)rBsbHbfcc5yxk-&7ms}z();THT1m4e@%
z>%5JZ$y&Pt+QtVWWrD5H4|=K}^o;)h4u`|>@7M#Kfp=<`U7Q{O0000<MNUMnLSTY}
Cgr(sC

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/beanbag.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/beanbag.png
new file mode 100644
index 0000000000000000000000000000000000000000..a2fe9e8f1d2bd99a05493cb4db4d7b8a83003fec
GIT binary patch
literal 268
zcmV+n0rUQeP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80002fNkl<ZScUDA
ztq#I46h;p}x(0zjA*M*?C(sar<{^sXUG@@_2om(fEFqZz0d^KmQUqH@!XWLkY~~)-
ztlj-iZ(9%qp+S_!D2?gbLqxtL{>}H>5)pw;==K7x8V+~bjYGKg9f<q@FT{A^@8ZR~
z-;E}=W$D>2R2p+y&jDE6VgRn&_y0wAB0m6NxliC=S9@r!`VoAb<|1Kiva}4|oD-LF
z?gCXJm%+1EaDnv^K-uc?to)Xx<@j;W2bS%37N`=*(t5#-pfslO_bv#6&^9l%CPK<?
SKlJMW0000<MNUMnLSTY)?RE_S

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/flare.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/flare.png
new file mode 100644
index 0000000000000000000000000000000000000000..3b65c7acbe02d7abf6603a0635157ddea8579efe
GIT binary patch
literal 229
zcmV<B02=>^P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800022Nkl<ZScUDB
zu?+$-3`PGTy3FAbpfyvl0yD7!Q{>v*1c-(z8(jS<5Z9eZF44L1lhRrKFOqG*ah#5%
z2#N@;Js=`X5%wY}!d~Q`z+o>D7cjwe03Y|x;WfXh39p&~GEh}ln{V0sO+%=vB*PNa
za&VfqfDFx-&U_7v1<n@?(>NpNyjt^qe&6+mp|tO@wD2bZya0gHIOC*Y2?pwdyO1K-
fecv6&arWi|ytPQ)duV{k00000NkvXXu0mjfSx8_g

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/incendiary.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/incendiary.png
new file mode 100644
index 0000000000000000000000000000000000000000..7841707b120f3e1f4577f6c4320b31e2cac551b4
GIT binary patch
literal 233
zcmV<F02cp=P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800026Nkl<ZScUDB
zI}XAy5JV?H6-%yt26|}W6kGwHCmmPd6s9#j5*=qi3hksoP$dF?lx_AkZY<BUw6lPs
zC>4nT^wv_^1KwK30C|xZATRPuU@@173Wy*&fag=?@RZ-AgeT1aY1lb8`FKw6vxcy9
zj->epl`Nd17LcZR(}~w`_3y>)9!(5AZ?7fRZ997BaetqOBbw?09|_<I5Ab^FvDumI
j;3~ubR`0u_D9YRn@UTcSYft8800000NkvXXu0mjfrK?`C

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/lethal.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/lethal.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3a282afbfcd73558585accf89ef2f4a2487afda
GIT binary patch
literal 263
zcmV+i0r>ujP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80002aNkl<ZScUDA
zF%E(-6ox;<O(RS$CUOI=;7;N_ID#X`@FKV~yLkg0oz%c4sRJp-h^8eCEbp6|_T~NG
zYg!Nl!67-Z%8Aw39wPE3@$Y;xl!yq7!l(~03vnB6GmTBS@f+~>GfE;=68&th|NUdT
zGHuJ$w6IPqu7@=MWztMI=j`cVEeWvLo!komERzeshe$!t2G?oT6o%$KtpvJ6{LAwl
z+yl?1SYP#qd%IT<wCiKoTzz&k?`tK{B~lRd3U)$HtepRMK@fzYc>!~_O8cNpWzqlu
N002ovPDHLkV1hD0ZubBH

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-1.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..d77e6507b00fc0910aba7e959d2561f9e0b122e9
GIT binary patch
literal 107
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzBTpB{kcif|=L~rn6a-id%6t;v
ziHj^`S8it)6S}08k<D<RHN=0_^Vo#*DZS;43=g!~o0Yh0^PG-90_tY)boFyt=akR{
E073K}nE(I)

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-2.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-2.png
new file mode 100644
index 0000000000000000000000000000000000000000..eaff18cf28880d84ede6b5409c7d43bb9bd15c0a
GIT binary patch
literal 134
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzUr!gukcif|7dG-9P!M4b4BjkK
zy>waP0uAd0TO=D~gJvs9|53PjNBTiZBohMz<GP#cZfZwqnk1OKwp_Zqe&S=^(z?$X
h-$JL^FfuS~n|c0=aNSp9*EFEP44$rjF6*2UngCX3Ep7k+

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-3.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-3.png
new file mode 100644
index 0000000000000000000000000000000000000000..1563f21fe714c532f4b0ba1623076bca6da822b0
GIT binary patch
literal 142
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJP)`@fkcif|=NAe#7znsr?DY%w
zn6*GG#E0vY!bcu6)+G~r9h5Cvf1H2YIoFnxfq`X5%I=i?PxXT`4y*{vzf^16o;$rN
pIO=>r{0#T4{i<Iq85n-_aym#!%_`jy?+>(q!PC{xWt~$(69DIjFhu|W

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-4.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-4.png
new file mode 100644
index 0000000000000000000000000000000000000000..9a3c99707fe47b7133a9a2c0937a993983074206
GIT binary patch
literal 155
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJBu^K|kcif|7Z>t27>KxD3_ly>
zF)cxeWz{lfL6vz4k_)UC$Tv+$$YfRAncna_{*x*L!@n~dHzq%x<)&e)<N3-xbN-Ut
zy-9~Z?g}?kP`Bs5@9eZ)<ZG9udUf9FIH37<<xHU&vh~IdlG;EXgQu&X%Q~loCIDc+
BGhqM#

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-1.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b8f096ef92436b8f578bcb4389f7f5d4f9d4d06
GIT binary patch
literal 106
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzLr)jSkcif|XAK1z40xC~#$>Yi
zOU%kYt$01~*8O!%3}Tb+sC++u?WT)y@ZG<U<rx;p-7#gGxhCS~a-e1gPgg&ebxsLQ
E0Ltbe_y7O^

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-2.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-2.png
new file mode 100644
index 0000000000000000000000000000000000000000..81649769f4b613c2a78d55a8b4b2b6cf65c5b265
GIT binary patch
literal 127
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzH%}MGkcif|7aVyHIPfq#PJe&U
zuzy3R2*bgNMIQdI(x1PtjbLJ6;NEup+no&C*@2<HX{&atdOn{M`h4@MSsgn*u`n?F
bILmGKON{UN_wUR=6B#^R{an^LB{Ts5p?WQR

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-3.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-3.png
new file mode 100644
index 0000000000000000000000000000000000000000..80505d3934c48b4318635d196ba03810b4cef4e2
GIT binary patch
literal 135
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzKTj9Okcif|=Qr{maNuwbOy42h
zaQ8-Y?gWVj%N?9SEm}wG=W<7HVqstqyHk6o_TDG)^UFd)C(nG9=XuG}eWs>y^xL(e
jS6z<0vSeWR(aX)dQ?BLIq?BnulNmf+{an^LB{Ts519mUd

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-4.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-4.png
new file mode 100644
index 0000000000000000000000000000000000000000..60be778fdfd459489e53186dddd46287574d4860
GIT binary patch
literal 151
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJI8PVHkcif|7Y%t281T4Uynl&9
zZZoIMXM=_h9U=_JCg$Cp?Xgzt?(ICwXe$9h!Jo$E^WWK(TlHN%%#h~xe(o8T1=oJ<
zcpp=F;Ecx73sK6(@Bi#FJl4~(mea+><w>#lZ&O)=-MRXEfi^LCy85}Sb4q9e0Ns>1
Ah5!Hn

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json
new file mode 100644
index 00000000000..3df588a845e
--- /dev/null
+++ b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json
@@ -0,0 +1,62 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Sprites by SpaceRox1244",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "base"
+        },
+        {
+            "name": "mag-1"
+        },
+        {
+            "name": "mag-2"
+        },
+        {
+            "name": "mag-3"
+        },
+        {
+            "name": "mag-4"
+        },
+        {
+            "name": "mag-alt-1"
+        },
+        {
+            "name": "mag-alt-2"
+        },
+        {
+            "name": "mag-alt-3"
+        },
+        {
+            "name": "mag-alt-4"
+        },
+        {
+            "name": "lethal"
+        },
+        {
+            "name": "beanbag"
+        },
+        {
+            "name": "slug"
+        },
+        {
+            "name": "incendiary"
+        },
+        {
+            "name": "practice"
+        },
+        {
+            "name": "uranium"
+        },
+        {
+            "name": "flare"
+        },
+        {
+            "name": "tranquilizer"
+        }
+    ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/practice.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/practice.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ece8a0c1e58a1bca6482dca0ecd2fc9a52a1863
GIT binary patch
literal 221
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJC7v#hArY-_CvW6sR^)N@oua3_
zq$6gdTUdh4vJYnJwX1k0{#)+k)m$V{67w)T`XB!j{YMt(To?>i7i~Sh(}iJ;=ug!G
zORpoW(>8ozIGdAKaX!21(C)kky8M%J^yFXu-J1R*`pL2BEdoxwayN~20u)aMowC=y
zcD>*`{}Bo2u&0|vcABSc%M})!I3;L?;&qkPLJXcl3}<^TXK!zps;k)W*y5azo#3i?
VpBJTKr-ANe@O1TaS?83{1OOy{RxJPk

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/slug.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/slug.png
new file mode 100644
index 0000000000000000000000000000000000000000..b55085e398ea1f2ecb6f5477a62a21d1728a009b
GIT binary patch
literal 257
zcmV+c0sj7pP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80002UNkl<ZScUDC
zK?=e!5JkV@DYBn)<V-F^R0;(VDZNFPA$RDu^a|Nk$Th}=M%1F18qH?jCX2xTFGE5A
zK@bu`L`+1S+e1V~67Tls{}K^_Eabj`Y0D!|lm6t5v8=Ubt@X?B@a~t}BE0|+aohFW
zcKt{s6gS3lV=N<L0<#zar4#_5tm@0UUcq~h;&222>~|XgfOGES>`4NFvZ`?!hFfvq
zCjvnN0PaP+_s_*qxr-P9=UfPW5Sdb(gzH4|f4hPp2;Xo9cZ^oa(r~ID00000NkvXX
Hu0mjfHM(oI

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/tranquilizer.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/tranquilizer.png
new file mode 100644
index 0000000000000000000000000000000000000000..373d6a2a0c91a69c140798bcf956464736eb65bd
GIT binary patch
literal 292
zcmV+<0o(qGP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80002%Nkl<ZScUDA
zJ&wXK5Jq33JqTLlA}u}T7KpTzQ6vtq5*I>3F6RKzUc&7bmQfCZG!zg>vnzuPY5Y3>
zXudc8flMZokV-_?b*)o-P>E<Il0|M3|E-tr63GISFzEyQ*lyE?KhjO|aDa7P>&iL(
z-tGP@KKy%QOuTID#$(&^Wi0?J=M<n@EQ%o*;PY?*;Ago6@6!qZ_@=>Fi@A#6oc1By
zf{$%`neV#jnhyz#MF5Pol-}QipCDS`ce5!F(Q<UOzG>(~xR0-$pZ5DAwr=#sF~gnD
q=5zWGo(fJvC896+a+ypf^G?q6I%Uv_PY+B00000<MNUMnLSTZjeSyRP

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/uranium.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/uranium.png
new file mode 100644
index 0000000000000000000000000000000000000000..03a0244fda580e8c82f50c8f5b7d544c04fbdf56
GIT binary patch
literal 249
zcmV<V00#ewP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80002MNkl<ZScUD9
zF$%&k6o$V_DUL;{Lk68P>IJ-kcM(tGQCxciFQAiV6_?(?B`%GKR!Ksz2=AK$dGGyS
z!UI7N5>nNLt?I(|?I9v>65s9zzY-CFUg&iJr`vJb@Q~MpglE2mT5CJm4FT9Mj-7o@
zvRU1{XXm~G0Qq_Z!16G+&mu0k+{^%IF#a<`1iD1dm(wFSYF2b-D^gzL!-E8jF&SV1
zlv1B++|hftf_|Wt;8i3hI0;&7>tqB$5dM}stTH=wmQOP{00000NkvXXu0mjfYxrZ$

literal 0
HcmV?d00001


From e9f6a02f18959577f8f56c6ba511749cb34d0ce0 Mon Sep 17 00:00:00 2001
From: cohanna <conornhanna@gmail.com>
Date: Tue, 12 Nov 2024 19:05:56 -0700
Subject: [PATCH 067/187] un-reverted fixes

---
 .../Entities/Structures/Windows/clockwork.yml |  19 ++++++---
 .../Entities/Structures/Windows/mining.yml    |   6 +--
 .../Entities/Structures/Windows/plasma.yml    |  29 ++++++++------
 .../Structures/Windows/plastitanium.yml       |  10 ++---
 .../Structures/Windows/reinforced.yml         |  37 +++++-------------
 .../Entities/Structures/Windows/rplasma.yml   |  18 ++++-----
 .../Entities/Structures/Windows/ruranium.yml  |  20 ++++++----
 .../Entities/Structures/Windows/shuttle.yml   |   6 +--
 .../Entities/Structures/Windows/uranium.yml   |  28 +++++++------
 .../Entities/Structures/Windows/window.yml    |  32 ++++++++++++---
 ...mageOverlay_8.png => DamageOverlay_10.png} | Bin
 ...ageOverlay_12.png => DamageOverlay_20.png} | Bin
 ...amageOverlay_4.png => DamageOverlay_5.png} | Bin
 .../Structures/Windows/cracks.rsi/meta.json   |   6 +--
 ...mageOverlay_8.png => DamageOverlay_10.png} | Bin
 ...ageOverlay_12.png => DamageOverlay_20.png} | Bin
 ...amageOverlay_4.png => DamageOverlay_5.png} | Bin
 .../Windows/cracks_diagonal.rsi/meta.json     |   6 +--
 ...mageOverlay_8.png => DamageOverlay_10.png} | Bin
 ...ageOverlay_12.png => DamageOverlay_20.png} | Bin
 ...amageOverlay_4.png => DamageOverlay_5.png} | Bin
 .../Windows/cracks_directional.rsi/meta.json  |   6 +--
 22 files changed, 123 insertions(+), 100 deletions(-)
 rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_8.png => DamageOverlay_10.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_12.png => DamageOverlay_20.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_4.png => DamageOverlay_5.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_8.png => DamageOverlay_10.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_12.png => DamageOverlay_20.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_4.png => DamageOverlay_5.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_8.png => DamageOverlay_10.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_12.png => DamageOverlay_20.png} (100%)
 rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_4.png => DamageOverlay_5.png} (100%)

diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
index 6abeae5760b..8421b6b4dc6 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml
@@ -47,8 +47,8 @@
     node: clockworkWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 4
+    thresholds: [5, 10, 20]
+    damageDivisor: 3
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -74,8 +74,8 @@
     node: windowClockworkDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 10
+    thresholds: [5, 10, 20]
+    damageDivisor: 1.5
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -85,7 +85,16 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150
+        damage: 75
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: WindowShatter
+    - trigger:
+        !type:DamageTrigger
+        damage: 37
       behaviors:
       - !type:PlaySoundBehavior
         sound:
diff --git a/Resources/Prototypes/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/Entities/Structures/Windows/mining.yml
index 82d11b732b6..9d05fbb5e23 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/mining.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/mining.yml
@@ -43,8 +43,8 @@
     base: mwindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 6
+    thresholds: [5, 10, 20]
+    damageDivisor: 4
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -91,4 +91,4 @@
     - East
   - type: DamageVisuals
     damageOverlay:
-      sprite: Structures/Windows/cracks_diagonal.rsi
+      sprite: Structures/Windows/cracks_diagonal.rsi
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
index 66fac515a77..bdeb37c6bb7 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
@@ -10,12 +10,12 @@
     sprite: Structures/Windows/plasma_window.rsi
   - type: Damageable
     damageContainer: StructuralInorganic
-    damageModifierSet: RGlass
+    damageModifierSet: Glass
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 120
+        damage: 150
       behaviors:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
@@ -24,7 +24,7 @@
           collection: WindowShatter
     - trigger:
         !type:DamageTrigger
-        damage: 60
+        damage: 75
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -43,8 +43,8 @@
     node: plasmaWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
+    damageDivisor: 3
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -74,8 +74,8 @@
     node: plasmaWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
+    damageDivisor: 1.5
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -83,7 +83,16 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 200
+        damage: 75
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+      - !type:PlaySoundBehavior
+        sound:
+          collection: WindowShatter
+    - trigger:
+        !type:DamageTrigger
+        damage: 37
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -97,8 +106,6 @@
         acts: [ "Destruction" ]
   - type: StaticPrice
     price: 50
-  - type: RadiationBlocker
-    resistance: 1
 
 - type: entity
   parent: PlasmaWindow
@@ -143,4 +150,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: plasmaWindowDiagonal
+    node: plasmaWindowDiagonal
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
index 2134cfe8927..c50bc6e030b 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml
@@ -98,8 +98,8 @@
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 28
+    thresholds: [5, 10, 20]
+    damageDivisor: 20
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -185,8 +185,8 @@
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 28
+    thresholds: [5, 10, 20]
+    damageDivisor: 20
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_diagonal.rsi
@@ -195,4 +195,4 @@
     doAfterDelay: 3
   - type: Damageable
     damageContainer: StructuralInorganic
-    damageModifierSet: RGlass
+    damageModifierSet: RGlass
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
index 503d2eec6e3..238b71e3fde 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml
@@ -50,31 +50,12 @@
     node: reinforcedWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 4
+    thresholds: [5, 10, 20]
+    damageDivisor: 3
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
 
-- type: entity
-  parent: ReinforcedWindow
-  id: TintedWindow
-  name: tinted window
-  components:
-  - type: Sprite
-    drawdepth: WallTops
-    sprite: Structures/Windows/tinted_window.rsi
-  - type: Icon
-    sprite: Structures/Windows/tinted_window.rsi
-  - type: IconSmooth
-    base: twindow
-  - type: Construction
-    graph: Window
-    node: tintedWindow
-  - type: Occluder
-  - type: StaticPrice
-    price: 45
-
 - type: entity
   id: WindowReinforcedDirectional
   parent: WindowDirectional
@@ -96,8 +77,8 @@
     node: windowReinforcedDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 10
+    thresholds: [5, 10, 20]
+    damageDivisor: 1.5
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -111,16 +92,16 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities.
+        damage: 75
       behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
       - !type:PlaySoundBehavior
         sound:
           collection: WindowShatter
-      - !type:DoActsBehavior
-        acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 50
+        damage: 37
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -178,4 +159,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: reinforcedWindowDiagonal
+    node: reinforcedWindowDiagonal
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
index 0940ac308a5..2ea710e6e77 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
@@ -17,7 +17,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 200
+        damage: 300
       behaviors: #excess damage, don't spawn entities.
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
@@ -26,7 +26,7 @@
           collection: WindowShatter
     - trigger:
         !type:DamageTrigger
-        damage: 100
+        damage: 150
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -48,7 +48,7 @@
     node: reinforcedPlasmaWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
+    thresholds: [5, 10, 20]
     damageDivisor: 6
     trackAllDamage: true
     damageOverlay:
@@ -77,24 +77,22 @@
     node: plasmaReinforcedWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 36
+    thresholds: [5, 10, 20]
+    damageDivisor: 3
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
-  - type: RadiationBlocker
-    resistance: 2
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 1000
+        damage: 150
       behaviors: #excess damage, don't spawn entities.
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 600
+        damage: 75
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -155,4 +153,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: reinforcedPlasmaWindowDiagonal
+    node: reinforcedPlasmaWindowDiagonal
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
index b9b47c00ea9..fe40b21ba26 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
@@ -43,7 +43,7 @@
     node: reinforcedUraniumWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
+    thresholds: [5, 10, 20]
     damageDivisor: 6
     trackAllDamage: true
     damageOverlay:
@@ -74,8 +74,8 @@
     node: uraniumReinforcedWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
+    damageDivisor: 3
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -83,7 +83,13 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 200
+        damage: 150
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+    - trigger:
+        !type:DamageTrigger
+        damage: 75
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -93,15 +99,13 @@
           ShardGlassUranium:
             min: 1
             max: 2
-          PartRodMetal1:
+          PartRodMetal:
             min: 1
             max: 2
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: StaticPrice
     price: 110
-  - type: RadiationBlocker
-    resistance: 2.5
 
 - type: entity
   parent: ReinforcedUraniumWindow
@@ -146,4 +150,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: reinforcedUraniumWindowDiagonal
+    node: reinforcedUraniumWindowDiagonal
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
index 1b4c96c1709..f70b684abd2 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml
@@ -46,8 +46,8 @@
     node: shuttleWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 28
+    thresholds: [5, 10, 20]
+    damageDivisor: 20
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -94,4 +94,4 @@
     - East
   - type: DamageVisuals
     damageOverlay:
-      sprite: Structures/Windows/cracks_diagonal.rsi
+      sprite: Structures/Windows/cracks_diagonal.rsi
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
index c7b7312a709..25ad1b876ed 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
@@ -11,18 +11,18 @@
     state: full
   - type: Damageable
     damageContainer: StructuralInorganic
-    damageModifierSet: RGlass
+    damageModifierSet: Glass
   - type: Destructible
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 100
+        damage: 150
       behaviors:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
     - trigger:
         !type:DamageTrigger
-        damage: 60
+        damage: 75
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -41,8 +41,8 @@
     node: uraniumWindow
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
+    damageDivisor: 3
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -72,8 +72,8 @@
     node: uraniumWindowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
+    damageDivisor: 1.5
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -81,7 +81,13 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 200
+        damage: 75
+      behaviors:
+      - !type:DoActsBehavior
+        acts: [ "Destruction" ]
+    - trigger:
+        !type:DamageTrigger
+        damage: 37
       behaviors:
       - !type:PlaySoundBehavior
         sound:
@@ -90,13 +96,11 @@
         spawn:
           ShardGlassUranium:
             min: 1
-            max: 2
+            max: 1
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
   - type: StaticPrice
     price: 100
-  - type: RadiationBlocker
-    resistance: 1.5
 
 - type: entity
   parent: UraniumWindow
@@ -141,4 +145,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: uraniumWindowDiagonal
+    node: uraniumWindowDiagonal
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Windows/window.yml b/Resources/Prototypes/Entities/Structures/Windows/window.yml
index 56a38f82fcf..5b6530a9e5d 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/window.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/window.yml
@@ -84,8 +84,8 @@
     node: window
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
+    damageDivisor: 2
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks.rsi
@@ -93,6 +93,25 @@
     price: 100
   - type: BlockWeather
 
+- type: entity
+  parent: Window
+  id: TintedWindow
+  name: tinted window
+  components:
+  - type: Sprite
+    drawdepth: WallTops
+    sprite: Structures/Windows/tinted_window.rsi
+  - type: Icon
+    sprite: Structures/Windows/tinted_window.rsi
+  - type: IconSmooth
+    base: twindow
+  - type: Construction
+    graph: Window
+    node: tintedWindow
+  - type: Occluder
+  - type: StaticPrice
+    price: 70
+
 - type: entity
   id: WindowRCDResistant
   parent: Window
@@ -158,7 +177,7 @@
     thresholds:
     - trigger:
         !type:DamageTrigger
-        damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities.
+        damage: 50 #excess damage (nuke?). avoid computational cost of spawning entities.
       behaviors:
       - !type:DoActsBehavior
         acts: [ "Destruction" ]
@@ -188,8 +207,7 @@
     node: windowDirectional
   - type: Appearance
   - type: DamageVisuals
-    thresholds: [4, 8, 12]
-    damageDivisor: 3.333
+    thresholds: [5, 10, 20]
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
@@ -220,6 +238,8 @@
   - type: Icon
     sprite: Structures/Windows/directional.rsi
     state: frosted_window
+  - type: StaticPrice
+    price: 35
 
 - type: entity
   parent: Window
@@ -264,4 +284,4 @@
       sprite: Structures/Windows/cracks_diagonal.rsi
   - type: Construction
     graph: WindowDiagonal
-    node: windowDiagonal
+    node: windowDiagonal
\ No newline at end of file
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png
rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png
rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png
rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png
diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json
index 9d0cc9a505d..ca012e8fc5c 100644
--- a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json
@@ -7,8 +7,8 @@
   "license": "CC-BY-SA-3.0",
   "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5",
   "states": [
-    {"name": "DamageOverlay_4", "directions": 1},
-    {"name": "DamageOverlay_8", "directions": 1},
-    {"name": "DamageOverlay_12", "directions": 1}
+    {"name": "DamageOverlay_5", "directions": 1},
+    {"name": "DamageOverlay_10", "directions": 1},
+    {"name": "DamageOverlay_20", "directions": 1}
   ]
 }
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png
rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png
rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png
rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png
diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json
index 9d0cc9a505d..ca012e8fc5c 100644
--- a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json
@@ -7,8 +7,8 @@
   "license": "CC-BY-SA-3.0",
   "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5",
   "states": [
-    {"name": "DamageOverlay_4", "directions": 1},
-    {"name": "DamageOverlay_8", "directions": 1},
-    {"name": "DamageOverlay_12", "directions": 1}
+    {"name": "DamageOverlay_5", "directions": 1},
+    {"name": "DamageOverlay_10", "directions": 1},
+    {"name": "DamageOverlay_20", "directions": 1}
   ]
 }
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png
rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png
rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png
similarity index 100%
rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png
rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png
diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json
index df077f67d2b..9555aa5ab35 100644
--- a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json
@@ -8,15 +8,15 @@
   "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie",
   "states": [
     {
-      "name": "DamageOverlay_4",
+      "name": "DamageOverlay_5",
       "directions": 4
     },
     {
-      "name": "DamageOverlay_8",
+      "name": "DamageOverlay_10",
       "directions": 4
     },
     {
-      "name": "DamageOverlay_12",
+      "name": "DamageOverlay_20",
       "directions": 4
     }
   ]

From 21074bd98d3844dd8f6ae18f9f423752304fa7bd Mon Sep 17 00:00:00 2001
From: cohanna <conornhanna@gmail.com>
Date: Tue, 12 Nov 2024 19:14:28 -0700
Subject: [PATCH 068/187] oops

---
 .../Entities/Structures/Windows/plasma.yml    |  2 +
 .../Entities/Structures/Windows/rplasma.yml   |  2 +
 .../Entities/Structures/Windows/ruranium.yml  |  2 +
 .../Entities/Structures/Windows/uranium.yml   |  2 +
 .../Recipes/Construction/structures.yml       | 40 ++++++++++++++-----
 5 files changed, 37 insertions(+), 11 deletions(-)

diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
index bdeb37c6bb7..8758e1075eb 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml
@@ -106,6 +106,8 @@
         acts: [ "Destruction" ]
   - type: StaticPrice
     price: 50
+  - type: RadiationBlocker
+    resistance: 1
 
 - type: entity
   parent: PlasmaWindow
diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
index 2ea710e6e77..2ad0eb84105 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml
@@ -82,6 +82,8 @@
     trackAllDamage: true
     damageOverlay:
       sprite: Structures/Windows/cracks_directional.rsi
+  - type: RadiationBlocker
+    resistance: 2
   - type: Destructible
     thresholds:
     - trigger:
diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
index fe40b21ba26..daae6a4726d 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml
@@ -106,6 +106,8 @@
         acts: [ "Destruction" ]
   - type: StaticPrice
     price: 110
+  - type: RadiationBlocker
+    resistance: 2.5
 
 - type: entity
   parent: ReinforcedUraniumWindow
diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
index 25ad1b876ed..db932280090 100644
--- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
+++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml
@@ -101,6 +101,8 @@
         acts: [ "Destruction" ]
   - type: StaticPrice
     price: 100
+  - type: RadiationBlocker
+    resistance: 1.5
 
 - type: entity
   parent: UraniumWindow
diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml
index 31e1264ab08..44a7134597d 100644
--- a/Resources/Prototypes/Recipes/Construction/structures.yml
+++ b/Resources/Prototypes/Recipes/Construction/structures.yml
@@ -455,7 +455,7 @@
   startNode: start
   targetNode: tintedWindow
   category: construction-category-structures
-  description: Not clear but tough.
+  description: Not clear, but lasers still pass through.
   canBuildInImpassable: true
   conditions:
     - !type:EmptyOrWindowValidInTile
@@ -512,7 +512,7 @@
   targetNode: plasmaWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with a purple tint.
+  description: Clear, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -531,7 +531,7 @@
   targetNode: reinforcedPlasmaWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Fire resistant and even tougher, with a purple tint.
+  description: Clear and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -569,7 +569,7 @@
   targetNode: plasmaWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with a purple tint.
+  description: Clear, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -587,7 +587,7 @@
   targetNode: reinforcedPlasmaWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Fire resistant and even tougher, with a purple tint.
+  description: Clear and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -659,7 +659,7 @@
   targetNode: plasmaWindowDirectional
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and even tougher, with a purple tint.
+  description: Clear, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -677,7 +677,7 @@
   targetNode: plasmaReinforcedWindowDirectional
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Fire resistant and even tougher, with a purple tint.
+  description: Clear and even tougher, with a purple tint.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -695,7 +695,7 @@
   targetNode: uraniumWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -714,7 +714,7 @@
   targetNode: reinforcedUraniumWindow
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -733,7 +733,7 @@
   targetNode: uraniumWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -751,7 +751,7 @@
   targetNode: reinforcedUraniumWindowDiagonal
   category: construction-category-structures
   canBuildInImpassable: true
-  description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation.
+  description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation.
   conditions:
     - !type:EmptyOrWindowValidInTile
     - !type:NoWindowsInTile
@@ -1456,6 +1456,24 @@
   # Same here. - 20kdc
     - !type:TileNotBlocked
 
+- type: construction
+  name: emergency light
+  id: EmergencyLightFixture
+  graph: LightFixture
+  startNode: start
+  targetNode: emergencyLight
+  category: construction-category-structures
+  description: An emergency light.
+  icon:
+    sprite: Structures/Wallmounts/Lighting/emergency_light.rsi
+    state: base
+  objectType: Structure
+  placementMode: SnapgridCenter
+  canRotate: true
+  canBuildInImpassable: false
+  conditions:
+    - !type:TileNotBlocked
+
 - type: construction
   name: ground light post
   id: LightGroundFixture

From bd2d0ee5e593606da094804f5822cf740a1f1084 Mon Sep 17 00:00:00 2001
From: August Sun <45527070+august-sun@users.noreply.github.com>
Date: Tue, 12 Nov 2024 19:59:47 -0700
Subject: [PATCH 069/187] Added the ability to microwave inert flesh anomaly
 cores to turn into an anomalous meat mass (#33223)

* First round of anomaly core functionalities added

* Added sliceTime to anom meat mass and cooked version

* Adds SmokeOnUse component, system and shared system, adds new functions to inert electrical anom core

* Added more functions

* Final touches to branch

* Cleaning up some of the metadata for sprites and component definitions

* PR_Changes_v2_rev.0_Final_FINALFORREALTHISTIME.yml

* Lol jk these goddamn tests why me

* Quick updates based on feedback

* more changes to improve

* additional fixes and edits

* Changed tech core functionality

* added magboot functionality to grav core

* fixed issue with bluespace core sizing

* Reverting changes per request

* extra file to be deleted

* File cleanup

* Update chemicals.ftl

* Update cores.yml

* Update cores.yml

* Update meta.json

* Update chemicals.yml

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml

Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>

* Update meal_recipes.yml

* Update cores.yml

---------

Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com>
Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
---
 .../Entities/Objects/Consumable/Food/meat.yml |  59 ++++++++++++++++++
 .../Structures/Specific/Anomaly/cores.yml     |   6 +-
 .../Construction/Graphs/food/steak.yml        |  18 +++++-
 .../Recipes/Cooking/meal_recipes.yml          |  24 +++++++
 .../Food/meat.rsi/anomalymeat-cooked.png      | Bin 0 -> 618 bytes
 .../Consumable/Food/meat.rsi/anomalymeat.png  | Bin 0 -> 642 bytes
 .../Consumable/Food/meat.rsi/meta.json        |   8 ++-
 7 files changed, 111 insertions(+), 4 deletions(-)
 create mode 100644 Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat-cooked.png
 create mode 100644 Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat.png

diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
index 612f7da0472..48968b80c13 100644
--- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
+++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
@@ -701,6 +701,36 @@
         - ReagentId: Water
           Quantity: 4 #It makes saline if you add salt!
 
+- type: entity
+  name: anomalous meat mass
+  parent: FoodMeatRawBase
+  id: FoodMeatAnomaly
+  description: An impossibly dense slab of meat. Just looking at it makes you uncomfortable.
+  components:
+  - type: Sprite
+    state: anomalymeat
+  - type: SolutionContainerManager
+    solutions:
+      food:
+        reagents:
+        - ReagentId: UncookedAnimalProteins
+          Quantity: 90
+        - ReagentId: Fat
+          Quantity: 90
+  - type: SliceableFood
+    count: 10
+    sliceTime: 5
+    slice: FoodMeat #That's... So much meat
+  - type: InternalTemperature
+    conductivity: 0.43
+  - type: Construction
+    graph: AnomalyMeatSteak
+    node: start
+    defaultTarget: anomaly steak
+  - type: Tag
+    tags:
+    - Meat
+
 # Cooked
 
 - type: entity
@@ -1173,6 +1203,35 @@
       Burger: MeatSnail
       Taco: MeatSnail
 
+- type: entity
+  name: anomalous steak
+  parent: FoodMeatBase
+  id: FoodMeatAnomalyCooked
+  description: A gigantic mass of cooked meat. A meal for a dinner party, or someone REALLY hungry. 
+  components:
+  - type: Tag
+    tags:
+    - Cooked
+    - Meat
+  - type: Sprite
+    layers:
+    - state: anomalymeat-cooked #Kinda hard to cook this... thing evenly
+  - type: SolutionContainerManager
+    solutions:
+      food:
+        reagents:
+        - ReagentId: Nutriment
+          Quantity: 100
+        - ReagentId: Protein
+          Quantity: 50
+  - type: SliceableFood
+    count: 10
+    sliceTime: 5
+    slice: FoodMeatCooked
+  - type: Construction
+    graph: AnomalyMeatSteak
+    node: anomaly steak
+
 # Cutlets
 
 # Raw
diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml
index 315505b81e9..568a133749e 100644
--- a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml
+++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml
@@ -79,6 +79,7 @@
 - type: entity
   parent: BaseAnomalyCore
   id: AnomalyCoreFlesh
+  description: The core of a destroyed flesh anomaly. Pulsates sickeningly, but might be a hearty meal if cooked.
   suffix: Flesh
   components:
   - type: Sprite
@@ -241,7 +242,8 @@
 
 - type: entity
   parent: BaseAnomalyInertCore
-  id: AnomalyCoreFleshInert
+  id: AnomalyCoreFleshInert # Can be microwaved to turn it into a massive piece of meat
+  description: The inert core of a destroyed flesh anomaly. Pulsates sickeningly, but might be good food in the right hands?
   suffix: Flesh, Inert
   components:
   - type: Sprite
@@ -306,7 +308,7 @@
 
 - type: entity
   parent: BaseAnomalyInertCore
-  id: AnomalyCoreFloraInert
+  id: AnomalyCoreFloraInert #Turns into a seed that grows into artifexium
   suffix: Flora, Inert
   components:
   - type: Seed
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml b/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml
index 4c104003319..61cb844037b 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml
@@ -174,6 +174,22 @@
   - node: bacon
     entity: FoodMeatBaconCooked
 
+# anomaly meat steak
+- type: constructionGraph
+  id: AnomalyMeatSteak
+  start: start
+  graph:
+  - node: start
+    edges:
+    - to: anomaly steak
+      completed:
+      - !type:PlaySound
+        sound: /Audio/Effects/sizzle.ogg
+      steps:
+      - minTemperature: 335
+  - node: anomaly steak
+    entity: FoodMeatAnomalyCooked
+
 # cutlets
 
 - type: constructionGraph
@@ -294,4 +310,4 @@
       steps:
       - minTemperature: 345
   - node: xeno cutlet
-    entity: FoodMeatXenoCutletCooked
\ No newline at end of file
+    entity: FoodMeatXenoCutletCooked
diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
index 173cf9e9dbd..da66f7a0d8a 100644
--- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
+++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
@@ -2050,3 +2050,27 @@
     FoodCroissantRaw: 1
     FoodButterSlice: 1
     ShardGlass: 1
+
+- type: microwaveMealRecipe
+  id: RecipeInertAnomalyMeat
+  name: inert meat anomaly recipe
+  result: FoodMeatAnomaly
+  time: 5
+  solids:
+    AnomalyCoreFleshInert: 1
+
+- type: microwaveMealRecipe
+  id: RecipeAnomalyMeat
+  name: meat anomaly recipe
+  result: FoodMeatAnomaly
+  time: 5
+  solids:
+    AnomalyCoreFlesh: 1
+
+- type: microwaveMealRecipe
+  id: RecipeAnomalyMeatCooked
+  name: cooked meat anomaly recipe
+  result: FoodMeatAnomalyCooked
+  time: 5
+  solids:
+    FoodMeatAnomaly: 1
diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat-cooked.png b/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat-cooked.png
new file mode 100644
index 0000000000000000000000000000000000000000..19c0040f3a150fb1b247ff901673516605618e39
GIT binary patch
literal 618
zcmV-w0+s!VP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp)
z=>Px%BuPX;R9J=Wl+SA0KoG`%7HMS3rIEcd#E_HmCE%7op_c@FF!U+>6n%mAVfq3+
zmmCbu!8cPIdT5$MNogULt+uv>NRWD1X(QS4pSrnK9|*BCyEET>GrN!@M~?p;g<TH4
zdG;hstv~)MEc%kR2O$s#78L_$>>(-!=iM16Pc^kC>2t>3RwT4d8<G$;UHyyYJ!~;W
zR15(6gCIpLwm%2~CAqJ0-kpIT9V?VU4-geYl8Fe~Vk#9_XjK;W)+UV59|W{t8bE+8
zra+0t;Q>A7;A=QzkC<Q#QPXk0`x}c}sX%`qD-#t1+kQl|UX_lhYRjBMI9WcZ2LKe!
z{mf#vCSZ%H45kMVPPqK>le1<C!ioGxXdVk%r$+#sJvWrEad@CwvW~>&8Hi;4_T@M3
z+yvm=`!OGeGXT05*J`UfH<f+($pNI2>qx95FmfKJ)~(Ycl`O6d<kjn5TtlHO+v02T
zY}5)hoJNqDXC;AltCX7d;nfYIrpw^ICcnfji07esES3s!TyIsHYyy{4jow#ZPPZN~
z8r@1qOem^O+4VpvW|?zdzp^Qs`#7%0$%`oFP3DEmzJ_nF+(M^rg&2Vf;<z4oTBJ;3
zb404$lEW9zz`CSKtb8gvbt^SAjp`kE>1P)JJx~%0>;CoYeZE!2>_i}oP@{TxZ}7CG
z!Ae%VDe+$uh)F=C2H6sCoA{s5saxS<i*n@1kz-f<0S*S>OT=+9=l}o!07*qoM6N<$
Ef@X&iumAu6

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat.png b/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat.png
new file mode 100644
index 0000000000000000000000000000000000000000..005107ab4ec5e066f292c3d6a163174d11c9e7e7
GIT binary patch
literal 642
zcmV-|0)737P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp)
z=>Px%JV``BR9J=WmBDM%P#niURU4tC5L+}p8Nv>0DPk$&c^8WpFN1kddZ_<_3S*A3
zlN6Eu37*=)4vM>Y@Z_mS5tLq}-C-9Yq+kuUC`%9V(7xBCOS^1(GhYbF`@JN;@Avz@
zFM${_V*Kw&oaLcLHs|@rkG^*kvvdC1KOrDrY~bRcVc>GOew$1CZFP@-&OwVr;#^b$
z0C}OQb8=&i-0~6z?y=@_90idGNcFZg#1uNVH3T5D_W@Jr7`T{1R|EkZv|~#Zh6{@t
zN|YYo=l7d;z_dZ(<}F&*d!^j5T&3C+IwsJuPIh6g19>sF)4=8DwG`&dO<?Lmy0{Xs
zd9}Htns+Rhex=Nh_2P*xgodP%&3V#RiP4h>6z<+(&^{ntTv7Ew`v4$NlXZKmu3VTG
z$j~K_O5|DtIL~%jx_X^fwFZnGvaKNwno=*D!qlm}(CAn$jcm>fBM~WtrqEe!?$D~%
z$O}z{O$M-4ttn?DY3ZJA4ap0Qo|g)J_gn&g_5Dg2d#kQg`wu?}fMWA`Abbwm!Z3ys
z=y@r+o`HjgDRjDr-vXqhy4f>~vvBWolYXVF8uz>u&gdwVKxhUw`(G0EOvy8Fu`QS7
z{ZH5vHRIaU9eHg`#vk`ytGTXwesUGw92R_v>zPtu`&>!<3e5ZWyd;s_SerJVxc2nb
z+l8Ow$p3=vbip%{7XyT5gXN5lxcu-&q{gQvAV~m7B4O+LV(|4$f7nxDJ6-T3nHVu*
c#Q0nM0h_}40T=^O)c^nh07*qoM6N<$f|m*~VgLXD

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json
index 4ad75849d1a..99084d8c958 100644
--- a/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json
+++ b/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation and modified by Swept, potato1234x and deltanedas at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, snail by IproduceWidgets (github) and Kezu (discord)",
+  "copyright": "Taken from tgstation and modified by Swept, potato1234x and deltanedas at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, snail by IproduceWidgets (github) and Kezu (discord), anomalymeat/cooked by august-sun",
   "size": {
     "x": 32,
     "y": 32
@@ -200,6 +200,12 @@
     },
     {
       "name": "rouny-cooked"
+    },
+    {
+      "name": "anomalymeat"
+    },
+    {
+      "name": "anomalymeat-cooked"
     }
   ]
 }

From 52c1708117f82e75f0d0b911f3e8319c7a97725d Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 13 Nov 2024 03:00:54 +0000
Subject: [PATCH 070/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 4ab88b325b5..f54421b87ad 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Spessmann
-  changes:
-  - message: Added Cog, a new midpop map based on Cogmap from ss13
-    type: Add
-  id: 7105
-  time: '2024-08-13T19:27:25.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30840
 - author: PoorMansDreams
   changes:
   - message: Throngler Plushie looks like a plushie
@@ -3948,3 +3941,11 @@
   id: 7604
   time: '2024-11-12T12:06:43.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33011
+- author: august-sun
+  changes:
+  - message: The inert flesh anomaly core can now be microwaved to turn into an anomalous
+      meat mass.
+    type: Tweak
+  id: 7605
+  time: '2024-11-13T02:59:47.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33223

From 99b4604d5096eea467a7006ccfa90ef17e06e73e Mon Sep 17 00:00:00 2001
From: Spessmann <156740760+Spessmann@users.noreply.github.com>
Date: Tue, 12 Nov 2024 19:07:47 -0800
Subject: [PATCH 071/187] Cog fixes (#33285)

fixed the map (for real this time)
---
 Resources/Maps/cog.yml | 3014 +++++++++++++++++++++++++---------------
 1 file changed, 1914 insertions(+), 1100 deletions(-)

diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml
index 58310e561c0..859ee46b1de 100644
--- a/Resources/Maps/cog.yml
+++ b/Resources/Maps/cog.yml
@@ -333,7 +333,7 @@ entities:
           version: 6
         3,3:
           ind: 3,3
-          tiles: YAAAAAAAYAAAAAABYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAABYAAAAAACYAAAAAACYAAAAAABYAAAAAAAYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAACgQAAAAAAYAAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAADYAAAAAADYAAAAAADYAAAAAAAgQAAAAAAYAAAAAADYAAAAAADgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACgQAAAAAAYAAAAAADYAAAAAADYAAAAAAAYAAAAAADgQAAAAAAYAAAAAABYAAAAAADYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAYAAAAAADYAAAAAABYAAAAAACgQAAAAAADAAAAAADDAAAAAABDAAAAAACfQAAAAACfQAAAAACCwAAAAAADAAAAAACDAAAAAAADAAAAAAADAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAADAAAAAACDAAAAAACDAAAAAAAfQAAAAABfQAAAAAAfQAAAAAADAAAAAADDAAAAAADDAAAAAACCAAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAADYAAAAAADYAAAAAADCAAAAAABCAAAAAAACAAAAAACfQAAAAAAfQAAAAABfQAAAAACCAAAAAACCAAAAAADCAAAAAAACAAAAAADYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAABYAAAAAAAYAAAAAADCAAAAAAACAAAAAABCAAAAAABfQAAAAADfQAAAAAAfQAAAAACCAAAAAADCAAAAAADCAAAAAACCAAAAAACYAAAAAACYAAAAAAAYAAAAAABYAAAAAADYAAAAAABgQAAAAAADAAAAAAADAAAAAAADAAAAAADfQAAAAADfQAAAAACfQAAAAACDAAAAAAADAAAAAAADAAAAAAADAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAADYAAAAAAAgQAAAAAADAAAAAABDAAAAAABDAAAAAACfQAAAAABfQAAAAACfQAAAAABDAAAAAACDAAAAAAADAAAAAABDAAAAAADYAAAAAABgQAAAAAAYAAAAAADYAAAAAAAYAAAAAAAgQAAAAAADAAAAAAADAAAAAADDAAAAAACfQAAAAABfQAAAAACfQAAAAADDAAAAAAADAAAAAADDAAAAAADDAAAAAAAYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAgQAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAACYAAAAAADgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAACYAAAAAABYAAAAAACgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACYAAAAAACgQAAAAAAYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADYAAAAAABYAAAAAABYAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: YAAAAAAAYAAAAAABYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAABYAAAAAACYAAAAAACYAAAAAABYAAAAAAAYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAACgQAAAAAAYAAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAADYAAAAAADYAAAAAADYAAAAAAAgQAAAAAAYAAAAAADYAAAAAADgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACgQAAAAAAYAAAAAADYAAAAAADYAAAAAAAYAAAAAADgQAAAAAAYAAAAAABYAAAAAADYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAYAAAAAADYAAAAAABYAAAAAACgQAAAAAADAAAAAADDAAAAAABDAAAAAACfQAAAAACfQAAAAACCwAAAAAADAAAAAACDAAAAAAADAAAAAAADAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAADAAAAAACDAAAAAACDAAAAAAAfQAAAAABfQAAAAAAfQAAAAAADAAAAAADDAAAAAADDAAAAAACCAAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAADYAAAAAADYAAAAAADCAAAAAABCAAAAAAACAAAAAACfQAAAAAAfQAAAAABfQAAAAACCAAAAAACCAAAAAADCAAAAAAACAAAAAADYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAABYAAAAAAAYAAAAAADCAAAAAAACAAAAAABCAAAAAABfQAAAAADfQAAAAAAfQAAAAACCAAAAAADCAAAAAADCAAAAAACCAAAAAACYAAAAAACYAAAAAAAYAAAAAABYAAAAAADYAAAAAABgQAAAAAADAAAAAAADAAAAAAADAAAAAADfQAAAAADfQAAAAACfQAAAAACDAAAAAAADAAAAAAADAAAAAAADAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAADYAAAAAAAgQAAAAAADAAAAAABDAAAAAABDAAAAAACfQAAAAABfQAAAAACfQAAAAABDAAAAAACDAAAAAAADAAAAAABDAAAAAADYAAAAAABgQAAAAAAYAAAAAADYAAAAAAAYAAAAAAAgQAAAAAADAAAAAAADAAAAAADDAAAAAACfQAAAAABfQAAAAACfQAAAAADDAAAAAAADAAAAAADDAAAAAADDAAAAAAAYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAgQAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAACYAAAAAADgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAACYAAAAAABYAAAAAACgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACYAAAAAACYAAAAAAAYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADYAAAAAABYAAAAAABYAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         2,3:
           ind: 2,3
@@ -353,7 +353,7 @@ entities:
           version: 6
         3,4:
           ind: 3,4
-          tiles: gQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAYAAAAAABYAAAAAADYAAAAAADYAAAAAACYAAAAAADgQAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAABIAAAAAAAIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: gQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAYAAAAAABYAAAAAADYAAAAAADYAAAAAACYAAAAAADgQAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAABIAAAAAAAIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         2,4:
           ind: 2,4
@@ -441,11 +441,11 @@ entities:
           version: 6
         -1,-5:
           ind: -1,-5
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAIAAAAAABgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAACIAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAABgQAAAAAAIAAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAIAAAAAABYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAACIAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAABgQAAAAAAIAAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA
           version: 6
         -2,-5:
           ind: -2,-5
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA
           version: 6
         0,-5:
           ind: 0,-5
@@ -1262,9 +1262,7 @@ entities:
             color: '#FFFFFFFF'
             id: BrickTileSteelLineE
           decals:
-            2507: 1,36
             2508: 1,37
-            2509: 1,38
             2510: 1,39
             4041: 77,46
             4042: 77,51
@@ -1299,13 +1297,18 @@ entities:
             9612: -5,71
             9911: -48,70
             9912: -48,73
+        - node:
+            zIndex: 1
+            color: '#FFFFFFFF'
+            id: BrickTileSteelLineE
+          decals:
+            9952: 1,36
+            9953: 1,38
         - node:
             color: '#FFFFFFFF'
             id: BrickTileSteelLineN
           decals:
-            2518: 2,35
             2519: 3,35
-            2520: 4,35
             2521: 5,35
             2522: 6,35
             2523: 7,35
@@ -1357,6 +1360,13 @@ entities:
             9902: -51,74
             9903: -50,74
             9904: -49,74
+        - node:
+            zIndex: 1
+            color: '#FFFFFFFF'
+            id: BrickTileSteelLineN
+          decals:
+            9950: 2,35
+            9951: 4,35
         - node:
             color: '#FFFFFFFF'
             id: BrickTileSteelLineS
@@ -1953,6 +1963,14 @@ entities:
             9920: -32,75
             9921: -28,74
             9922: -29,77
+            10059: -58,-17
+            10060: -61,-16
+            10113: -10,-69
+            10114: -12,-72
+            10115: -14,-70
+            10116: -16,-72
+            10117: -16,-68
+            10118: -12,-67
         - node:
             cleanable: True
             zIndex: 1
@@ -2173,7 +2191,6 @@ entities:
             4138: -36,1
             4139: -30,7
             4140: -30,10
-            4141: -22,9
             4142: -21,7
             4143: -17,11
             4144: -16,0
@@ -3082,6 +3099,164 @@ entities:
             9942: -43,67
             9943: -43,68
             9944: -46,68
+            9984: -1,10
+            9985: 0,7
+            9986: -2,7
+            9987: -2,7
+            9988: -1,7
+            9989: -3,10
+            9990: -4,11
+            9991: -7,4
+            9992: -7,5
+            9993: -7,6
+            9994: -6,7
+            9995: -9,0
+            9996: -10,-2
+            9997: -11,-2
+            9998: -11,-1
+            9999: -13,-2
+            10000: -12,-5
+            10001: -11,-4
+            10002: -12,-4
+            10003: -12,-4
+            10004: -2,-4
+            10005: -11,-11
+            10006: -11,-10
+            10007: -11,-10
+            10008: -11,-9
+            10009: -12,-9
+            10010: -12,-9
+            10011: -11,-7
+            10012: -10,-13
+            10013: -10,-12
+            10014: -7,-16
+            10015: -8,-16
+            10016: -7,-15
+            10017: -7,-15
+            10018: -7,-18
+            10019: -4,-20
+            10020: -4,-21
+            10021: -5,-20
+            10022: -3,-19
+            10023: -3,-21
+            10024: -1,-21
+            10025: 3,-21
+            10026: 4,-19
+            10027: 4,-15
+            10028: 4,-16
+            10029: 4,-16
+            10030: 4,-17
+            10031: 4,-24
+            10032: 2,-24
+            10033: -13,-23
+            10034: -60,-28
+            10035: -61,-28
+            10036: -63,-30
+            10037: -60,-22
+            10038: -59,-22
+            10039: -59,-25
+            10040: -59,-28
+            10041: -61,-16
+            10042: -61,-16
+            10043: -61,-16
+            10044: -61,-16
+            10045: -61,-15
+            10046: -60,-14
+            10047: -57,-17
+            10048: -58,-16
+            10049: -57,-16
+            10050: -58,-17
+            10051: -54,-17
+            10052: -55,-17
+            10053: -55,-16
+            10054: -54,-16
+            10055: -53,-16
+            10056: -55,-15
+            10057: -54,-13
+            10058: -54,-13
+            10061: -60,-14
+            10062: -60,-14
+            10063: -60,-14
+            10064: -57,-17
+            10065: -55,-16
+            10066: -55,-16
+            10067: -55,-15
+            10068: -56,-16
+            10069: -56,-16
+            10070: -55,-15
+            10071: -54,-16
+            10072: -54,-16
+            10073: -54,-16
+            10074: -51,-15
+            10075: -50,-15
+            10076: -51,-13
+            10077: -52,-20
+            10078: -52,-20
+            10079: -52,-20
+            10080: -53,-20
+            10081: -51,-20
+            10082: -46,-23
+            10083: -17,-70
+            10084: -15,-69
+            10085: -15,-70
+            10086: -14,-70
+            10087: -13,-69
+            10088: -12,-69
+            10089: -11,-70
+            10090: -11,-71
+            10091: -11,-72
+            10092: -12,-72
+            10093: -12,-71
+            10094: -14,-72
+            10095: -15,-72
+            10096: -15,-72
+            10097: -16,-72
+            10098: -16,-72
+            10099: -15,-72
+            10100: -10,-69
+            10101: -10,-69
+            10102: -11,-69
+            10103: -11,-69
+            10104: -11,-70
+            10105: -13,-70
+            10106: -16,-68
+            10107: -16,-69
+            10108: -14,-69
+            10109: -12,-70
+            10110: -11,-70
+            10111: -16,-70
+            10112: -17,-68
+            10119: -16,-66
+            10120: -13,-66
+            10121: -12,-66
+            10122: -13,-67
+            10123: -12,-67
+            10124: -11,-67
+            10125: -13,-67
+            10126: -14,-67
+            10127: -14,-66
+            10128: -15,-66
+            10129: -15,-65
+            10130: -13,-65
+            10131: -13,-65
+            10132: -9,-65
+            10133: -8,-64
+            10134: -14,-63
+            10146: -24,9
+            10147: -25,9
+            10148: -21,9
+            10149: -21,10
+            10150: -20,9
+            10151: -24,7
+            10152: -24,4
+            10153: -22,5
+            10154: -21,4
+            10155: -20,13
+            10156: -22,13
+            10157: -23,14
+            10158: -24,14
+            10159: -24,11
+            10160: -20,12
         - node:
             cleanable: True
             zIndex: 1
@@ -3202,6 +3377,15 @@ entities:
             8588: 28,23
             8589: 29,25
             8590: 29,25
+            9954: -1,22
+            9955: -1,21
+            9956: -3,22
+            9957: -3,22
+            9958: -4,22
+            9959: -5,19
+            9960: -5,20
+            9961: -3,21
+            9962: -2,21
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -3270,7 +3454,6 @@ entities:
             3000: -11,6
             3001: -9,8
             3002: -19,8
-            3003: -24,9
             3004: -19,11
             3005: -16,12
             3006: -17,18
@@ -3300,7 +3483,6 @@ entities:
             3032: -31,39
             3033: -38,41
             3034: -28,39
-            3035: -35,45
             3036: -30,43
             3037: -28,46
             3038: -30,51
@@ -3985,7 +4167,6 @@ entities:
             3828: -26,13
             3829: -26,12
             3830: -26,10
-            3831: -25,9
             3832: -26,8
             3833: -24,10
             3834: -23,8
@@ -4624,6 +4805,25 @@ entities:
             9861: -31,78
             9862: -29,75
             9863: -29,75
+            9965: -2,17
+            9966: -2,17
+            9967: -3,17
+            9968: -4,15
+            9969: -1,15
+            9970: -1,15
+            9971: -4,17
+            9972: -4,17
+            9973: -13,17
+            9974: -13,17
+            9975: -12,10
+            9976: -9,11
+            9977: -8,9
+            9978: -3,10
+            9979: -4,10
+            9980: -5,10
+            9981: -5,11
+            9982: -4,11
+            9983: -3,11
         - node:
             cleanable: True
             zIndex: 1
@@ -4643,6 +4843,8 @@ entities:
             8165: 42,4
             8166: 42,4
             8167: 42,4
+            9963: -5,22
+            9964: -4,21
         - node:
             cleanable: True
             color: '#B02E26FF'
@@ -7632,18 +7834,18 @@ entities:
             2541: 0,33
             2542: 0,35
             2543: 1,34
-            2544: 2,35
             2545: 3,34
-            2546: 1,36
             2547: 0,37
             2548: 0,39
-            2549: 1,38
             2550: 5,34
-            2551: 4,35
             2579: 6,41
             2975: -17,-33
             2981: -17,-37
             2985: -18,-36
+            9946: 4,35
+            9947: 2,35
+            9948: 1,36
+            9949: 1,38
         - node:
             color: '#8C347F96'
             id: QuarterTileOverlayGreyscale90
@@ -7847,40 +8049,47 @@ entities:
             7279: 28.908653,-33.8389
             7347: -20.375824,19.28789
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign1
           decals:
-            2058: -25,9
+            10139: -25,9
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign2
           decals:
-            2034: -24,9
+            10140: -24,9
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign3
           decals:
-            1863: -23,9
+            10141: -23,9
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign4
           decals:
-            1864: -22,9
+            10142: -22,9
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign5
           decals:
-            1865: -21,9
+            10143: -21,9
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign6
           decals:
-            1866: -20,9
+            10144: -20,9
         - node:
+            zIndex: 1
             color: '#FFFFFFFF'
             id: SpaceStationSign7
           decals:
-            1867: -19,9
+            10145: -19,9
         - node:
             color: '#32CD3293'
             id: ThreeQuarterTileOverlayGreyscale
@@ -9860,7 +10069,7 @@ entities:
           -4,-14:
             0: 49631
           -4,-17:
-            0: 61441
+            0: 65473
           -3,-16:
             0: 46008
           -3,-15:
@@ -9868,7 +10077,7 @@ entities:
           -3,-14:
             0: 62139
           -3,-17:
-            0: 61568
+            0: 61872
           -2,-16:
             0: 3839
           -2,-15:
@@ -11076,8 +11285,8 @@ entities:
           13,15:
             0: 57308
           13,16:
-            0: 4381
-            2: 51200
+            0: 797
+            2: 52224
           14,13:
             0: 65535
           14,14:
@@ -11086,9 +11295,9 @@ entities:
             0: 30583
           14,16:
             0: 7
-            2: 61952
+            2: 65280
           15,16:
-            2: 12835
+            2: 13107
           7,12:
             0: 61408
           8,13:
@@ -11220,7 +11429,7 @@ entities:
           -1,16:
             0: 63675
           12,17:
-            2: 61448
+            2: 61440
           12,18:
             2: 52479
           11,17:
@@ -11232,7 +11441,7 @@ entities:
           11,19:
             2: 45055
           13,17:
-            2: 63627
+            2: 63624
           13,18:
             2: 39423
           13,19:
@@ -11240,7 +11449,7 @@ entities:
           12,20:
             2: 15
           14,17:
-            2: 61986
+            2: 61998
           14,18:
             2: 8959
           14,19:
@@ -11250,7 +11459,7 @@ entities:
           14,20:
             2: 15
           15,17:
-            2: 65058
+            2: 65059
           15,18:
             2: 8191
           15,19:
@@ -11603,15 +11812,17 @@ entities:
             0: 631
           -6,19:
             2: 8
-          -5,-18:
-            0: 48000
+          -4,-19:
+            0: 20480
           -4,-18:
-            2: 3584
+            0: 65367
+          -5,-18:
+            0: 47872
+            2: 4
           -3,-18:
-            2: 18176
+            0: 29495
           -2,-18:
             0: 61440
-            2: 96
           -1,-18:
             0: 65280
           -1,-17:
@@ -14887,6 +15098,11 @@ entities:
     - type: Transform
       pos: -36.5,15.5
       parent: 12
+  - uid: 10620
+    components:
+    - type: Transform
+      pos: -15.5,-70.5
+      parent: 12
   - uid: 10786
     components:
     - type: Transform
@@ -14899,6 +15115,11 @@ entities:
       linkedPorts:
         10785:
         - DoorStatus: DoorBolt
+  - uid: 12234
+    components:
+    - type: Transform
+      pos: -13.5,-70.5
+      parent: 12
   - uid: 14903
     components:
     - type: Transform
@@ -15246,18 +15467,6 @@ entities:
       linkedPorts:
         27864:
         - DoorStatus: DoorBolt
-  - uid: 19844
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 52.5,67.5
-      parent: 12
-    - type: DeviceLinkSink
-      invokeCounter: 2
-    - type: DeviceLinkSource
-      linkedPorts:
-        18560:
-        - DoorStatus: DoorBolt
   - uid: 25678
     components:
     - type: Transform
@@ -15310,6 +15519,17 @@ entities:
       linkedPorts:
         27232:
         - DoorStatus: DoorBolt
+  - uid: 31450
+    components:
+    - type: Transform
+      pos: 53.5,66.5
+      parent: 12
+    - type: DeviceLinkSink
+      invokeCounter: 1
+    - type: DeviceLinkSource
+      linkedPorts:
+        161:
+        - DoorStatus: DoorBolt
 - proto: AirlockExternalGlassShuttleArrivals
   entities:
   - uid: 14686
@@ -15388,6 +15608,12 @@ entities:
       parent: 12
 - proto: AirlockExternalGlassShuttleEscape
   entities:
+  - uid: 573
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -9.5,-71.5
+      parent: 12
   - uid: 1033
     components:
     - type: Transform
@@ -15412,12 +15638,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -56.5,-39.5
       parent: 12
-  - uid: 30543
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -15.5,-67.5
-      parent: 12
 - proto: AirlockExternalGlassShuttleLocked
   entities:
   - uid: 552
@@ -15534,41 +15754,40 @@ entities:
       parent: 12
 - proto: AirlockExternalLocked
   entities:
-  - uid: 530
+  - uid: 161
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 5.5,-5.5
+      pos: 52.5,64.5
       parent: 12
     - type: DeviceLinkSink
       invokeCounter: 1
     - type: DeviceLinkSource
       linkedPorts:
-        925:
+        31450:
         - DoorStatus: DoorBolt
-  - uid: 925
+  - uid: 530
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: 5.5,-3.5
+      pos: 5.5,-5.5
       parent: 12
     - type: DeviceLinkSink
       invokeCounter: 1
     - type: DeviceLinkSource
       linkedPorts:
-        530:
+        925:
         - DoorStatus: DoorBolt
-  - uid: 18560
+  - uid: 925
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 52.5,64.5
+      rot: 3.141592653589793 rad
+      pos: 5.5,-3.5
       parent: 12
     - type: DeviceLinkSink
       invokeCounter: 1
     - type: DeviceLinkSource
       linkedPorts:
-        19844:
+        530:
         - DoorStatus: DoorBolt
   - uid: 25663
     components:
@@ -15584,10 +15803,15 @@ entities:
         - DoorStatus: DoorBolt
 - proto: AirlockExternalShuttleLocked
   entities:
-  - uid: 28051
+  - uid: 31079
     components:
     - type: Transform
-      pos: -16.5,-70.5
+      pos: -15.5,-72.5
+      parent: 12
+  - uid: 31080
+    components:
+    - type: Transform
+      pos: -13.5,-72.5
       parent: 12
 - proto: AirlockFreezerLocked
   entities:
@@ -19147,6 +19371,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: -47.5,67.5
       parent: 12
+  - uid: 9640
+    components:
+    - type: Transform
+      pos: -0.5,5.5
+      parent: 12
   - uid: 9899
     components:
     - type: Transform
@@ -19390,12 +19619,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -39.5,-25.5
       parent: 12
-  - uid: 21922
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -0.5,1.5
-      parent: 12
   - uid: 22225
     components:
     - type: Transform
@@ -19840,6 +20063,12 @@ entities:
       parent: 12
 - proto: AtmosDeviceFanDirectional
   entities:
+  - uid: 159
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -9.5,-71.5
+      parent: 12
   - uid: 193
     components:
     - type: Transform
@@ -19869,10 +20098,10 @@ entities:
     - type: Transform
       pos: 80.5,-33.5
       parent: 12
-  - uid: 745
+  - uid: 563
     components:
     - type: Transform
-      pos: -16.5,-70.5
+      pos: -15.5,-72.5
       parent: 12
   - uid: 919
     components:
@@ -19880,12 +20109,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 14.5,-51.5
       parent: 12
-  - uid: 1049
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -15.5,-67.5
-      parent: 12
   - uid: 1355
     components:
     - type: Transform
@@ -20054,6 +20277,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -47.5,2.5
       parent: 12
+  - uid: 31081
+    components:
+    - type: Transform
+      pos: -13.5,-72.5
+      parent: 12
   - uid: 31633
     components:
     - type: Transform
@@ -22499,6 +22727,13 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 32.5,25.5
       parent: 12
+- proto: BorgModuleAnomaly
+  entities:
+  - uid: 31075
+    components:
+    - type: Transform
+      pos: -40.50334,-38.27384
+      parent: 12
 - proto: BorgModuleCable
   entities:
   - uid: 1780
@@ -22506,6 +22741,18 @@ entities:
     - type: Transform
       pos: -34.459003,-34.4371
       parent: 12
+  - uid: 31065
+    components:
+    - type: Transform
+      pos: 57.40648,-4.2987256
+      parent: 12
+- proto: BorgModuleDiagnosis
+  entities:
+  - uid: 31067
+    components:
+    - type: Transform
+      pos: -1.522131,-49.55343
+      parent: 12
 - proto: BorgModuleFireExtinguisher
   entities:
   - uid: 2071
@@ -22544,6 +22791,11 @@ entities:
     - type: Transform
       pos: 22.528473,66.519966
       parent: 12
+  - uid: 31076
+    components:
+    - type: Transform
+      pos: 40.50182,45.594707
+      parent: 12
 - proto: BorgModuleTool
   entities:
   - uid: 1781
@@ -22555,8 +22807,8 @@ entities:
   - uid: 1782
     components:
     - type: Transform
-      rot: -62.83185307179591 rad
-      pos: -19.470467,-27.590706
+      rot: -6.283185307179586 rad
+      pos: -4.4899044,50.539303
       parent: 12
 - proto: BoxBeaker
   entities:
@@ -22831,17 +23083,17 @@ entities:
   - uid: 20863
     components:
     - type: Transform
-      pos: -32.4606,65.445
+      pos: -32.540394,65.31164
       parent: 12
   - uid: 20864
     components:
     - type: Transform
-      pos: -32.497322,65.50615
+      pos: -32.602894,65.63478
       parent: 12
   - uid: 20865
     components:
     - type: Transform
-      pos: -32.4606,65.51838
+      pos: -32.259144,65.467995
       parent: 12
 - proto: BoxLightbulb
   entities:
@@ -23185,6 +23437,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 1.5,-13.5
       parent: 12
+  - uid: 11842
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-24.5
+      parent: 12
   - uid: 11866
     components:
     - type: Transform
@@ -23272,6 +23530,32 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 50.5,-7.5
       parent: 12
+  - uid: 31379
+    components:
+    - type: Transform
+      pos: -20.5,15.5
+      parent: 12
+  - uid: 31380
+    components:
+    - type: Transform
+      pos: 12.5,19.5
+      parent: 12
+  - uid: 31381
+    components:
+    - type: Transform
+      pos: 10.5,19.5
+      parent: 12
+  - uid: 31513
+    components:
+    - type: Transform
+      pos: -49.5,-20.5
+      parent: 12
+  - uid: 31518
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -49.5,-28.5
+      parent: 12
 - proto: CableApcExtension
   entities:
   - uid: 14
@@ -23499,6 +23783,11 @@ entities:
     - type: Transform
       pos: 30.5,-57.5
       parent: 12
+  - uid: 745
+    components:
+    - type: Transform
+      pos: 43.5,12.5
+      parent: 12
   - uid: 746
     components:
     - type: Transform
@@ -23534,6 +23823,11 @@ entities:
     - type: Transform
       pos: -30.5,-25.5
       parent: 12
+  - uid: 1049
+    components:
+    - type: Transform
+      pos: 46.5,13.5
+      parent: 12
   - uid: 1054
     components:
     - type: Transform
@@ -31099,11 +31393,6 @@ entities:
     - type: Transform
       pos: 44.5,12.5
       parent: 12
-  - uid: 12135
-    components:
-    - type: Transform
-      pos: 43.5,12.5
-      parent: 12
   - uid: 12136
     components:
     - type: Transform
@@ -31169,11 +31458,6 @@ entities:
     - type: Transform
       pos: 41.5,14.5
       parent: 12
-  - uid: 12163
-    components:
-    - type: Transform
-      pos: 42.5,14.5
-      parent: 12
   - uid: 12164
     components:
     - type: Transform
@@ -42929,16 +43213,6 @@ entities:
     - type: Transform
       pos: 45.5,1.5
       parent: 12
-  - uid: 29339
-    components:
-    - type: Transform
-      pos: 45.5,4.5
-      parent: 12
-  - uid: 29340
-    components:
-    - type: Transform
-      pos: 45.5,5.5
-      parent: 12
   - uid: 29341
     components:
     - type: Transform
@@ -44024,6 +44298,16 @@ entities:
     - type: Transform
       pos: 10.5,-24.5
       parent: 12
+  - uid: 31055
+    components:
+    - type: Transform
+      pos: -0.5,4.5
+      parent: 12
+  - uid: 31056
+    components:
+    - type: Transform
+      pos: -0.5,5.5
+      parent: 12
   - uid: 31068
     components:
     - type: Transform
@@ -44054,6 +44338,56 @@ entities:
     - type: Transform
       pos: -52.5,-50.5
       parent: 12
+  - uid: 31165
+    components:
+    - type: Transform
+      pos: -15.5,-68.5
+      parent: 12
+  - uid: 31166
+    components:
+    - type: Transform
+      pos: -14.5,-68.5
+      parent: 12
+  - uid: 31169
+    components:
+    - type: Transform
+      pos: -13.5,-68.5
+      parent: 12
+  - uid: 31170
+    components:
+    - type: Transform
+      pos: -12.5,-68.5
+      parent: 12
+  - uid: 31171
+    components:
+    - type: Transform
+      pos: -11.5,-68.5
+      parent: 12
+  - uid: 31172
+    components:
+    - type: Transform
+      pos: -10.5,-68.5
+      parent: 12
+  - uid: 31173
+    components:
+    - type: Transform
+      pos: -10.5,-69.5
+      parent: 12
+  - uid: 31174
+    components:
+    - type: Transform
+      pos: -10.5,-70.5
+      parent: 12
+  - uid: 31238
+    components:
+    - type: Transform
+      pos: -10.5,-71.5
+      parent: 12
+  - uid: 31266
+    components:
+    - type: Transform
+      pos: -14.5,-69.5
+      parent: 12
   - uid: 31275
     components:
     - type: Transform
@@ -44184,6 +44518,16 @@ entities:
     - type: Transform
       pos: 1.5,-63.5
       parent: 12
+  - uid: 31349
+    components:
+    - type: Transform
+      pos: -14.5,-70.5
+      parent: 12
+  - uid: 31353
+    components:
+    - type: Transform
+      pos: -14.5,-71.5
+      parent: 12
   - uid: 31365
     components:
     - type: Transform
@@ -48452,11 +48796,6 @@ entities:
     - type: Transform
       pos: -1.5,35.5
       parent: 12
-  - uid: 11936
-    components:
-    - type: Transform
-      pos: 45.5,4.5
-      parent: 12
   - uid: 11938
     components:
     - type: Transform
@@ -54877,31 +55216,6 @@ entities:
     - type: Transform
       pos: 4.5,-54.5
       parent: 12
-  - uid: 29182
-    components:
-    - type: Transform
-      pos: 45.5,0.5
-      parent: 12
-  - uid: 29183
-    components:
-    - type: Transform
-      pos: 45.5,1.5
-      parent: 12
-  - uid: 29184
-    components:
-    - type: Transform
-      pos: 45.5,2.5
-      parent: 12
-  - uid: 29185
-    components:
-    - type: Transform
-      pos: 45.5,3.5
-      parent: 12
-  - uid: 29307
-    components:
-    - type: Transform
-      pos: 45.5,5.5
-      parent: 12
   - uid: 29426
     components:
     - type: Transform
@@ -56337,6 +56651,11 @@ entities:
     - type: Transform
       pos: 43.5,58.5
       parent: 12
+  - uid: 571
+    components:
+    - type: Transform
+      pos: -0.5,4.5
+      parent: 12
   - uid: 601
     components:
     - type: Transform
@@ -59702,11 +60021,26 @@ entities:
     - type: Transform
       pos: 31.5,15.5
       parent: 12
+  - uid: 12056
+    components:
+    - type: Transform
+      pos: -0.5,5.5
+      parent: 12
   - uid: 12142
     components:
     - type: Transform
       pos: 37.5,18.5
       parent: 12
+  - uid: 12237
+    components:
+    - type: Transform
+      pos: 53.5,-0.5
+      parent: 12
+  - uid: 12238
+    components:
+    - type: Transform
+      pos: 52.5,-0.5
+      parent: 12
   - uid: 12292
     components:
     - type: Transform
@@ -65932,16 +66266,6 @@ entities:
     - type: Transform
       pos: -25.5,70.5
       parent: 12
-  - uid: 29323
-    components:
-    - type: Transform
-      pos: 45.5,5.5
-      parent: 12
-  - uid: 29324
-    components:
-    - type: Transform
-      pos: 45.5,4.5
-      parent: 12
   - uid: 29325
     components:
     - type: Transform
@@ -66757,6 +67081,56 @@ entities:
     - type: Transform
       pos: -5.5,-65.5
       parent: 12
+  - uid: 31564
+    components:
+    - type: Transform
+      pos: 51.5,-0.5
+      parent: 12
+  - uid: 31620
+    components:
+    - type: Transform
+      pos: 50.5,-0.5
+      parent: 12
+  - uid: 31621
+    components:
+    - type: Transform
+      pos: 49.5,-0.5
+      parent: 12
+  - uid: 31622
+    components:
+    - type: Transform
+      pos: 48.5,-0.5
+      parent: 12
+  - uid: 31625
+    components:
+    - type: Transform
+      pos: 47.5,-0.5
+      parent: 12
+  - uid: 31626
+    components:
+    - type: Transform
+      pos: 46.5,-0.5
+      parent: 12
+  - uid: 31627
+    components:
+    - type: Transform
+      pos: 45.5,-0.5
+      parent: 12
+  - uid: 31645
+    components:
+    - type: Transform
+      pos: 45.5,0.5
+      parent: 12
+  - uid: 31646
+    components:
+    - type: Transform
+      pos: 45.5,1.5
+      parent: 12
+  - uid: 31647
+    components:
+    - type: Transform
+      pos: 45.5,2.5
+      parent: 12
   - uid: 31771
     components:
     - type: Transform
@@ -67136,6 +67510,30 @@ entities:
       parent: 12
 - proto: Carpet
   entities:
+  - uid: 2274
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,31.5
+      parent: 12
+  - uid: 2276
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,31.5
+      parent: 12
+  - uid: 2340
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 53.5,29.5
+      parent: 12
+  - uid: 2897
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,28.5
+      parent: 12
   - uid: 4023
     components:
     - type: Transform
@@ -67195,6 +67593,54 @@ entities:
     - type: Transform
       pos: 23.5,48.5
       parent: 12
+  - uid: 4890
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 53.5,27.5
+      parent: 12
+  - uid: 5385
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 53.5,28.5
+      parent: 12
+  - uid: 5411
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,30.5
+      parent: 12
+  - uid: 6288
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 56.5,29.5
+      parent: 12
+  - uid: 6747
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,27.5
+      parent: 12
+  - uid: 7338
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 53.5,30.5
+      parent: 12
+  - uid: 7584
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 53.5,31.5
+      parent: 12
+  - uid: 7620
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 56.5,31.5
+      parent: 12
   - uid: 10613
     components:
     - type: Transform
@@ -67213,6 +67659,48 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -21.5,-0.5
       parent: 12
+  - uid: 12401
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,29.5
+      parent: 12
+  - uid: 12402
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,28.5
+      parent: 12
+  - uid: 12403
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,29.5
+      parent: 12
+  - uid: 12404
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 56.5,27.5
+      parent: 12
+  - uid: 12405
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,27.5
+      parent: 12
+  - uid: 12406
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,30.5
+      parent: 12
+  - uid: 12407
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 56.5,30.5
+      parent: 12
   - uid: 12727
     components:
     - type: Transform
@@ -67273,6 +67761,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 56.5,36.5
       parent: 12
+  - uid: 13145
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 56.5,28.5
+      parent: 12
   - uid: 13178
     components:
     - type: Transform
@@ -68598,126 +69092,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 56.5,32.5
       parent: 12
-  - uid: 13145
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 56.5,31.5
-      parent: 12
-  - uid: 13146
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 55.5,30.5
-      parent: 12
-  - uid: 13147
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,29.5
-      parent: 12
-  - uid: 13148
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 53.5,28.5
-      parent: 12
-  - uid: 13149
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,27.5
-      parent: 12
-  - uid: 13150
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 55.5,28.5
-      parent: 12
-  - uid: 13151
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 56.5,29.5
-      parent: 12
-  - uid: 13152
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 56.5,27.5
-      parent: 12
-  - uid: 13153
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,31.5
-      parent: 12
-  - uid: 13154
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 53.5,30.5
-      parent: 12
-  - uid: 13155
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 53.5,31.5
-      parent: 12
-  - uid: 13156
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 53.5,29.5
-      parent: 12
-  - uid: 13157
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 54.5,30.5
-      parent: 12
-  - uid: 13158
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 55.5,31.5
-      parent: 12
-  - uid: 13159
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 56.5,30.5
-      parent: 12
-  - uid: 13160
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 55.5,29.5
-      parent: 12
-  - uid: 13161
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 54.5,28.5
-      parent: 12
-  - uid: 13162
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 53.5,27.5
-      parent: 12
-  - uid: 13163
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 55.5,27.5
-      parent: 12
-  - uid: 13164
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 56.5,28.5
-      parent: 12
   - uid: 13170
     components:
     - type: Transform
@@ -72929,6 +73303,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -9.5,-0.5
       parent: 12
+  - uid: 22182
+    components:
+    - type: Transform
+      pos: 54.5,66.5
+      parent: 12
   - uid: 22286
     components:
     - type: Transform
@@ -73679,11 +74058,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -48.5,46.5
       parent: 12
-  - uid: 25555
-    components:
-    - type: Transform
-      pos: 51.5,68.5
-      parent: 12
   - uid: 25758
     components:
     - type: Transform
@@ -75299,16 +75673,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -41.5,66.5
       parent: 12
-  - uid: 30017
-    components:
-    - type: Transform
-      pos: 53.5,68.5
-      parent: 12
-  - uid: 30018
-    components:
-    - type: Transform
-      pos: 52.5,68.5
-      parent: 12
   - uid: 30131
     components:
     - type: Transform
@@ -75659,6 +76023,21 @@ entities:
     - type: Transform
       pos: -57.5,-43.5
       parent: 12
+  - uid: 31107
+    components:
+    - type: Transform
+      pos: -15.5,-71.5
+      parent: 12
+  - uid: 31111
+    components:
+    - type: Transform
+      pos: -13.5,-71.5
+      parent: 12
+  - uid: 31113
+    components:
+    - type: Transform
+      pos: -14.5,-71.5
+      parent: 12
   - uid: 31270
     components:
     - type: Transform
@@ -75677,12 +76056,32 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -2.5,15.5
       parent: 12
+  - uid: 31396
+    components:
+    - type: Transform
+      pos: 57.5,66.5
+      parent: 12
   - uid: 31419
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -16.5,-64.5
       parent: 12
+  - uid: 31442
+    components:
+    - type: Transform
+      pos: 54.5,67.5
+      parent: 12
+  - uid: 31445
+    components:
+    - type: Transform
+      pos: 55.5,66.5
+      parent: 12
+  - uid: 31446
+    components:
+    - type: Transform
+      pos: 56.5,66.5
+      parent: 12
   - uid: 32022
     components:
     - type: Transform
@@ -77209,6 +77608,16 @@ entities:
       rot: 3.141592653589793 rad
       pos: 15.5,-12.5
       parent: 12
+  - uid: 31149
+    components:
+    - type: Transform
+      pos: -12.5,-68.5
+      parent: 12
+  - uid: 31160
+    components:
+    - type: Transform
+      pos: -11.5,-68.5
+      parent: 12
   - uid: 31264
     components:
     - type: Transform
@@ -77319,6 +77728,11 @@ entities:
     - type: Transform
       pos: -36.5,-56.5
       parent: 12
+  - uid: 31159
+    components:
+    - type: Transform
+      pos: -13.5,-68.5
+      parent: 12
   - uid: 31265
     components:
     - type: Transform
@@ -78095,10 +78509,10 @@ entities:
     - type: Transform
       pos: -52.5,-34.5
       parent: 12
-  - uid: 28303
+  - uid: 31099
     components:
     - type: Transform
-      pos: -19.5,-64.5
+      pos: -12.5,-66.5
       parent: 12
   - uid: 31367
     components:
@@ -78382,6 +78796,11 @@ entities:
       parent: 12
 - proto: ClosetEmergencyN2FilledRandom
   entities:
+  - uid: 8668
+    components:
+    - type: Transform
+      pos: -13.5,-66.5
+      parent: 12
   - uid: 14957
     components:
     - type: Transform
@@ -78479,6 +78898,11 @@ entities:
     - type: Transform
       pos: 48.5,-36.5
       parent: 12
+  - uid: 11261
+    components:
+    - type: Transform
+      pos: -36.5,55.5
+      parent: 12
   - uid: 12023
     components:
     - type: Transform
@@ -78861,6 +79285,11 @@ entities:
     - type: Transform
       pos: 40.5,12.5
       parent: 12
+  - uid: 12135
+    components:
+    - type: Transform
+      pos: -9.5,-68.5
+      parent: 12
   - uid: 12246
     components:
     - type: Transform
@@ -79792,8 +80221,8 @@ entities:
   - uid: 5033
     components:
     - type: Transform
-      rot: -119.380520836412 rad
-      pos: -19.723452,-30.617403
+      rot: -6.283185307179586 rad
+      pos: -19.489866,-29.595835
       parent: 12
 - proto: ClothingMaskBandBlue
   entities:
@@ -79847,8 +80276,8 @@ entities:
   - uid: 10900
     components:
     - type: Transform
-      rot: -119.380520836412 rad
-      pos: -19.545881,-30.396193
+      rot: -6.283185307179586 rad
+      pos: -19.677366,-30.367203
       parent: 12
 - proto: ClothingMaskBreathMedicalSecurity
   entities:
@@ -83592,15 +84021,15 @@ entities:
     - type: Transform
       pos: -55.5,-39.5
       parent: 12
-  - uid: 916
+  - uid: 703
     components:
     - type: Transform
-      pos: -18.5,73.5
+      pos: -10.5,-71.5
       parent: 12
-  - uid: 2340
+  - uid: 916
     components:
     - type: Transform
-      pos: -16.5,-67.5
+      pos: -18.5,73.5
       parent: 12
   - uid: 7275
     components:
@@ -95559,6 +95988,11 @@ entities:
     - type: Transform
       pos: -33.58722,44.43513
       parent: 12
+  - uid: 31049
+    components:
+    - type: Transform
+      pos: -40.499992,47.607746
+      parent: 12
   - uid: 31815
     components:
     - type: Transform
@@ -96744,6 +97178,22 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 32.5,14.5
       parent: 12
+  - uid: 31360
+    components:
+    - type: Transform
+      pos: -12.5,-68.5
+      parent: 12
+  - uid: 31361
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -60.5,-27.5
+      parent: 12
+  - uid: 31362
+    components:
+    - type: Transform
+      pos: -59.5,-21.5
+      parent: 12
   - uid: 31514
     components:
     - type: Transform
@@ -97255,8 +97705,8 @@ entities:
       pos: 7.5,57.5
       parent: 12
     - type: FaxMachine
-      name: Recreation longue
-      destinationAddress: Recreation longue
+      name: Recreation lounge
+      destinationAddress: Recreation lounge
   - uid: 26279
     components:
     - type: Transform
@@ -102397,6 +102847,13 @@ entities:
     - type: Transform
       pos: -34.299114,38.455334
       parent: 12
+- proto: FoodBoxPizzaFilled
+  entities:
+  - uid: 10911
+    components:
+    - type: Transform
+      pos: 0.5,52.5
+      parent: 12
 - proto: FoodBreadMoldySlice
   entities:
   - uid: 3240
@@ -102407,7 +102864,7 @@ entities:
   - uid: 31123
     components:
     - type: Transform
-      pos: -30.5,-57.5
+      pos: -30.467789,-57.532593
       parent: 12
 - proto: FoodBreadPlain
   entities:
@@ -102528,13 +102985,6 @@ entities:
     - type: Transform
       pos: 57.538345,56.66531
       parent: 12
-- proto: FoodCornTrash
-  entities:
-  - uid: 31149
-    components:
-    - type: Transform
-      pos: -34.115353,-56.58399
-      parent: 12
 - proto: FoodFrozenSnowcone
   entities:
   - uid: 22491
@@ -102654,7 +103104,7 @@ entities:
   - uid: 31124
     components:
     - type: Transform
-      pos: -30.5,-58.5
+      pos: -30.5164,-58.581932
       parent: 12
 - proto: FoodPizzaUraniumSlice
   entities:
@@ -102919,7 +103369,7 @@ entities:
   - uid: 31133
     components:
     - type: Transform
-      pos: -28.587122,-59.26843
+      pos: -28.70083,-57.79198
       parent: 12
 - proto: Football
   entities:
@@ -139733,11 +140183,6 @@ entities:
     - type: Transform
       pos: -46.5,0.5
       parent: 12
-  - uid: 8668
-    components:
-    - type: Transform
-      pos: -47.5,0.5
-      parent: 12
   - uid: 8713
     components:
     - type: Transform
@@ -139851,7 +140296,7 @@ entities:
   - uid: 9971
     components:
     - type: Transform
-      pos: -47.5,3.5
+      pos: 60.5,65.5
       parent: 12
   - uid: 10060
     components:
@@ -140363,6 +140808,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -3.5,8.5
       parent: 12
+  - uid: 10724
+    components:
+    - type: Transform
+      pos: -14.5,-70.5
+      parent: 12
   - uid: 10725
     components:
     - type: Transform
@@ -143440,11 +143890,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 61.5,-11.5
       parent: 12
-  - uid: 25558
-    components:
-    - type: Transform
-      pos: 61.5,66.5
-      parent: 12
   - uid: 25559
     components:
     - type: Transform
@@ -143982,11 +144427,6 @@ entities:
     - type: Transform
       pos: 6.5,76.5
       parent: 12
-  - uid: 27240
-    components:
-    - type: Transform
-      pos: 61.5,67.5
-      parent: 12
   - uid: 27248
     components:
     - type: Transform
@@ -145444,26 +145884,6 @@ entities:
     - type: Transform
       pos: -39.5,65.5
       parent: 12
-  - uid: 30971
-    components:
-    - type: Transform
-      pos: -14.5,-65.5
-      parent: 12
-  - uid: 30972
-    components:
-    - type: Transform
-      pos: -13.5,-65.5
-      parent: 12
-  - uid: 30973
-    components:
-    - type: Transform
-      pos: -12.5,-65.5
-      parent: 12
-  - uid: 30977
-    components:
-    - type: Transform
-      pos: -11.5,-65.5
-      parent: 12
   - uid: 30978
     components:
     - type: Transform
@@ -145573,6 +145993,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: -56.5,-41.5
       parent: 12
+  - uid: 31103
+    components:
+    - type: Transform
+      pos: -9.5,-70.5
+      parent: 12
   - uid: 31163
     components:
     - type: Transform
@@ -145645,6 +146070,11 @@ entities:
     - type: Transform
       pos: 2.5,-62.5
       parent: 12
+  - uid: 31441
+    components:
+    - type: Transform
+      pos: 60.5,68.5
+      parent: 12
   - uid: 31451
     components:
     - type: Transform
@@ -146705,6 +147135,14 @@ entities:
       rot: -12.566370614359172 rad
       pos: -2.5072865,-0.47896957
       parent: 12
+- proto: IntercomAll
+  entities:
+  - uid: 31057
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -0.5,1.5
+      parent: 12
 - proto: IntercomAssembly
   entities:
   - uid: 4791
@@ -146745,11 +147183,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -33.5,29.5
       parent: 12
-  - uid: 21479
-    components:
-    - type: Transform
-      pos: -25.5,17.5
-      parent: 12
   - uid: 23622
     components:
     - type: Transform
@@ -146774,6 +147207,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: -40.5,-44.5
       parent: 12
+  - uid: 31078
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -25.5,17.5
+      parent: 12
 - proto: IntercomEngineering
   entities:
   - uid: 1484
@@ -147054,8 +147493,7 @@ entities:
   - uid: 28698
     components:
     - type: Transform
-      rot: -6.283185307179586 rad
-      pos: 57.513466,-4.4312396
+      pos: 57.646065,-4.6948333
       parent: 12
     - type: GasTank
       toggleActionEntity: 28700
@@ -148441,6 +148879,11 @@ entities:
       parent: 12
 - proto: LootSpawnerIndustrial
   entities:
+  - uid: 1166
+    components:
+    - type: Transform
+      pos: 45.5,5.5
+      parent: 12
   - uid: 21945
     components:
     - type: Transform
@@ -148955,6 +149398,11 @@ entities:
     - type: Transform
       pos: -52.5,49.5
       parent: 12
+  - uid: 31359
+    components:
+    - type: Transform
+      pos: -11.5,-68.5
+      parent: 12
   - uid: 31676
     components:
     - type: Transform
@@ -149072,6 +149520,11 @@ entities:
     - type: Transform
       pos: -39.5,-50.5
       parent: 12
+  - uid: 31355
+    components:
+    - type: Transform
+      pos: -11.5,-66.5
+      parent: 12
   - uid: 31372
     components:
     - type: Transform
@@ -149214,6 +149667,11 @@ entities:
     - type: Transform
       pos: 42.5,-42.5
       parent: 12
+  - uid: 29324
+    components:
+    - type: Transform
+      pos: -10.5,-66.5
+      parent: 12
   - uid: 29620
     components:
     - type: Transform
@@ -149513,6 +149971,11 @@ entities:
     - type: Transform
       pos: -11.468502,-43.455402
       parent: 12
+  - uid: 31161
+    components:
+    - type: Transform
+      pos: -11.5,-71.5
+      parent: 12
   - uid: 31323
     components:
     - type: Transform
@@ -149677,40 +150140,52 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 8.5,-40.5
       parent: 12
-  - uid: 4260
+  - uid: 9395
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 6.5,-40.5
+      pos: -21.5,-27.5
       parent: 12
-  - uid: 4570
+  - uid: 10736
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 4.5,-41.5
       parent: 12
-  - uid: 5042
+  - uid: 10737
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 6.5,-40.5
+      parent: 12
+  - uid: 10738
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 4.5,-40.5
       parent: 12
-  - uid: 5709
+  - uid: 10939
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 6.5,-44.5
+      parent: 12
+  - uid: 11000
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 4.5,-43.5
       parent: 12
-  - uid: 6747
+  - uid: 11001
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 6.5,-41.5
+      pos: 6.5,-43.5
       parent: 12
-  - uid: 9395
+  - uid: 11220
     components:
     - type: Transform
-      pos: -21.5,-27.5
+      rot: -1.5707963267948966 rad
+      pos: 6.5,-41.5
       parent: 12
   - uid: 12394
     components:
@@ -149760,24 +150235,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 8.5,-43.5
       parent: 12
-  - uid: 26149
+  - uid: 31077
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 4.5,-44.5
       parent: 12
-  - uid: 26150
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 6.5,-43.5
-      parent: 12
-  - uid: 26152
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 6.5,-44.5
-      parent: 12
 - proto: MouseTimedSpawner
   entities:
   - uid: 890
@@ -153926,6 +154389,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -12.5,74.5
       parent: 12
+  - uid: 11221
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -34.5,47.5
+      parent: 12
   - uid: 11223
     components:
     - type: Transform
@@ -153938,6 +154407,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -13.5,-50.5
       parent: 12
+  - uid: 11796
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -33.5,57.5
+      parent: 12
   - uid: 12016
     components:
     - type: Transform
@@ -154735,18 +155210,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -39.5,42.5
       parent: 12
-  - uid: 19034
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -36.5,44.5
-      parent: 12
-  - uid: 19051
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -34.5,46.5
-      parent: 12
   - uid: 19052
     components:
     - type: Transform
@@ -154817,30 +155280,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -38.5,50.5
       parent: 12
-  - uid: 19355
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -34.5,54.5
-      parent: 12
   - uid: 19356
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -34.5,52.5
       parent: 12
-  - uid: 19357
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -36.5,61.5
-      parent: 12
-  - uid: 19358
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -33.5,61.5
-      parent: 12
   - uid: 19364
     components:
     - type: Transform
@@ -155159,6 +155604,12 @@ entities:
     - type: Transform
       pos: -50.5,22.5
       parent: 12
+  - uid: 31050
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -36.5,44.5
+      parent: 12
   - uid: 31472
     components:
     - type: Transform
@@ -155714,6 +156165,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 57.5,11.5
       parent: 12
+  - uid: 11802
+    components:
+    - type: Transform
+      pos: -31.5,60.5
+      parent: 12
   - uid: 12005
     components:
     - type: Transform
@@ -155724,6 +156180,12 @@ entities:
     - type: Transform
       pos: 50.5,20.5
       parent: 12
+  - uid: 12163
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -14.5,-71.5
+      parent: 12
   - uid: 12291
     components:
     - type: Transform
@@ -155927,12 +156389,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -35.5,64.5
       parent: 12
-  - uid: 19871
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -29.5,60.5
-      parent: 12
   - uid: 21082
     components:
     - type: Transform
@@ -156304,6 +156760,12 @@ entities:
     - type: Transform
       pos: 5.5,-59.5
       parent: 12
+  - uid: 31354
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -11.5,-70.5
+      parent: 12
   - uid: 31508
     components:
     - type: Transform
@@ -156324,12 +156786,6 @@ entities:
       parent: 12
 - proto: PoweredSmallLightEmpty
   entities:
-  - uid: 9391
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -7.5,-23.5
-      parent: 12
   - uid: 28973
     components:
     - type: Transform
@@ -156351,6 +156807,12 @@ entities:
       powerLoad: 60
     - type: DamageOnInteract
       isDamageActive: False
+  - uid: 31363
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -6.5,-22.5
+      parent: 12
 - proto: Protolathe
   entities:
   - uid: 2321
@@ -156412,6 +156874,12 @@ entities:
     - type: Transform
       pos: -35.5,-37.5
       parent: 12
+  - uid: 2171
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 45.5,5.5
+      parent: 12
   - uid: 2645
     components:
     - type: Transform
@@ -156621,12 +157089,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 33.5,-6.5
       parent: 12
-  - uid: 12056
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -19.5,-28.5
-      parent: 12
   - uid: 12265
     components:
     - type: Transform
@@ -157131,6 +157593,17 @@ entities:
     - type: Transform
       pos: -53.5,-47.5
       parent: 12
+  - uid: 31086
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -10.5,-66.5
+      parent: 12
+  - uid: 31114
+    components:
+    - type: Transform
+      pos: -11.5,-71.5
+      parent: 12
   - uid: 31261
     components:
     - type: Transform
@@ -158027,6 +158500,11 @@ entities:
     - type: Transform
       pos: 45.5,6.5
       parent: 12
+  - uid: 9391
+    components:
+    - type: Transform
+      pos: -12.5,-71.5
+      parent: 12
   - uid: 13556
     components:
     - type: Transform
@@ -158178,6 +158656,12 @@ entities:
     - type: Transform
       pos: -26.5,73.5
       parent: 12
+  - uid: 31098
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -14.5,-66.5
+      parent: 12
   - uid: 31717
     components:
     - type: Transform
@@ -158188,11 +158672,6 @@ entities:
     - type: Transform
       pos: -4.5,-64.5
       parent: 12
-  - uid: 31719
-    components:
-    - type: Transform
-      pos: -15.5,-65.5
-      parent: 12
   - uid: 31720
     components:
     - type: Transform
@@ -158240,6 +158719,11 @@ entities:
       parent: 12
 - proto: RandomPosterLegit
   entities:
+  - uid: 726
+    components:
+    - type: Transform
+      pos: -18.5,-29.5
+      parent: 12
   - uid: 2131
     components:
     - type: Transform
@@ -158996,11 +159480,6 @@ entities:
     - type: Transform
       pos: 56.5,-28.5
       parent: 12
-  - uid: 24419
-    components:
-    - type: Transform
-      pos: 63.5,-23.5
-      parent: 12
   - uid: 24420
     components:
     - type: Transform
@@ -159286,6 +159765,16 @@ entities:
     - type: Transform
       pos: -38.5,-54.5
       parent: 12
+  - uid: 31356
+    components:
+    - type: Transform
+      pos: -10.5,-70.5
+      parent: 12
+  - uid: 31562
+    components:
+    - type: Transform
+      pos: 61.5,-25.5
+      parent: 12
   - uid: 31582
     components:
     - type: Transform
@@ -160498,11 +160987,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 5.5,24.5
       parent: 12
-  - uid: 4151
-    components:
-    - type: Transform
-      pos: -47.5,3.5
-      parent: 12
   - uid: 4175
     components:
     - type: Transform
@@ -162740,7 +163224,7 @@ entities:
   - uid: 12191
     components:
     - type: Transform
-      pos: -47.5,0.5
+      pos: -14.5,-70.5
       parent: 12
   - uid: 12252
     components:
@@ -165006,26 +165490,6 @@ entities:
     - type: Transform
       pos: -31.5,-60.5
       parent: 12
-  - uid: 30970
-    components:
-    - type: Transform
-      pos: -14.5,-65.5
-      parent: 12
-  - uid: 30974
-    components:
-    - type: Transform
-      pos: -13.5,-65.5
-      parent: 12
-  - uid: 30975
-    components:
-    - type: Transform
-      pos: -12.5,-65.5
-      parent: 12
-  - uid: 30976
-    components:
-    - type: Transform
-      pos: -11.5,-65.5
-      parent: 12
   - uid: 30980
     components:
     - type: Transform
@@ -165041,6 +165505,11 @@ entities:
     - type: Transform
       pos: -54.5,-46.5
       parent: 12
+  - uid: 31105
+    components:
+    - type: Transform
+      pos: -9.5,-70.5
+      parent: 12
   - uid: 31141
     components:
     - type: Transform
@@ -165376,8 +165845,8 @@ entities:
   - uid: 11312
     components:
     - type: Transform
-      rot: -62.83185307179591 rad
-      pos: -19.456577,-27.187649
+      rot: -6.283185307179586 rad
+      pos: -19.510698,-27.229607
       parent: 12
   - uid: 13828
     components:
@@ -165420,8 +165889,8 @@ entities:
   - uid: 5125
     components:
     - type: Transform
-      rot: -62.83185307179591 rad
-      pos: -19.623243,-27.84088
+      rot: -6.283185307179586 rad
+      pos: -19.458616,-27.615292
       parent: 12
   - uid: 13829
     components:
@@ -165822,14 +166291,12 @@ entities:
   - uid: 23173
     components:
     - type: Transform
-      rot: -43.98229715025713 rad
-      pos: 53.468582,-3.3849072
+      pos: 53.37523,-3.5169325
       parent: 12
   - uid: 26101
     components:
     - type: Transform
-      rot: -43.98229715025713 rad
-      pos: 57.301918,-5.261206
+      pos: 57.385647,-5.3932357
       parent: 12
   - uid: 31043
     components:
@@ -165899,8 +166366,7 @@ entities:
   - uid: 8439
     components:
     - type: Transform
-      rot: -43.98229715025713 rad
-      pos: 57.63525,-5.083999
+      pos: 53.677315,-3.3188787
       parent: 12
   - uid: 8898
     components:
@@ -166985,6 +167451,48 @@ entities:
       linkedPorts:
         31258:
         - Pressed: DoorBolt
+  - uid: 31374
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-24.5
+      parent: 12
+    - type: DeviceLinkSource
+      linkedPorts:
+        9763:
+        - Pressed: Toggle
+        9764:
+        - Pressed: Toggle
+  - uid: 31383
+    components:
+    - type: Transform
+      pos: 12.5,19.5
+      parent: 12
+    - type: DeviceLinkSource
+      linkedPorts:
+        12674:
+        - Pressed: Toggle
+        1850:
+        - Pressed: Toggle
+        4384:
+        - Pressed: Toggle
+        12675:
+        - Pressed: Toggle
+  - uid: 31385
+    components:
+    - type: Transform
+      pos: 10.5,19.5
+      parent: 12
+    - type: DeviceLinkSource
+      linkedPorts:
+        9407:
+        - Pressed: Toggle
+        15681:
+        - Pressed: Toggle
+        10993:
+        - Pressed: Toggle
+        11326:
+        - Pressed: Toggle
 - proto: SignAnomaly
   entities:
   - uid: 32031
@@ -170194,6 +170702,11 @@ entities:
     - type: Transform
       pos: -44.5,-15.5
       parent: 12
+  - uid: 31106
+    components:
+    - type: Transform
+      pos: -14.5,-68.5
+      parent: 12
 - proto: SpawnMobParrot
   entities:
   - uid: 6237
@@ -171016,6 +171529,16 @@ entities:
       rot: 3.141592653589793 rad
       pos: -36.5,62.5
       parent: 12
+  - uid: 11270
+    components:
+    - type: Transform
+      pos: -35.5,45.5
+      parent: 12
+  - uid: 11521
+    components:
+    - type: Transform
+      pos: -34.5,45.5
+      parent: 12
   - uid: 13050
     components:
     - type: Transform
@@ -172170,11 +172693,6 @@ entities:
     - type: Transform
       pos: 4.5,-16.5
       parent: 12
-  - uid: 4890
-    components:
-    - type: Transform
-      pos: 45.5,5.5
-      parent: 12
   - uid: 7904
     components:
     - type: Transform
@@ -172628,6 +173146,38 @@ entities:
       - SurveillanceCameraCommand
       nameSet: True
       id: AI exterior
+  - uid: 31447
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -51.5,38.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraCommand
+      nameSet: True
+      id: Command camera room
+  - uid: 31512
+    components:
+    - type: Transform
+      pos: -42.5,-20.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraCommand
+      nameSet: True
+      id: RD server room
+  - uid: 31519
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -36.5,-19.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraCommand
+      nameSet: True
+      id: RD's room
   - uid: 31748
     components:
     - type: Transform
@@ -172677,6 +173227,27 @@ entities:
       - SurveillanceCameraEngineering
       nameSet: True
       id: Atmos lockers/engi hallway
+  - uid: 7716
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 1.5,18.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: TEG North
+  - uid: 9766
+    components:
+    - type: Transform
+      pos: 56.5,66.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: Northeast airlock exterior
   - uid: 9821
     components:
     - type: Transform
@@ -172751,17 +173322,6 @@ entities:
       - SurveillanceCameraEngineering
       nameSet: True
       id: Break room
-  - uid: 26133
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 48.5,1.5
-      parent: 12
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraEngineering
-      nameSet: True
-      id: Containment entrance
   - uid: 26139
     components:
     - type: Transform
@@ -172945,6 +173505,60 @@ entities:
       - SurveillanceCameraEngineering
       nameSet: True
       id: Southeast solars 2
+  - uid: 31448
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -56.5,47.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: Northwest solars
+  - uid: 31471
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 11.5,28.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: TEG exterior
+  - uid: 31511
+    components:
+    - type: Transform
+      pos: -36.5,-10.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: Shuttle constuction dock
+  - uid: 31529
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -55.5,-51.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: Southwest Solars 1
+  - uid: 31530
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -23.5,-68.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraEngineering
+      nameSet: True
+      id: Southwest Solars 2
   - uid: 31882
     components:
     - type: Transform
@@ -172979,16 +173593,6 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: Arrivals west
-  - uid: 2897
-    components:
-    - type: Transform
-      pos: 35.5,22.5
-      parent: 12
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraGeneral
-      nameSet: True
-      id: Hallway east
   - uid: 2901
     components:
     - type: Transform
@@ -173087,6 +173691,28 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: South evac A
+  - uid: 8442
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,-43.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Southeast dock
+  - uid: 8454
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 6.5,70.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Nitrogen atmosphere room
   - uid: 9836
     components:
     - type: Transform
@@ -173108,6 +173734,17 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: Evac north
+  - uid: 12400
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 0.5,34.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Pool south
   - uid: 12672
     components:
     - type: Transform
@@ -173237,17 +173874,6 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: Ship construction tool room
-  - uid: 25396
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 37.5,18.5
-      parent: 12
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraGeneral
-      nameSet: True
-      id: Disposals
   - uid: 26895
     components:
     - type: Transform
@@ -173313,6 +173939,47 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: South Evac B
+  - uid: 31047
+    components:
+    - type: Transform
+      pos: 18.5,70.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Arrivals shuttle dock
+  - uid: 31394
+    components:
+    - type: Transform
+      pos: 44.5,43.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Tools exterior
+  - uid: 31449
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 2.5,28.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Bee room
+  - uid: 31473
+    components:
+    - type: Transform
+      pos: 21.5,26.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Observitory
   - uid: 31500
     components:
     - type: Transform
@@ -173334,39 +174001,38 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: Crossroad
-  - uid: 31749
+  - uid: 31557
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -17.5,-0.5
+      pos: 41.5,-32.5
       parent: 12
     - type: SurveillanceCamera
       setupAvailableNetworks:
       - SurveillanceCameraGeneral
       nameSet: True
-      id: Law office exterior
-  - uid: 31750
+      id: Vending machine room
+  - uid: 31749
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: -16.5,-12.5
+      pos: -17.5,-0.5
       parent: 12
     - type: SurveillanceCamera
       setupAvailableNetworks:
       - SurveillanceCameraGeneral
       nameSet: True
-      id: Gorilla and penguin enclosures
-  - uid: 32105
+      id: Law office exterior
+  - uid: 31750
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 57.5,64.5
+      rot: -1.5707963267948966 rad
+      pos: -16.5,-12.5
       parent: 12
     - type: SurveillanceCamera
       setupAvailableNetworks:
       - SurveillanceCameraGeneral
       nameSet: True
-      id: Project room
+      id: Gorilla and penguin enclosures
 - proto: SurveillanceCameraMedical
   entities:
   - uid: 3961
@@ -173486,6 +174152,28 @@ entities:
       - SurveillanceCameraMedical
       nameSet: True
       id: Surgery
+  - uid: 31531
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -3.5,-53.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraMedical
+      nameSet: True
+      id: Genetics
+  - uid: 31556
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 1.5,-43.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraMedical
+      nameSet: True
+      id: Morgue and Surgery entrance
   - uid: 31761
     components:
     - type: Transform
@@ -173851,6 +174539,17 @@ entities:
     - type: SurveillanceCamera
       setupAvailableNetworks:
       - SurveillanceCameraService
+  - uid: 2154
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 44.5,21.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraService
+      nameSet: True
+      id: Janitor closet
   - uid: 5161
     components:
     - type: Transform
@@ -173876,13 +174575,14 @@ entities:
   - uid: 12287
     components:
     - type: Transform
-      pos: 46.5,16.5
+      rot: 1.5707963267948966 rad
+      pos: 41.5,18.5
       parent: 12
     - type: SurveillanceCamera
       setupAvailableNetworks:
       - SurveillanceCameraService
       nameSet: True
-      id: Janitor's closet
+      id: Disposals
   - uid: 12904
     components:
     - type: Transform
@@ -174173,6 +174873,17 @@ entities:
       - SurveillanceCameraSupply
       nameSet: True
       id: Cargo front
+  - uid: 12009
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 63.5,-14.5
+      parent: 12
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraSupply
+      nameSet: True
+      id: Cargo dock
   - uid: 12642
     components:
     - type: Transform
@@ -174934,6 +175645,12 @@ entities:
     - type: Transform
       pos: 52.5,46.5
       parent: 12
+  - uid: 10726
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 0.5,52.5
+      parent: 12
   - uid: 10888
     components:
     - type: Transform
@@ -177196,6 +177913,12 @@ entities:
     - type: Transform
       pos: -35.5,-20.5
       parent: 12
+  - uid: 2271
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,27.5
+      parent: 12
   - uid: 2373
     components:
     - type: Transform
@@ -177230,16 +177953,58 @@ entities:
       rot: 3.141592653589793 rad
       pos: 21.5,28.5
       parent: 12
+  - uid: 4151
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,28.5
+      parent: 12
   - uid: 4154
     components:
     - type: Transform
       pos: 13.5,-35.5
       parent: 12
+  - uid: 4260
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,29.5
+      parent: 12
+  - uid: 4481
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,27.5
+      parent: 12
+  - uid: 4570
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,29.5
+      parent: 12
   - uid: 4891
     components:
     - type: Transform
       pos: 17.5,49.5
       parent: 12
+  - uid: 5042
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,30.5
+      parent: 12
+  - uid: 5709
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 55.5,28.5
+      parent: 12
+  - uid: 5911
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 54.5,30.5
+      parent: 12
   - uid: 6189
     components:
     - type: Transform
@@ -177325,54 +178090,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 43.5,29.5
       parent: 12
-  - uid: 12400
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,27.5
-      parent: 12
-  - uid: 12401
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,28.5
-      parent: 12
-  - uid: 12402
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,29.5
-      parent: 12
-  - uid: 12403
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 54.5,30.5
-      parent: 12
-  - uid: 12404
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 55.5,27.5
-      parent: 12
-  - uid: 12405
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 55.5,28.5
-      parent: 12
-  - uid: 12406
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 55.5,29.5
-      parent: 12
-  - uid: 12407
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 55.5,30.5
-      parent: 12
   - uid: 12657
     components:
     - type: Transform
@@ -178836,7 +179553,7 @@ entities:
   - uid: 31148
     components:
     - type: Transform
-      pos: -29.544153,-55.516808
+      pos: -29.534164,-55.470924
       parent: 12
 - proto: TrashBananaPeel
   entities:
@@ -179632,6 +180349,11 @@ entities:
     - type: Transform
       pos: 35.5,22.5
       parent: 12
+  - uid: 13146
+    components:
+    - type: Transform
+      pos: 47.5,1.5
+      parent: 12
   - uid: 14992
     components:
     - type: Transform
@@ -179652,6 +180374,11 @@ entities:
     - type: Transform
       pos: 15.5,54.5
       parent: 12
+  - uid: 31561
+    components:
+    - type: Transform
+      pos: 46.5,-32.5
+      parent: 12
 - proto: VendingMachineClothing
   entities:
   - uid: 9091
@@ -180111,11 +180838,6 @@ entities:
       parent: 12
 - proto: VendingMachineSovietSoda
   entities:
-  - uid: 4481
-    components:
-    - type: Transform
-      pos: 47.5,1.5
-      parent: 12
   - uid: 14953
     components:
     - type: Transform
@@ -180312,8 +181034,7 @@ entities:
   - uid: 27
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -3.5,46.5
+      pos: 52.5,67.5
       parent: 12
   - uid: 29
     components:
@@ -180636,24 +181357,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 3.5,-9.5
       parent: 12
-  - uid: 159
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 4.5,-8.5
-      parent: 12
   - uid: 160
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 4.5,-9.5
       parent: 12
-  - uid: 161
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 4.5,-7.5
-      parent: 12
   - uid: 163
     components:
     - type: Transform
@@ -181019,24 +181728,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -4.5,6.5
       parent: 12
-  - uid: 571
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 2.5,6.5
-      parent: 12
   - uid: 572
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -3.5,6.5
       parent: 12
-  - uid: 573
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -2.5,6.5
-      parent: 12
   - uid: 575
     components:
     - type: Transform
@@ -181200,11 +181897,6 @@ entities:
     - type: Transform
       pos: 39.5,-10.5
       parent: 12
-  - uid: 703
-    components:
-    - type: Transform
-      pos: -15.5,-69.5
-      parent: 12
   - uid: 709
     components:
     - type: Transform
@@ -181250,11 +181942,6 @@ entities:
     - type: Transform
       pos: 39.5,-8.5
       parent: 12
-  - uid: 726
-    components:
-    - type: Transform
-      pos: -56.5,-20.5
-      parent: 12
   - uid: 736
     components:
     - type: Transform
@@ -181503,12 +182190,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -47.5,50.5
       parent: 12
-  - uid: 1166
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -46.5,-17.5
-      parent: 12
   - uid: 1167
     components:
     - type: Transform
@@ -181604,23 +182285,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 3.5,-0.5
       parent: 12
-  - uid: 2154
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 0.5,6.5
-      parent: 12
   - uid: 2169
     components:
     - type: Transform
       pos: 26.5,1.5
       parent: 12
-  - uid: 2171
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,4.5
-      parent: 12
   - uid: 2173
     components:
     - type: Transform
@@ -181653,36 +182322,18 @@ entities:
     - type: Transform
       pos: 26.5,-9.5
       parent: 12
-  - uid: 2271
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,-0.5
-      parent: 12
   - uid: 2273
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -5.5,-1.5
       parent: 12
-  - uid: 2274
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,2.5
-      parent: 12
   - uid: 2275
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -5.5,-2.5
       parent: 12
-  - uid: 2276
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,3.5
-      parent: 12
   - uid: 2328
     components:
     - type: Transform
@@ -182634,11 +183285,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 60.5,-47.5
       parent: 12
-  - uid: 5911
-    components:
-    - type: Transform
-      pos: -6.5,-13.5
-      parent: 12
   - uid: 5916
     components:
     - type: Transform
@@ -182738,11 +183384,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -61.5,-16.5
       parent: 12
-  - uid: 6288
-    components:
-    - type: Transform
-      pos: -17.5,-67.5
-      parent: 12
   - uid: 6327
     components:
     - type: Transform
@@ -182892,12 +183533,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 26.5,16.5
       parent: 12
-  - uid: 7338
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 27.5,18.5
-      parent: 12
   - uid: 7363
     components:
     - type: Transform
@@ -183137,11 +183772,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 61.5,-27.5
       parent: 12
-  - uid: 7584
-    components:
-    - type: Transform
-      pos: -9.5,-3.5
-      parent: 12
   - uid: 7587
     components:
     - type: Transform
@@ -183243,11 +183873,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 60.5,-39.5
       parent: 12
-  - uid: 7620
-    components:
-    - type: Transform
-      pos: -7.5,-1.5
-      parent: 12
   - uid: 7667
     components:
     - type: Transform
@@ -183350,11 +183975,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 82.5,-36.5
       parent: 12
-  - uid: 7716
-    components:
-    - type: Transform
-      pos: -7.5,-0.5
-      parent: 12
   - uid: 7728
     components:
     - type: Transform
@@ -183439,22 +184059,11 @@ entities:
     - type: Transform
       pos: -9.5,-8.5
       parent: 12
-  - uid: 8442
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 4.5,2.5
-      parent: 12
   - uid: 8450
     components:
     - type: Transform
       pos: -7.5,-13.5
       parent: 12
-  - uid: 8454
-    components:
-    - type: Transform
-      pos: -7.5,-12.5
-      parent: 12
   - uid: 8455
     components:
     - type: Transform
@@ -183620,11 +184229,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 52.5,-44.5
       parent: 12
-  - uid: 9120
-    components:
-    - type: Transform
-      pos: -9.5,-9.5
-      parent: 12
   - uid: 9121
     components:
     - type: Transform
@@ -183743,7 +184347,7 @@ entities:
   - uid: 9506
     components:
     - type: Transform
-      pos: -51.5,-11.5
+      pos: -47.5,0.5
       parent: 12
   - uid: 9508
     components:
@@ -183778,12 +184382,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 17.5,13.5
       parent: 12
-  - uid: 9640
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 17.5,23.5
-      parent: 12
   - uid: 9642
     components:
     - type: Transform
@@ -183824,12 +184422,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 47.5,-6.5
       parent: 12
-  - uid: 9766
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 4.5,-1.5
-      parent: 12
   - uid: 9767
     components:
     - type: Transform
@@ -183865,8 +184457,7 @@ entities:
   - uid: 10040
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 4.5,4.5
+      pos: -12.5,-70.5
       parent: 12
   - uid: 10041
     components:
@@ -183874,11 +184465,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 4.5,5.5
       parent: 12
-  - uid: 10042
-    components:
-    - type: Transform
-      pos: -6.5,-0.5
-      parent: 12
   - uid: 10119
     components:
     - type: Transform
@@ -184346,18 +184932,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -12.5,26.5
       parent: 12
-  - uid: 10724
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -13.5,26.5
-      parent: 12
-  - uid: 10726
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -13.5,24.5
-      parent: 12
   - uid: 10729
     components:
     - type: Transform
@@ -184399,24 +184973,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -9.5,22.5
       parent: 12
-  - uid: 10736
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -14.5,26.5
-      parent: 12
-  - uid: 10737
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -14.5,25.5
-      parent: 12
-  - uid: 10738
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -14.5,24.5
-      parent: 12
   - uid: 10781
     components:
     - type: Transform
@@ -184484,18 +185040,6 @@ entities:
     - type: Transform
       pos: 38.5,5.5
       parent: 12
-  - uid: 10911
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -61.5,-14.5
-      parent: 12
-  - uid: 10939
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 25.5,13.5
-      parent: 12
   - uid: 10951
     components:
     - type: Transform
@@ -184514,18 +185058,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 5.5,22.5
       parent: 12
-  - uid: 11000
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,47.5
-      parent: 12
-  - uid: 11001
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -3.5,47.5
-      parent: 12
   - uid: 11017
     components:
     - type: Transform
@@ -184734,18 +185266,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 8.5,29.5
       parent: 12
-  - uid: 11220
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 9.5,29.5
-      parent: 12
-  - uid: 11221
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 10.5,29.5
-      parent: 12
   - uid: 11222
     components:
     - type: Transform
@@ -184794,12 +185314,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 19.5,23.5
       parent: 12
-  - uid: 11261
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 19.5,24.5
-      parent: 12
   - uid: 11262
     components:
     - type: Transform
@@ -184842,12 +185356,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 19.5,22.5
       parent: 12
-  - uid: 11270
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 20.5,22.5
-      parent: 12
   - uid: 11272
     components:
     - type: Transform
@@ -184955,11 +185463,6 @@ entities:
     - type: Transform
       pos: 50.5,7.5
       parent: 12
-  - uid: 11521
-    components:
-    - type: Transform
-      pos: 42.5,15.5
-      parent: 12
   - uid: 11522
     components:
     - type: Transform
@@ -185115,11 +185618,6 @@ entities:
     - type: Transform
       pos: 20.5,38.5
       parent: 12
-  - uid: 11796
-    components:
-    - type: Transform
-      pos: 11.5,30.5
-      parent: 12
   - uid: 11797
     components:
     - type: Transform
@@ -185135,11 +185633,6 @@ entities:
     - type: Transform
       pos: 11.5,33.5
       parent: 12
-  - uid: 11802
-    components:
-    - type: Transform
-      pos: 15.5,34.5
-      parent: 12
   - uid: 11803
     components:
     - type: Transform
@@ -185248,11 +185741,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 26.5,13.5
       parent: 12
-  - uid: 12009
-    components:
-    - type: Transform
-      pos: 42.5,14.5
-      parent: 12
   - uid: 12011
     components:
     - type: Transform
@@ -185262,7 +185750,7 @@ entities:
   - uid: 12100
     components:
     - type: Transform
-      pos: 43.5,13.5
+      pos: -47.5,3.5
       parent: 12
   - uid: 12217
     components:
@@ -185384,6 +185872,11 @@ entities:
     - type: Transform
       pos: -35.5,-51.5
       parent: 12
+  - uid: 13161
+    components:
+    - type: Transform
+      pos: -17.5,-69.5
+      parent: 12
   - uid: 13197
     components:
     - type: Transform
@@ -185446,24 +185939,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 53.5,65.5
       parent: 12
-  - uid: 14179
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 53.5,66.5
-      parent: 12
-  - uid: 14180
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 53.5,67.5
-      parent: 12
-  - uid: 14182
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 51.5,67.5
-      parent: 12
   - uid: 14187
     components:
     - type: Transform
@@ -185942,30 +186417,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -8.5,35.5
       parent: 12
-  - uid: 15549
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -14.5,29.5
-      parent: 12
-  - uid: 15550
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -14.5,30.5
-      parent: 12
   - uid: 15551
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -14.5,31.5
       parent: 12
-  - uid: 15552
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -13.5,29.5
-      parent: 12
   - uid: 15554
     components:
     - type: Transform
@@ -186055,11 +186512,6 @@ entities:
     - type: Transform
       pos: -8.5,25.5
       parent: 12
-  - uid: 15703
-    components:
-    - type: Transform
-      pos: -21.5,30.5
-      parent: 12
   - uid: 15708
     components:
     - type: Transform
@@ -186211,24 +186663,6 @@ entities:
     - type: Transform
       pos: -30.5,12.5
       parent: 12
-  - uid: 16797
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -60.5,-11.5
-      parent: 12
-  - uid: 16799
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -4.5,47.5
-      parent: 12
-  - uid: 16800
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,46.5
-      parent: 12
   - uid: 17199
     components:
     - type: Transform
@@ -186406,12 +186840,6 @@ entities:
     - type: Transform
       pos: -27.5,11.5
       parent: 12
-  - uid: 17541
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 51.5,66.5
-      parent: 12
   - uid: 17755
     components:
     - type: Transform
@@ -186661,28 +187089,12 @@ entities:
     - type: Transform
       pos: -52.5,76.5
       parent: 12
-  - uid: 17972
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -5.5,6.5
-      parent: 12
   - uid: 18558
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 42.5,-43.5
       parent: 12
-  - uid: 18569
-    components:
-    - type: Transform
-      pos: 59.5,65.5
-      parent: 12
-  - uid: 18572
-    components:
-    - type: Transform
-      pos: 59.5,60.5
-      parent: 12
   - uid: 18654
     components:
     - type: Transform
@@ -187033,12 +187445,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 4.5,3.5
       parent: 12
-  - uid: 19199
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 4.5,-0.5
-      parent: 12
   - uid: 19206
     components:
     - type: Transform
@@ -187592,12 +187998,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 51.5,65.5
       parent: 12
-  - uid: 19847
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -60.5,-12.5
-      parent: 12
   - uid: 19862
     components:
     - type: Transform
@@ -187798,12 +188198,6 @@ entities:
     - type: Transform
       pos: -30.5,62.5
       parent: 12
-  - uid: 22182
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -8.5,-1.5
-      parent: 12
   - uid: 22183
     components:
     - type: Transform
@@ -187816,24 +188210,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -8.5,-2.5
       parent: 12
-  - uid: 22185
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -8.5,-9.5
-      parent: 12
   - uid: 22186
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -8.5,-10.5
       parent: 12
-  - uid: 22187
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -8.5,-11.5
-      parent: 12
   - uid: 22190
     components:
     - type: Transform
@@ -187880,11 +188262,6 @@ entities:
     - type: Transform
       pos: 35.5,-24.5
       parent: 12
-  - uid: 22290
-    components:
-    - type: Transform
-      pos: 42.5,13.5
-      parent: 12
   - uid: 22321
     components:
     - type: Transform
@@ -188008,12 +188385,6 @@ entities:
     - type: Transform
       pos: 34.5,-39.5
       parent: 12
-  - uid: 24237
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 47.5,66.5
-      parent: 12
   - uid: 24259
     components:
     - type: Transform
@@ -188368,6 +188739,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: 63.5,-27.5
       parent: 12
+  - uid: 26152
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -60.5,-12.5
+      parent: 12
   - uid: 26167
     components:
     - type: Transform
@@ -188473,12 +188850,6 @@ entities:
     - type: Transform
       pos: 56.5,3.5
       parent: 12
-  - uid: 26492
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 24.5,13.5
-      parent: 12
   - uid: 26510
     components:
     - type: Transform
@@ -188527,16 +188898,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 9.5,-57.5
       parent: 12
-  - uid: 26909
-    components:
-    - type: Transform
-      pos: -17.5,-68.5
-      parent: 12
-  - uid: 26910
-    components:
-    - type: Transform
-      pos: -17.5,-69.5
-      parent: 12
   - uid: 26912
     components:
     - type: Transform
@@ -188549,12 +188910,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -13.5,77.5
       parent: 12
-  - uid: 26949
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -61.5,-15.5
-      parent: 12
   - uid: 26956
     components:
     - type: Transform
@@ -188579,29 +188934,16 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -39.5,-18.5
       parent: 12
-  - uid: 27043
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -61.5,-13.5
-      parent: 12
   - uid: 27050
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 27.5,-13.5
       parent: 12
-  - uid: 27116
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -59.5,-11.5
-      parent: 12
   - uid: 27117
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -58.5,-11.5
+      pos: -17.5,-67.5
       parent: 12
   - uid: 27147
     components:
@@ -188639,18 +188981,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 41.5,1.5
       parent: 12
-  - uid: 27334
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -49.5,-17.5
-      parent: 12
-  - uid: 27335
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -48.5,-17.5
-      parent: 12
   - uid: 27410
     components:
     - type: Transform
@@ -188701,31 +189031,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -28.5,61.5
       parent: 12
-  - uid: 27952
-    components:
-    - type: Transform
-      pos: 5.5,-9.5
-      parent: 12
   - uid: 27978
     components:
     - type: Transform
       pos: -22.5,-68.5
       parent: 12
-  - uid: 27981
-    components:
-    - type: Transform
-      pos: 5.5,-12.5
-      parent: 12
-  - uid: 27982
-    components:
-    - type: Transform
-      pos: 5.5,-11.5
-      parent: 12
-  - uid: 27983
-    components:
-    - type: Transform
-      pos: 5.5,-10.5
-      parent: 12
   - uid: 27985
     components:
     - type: Transform
@@ -189048,16 +189358,6 @@ entities:
     - type: Transform
       pos: -27.5,-60.5
       parent: 12
-  - uid: 30540
-    components:
-    - type: Transform
-      pos: -15.5,-68.5
-      parent: 12
-  - uid: 30542
-    components:
-    - type: Transform
-      pos: -15.5,-66.5
-      parent: 12
   - uid: 30554
     components:
     - type: Transform
@@ -189099,20 +189399,47 @@ entities:
       rot: 3.141592653589793 rad
       pos: -53.5,-49.5
       parent: 12
-  - uid: 31171
+  - uid: 31083
     components:
     - type: Transform
-      pos: -9.5,-65.5
+      rot: 1.5707963267948966 rad
+      pos: -16.5,-71.5
       parent: 12
-  - uid: 31172
+  - uid: 31085
     components:
     - type: Transform
-      pos: -9.5,-66.5
+      rot: 1.5707963267948966 rad
+      pos: -14.5,-72.5
       parent: 12
-  - uid: 31174
+  - uid: 31097
     components:
     - type: Transform
-      pos: -8.5,-67.5
+      rot: 1.5707963267948966 rad
+      pos: -12.5,-72.5
+      parent: 12
+  - uid: 31100
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -16.5,-70.5
+      parent: 12
+  - uid: 31101
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -10.5,-72.5
+      parent: 12
+  - uid: 31102
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -11.5,-72.5
+      parent: 12
+  - uid: 31104
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -9.5,-69.5
       parent: 12
   - uid: 31187
     components:
@@ -189151,12 +189478,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -7.5,-69.5
       parent: 12
-  - uid: 31238
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -8.5,-68.5
-      parent: 12
   - uid: 31376
     components:
     - type: Transform
@@ -189393,6 +189714,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 49.5,7.5
       parent: 12
+  - uid: 10042
+    components:
+    - type: Transform
+      pos: -12.5,-71.5
+      parent: 12
   - uid: 10279
     components:
     - type: Transform
@@ -189646,18 +189972,160 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 41.5,-4.5
       parent: 12
+  - uid: 13148
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-8.5
+      parent: 12
+  - uid: 13149
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-7.5
+      parent: 12
+  - uid: 13150
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 2.5,6.5
+      parent: 12
+  - uid: 13151
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -2.5,6.5
+      parent: 12
+  - uid: 13153
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -56.5,-20.5
+      parent: 12
+  - uid: 13154
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -46.5,-17.5
+      parent: 12
+  - uid: 13155
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 0.5,6.5
+      parent: 12
+  - uid: 13156
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,4.5
+      parent: 12
+  - uid: 13157
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,-0.5
+      parent: 12
+  - uid: 13158
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,2.5
+      parent: 12
+  - uid: 13159
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,3.5
+      parent: 12
+  - uid: 13160
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,-13.5
+      parent: 12
+  - uid: 13162
+    components:
+    - type: Transform
+      pos: 27.5,18.5
+      parent: 12
+  - uid: 13163
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -9.5,-3.5
+      parent: 12
+  - uid: 13164
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -7.5,-1.5
+      parent: 12
   - uid: 13859
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 1.5,71.5
       parent: 12
+  - uid: 14179
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -7.5,-0.5
+      parent: 12
+  - uid: 14180
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,2.5
+      parent: 12
+  - uid: 14182
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -7.5,-12.5
+      parent: 12
   - uid: 14625
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,-31.5
       parent: 12
+  - uid: 15549
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -9.5,-9.5
+      parent: 12
+  - uid: 15550
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -51.5,-11.5
+      parent: 12
+  - uid: 15552
+    components:
+    - type: Transform
+      pos: 17.5,23.5
+      parent: 12
+  - uid: 15703
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-1.5
+      parent: 12
+  - uid: 16797
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,4.5
+      parent: 12
+  - uid: 16799
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,-0.5
+      parent: 12
   - uid: 17305
     components:
     - type: Transform
@@ -189668,12 +190136,43 @@ entities:
     - type: Transform
       pos: -47.5,76.5
       parent: 12
+  - uid: 18572
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -61.5,-14.5
+      parent: 12
+  - uid: 18585
+    components:
+    - type: Transform
+      pos: 25.5,13.5
+      parent: 12
+  - uid: 19199
+    components:
+    - type: Transform
+      pos: 9.5,29.5
+      parent: 12
   - uid: 19295
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -52.5,-51.5
       parent: 12
+  - uid: 19355
+    components:
+    - type: Transform
+      pos: 10.5,29.5
+      parent: 12
+  - uid: 19357
+    components:
+    - type: Transform
+      pos: 19.5,24.5
+      parent: 12
+  - uid: 19358
+    components:
+    - type: Transform
+      pos: 20.5,22.5
+      parent: 12
   - uid: 19455
     components:
     - type: Transform
@@ -189685,6 +190184,16 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 36.5,64.5
       parent: 12
+  - uid: 19847
+    components:
+    - type: Transform
+      pos: 11.5,30.5
+      parent: 12
+  - uid: 19871
+    components:
+    - type: Transform
+      pos: 15.5,34.5
+      parent: 12
   - uid: 22034
     components:
     - type: Transform
@@ -189701,6 +190210,16 @@ entities:
     - type: Transform
       pos: -50.5,-20.5
       parent: 12
+  - uid: 22185
+    components:
+    - type: Transform
+      pos: 53.5,67.5
+      parent: 12
+  - uid: 22187
+    components:
+    - type: Transform
+      pos: 51.5,67.5
+      parent: 12
   - uid: 22277
     components:
     - type: Transform
@@ -189755,6 +190274,12 @@ entities:
     - type: Transform
       pos: -57.5,-24.5
       parent: 12
+  - uid: 24237
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -60.5,-11.5
+      parent: 12
   - uid: 24254
     components:
     - type: Transform
@@ -189765,6 +190290,17 @@ entities:
     - type: Transform
       pos: -26.5,73.5
       parent: 12
+  - uid: 25555
+    components:
+    - type: Transform
+      pos: 51.5,66.5
+      parent: 12
+  - uid: 25558
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,6.5
+      parent: 12
   - uid: 25596
     components:
     - type: Transform
@@ -189792,6 +190328,22 @@ entities:
     - type: Transform
       pos: -2.5,-17.5
       parent: 12
+  - uid: 26133
+    components:
+    - type: Transform
+      pos: 59.5,65.5
+      parent: 12
+  - uid: 26149
+    components:
+    - type: Transform
+      pos: 59.5,60.5
+      parent: 12
+  - uid: 26150
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-0.5
+      parent: 12
   - uid: 26241
     components:
     - type: Transform
@@ -189814,6 +190366,12 @@ entities:
     - type: Transform
       pos: -5.5,-17.5
       parent: 12
+  - uid: 26492
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -8.5,-1.5
+      parent: 12
   - uid: 26530
     components:
     - type: Transform
@@ -189860,12 +190418,24 @@ entities:
     - type: Transform
       pos: 5.5,-13.5
       parent: 12
+  - uid: 26836
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -8.5,-9.5
+      parent: 12
   - uid: 26907
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 10.5,-57.5
       parent: 12
+  - uid: 26909
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -8.5,-11.5
+      parent: 12
   - uid: 26911
     components:
     - type: Transform
@@ -189878,6 +190448,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -61.5,-17.5
       parent: 12
+  - uid: 26949
+    components:
+    - type: Transform
+      pos: 47.5,66.5
+      parent: 12
   - uid: 26978
     components:
     - type: Transform
@@ -189896,6 +190471,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 38.5,-3.5
       parent: 12
+  - uid: 27043
+    components:
+    - type: Transform
+      pos: 24.5,13.5
+      parent: 12
   - uid: 27044
     components:
     - type: Transform
@@ -189920,6 +190500,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 45.5,-42.5
       parent: 12
+  - uid: 27116
+    components:
+    - type: Transform
+      pos: -17.5,-68.5
+      parent: 12
   - uid: 27119
     components:
     - type: Transform
@@ -189943,6 +190528,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: 39.5,5.5
       parent: 12
+  - uid: 27240
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -61.5,-15.5
+      parent: 12
   - uid: 27243
     components:
     - type: Transform
@@ -189967,6 +190558,18 @@ entities:
       rot: 3.141592653589793 rad
       pos: 41.5,4.5
       parent: 12
+  - uid: 27334
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -61.5,-13.5
+      parent: 12
+  - uid: 27335
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -59.5,-11.5
+      parent: 12
   - uid: 27336
     components:
     - type: Transform
@@ -189984,6 +190587,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 26.5,15.5
       parent: 12
+  - uid: 27952
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -58.5,-11.5
+      parent: 12
   - uid: 27973
     components:
     - type: Transform
@@ -190001,12 +190610,36 @@ entities:
       rot: 3.141592653589793 rad
       pos: 47.5,7.5
       parent: 12
+  - uid: 27981
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -49.5,-17.5
+      parent: 12
+  - uid: 27982
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -48.5,-17.5
+      parent: 12
+  - uid: 27983
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 5.5,-9.5
+      parent: 12
   - uid: 28048
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 63.5,-4.5
       parent: 12
+  - uid: 28051
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 5.5,-12.5
+      parent: 12
   - uid: 28052
     components:
     - type: Transform
@@ -190051,7 +190684,8 @@ entities:
   - uid: 28069
     components:
     - type: Transform
-      pos: -15.5,-70.5
+      rot: 1.5707963267948966 rad
+      pos: 5.5,-11.5
       parent: 12
   - uid: 28070
     components:
@@ -190091,6 +190725,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 44.5,3.5
       parent: 12
+  - uid: 28303
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 5.5,-10.5
+      parent: 12
   - uid: 28310
     components:
     - type: Transform
@@ -190300,11 +190940,6 @@ entities:
     - type: Transform
       pos: -35.5,-60.5
       parent: 12
-  - uid: 30545
-    components:
-    - type: Transform
-      pos: -15.5,-65.5
-      parent: 12
   - uid: 30548
     components:
     - type: Transform
@@ -190315,21 +190950,22 @@ entities:
     - type: Transform
       pos: -39.5,-57.5
       parent: 12
-  - uid: 30700
+  - uid: 30880
     components:
     - type: Transform
-      pos: -10.5,-65.5
+      pos: 6.5,-58.5
       parent: 12
-  - uid: 30880
+  - uid: 31082
     components:
     - type: Transform
-      pos: 6.5,-58.5
+      rot: 1.5707963267948966 rad
+      pos: -16.5,-72.5
       parent: 12
-  - uid: 31173
+  - uid: 31084
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -9.5,-67.5
+      rot: 1.5707963267948966 rad
+      pos: -9.5,-72.5
       parent: 12
   - uid: 31183
     components:
@@ -190706,11 +191342,6 @@ entities:
     - type: Transform
       pos: -6.5,-24.5
       parent: 12
-  - uid: 563
-    components:
-    - type: Transform
-      pos: -7.5,-24.5
-      parent: 12
   - uid: 589
     components:
     - type: Transform
@@ -192027,11 +192658,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 34.5,-29.5
       parent: 12
-  - uid: 5385
-    components:
-    - type: Transform
-      pos: -9.5,-24.5
-      parent: 12
   - uid: 5441
     components:
     - type: Transform
@@ -192751,6 +193377,12 @@ entities:
     - type: Transform
       pos: 41.5,-40.5
       parent: 12
+  - uid: 9120
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -12.5,-67.5
+      parent: 12
   - uid: 9133
     components:
     - type: Transform
@@ -192992,12 +193624,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -5.5,21.5
       parent: 12
-  - uid: 10620
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -0.5,14.5
-      parent: 12
   - uid: 10665
     components:
     - type: Transform
@@ -193706,11 +194332,6 @@ entities:
     - type: Transform
       pos: 3.5,30.5
       parent: 12
-  - uid: 11842
-    components:
-    - type: Transform
-      pos: 3.5,31.5
-      parent: 12
   - uid: 11843
     components:
     - type: Transform
@@ -194133,6 +194754,18 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 35.5,-52.5
       parent: 12
+  - uid: 13147
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -3.5,46.5
+      parent: 12
+  - uid: 13152
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -14.5,-67.5
+      parent: 12
   - uid: 13487
     components:
     - type: Transform
@@ -195337,6 +195970,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -11.5,-2.5
       parent: 12
+  - uid: 16800
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -13.5,26.5
+      parent: 12
   - uid: 16872
     components:
     - type: Transform
@@ -195636,6 +196275,12 @@ entities:
     - type: Transform
       pos: -13.5,-8.5
       parent: 12
+  - uid: 17541
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -13.5,24.5
+      parent: 12
   - uid: 17542
     components:
     - type: Transform
@@ -195666,6 +196311,12 @@ entities:
     - type: Transform
       pos: -55.5,-31.5
       parent: 12
+  - uid: 17972
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -14.5,26.5
+      parent: 12
   - uid: 17973
     components:
     - type: Transform
@@ -195686,6 +196337,12 @@ entities:
     - type: Transform
       pos: -4.5,-54.5
       parent: 12
+  - uid: 18560
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -14.5,25.5
+      parent: 12
   - uid: 18567
     components:
     - type: Transform
@@ -195696,6 +196353,12 @@ entities:
     - type: Transform
       pos: -17.5,-8.5
       parent: 12
+  - uid: 18569
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -14.5,24.5
+      parent: 12
   - uid: 18570
     components:
     - type: Transform
@@ -195751,11 +196414,6 @@ entities:
     - type: Transform
       pos: -12.5,-18.5
       parent: 12
-  - uid: 18585
-    components:
-    - type: Transform
-      pos: -11.5,-17.5
-      parent: 12
   - uid: 18586
     components:
     - type: Transform
@@ -195925,6 +196583,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -41.5,43.5
       parent: 12
+  - uid: 19034
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,47.5
+      parent: 12
   - uid: 19061
     components:
     - type: Transform
@@ -196693,6 +197357,12 @@ entities:
     - type: Transform
       pos: -11.5,47.5
       parent: 12
+  - uid: 21479
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 42.5,14.5
+      parent: 12
   - uid: 21508
     components:
     - type: Transform
@@ -196883,6 +197553,12 @@ entities:
     - type: Transform
       pos: -0.5,-60.5
       parent: 12
+  - uid: 22290
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -14.5,29.5
+      parent: 12
   - uid: 22304
     components:
     - type: Transform
@@ -197035,8 +197711,8 @@ entities:
   - uid: 23681
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -5.5,-21.5
+      rot: 1.5707963267948966 rad
+      pos: -14.5,30.5
       parent: 12
   - uid: 23682
     components:
@@ -197052,7 +197728,8 @@ entities:
   - uid: 23779
     components:
     - type: Transform
-      pos: -1.5,12.5
+      rot: 1.5707963267948966 rad
+      pos: -13.5,29.5
       parent: 12
   - uid: 23797
     components:
@@ -197088,7 +197765,8 @@ entities:
   - uid: 23897
     components:
     - type: Transform
-      pos: -1.5,13.5
+      rot: 1.5707963267948966 rad
+      pos: -21.5,30.5
       parent: 12
   - uid: 23946
     components:
@@ -197201,6 +197879,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 32.5,-47.5
       parent: 12
+  - uid: 24419
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -4.5,47.5
+      parent: 12
   - uid: 24428
     components:
     - type: Transform
@@ -197354,6 +198038,12 @@ entities:
     - type: Transform
       pos: -4.5,70.5
       parent: 12
+  - uid: 25396
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,46.5
+      parent: 12
   - uid: 25402
     components:
     - type: Transform
@@ -197730,6 +198420,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: 39.5,-16.5
       parent: 12
+  - uid: 26910
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 42.5,13.5
+      parent: 12
   - uid: 26926
     components:
     - type: Transform
@@ -198188,6 +198884,17 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -52.5,60.5
       parent: 12
+  - uid: 29182
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -11.5,-67.5
+      parent: 12
+  - uid: 29185
+    components:
+    - type: Transform
+      pos: -9.5,-66.5
+      parent: 12
   - uid: 29208
     components:
     - type: Transform
@@ -198199,6 +198906,11 @@ entities:
     - type: Transform
       pos: -52.5,63.5
       parent: 12
+  - uid: 29307
+    components:
+    - type: Transform
+      pos: -9.5,-65.5
+      parent: 12
   - uid: 29308
     components:
     - type: Transform
@@ -198211,6 +198923,17 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -52.5,56.5
       parent: 12
+  - uid: 29323
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -14.5,-66.5
+      parent: 12
+  - uid: 29340
+    components:
+    - type: Transform
+      pos: -8.5,-67.5
+      parent: 12
   - uid: 29351
     components:
     - type: Transform
@@ -198555,6 +199278,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -19.5,34.5
       parent: 12
+  - uid: 11936
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -10.5,-67.5
+      parent: 12
   - uid: 12018
     components:
     - type: Transform
@@ -198763,6 +199492,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -5.5,32.5
       parent: 12
+  - uid: 19051
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -3.5,47.5
+      parent: 12
   - uid: 19068
     components:
     - type: Transform
@@ -198880,6 +199615,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 9.5,63.5
       parent: 12
+  - uid: 19844
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 42.5,15.5
+      parent: 12
   - uid: 20776
     components:
     - type: Transform
@@ -198891,6 +199632,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 10.5,64.5
       parent: 12
+  - uid: 21922
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 43.5,13.5
+      parent: 12
   - uid: 22145
     components:
     - type: Transform
@@ -199520,6 +200267,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 51.5,9.5
       parent: 12
+  - uid: 28933
+    components:
+    - type: Transform
+      pos: -13.5,-67.5
+      parent: 12
   - uid: 28942
     components:
     - type: Transform
@@ -199562,6 +200314,16 @@ entities:
     - type: Transform
       pos: -52.5,57.5
       parent: 12
+  - uid: 29183
+    components:
+    - type: Transform
+      pos: -9.5,-67.5
+      parent: 12
+  - uid: 29184
+    components:
+    - type: Transform
+      pos: -10.5,-65.5
+      parent: 12
   - uid: 29190
     components:
     - type: Transform
@@ -199572,6 +200334,11 @@ entities:
     - type: Transform
       pos: -52.5,59.5
       parent: 12
+  - uid: 29339
+    components:
+    - type: Transform
+      pos: -8.5,-68.5
+      parent: 12
   - uid: 29344
     components:
     - type: Transform
@@ -199650,6 +200417,16 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -52.5,54.5
       parent: 12
+  - uid: 30017
+    components:
+    - type: Transform
+      pos: -7.5,-24.5
+      parent: 12
+  - uid: 30018
+    components:
+    - type: Transform
+      pos: -9.5,-24.5
+      parent: 12
   - uid: 30200
     components:
     - type: Transform
@@ -199661,6 +200438,32 @@ entities:
     - type: Transform
       pos: 29.5,20.5
       parent: 12
+  - uid: 30540
+    components:
+    - type: Transform
+      pos: -0.5,14.5
+      parent: 12
+  - uid: 30542
+    components:
+    - type: Transform
+      pos: 3.5,31.5
+      parent: 12
+  - uid: 30543
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -11.5,-17.5
+      parent: 12
+  - uid: 30545
+    components:
+    - type: Transform
+      pos: -5.5,-21.5
+      parent: 12
+  - uid: 30700
+    components:
+    - type: Transform
+      pos: -1.5,12.5
+      parent: 12
   - uid: 30781
     components:
     - type: Transform
@@ -199671,6 +200474,11 @@ entities:
     - type: Transform
       pos: -27.5,-58.5
       parent: 12
+  - uid: 30970
+    components:
+    - type: Transform
+      pos: -1.5,13.5
+      parent: 12
   - uid: 31044
     components:
     - type: Transform
@@ -199681,6 +200489,12 @@ entities:
     - type: Transform
       pos: -35.5,-57.5
       parent: 12
+  - uid: 31096
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -15.5,-66.5
+      parent: 12
   - uid: 31175
     components:
     - type: Transform
@@ -200862,6 +201676,16 @@ entities:
       rot: 3.141592653589793 rad
       pos: -34.5,-57.5
       parent: 12
+  - uid: 30976
+    components:
+    - type: Transform
+      pos: 48.5,-12.5
+      parent: 12
+  - uid: 30977
+    components:
+    - type: Transform
+      pos: 47.5,-12.5
+      parent: 12
 - proto: WindoorBarKitchenLocked
   entities:
   - uid: 11203
@@ -200886,16 +201710,6 @@ entities:
       parent: 12
 - proto: WindoorSecure
   entities:
-  - uid: 12234
-    components:
-    - type: Transform
-      pos: 48.5,-12.5
-      parent: 12
-  - uid: 12237
-    components:
-    - type: Transform
-      pos: 47.5,-12.5
-      parent: 12
   - uid: 14181
     components:
     - type: Transform
@@ -202348,6 +203162,34 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 31.5,22.5
       parent: 12
+  - uid: 30971
+    components:
+    - type: Transform
+      pos: 49.5,-12.5
+      parent: 12
+  - uid: 30972
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 49.5,-12.5
+      parent: 12
+  - uid: 30973
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 49.5,-11.5
+      parent: 12
+  - uid: 30974
+    components:
+    - type: Transform
+      pos: 46.5,-12.5
+      parent: 12
+  - uid: 30975
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 47.5,-11.5
+      parent: 12
 - proto: WindowFrostedDirectional
   entities:
   - uid: 4236
@@ -202719,11 +203561,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 52.5,-23.5
       parent: 12
-  - uid: 5411
-    components:
-    - type: Transform
-      pos: 49.5,-12.5
-      parent: 12
   - uid: 5572
     components:
     - type: Transform
@@ -202825,11 +203662,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -1.5,-44.5
       parent: 12
-  - uid: 12238
-    components:
-    - type: Transform
-      pos: 46.5,-12.5
-      parent: 12
   - uid: 12326
     components:
     - type: Transform
@@ -203213,24 +204045,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: -37.5,65.5
       parent: 12
-  - uid: 26836
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 47.5,-11.5
-      parent: 12
   - uid: 28932
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -37.5,53.5
       parent: 12
-  - uid: 28933
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 50.5,-11.5
-      parent: 12
   - uid: 29220
     components:
     - type: Transform
@@ -203319,12 +204139,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -57.5,27.5
       parent: 12
-  - uid: 31911
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 50.5,-12.5
-      parent: 12
 - proto: Wirecutter
   entities:
   - uid: 8737

From 8cf279e20070b610f7c2a6425ad5f2af83692f97 Mon Sep 17 00:00:00 2001
From: Ubaser <134914314+UbaserB@users.noreply.github.com>
Date: Wed, 13 Nov 2024 23:30:40 +1100
Subject: [PATCH 072/187] Window sprite tweaks (#33282)

* add

* yes
---
 .../Windows/clockwork_diagonal.rsi/meta.json  |   2 +-
 .../Windows/clockwork_diagonal.rsi/state0.png | Bin 1663 -> 2836 bytes
 .../Windows/clockwork_diagonal.rsi/state1.png | Bin 1681 -> 2833 bytes
 .../Windows/clockwork_window.rsi/cwindow0.png | Bin 1065 -> 2164 bytes
 .../Windows/clockwork_window.rsi/cwindow1.png | Bin 1060 -> 2128 bytes
 .../Windows/clockwork_window.rsi/cwindow2.png | Bin 1065 -> 2164 bytes
 .../Windows/clockwork_window.rsi/cwindow3.png | Bin 1060 -> 2128 bytes
 .../Windows/clockwork_window.rsi/cwindow4.png | Bin 1075 -> 2112 bytes
 .../Windows/clockwork_window.rsi/cwindow5.png | Bin 983 -> 2060 bytes
 .../Windows/clockwork_window.rsi/cwindow6.png | Bin 1075 -> 2112 bytes
 .../Windows/clockwork_window.rsi/cwindow7.png | Bin 1005 -> 2065 bytes
 .../Windows/clockwork_window.rsi/full.png     | Bin 735 -> 1714 bytes
 .../Windows/clockwork_window.rsi/meta.json    |   2 +-
 .../Structures/Windows/mining.rsi/full.png    | Bin 837 -> 1811 bytes
 .../Structures/Windows/mining.rsi/meta.json   |   2 +-
 .../Windows/mining.rsi/mwindow0.png           | Bin 3765 -> 2248 bytes
 .../Windows/mining.rsi/mwindow1.png           | Bin 3697 -> 2196 bytes
 .../Windows/mining.rsi/mwindow2.png           | Bin 3765 -> 2248 bytes
 .../Windows/mining.rsi/mwindow3.png           | Bin 3697 -> 2196 bytes
 .../Windows/mining.rsi/mwindow4.png           | Bin 3706 -> 2175 bytes
 .../Windows/mining.rsi/mwindow5.png           | Bin 3640 -> 2215 bytes
 .../Windows/mining.rsi/mwindow6.png           | Bin 3706 -> 2175 bytes
 .../Windows/mining.rsi/mwindow7.png           | Bin 3269 -> 1813 bytes
 .../Windows/mining_diagonal.rsi/meta.json     |   2 +-
 .../Windows/mining_diagonal.rsi/state0.png    | Bin 3037 -> 1299 bytes
 .../Windows/mining_diagonal.rsi/state1.png    | Bin 3076 -> 1333 bytes
 .../Windows/plasma_diagonal.rsi/meta.json     |   2 +-
 .../Windows/plasma_diagonal.rsi/state0.png    | Bin 15748 -> 1644 bytes
 .../Windows/plasma_diagonal.rsi/state1.png    | Bin 15665 -> 1603 bytes
 .../Windows/plasma_window.rsi/full.png        | Bin 1597 -> 2843 bytes
 .../Windows/plasma_window.rsi/meta.json       |   2 +-
 .../Windows/plasma_window.rsi/pwindow0.png    | Bin 2063 -> 3469 bytes
 .../Windows/plasma_window.rsi/pwindow1.png    | Bin 1099 -> 2334 bytes
 .../Windows/plasma_window.rsi/pwindow2.png    | Bin 2063 -> 3469 bytes
 .../Windows/plasma_window.rsi/pwindow3.png    | Bin 1099 -> 2334 bytes
 .../Windows/plasma_window.rsi/pwindow4.png    | Bin 1161 -> 2402 bytes
 .../Windows/plasma_window.rsi/pwindow5.png    | Bin 1064 -> 2294 bytes
 .../Windows/plasma_window.rsi/pwindow6.png    | Bin 1161 -> 2402 bytes
 .../Windows/plasma_window.rsi/pwindow7.png    | Bin 247 -> 1240 bytes
 .../Windows/plastitanium_window.rsi/full.png  | Bin 506 -> 1500 bytes
 .../Windows/plastitanium_window.rsi/meta.json |   2 +-
 .../plastitanium_window.rsi/ptwindow0.png     | Bin 1190 -> 2316 bytes
 .../plastitanium_window.rsi/ptwindow1.png     | Bin 1006 -> 2083 bytes
 .../plastitanium_window.rsi/ptwindow2.png     | Bin 1190 -> 2316 bytes
 .../plastitanium_window.rsi/ptwindow3.png     | Bin 1006 -> 2083 bytes
 .../plastitanium_window.rsi/ptwindow4.png     | Bin 1008 -> 2076 bytes
 .../plastitanium_window.rsi/ptwindow5.png     | Bin 986 -> 2114 bytes
 .../plastitanium_window.rsi/ptwindow6.png     | Bin 1008 -> 2076 bytes
 .../plastitanium_window.rsi/ptwindow7.png     | Bin 641 -> 1668 bytes
 .../meta.json                                 |   2 +-
 .../state0.png                                | Bin 3238 -> 1375 bytes
 .../state1.png                                | Bin 3208 -> 1343 bytes
 .../reinforced_plasma_diagonal.rsi/meta.json  |   2 +-
 .../reinforced_plasma_diagonal.rsi/state0.png | Bin 15911 -> 1797 bytes
 .../reinforced_plasma_diagonal.rsi/state1.png | Bin 15885 -> 1790 bytes
 .../reinforced_plasma_window.rsi/full.png     | Bin 2495 -> 3504 bytes
 .../reinforced_plasma_window.rsi/meta.json    |   2 +-
 .../rpwindow0.png                             | Bin 2930 -> 4096 bytes
 .../rpwindow1.png                             | Bin 1696 -> 2864 bytes
 .../rpwindow2.png                             | Bin 2930 -> 4096 bytes
 .../rpwindow3.png                             | Bin 1696 -> 2864 bytes
 .../rpwindow4.png                             | Bin 1745 -> 2888 bytes
 .../rpwindow5.png                             | Bin 1695 -> 3021 bytes
 .../rpwindow6.png                             | Bin 1745 -> 2888 bytes
 .../rpwindow7.png                             | Bin 910 -> 2262 bytes
 .../reinforced_uranium_diagonal.rsi/meta.json |   2 +-
 .../state0.png                                | Bin 15734 -> 1662 bytes
 .../state1.png                                | Bin 15695 -> 1620 bytes
 .../reinforced_uranium_window.rsi/full.png    | Bin 2067 -> 3028 bytes
 .../reinforced_uranium_window.rsi/meta.json   |   2 +-
 .../ruwindow0.png                             | Bin 2366 -> 3323 bytes
 .../ruwindow1.png                             | Bin 1169 -> 2130 bytes
 .../ruwindow2.png                             | Bin 2342 -> 3323 bytes
 .../ruwindow3.png                             | Bin 1138 -> 2130 bytes
 .../ruwindow4.png                             | Bin 1133 -> 2102 bytes
 .../ruwindow5.png                             | Bin 1088 -> 2084 bytes
 .../ruwindow6.png                             | Bin 1129 -> 2102 bytes
 .../ruwindow7.png                             | Bin 267 -> 1240 bytes
 .../Windows/reinforced_window.rsi/full.png    | Bin 2063 -> 3041 bytes
 .../Windows/reinforced_window.rsi/meta.json   |   2 +-
 .../reinforced_window.rsi/rwindow0.png        | Bin 2229 -> 3349 bytes
 .../reinforced_window.rsi/rwindow1.png        | Bin 1148 -> 2163 bytes
 .../reinforced_window.rsi/rwindow2.png        | Bin 2229 -> 3349 bytes
 .../reinforced_window.rsi/rwindow3.png        | Bin 1148 -> 2163 bytes
 .../reinforced_window.rsi/rwindow4.png        | Bin 1130 -> 2172 bytes
 .../reinforced_window.rsi/rwindow5.png        | Bin 1025 -> 2041 bytes
 .../reinforced_window.rsi/rwindow6.png        | Bin 1130 -> 2172 bytes
 .../reinforced_window.rsi/rwindow7.png        | Bin 272 -> 1239 bytes
 .../reinforced_window_diagonal.rsi/meta.json  |   2 +-
 .../reinforced_window_diagonal.rsi/state0.png | Bin 16179 -> 1573 bytes
 .../reinforced_window_diagonal.rsi/state1.png | Bin 16152 -> 1550 bytes
 .../Windows/shuttle_window.rsi/full.png       | Bin 707 -> 1779 bytes
 .../Windows/shuttle_window.rsi/meta.json      |   2 +-
 .../Windows/shuttle_window.rsi/swindow0.png   | Bin 1080 -> 2278 bytes
 .../Windows/shuttle_window.rsi/swindow1.png   | Bin 881 -> 2146 bytes
 .../Windows/shuttle_window.rsi/swindow2.png   | Bin 1080 -> 2278 bytes
 .../Windows/shuttle_window.rsi/swindow3.png   | Bin 881 -> 2146 bytes
 .../Windows/shuttle_window.rsi/swindow4.png   | Bin 912 -> 2166 bytes
 .../Windows/shuttle_window.rsi/swindow5.png   | Bin 857 -> 2168 bytes
 .../Windows/shuttle_window.rsi/swindow6.png   | Bin 912 -> 2166 bytes
 .../Windows/shuttle_window.rsi/swindow7.png   | Bin 412 -> 1871 bytes
 .../shuttle_window_diagonal.rsi/meta.json     |   2 +-
 .../shuttle_window_diagonal.rsi/state0.png    | Bin 15523 -> 1475 bytes
 .../shuttle_window_diagonal.rsi/state1.png    | Bin 15473 -> 1423 bytes
 .../Windows/tinted_window.rsi/full.png        | Bin 9436 -> 3495 bytes
 .../Windows/tinted_window.rsi/meta.json       |   2 +-
 .../Windows/tinted_window.rsi/twindow0.png    | Bin 10814 -> 4035 bytes
 .../Windows/tinted_window.rsi/twindow1.png    | Bin 8214 -> 2719 bytes
 .../Windows/tinted_window.rsi/twindow2.png    | Bin 10815 -> 4035 bytes
 .../Windows/tinted_window.rsi/twindow3.png    | Bin 8477 -> 2719 bytes
 .../Windows/tinted_window.rsi/twindow4.png    | Bin 8217 -> 2692 bytes
 .../Windows/tinted_window.rsi/twindow5.png    | Bin 6896 -> 2318 bytes
 .../Windows/tinted_window.rsi/twindow6.png    | Bin 8464 -> 2692 bytes
 .../Windows/tinted_window.rsi/twindow7.png    | Bin 4882 -> 1661 bytes
 .../Windows/uranium_window.rsi/full.png       | Bin 1321 -> 2364 bytes
 .../Windows/uranium_window.rsi/meta.json      |   2 +-
 .../Windows/uranium_window.rsi/uwindow0.png   | Bin 1688 -> 2857 bytes
 .../Windows/uranium_window.rsi/uwindow1.png   | Bin 1225 -> 2288 bytes
 .../Windows/uranium_window.rsi/uwindow2.png   | Bin 1688 -> 2857 bytes
 .../Windows/uranium_window.rsi/uwindow3.png   | Bin 1225 -> 2288 bytes
 .../Windows/uranium_window.rsi/uwindow4.png   | Bin 1216 -> 2251 bytes
 .../Windows/uranium_window.rsi/uwindow5.png   | Bin 795 -> 1872 bytes
 .../Windows/uranium_window.rsi/uwindow6.png   | Bin 1229 -> 2251 bytes
 .../Windows/uranium_window.rsi/uwindow7.png   | Bin 297 -> 1281 bytes
 .../uranium_window_diagonal.rsi/meta.json     |   2 +-
 .../uranium_window_diagonal.rsi/state0.png    | Bin 15629 -> 1572 bytes
 .../uranium_window_diagonal.rsi/state1.png    | Bin 15604 -> 1539 bytes
 .../Structures/Windows/window.rsi/full.png    | Bin 1224 -> 2279 bytes
 .../Structures/Windows/window.rsi/meta.json   |   2 +-
 .../Structures/Windows/window.rsi/window0.png | Bin 1632 -> 2748 bytes
 .../Structures/Windows/window.rsi/window1.png | Bin 1183 -> 2217 bytes
 .../Structures/Windows/window.rsi/window2.png | Bin 1632 -> 2748 bytes
 .../Structures/Windows/window.rsi/window3.png | Bin 1183 -> 2217 bytes
 .../Structures/Windows/window.rsi/window4.png | Bin 1187 -> 2213 bytes
 .../Structures/Windows/window.rsi/window5.png | Bin 800 -> 1810 bytes
 .../Structures/Windows/window.rsi/window6.png | Bin 1187 -> 2213 bytes
 .../Structures/Windows/window.rsi/window7.png | Bin 301 -> 1240 bytes
 .../Windows/window_diagonal.rsi/meta.json     |   2 +-
 .../Windows/window_diagonal.rsi/state0.png    | Bin 15988 -> 1329 bytes
 .../Windows/window_diagonal.rsi/state1.png    | Bin 15966 -> 1285 bytes
 140 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json
index 06b6f4a5505..9f0945a8701 100644
--- a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b8fc9b367ebb26def792a68bcb25294e518698d8/icons/obj/smooth_structures/clockwork_window.dmi diagonalized by MACMAN2003",
+  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b8fc9b367ebb26def792a68bcb25294e518698d8/icons/obj/smooth_structures/clockwork_window.dmi diagonalized by MACMAN2003, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state0.png
index 084563bfa29305fa626d2657f7528e8fcaeb4960..84e8da95e5b7ded79994f18de59800ffb2e25279 100644
GIT binary patch
literal 2836
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
BomKz<

delta 1633
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

diff --git a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state1.png
index 0e48f9c92271fae2dfc906c5f3ba31f888151a6c..0f139a44c4cbaee8fbc948ea70d5fe9b46d5a9b8 100644
GIT binary patch
literal 2833
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

delta 1651
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

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow0.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow0.png
index 48ba09f65778c2c6acb1c24fcb8cfa9236fe820f..f29440596bc7a333a33239cf0f2d49e94b9415c1 100644
GIT binary patch
literal 2164
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
JYI{h^{{d-6RI>m8

delta 1030
zcmV+h1o`{)5UB`|F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BN
zNkl<ZcwX(BKWx)L6o+3K>Wutro6<sINI{|k(WyuX7+7FoWK1PgRwh`OSzuzNLLy^F
zCKd*YD#Qc|AW<45C^V3^0?HO=Xt<w!7c9$hP0qP@PWnlf9e+Dfbf53u`R<(uh?&CB
zVDtRx27UZWl;7{4Yc~CD{WsB{M$SLkhWD#=tun9+xPFP6`2$3YZ-|Z`AsP`9zHbs$
z*8J-ir~SR6_ER1R@VmPUdSzf2aBh;sy(TJNcIZpZ_3k`m%wBOy-WPUY?twci4?ALy
z+_Qmdk2{aTpMN?rCeNCKT>wC}$DJ>KsM4`fhb9jbm7cmqdAX}tApmV2)gIf+cdpm|
zMUzO>1ax5+u)XaEyxTVlC2S@O57-54Y{~ta=m!P2<_g9N57-54xw%$Xrz8xIi>PP_
zD`Egpg*Gk08UcVqf>i>5X$e*c2tM8dlM<|}0SZ$RtbY-p3L3<O1S<q!R0lXDXpaWx
zZ#s|V;eR0pKgB1na@ym0UD#?sIPh^{Z4fktwt#L$XH%q713HnQ0v|Wp0ye6v-ae}}
zA(a}CWeNH*U~IzMXH`NvF`xqpnEu-9)a55WQV{@>NC;1KszeAUsR;ma5>R+de`BwX
zZ6H+vAb(1ND)7unhc28UZ|j|IFlqo3l7NX$<o<%mkDhuIP9j0^cDYJN^NyDct^JZG
z8POhz-ML21aKbVOqCG$pz%_gqg-0{M@uO$F`AO|RpPI;d$<214s|!ba+<6FjQ68kq
zW~29q!^r+9RPNsvy50nyzxMZqaiT**MC;=2FMo@$fMiHdG=aDoq2P1Cy@!<|+Wmm|
zM+8C9HG1clR(J(;wFyM^4(JBa9eP2r*PaBUfQ0+=l_GNf$o*pt0Aj%KKKTV^j08cX
zyOH)@D!Z+909X@XLohTV06@a0>c4dWIPNO}AiVGi%iy>%Dgda!h;DGFHGn2CE&xRJ
z4u4#*2(XD=0djAg;NvqVyEQ=W`xZ6<w#*5#j>G^aRIbj{F+yxTBt=cBtFBXBQ=c=x
zS{#G}V$^d&xZqKeI>Fi)U`m43K`@B~U91og7Z775gr?j(!Ri{Ih?Ag8CIo;;2{QSj
zLuLekwAy_Tb^%D7sHyWLq%DD6z({Cv6n~jydDxaTC9n%Xo&ZziYTZE6H^$PEU_}fV
zJ?JM(v7Mbt{@Pp`608uQ9)*!K`TWE6vd4Y%+8i>)C@|7xSUX@E_R(O}%hRY4E8qO<
zXcj?&11J10^Dj?Fy*>|+G(p|~uhqq&x7?oSFQUblaT1{(EdT%j07*qoM6N<$g09TU
A1poj5

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow1.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow1.png
index 025376834dc1867b2e6724d89982523f3444e8f0..e78030522325c579b865ab25c7d9261fc37bc19e 100644
GIT binary patch
literal 2128
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
S<&!Oc^Qg5kVO1eXS^oz>fHj=}

delta 1025
zcmV+c1pfQb5Tpo@F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BI
zNkl<ZcwX(By>HV%7>D05)I|a*e5I)h1cro4R3Mm&gn)qs7DmQYLS<!wg_#8=Rw^Vi
z@)xi$0IC>40VJS7f}#cj6(2<)B^et0v+siCI;qK>?>)D9B!BC!j;rV%-@Rwwd&v+p
z#XTdPQ%BqM_9Ib#r+==~@sBS*h*sL8{>dJ^T5Kw{fnC6*v((A&B6|Fs=+J(mF;~K;
zWun@W|M{8Yeko~u6BQTy-;MifZD1F0vPAB^CMutE=tHCB-Fe8EIqy`w3)W%wc56md
z2V#pT*+93)oqtE;k4#R8v*utI0MPAm=c}*lba33E(mtZfgH~C5oG4ZZz?et3$MN)K
z%Nzghkcc$|RACpey6OkKYnO`^93~qN*adw3Da!hyS6-bh8f!dY7k~!i&Z90R<o3Ez
z(GXU|0Fav~c%^9x)(8L`608ycOiSPof=lj8KnRl(tbgbMoD!@V0$dWTiUAxFl-~yD
zt~mEZbs$vV=2Wq67BJ0FfG7th>3KS7wDf>9OHdXdBX?RQXz2lImY^*Lq*a2}81O$5
zu;yoK-LD^71b{da!VQ**5KgoS0R1GO@mT(rcOG>c&?*2#NstYmKJ3uxW8@vk>ezs?
z0NKzWVSfo&_e1V4nEVK)xH!?$1L8=Kym(Wm19`_whBm&7lZ+_84PL)Uop8c32$CHD
zLja%QS~MQR0QI{MdGnLXUp`eB^^%*t$U4n6(H?gmLY`DdsJ7frw}7bifME2$HCHR=
zvhG+DgAF-A2$(F`Awc^q0D|LQZgkkTm8j%;$$xJ5&to`XV+1#e^Z-e)C)~VKD`VVe
z+;2n>bf-q|{QLrM3`nF0NTOy3OoNyXy`Z?!o&=+S1jGU4{E_>|9smrB+zxR8Gl>fT
zNOvRcJzs5g_W@u}07P(OL;!$<clCe!08rml0zi1<6J`f)j0ylUFk<`LdV2s(U|ax*
zntvU*U=d&wLjj^R&W2hKNHaqLqBM>zYl5tAVgL&&7p9wdL+m~z1>Yhia_S5(wWWTy
zI0y&CsOJQ);hB#1og&u8fJg}mY?rY*2*#11iWLI-1;nH!Slt68{UoT83IQM~38@hP
zq9mxoE&z#>N6*9`G0-i6UBFmqaTJ+kQF`r(P6_M+kSD+rx!gAp_ZMTjBv=sx#&`S4
zQXD6y;{R+;hXgAG$VXu$P2PWQdD-Jl^Rqc5O3`4X%dmIAH0%N}{?YZ_F5m45!I<Em
vNe*@aNRi8iuly!jaC^hAKWk@)WFYzrv|5&@R@>Zw00000NkvXXu0mjfm%+-M

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow2.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow2.png
index 48ba09f65778c2c6acb1c24fcb8cfa9236fe820f..f29440596bc7a333a33239cf0f2d49e94b9415c1 100644
GIT binary patch
literal 2164
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
JYI{h^{{d-6RI>m8

delta 1030
zcmV+h1o`{)5UB`|F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BN
zNkl<ZcwX(BKWx)L6o+3K>Wutro6<sINI{|k(WyuX7+7FoWK1PgRwh`OSzuzNLLy^F
zCKd*YD#Qc|AW<45C^V3^0?HO=Xt<w!7c9$hP0qP@PWnlf9e+Dfbf53u`R<(uh?&CB
zVDtRx27UZWl;7{4Yc~CD{WsB{M$SLkhWD#=tun9+xPFP6`2$3YZ-|Z`AsP`9zHbs$
z*8J-ir~SR6_ER1R@VmPUdSzf2aBh;sy(TJNcIZpZ_3k`m%wBOy-WPUY?twci4?ALy
z+_Qmdk2{aTpMN?rCeNCKT>wC}$DJ>KsM4`fhb9jbm7cmqdAX}tApmV2)gIf+cdpm|
zMUzO>1ax5+u)XaEyxTVlC2S@O57-54Y{~ta=m!P2<_g9N57-54xw%$Xrz8xIi>PP_
zD`Egpg*Gk08UcVqf>i>5X$e*c2tM8dlM<|}0SZ$RtbY-p3L3<O1S<q!R0lXDXpaWx
zZ#s|V;eR0pKgB1na@ym0UD#?sIPh^{Z4fktwt#L$XH%q713HnQ0v|Wp0ye6v-ae}}
zA(a}CWeNH*U~IzMXH`NvF`xqpnEu-9)a55WQV{@>NC;1KszeAUsR;ma5>R+de`BwX
zZ6H+vAb(1ND)7unhc28UZ|j|IFlqo3l7NX$<o<%mkDhuIP9j0^cDYJN^NyDct^JZG
z8POhz-ML21aKbVOqCG$pz%_gqg-0{M@uO$F`AO|RpPI;d$<214s|!ba+<6FjQ68kq
zW~29q!^r+9RPNsvy50nyzxMZqaiT**MC;=2FMo@$fMiHdG=aDoq2P1Cy@!<|+Wmm|
zM+8C9HG1clR(J(;wFyM^4(JBa9eP2r*PaBUfQ0+=l_GNf$o*pt0Aj%KKKTV^j08cX
zyOH)@D!Z+909X@XLohTV06@a0>c4dWIPNO}AiVGi%iy>%Dgda!h;DGFHGn2CE&xRJ
z4u4#*2(XD=0djAg;NvqVyEQ=W`xZ6<w#*5#j>G^aRIbj{F+yxTBt=cBtFBXBQ=c=x
zS{#G}V$^d&xZqKeI>Fi)U`m43K`@B~U91og7Z775gr?j(!Ri{Ih?Ag8CIo;;2{QSj
zLuLekwAy_Tb^%D7sHyWLq%DD6z({Cv6n~jydDxaTC9n%Xo&ZziYTZE6H^$PEU_}fV
zJ?JM(v7Mbt{@Pp`608uQ9)*!K`TWE6vd4Y%+8i>)C@|7xSUX@E_R(O}%hRY4E8qO<
zXcj?&11J10^Dj?Fy*>|+G(p|~uhqq&x7?oSFQUblaT1{(EdT%j07*qoM6N<$g09TU
A1poj5

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow3.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow3.png
index 025376834dc1867b2e6724d89982523f3444e8f0..e78030522325c579b865ab25c7d9261fc37bc19e 100644
GIT binary patch
literal 2128
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
S<&!Oc^Qg5kVO1eXS^oz>fHj=}

delta 1025
zcmV+c1pfQb5Tpo@F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BI
zNkl<ZcwX(By>HV%7>D05)I|a*e5I)h1cro4R3Mm&gn)qs7DmQYLS<!wg_#8=Rw^Vi
z@)xi$0IC>40VJS7f}#cj6(2<)B^et0v+siCI;qK>?>)D9B!BC!j;rV%-@Rwwd&v+p
z#XTdPQ%BqM_9Ib#r+==~@sBS*h*sL8{>dJ^T5Kw{fnC6*v((A&B6|Fs=+J(mF;~K;
zWun@W|M{8Yeko~u6BQTy-;MifZD1F0vPAB^CMutE=tHCB-Fe8EIqy`w3)W%wc56md
z2V#pT*+93)oqtE;k4#R8v*utI0MPAm=c}*lba33E(mtZfgH~C5oG4ZZz?et3$MN)K
z%Nzghkcc$|RACpey6OkKYnO`^93~qN*adw3Da!hyS6-bh8f!dY7k~!i&Z90R<o3Ez
z(GXU|0Fav~c%^9x)(8L`608ycOiSPof=lj8KnRl(tbgbMoD!@V0$dWTiUAxFl-~yD
zt~mEZbs$vV=2Wq67BJ0FfG7th>3KS7wDf>9OHdXdBX?RQXz2lImY^*Lq*a2}81O$5
zu;yoK-LD^71b{da!VQ**5KgoS0R1GO@mT(rcOG>c&?*2#NstYmKJ3uxW8@vk>ezs?
z0NKzWVSfo&_e1V4nEVK)xH!?$1L8=Kym(Wm19`_whBm&7lZ+_84PL)Uop8c32$CHD
zLja%QS~MQR0QI{MdGnLXUp`eB^^%*t$U4n6(H?gmLY`DdsJ7frw}7bifME2$HCHR=
zvhG+DgAF-A2$(F`Awc^q0D|LQZgkkTm8j%;$$xJ5&to`XV+1#e^Z-e)C)~VKD`VVe
z+;2n>bf-q|{QLrM3`nF0NTOy3OoNyXy`Z?!o&=+S1jGU4{E_>|9smrB+zxR8Gl>fT
zNOvRcJzs5g_W@u}07P(OL;!$<clCe!08rml0zi1<6J`f)j0ylUFk<`LdV2s(U|ax*
zntvU*U=d&wLjj^R&W2hKNHaqLqBM>zYl5tAVgL&&7p9wdL+m~z1>Yhia_S5(wWWTy
zI0y&CsOJQ);hB#1og&u8fJg}mY?rY*2*#11iWLI-1;nH!Slt68{UoT83IQM~38@hP
zq9mxoE&z#>N6*9`G0-i6UBFmqaTJ+kQF`r(P6_M+kSD+rx!gAp_ZMTjBv=sx#&`S4
zQXD6y;{R+;hXgAG$VXu$P2PWQdD-Jl^Rqc5O3`4X%dmIAH0%N}{?YZ_F5m45!I<Em
vNe*@aNRi8iuly!jaC^hAKWk@)WFYzrv|5&@R@>Zw00000NkvXXu0mjfm%+-M

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow4.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow4.png
index aa4ed12cbc5dd25ec5df058aabcd5abf3f3c7e2a..228081ad5b9ea416f26648cc0b4e6fc1c1e36fe4 100644
GIT binary patch
literal 2112
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
F0RS;GDEt5b

delta 1041
zcmV+s1n&F55VHu7F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BX
zNkl<ZcwX(BJxmlq6vrPHEHN7KgD*kR;*dn5(MlV&u+hfS@<<G}R@hkEXk{xQ;Yv#z
zY%J6eW2HGY5jYb?IXxgMCKfCO=lpkP&&_7;Ja1;_&2s*d&3_JikYj#3^JaJ6Ob0QO
z>*=hXJGn^<pNRVRh1aUp@L2glG=AADgjdx}-1Em}u_boMGaIOU|NgMNXBW}PVWQnT
z!^+!$T>$R<(^o|KOI}SxX*s;}f4lo8U>AU9e@xu<j}@Ozj1J1H_FxwP`h*1Z`Qp1W
z9Ubs!<PcHek$<0;AE$~F0=}$;-2lh)H-69sM3+dt`2%(VTU%kDzj-}Zz+toUfL*}q
zx;!t7XegMR$XTmAU>C6NchQB@VL6h}J0zl_C7g%>AgZ)&3C;)r91@%o0BlQeLO|u4
zEJ$ohaIOVJ*plFkfT*HzY)EiIK=cyCAwhdSVCsf9BY%tkgn0SMKYY<eZ<jV$=Oox#
zKr--g;cO7Jg|>jSqO&cGw18G5M1hYRZ2_z0rQn>^mSCg>WLbiK3>X{^&RLaUCI+-1
z0n=aI-iG{%4<iCVGZK;$olzo$6Jr8EBMGQHroVBH$}V7308mMYDtzX+N9RvbaBQDp
zQ1t?nkbi)QPGo@M$&YRIDBO&Mh}ZLFI@0e2DY43Td65xgU7((X!t7@L?o_GP=W*vn
zmk7Fn3vs|`3{Xh`i1t5!5iN+ufHQ!IXT{F&2S&8t#m9!bs<NmAV|{P8FfCOh2Z*LW
zDtZV6l-4#`=L59A{MJ>f#sgY1x<7dto^wM)2Y-8rRz&6JMN2?31b;XESpR>}LHo-a
z%?QPx1Mb`}<<aju#5W=cA`XDLMP30$V?YvBOu#UR;Sd3E+dT=YfCP*J$oV7pk2L^@
z1HF6YFEEq30DyEi(%y4LzqSqlYXTsG8!G|;B)l*GSqFe}TL}QkMNhU?f;A%5QJ^02
z(SPB}WJznCpDtEgKt#PKMh;j609Pci2>>ogU=`p3{{_f%+tT&|Sl`5e>N!F+rCyt4
zji%aU0L}b<0TrszAz5*iq*idY3)qt2bPP~Rkd;<_)(XxC!L%i0Viag3L6=Mj0BK3c
zi~wM&-^XDWfW+y{Z1ekrOiN%F(3hATg?|uPtcytr>;jM{z!W(uj-%NfW2PiH5d#Je
zglh(HoE>X^+nfmrP6&unYe<@W`059#^S0SGheRnVjC2{+4%mkMZSdMfsv@C^WC>yc
zc9Eh*EPf6@N4JQROvK)PpjQWW0jllu07(<%4X~}Q5qit*iGBmus+8*{>AXAu015yA
LNkvXXu0mjf*^Sh&

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow5.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow5.png
index 6bf733f81ae79b1f67254fc910195ea0b55cd8ea..89c88d12e2a608fb0475a4dd93453b5a43021f58 100644
GIT binary patch
literal 2060
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

delta 948
zcmV;l155mj5Z4EgF@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000AQ
zNkl<ZcwX(ByKWOf6o!u}vH~UIo;V8E!T|{cqJsu%Xm|vt2`yE42&iaD6Td{LK@lx7
z6p$E+i()WATm{9Zh?#$9#;nZPtUQ-9i}OjV9d9Bf^X;57>wh`36=J4#bfSCp;x?_n
zBdQ*f*ScMKeEdqZa3g8Rt7aDOrwgh%5_{B{4RpSGShn|163w3=n%XBj9|Cp(xbu&m
z64kFKJrS)<dFTIi_g%m)0K@)_xa)5^DP1@_r>=&BT>zL75)kvv7i~H{o6!7mqQ=9t
zu72#5C<MI!B!9yI$CKx276Kw9ybpiCE?{Rz#{8XIwFZumod@g!w!W$JrpShZrNvsX
z&I5J<=rHa)+FHW&F_9Gm5k(FFy3?U0L?ZxjNQg=R2rYp>3963f2`M3p5x^-Snh@ZU
z5LFJ~kYK$YuzWjNQO%LC{XTC?bhAKcb_J;O$oR_6p?`2P0?I7GT7d6)+BfzipwgwS
z_S>vkMhW&gVD4mgE~^ALIbZ|{Sn~_D?l%l40zeT7{T<eY5Kf#40K+7p^H~1YcOLB+
za4G<pB<K!bK9|t7OOzeD2*QoE0OJ>!J_%U&Lj@>b{OEknPV6`t0YxNep1o|-scMpy
z#5!NpMSn(|g}@*Qjn(b?z2#Of=5gmmNMvCULmqIN156SCvi<j;MC)QO;0z$*adSd`
zV8nS6G)X}9N26>1vEW<)$V<>09VYk6+W&zmc^$I=_6Bg{bww!u9B}tRtB$y@h`)#=
zh&%w+Hthcg8@!AFjVT;34PrV(0{riu1WiB!W`6<H{89VI9sq>J^g;Ct%y<_7Q0_+A
zd##!F_5ol|Kn%$+hyVZyuiAh10iZor0zm(!r%*e=hQU%7$j=Tpms;aj7Z~)!$N`H0
z5Q_vh0U!nmtO8<SSAaT?En_c$^_v(lJx7?9)OEttKhvK}|Gt0;)9ldSag(G`h&BX5
zNq>ks2NaQDOY}+5w}ev60>dQOQVIdUmxR&?0IuRb54!*qPFGfo?-Ot>fnC5%-{L5Q
zsOCUiN?;d&Isul*(QzC_-xzZxA&ML@dqnOTz;We#@z>^DNQgp!-YbBj$?FekRyrS>
z*XFQC03AlT40{Jc!!7{vkD)Jyd~YP=b1j0r;tzHK*dw4jj=cjLVl@2t_4n-H2cqBE
Wwu-~W40$*J0000<MNUMnLSTX!5v7~}

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow6.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow6.png
index aa4ed12cbc5dd25ec5df058aabcd5abf3f3c7e2a..228081ad5b9ea416f26648cc0b4e6fc1c1e36fe4 100644
GIT binary patch
literal 2112
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
F0RS;GDEt5b

delta 1041
zcmV+s1n&F55VHu7F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BX
zNkl<ZcwX(BJxmlq6vrPHEHN7KgD*kR;*dn5(MlV&u+hfS@<<G}R@hkEXk{xQ;Yv#z
zY%J6eW2HGY5jYb?IXxgMCKfCO=lpkP&&_7;Ja1;_&2s*d&3_JikYj#3^JaJ6Ob0QO
z>*=hXJGn^<pNRVRh1aUp@L2glG=AADgjdx}-1Em}u_boMGaIOU|NgMNXBW}PVWQnT
z!^+!$T>$R<(^o|KOI}SxX*s;}f4lo8U>AU9e@xu<j}@Ozj1J1H_FxwP`h*1Z`Qp1W
z9Ubs!<PcHek$<0;AE$~F0=}$;-2lh)H-69sM3+dt`2%(VTU%kDzj-}Zz+toUfL*}q
zx;!t7XegMR$XTmAU>C6NchQB@VL6h}J0zl_C7g%>AgZ)&3C;)r91@%o0BlQeLO|u4
zEJ$ohaIOVJ*plFkfT*HzY)EiIK=cyCAwhdSVCsf9BY%tkgn0SMKYY<eZ<jV$=Oox#
zKr--g;cO7Jg|>jSqO&cGw18G5M1hYRZ2_z0rQn>^mSCg>WLbiK3>X{^&RLaUCI+-1
z0n=aI-iG{%4<iCVGZK;$olzo$6Jr8EBMGQHroVBH$}V7308mMYDtzX+N9RvbaBQDp
zQ1t?nkbi)QPGo@M$&YRIDBO&Mh}ZLFI@0e2DY43Td65xgU7((X!t7@L?o_GP=W*vn
zmk7Fn3vs|`3{Xh`i1t5!5iN+ufHQ!IXT{F&2S&8t#m9!bs<NmAV|{P8FfCOh2Z*LW
zDtZV6l-4#`=L59A{MJ>f#sgY1x<7dto^wM)2Y-8rRz&6JMN2?31b;XESpR>}LHo-a
z%?QPx1Mb`}<<aju#5W=cA`XDLMP30$V?YvBOu#UR;Sd3E+dT=YfCP*J$oV7pk2L^@
z1HF6YFEEq30DyEi(%y4LzqSqlYXTsG8!G|;B)l*GSqFe}TL}QkMNhU?f;A%5QJ^02
z(SPB}WJznCpDtEgKt#PKMh;j609Pci2>>ogU=`p3{{_f%+tT&|Sl`5e>N!F+rCyt4
zji%aU0L}b<0TrszAz5*iq*idY3)qt2bPP~Rkd;<_)(XxC!L%i0Viag3L6=Mj0BK3c
zi~wM&-^XDWfW+y{Z1ekrOiN%F(3hATg?|uPtcytr>;jM{z!W(uj-%NfW2PiH5d#Je
zglh(HoE>X^+nfmrP6&unYe<@W`059#^S0SGheRnVjC2{+4%mkMZSdMfsv@C^WC>yc
zc9Eh*EPf6@N4JQROvK)PpjQWW0jllu07(<%4X~}Q5qit*iGBmus+8*{>AXAu015yA
LNkvXXu0mjf*^Sh&

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow7.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow7.png
index 6d2c0e0650ea87482405e72dd57986599e1bf6f7..aafe2b5051d6bd0bb148bfeb3de2ee82737b3b94 100644
GIT binary patch
literal 2065
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

delta 970
zcmV;*12z1S5bXz$F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000Am
zNkl<ZcwX(BJ#P~+7{{Mbi4&z21ga)gcpX|Qfsoi>Vupo}kS=9qDjxzSR=PA_0%oL&
z6}1dNg2Y<`X?Y1CigZY6@ZV>{DRt85&gaM1^e3I{I+a@g&VPQK^W!TJGgC*$x+v!>
z9V(xYP1F@FxHj8F3payW)M{q&LAao*i8!Q6Hj3k8sz!8df@tmx(d2m4c^9w?C>8(6
zyI;K#Q2Auk*4T*d{9bq82J8Yb>@SGB{<am;<@t(gbqBiuP!bX_=ht2|>HJJUbEk=F
zkHf0^I8(e3@PF|$(UWJ<_4Iitr+}CenGb)!E?{RTn)7#W&(?6c>^xu>u=QP)8}DVg
zv^eXm^MG9dI*dDyx|T3~N<>9Rco74D?zC$O-Ut9361)-sTua~&f~uo&TuSg_1aM05
zW(sgg@G1syNJzaOuzV+2QPo7GeV$K?cdLMF4g{z&F@IS_XIEGm0eO~?TEJHGoh<Vz
z!O958vxM|9pmJ80d6i%%1|*PxJwI3beuJ<g01P9cx5GLS!ihBjV2}iK9^2pg&ZF)F
zRs{f)1l{4Q7X!L}h2*7^Al#%DV0?h-k$`=_SK`;=$&c1oS+HYe1PmiVv;MM4=gI*=
zNb8$wWPil!)1WEv-Cu6Vz=tV-VUIhH&TqC4Q~P&^zHE0`Gt^dNfN3NEMEf7VM90No
zKnc)!AFv(-O%jm((dgWNJT1<NbpaqQK_7IOI1=Ulk55MJzKnoOcZA|G;oieW70X{i
z{6z#ou{6r|)q48>Aq|;~0F7xnU>U@6D1+jD`+p{A0urziAm@+VKh6MPT1*$!FEEq2
z0DyEi(%!3U;lFbLI1>O7+&B>cAmMfM|2Y8EM@j(bJ@n-2B-kJ_T?P6PUmb2OHAXKl
z(C-@~2P^`BFA~@U03Rf<3h;pg0jeBXMqU8xlNd04k1*{l>42#}(?93_eE}1u)uFfJ
zCVxpu@OBEglHhd==qsVn-L>1C6z_weQ9_?B_ax+E6&NHTEx8Z?vXYP+0l*|7E$jl2
zI9+)({5b*J64(WldNxNPL{<A@Qv$mH<O$;E28MlO%$5W%V!+H)bY=k8wM)alHfKYE
z7XtKI0VGY{d<tducw}Ci!x;f|80j*c9Yb&p`_mxa9!I7a?+_yv;4M;&i28@<^SwsG
szIYncnPQwBsEg6?b9?vdkPSqC0WXV*3VF)?S^xk507*qoM6N<$f_<5@_y7O^

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/full.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/full.png
index d50a9f18d87cdf24272dfbfb1cb1cf98d3986168..0899b57b6f69f0fad7b7e99de9d000f2a3c3ddbe 100644
GIT binary patch
literal 1714
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U{1*li71Ki^|4CM&(%vz$xlkvtH><?
z>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b
zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&;
zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$><N;2G@g3_WKuq`Rc
z`l&goxv6<2#rlSNhWgm_m1L$NT$oo34Gv(y=!0Z{+6=I2^DHPyHUWl|YX#6fQ2zlP
znhdtLxFkg%NrAqRfq{jtfsw9}r9Rw$K<C?}BwLkamgJ;@0}k#Va0oi)l%R@&)PsT`
zCleI1Rym1z>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra
zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK#
z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd<
zAUiI<hD8q<7?{p_x;TbJaPFP%n=KqD(so}`Wo5(`t-oKSeWL|LVm-tb>D^hu?HH@2
z_bUE^{KEQ$dM?`|S4EdT_FKtO=kj6mGOa9b*4a77D&L*;RP*F^wwlX*^3G1<?|aT$
zet-6C&H|H|4nNu47k9-obJ}CNl{(M&@4pn3e1QMkPuq}~izg<CwB_FBu3z%9_R{8^
zO=gOA+k*KLZZ9yAa<2KW8oK`{r}$}Y*-PB}Z*M=dc&*v9`5yjp74BZUmv%nfA>Yk>
zAZAPR<jGyNQ`gPces$UDZsor(OH1B5J=`Su^1GFt-0qt>+tXK1y?lI$!h~=AqNVQ(
z@7i*5{=O1t`BC}u?l*sZ)@{A@T+TY<fyS(i-BT6ctoeCocBQO@epXTcmj{81FB$Ld
zXH<B1XKmPq&RmlVQa9iAvWB1PVl&@<eU5nK|JBd0?`QFhld-Z;tex?Far>hL{r}z5
zpIqW}ee*5a+$-<w!n09#9NyXIg!r`E8cMk<{@M9L{&v;fIUg0wG*4%LKX&Y6!A83U
z#>cG{C+#-(X2_YjIHTy8Nk98Zm$$6D&r2zAI__sZ(A)Wpu~BX<b3@}EMHz=r8fUo=
znN%w=FzBxL*us!=ckiD6=a>&M-q;^CPhi>2u7=8a>MXPP4w$)sxWbJ#icx|F7vE*e
zoxZq{b2sCT`x+gl=85wJGS=>7-{okgCA5-};TA{7ggtYwSmvJQYC0qRcET2oo0n7;
z|8*+4t)^Y(`SP0XrQhr2nwLzeo3-b{KkZ3;5_4=fS0C{_y7EBAm+8}HGX%f=bx@S|
zeEfCeR)veM8)|Nd+si4ob)IJ1&iOWCNyd+e)z+s>1P@H8%y8RTR_(v2`?-ip*q<3`
z9&?X5pIRE8KijkVQdC!+6o+v$TU5p(*)wxOkE}ehPQ@q0^TN$}3+8#7DW{+D+kEv{
z4qsX3jc2v@TxE8DX})@@SS_N`@7BI~$NbNps@vTBoFQ=DfA%|jQ-kg2{OSeO7oM(u
JF6*2UngGrQhnfHY

delta 711
zcmV;&0yzD$4c`TjB!3BTNLh0L01m_e01m_fl`9S#0007!Nkl<Zc$~$T%}x|S6h<$k
zLeIiP6d4)^0TTyEOf(u}SgBjt_z2BL-#{Ni-#|CcBe2mexN;@I#HeW(N*Enc5fT?P
ziy8Y=P4)DUZkgZmCN-&4)zo+D)=%H7%9CS_TUU?d<F<%@R)4fL8m4^zEpl*FkbZ33
zJCx$M$mnQm?%JNn(wxYvtuaxE`xBx8PM;E)iXp!K5D9n8AMPz5woO?3)vEKqyf$m=
zZ_Gl<Ga~0F<NBTfU>w>CVM=h<lh3tC6C%F4;#IO%H1BuTh81UK<>n1jfBZBI06=*8
zvL}_7k#1MGoqv@her2g7TkoqfDBIoH)(~k!<L!s4EXK_Te_{X{aXTwV{Nl7H-+o3A
z2C-K%z0fTLb1hsDJ-1z8@k|OJz2}HiAB4Cy<^rN#kK|L+!Iw&A(W+iI;*TDbwcwLy
zVK7MXG{o~4QDAjA6H~Dl)b73+VE60c{c?r+Fzooj=6`mm{iu*!H48x*7KGKfb6sTZ
zb-|ng%!;~#u%^--E+H}j{s)8xNI#{nAgrd!8{o<l2|(7f=>kFn*e{q%2(1}rY=LV}
zB!@8lNp%5n;vsb93H7f|7Z7cSuxp6w7b%wJdV<J3gk3?z0R2E<9RcJ*#KQeTbPO;o
z2u0jZ=zqMr;ud0K)8q__u!uO_S|`D1uMo%QCL&iOBcelOI%y<&9R>t*rghrF^67J?
zVDr8g|3(9aAkamSgv6hSlCcQ@&m#BICMIM`d6`i!5CpnFAZ`<r<SDK-b2aGb=*2pL
zu!aU+-q>uWX1IpcldDlDOG@w6?Q88~xyk9fut2TN8mFBnZ*jIY7IEgKu1Jx|QZe>~
tf^j>D+X<a>Ej+o6tHx<h&uu}_{tFs_1d)lshFAaq002ovPDHLkV1hi)O=|!E

diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/meta.json b/Resources/Textures/Structures/Windows/clockwork_window.rsi/meta.json
index be03eb5f1a2..dfd0d929100 100644
--- a/Resources/Textures/Structures/Windows/clockwork_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/clockwork_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b8fc9b367ebb26def792a68bcb25294e518698d8/icons/obj/smooth_structures/clockwork_window.dmi",
+  "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b8fc9b367ebb26def792a68bcb25294e518698d8/icons/obj/smooth_structures/clockwork_window.dmi, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/mining.rsi/full.png b/Resources/Textures/Structures/Windows/mining.rsi/full.png
index a38121d202cc07d4aaf7f2a36d945ffd87135c54..ce03d5ab5bb69320a5dec54de18b08849cbe92c2 100644
GIT binary patch
literal 1811
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U{1*li71Ki^|4CM&(%vz$xlkvtH><?
z>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b
zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&;
zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$><N;2G@g3_WKuq`Rc
z`l&goxv6<2#rlSNhWgm_m1L$NT$oo34Gv(y=!0Z{+6=I2^DHPyHUWl|YX#6fQ2zlP
znhdtLxFkg%NrAqRfq{jtfsw9}r9Rw$K<C?}BwLkamgJ;@0}k#Va0oi)l%R@&)PsT`
zCleI1Rym1z>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra
zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK#
z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd<
zAUiI<hD8s7`AyH$#W5s;^XRnm*}{PW$K(IBhIr|E3a|<Wa#~jCzn%9b=!D{r<y9ON
z7lU>7cC`zHxUjfR3UC%|YAUtgTzCEC>33<#j`tPcA3sx*Zj}FQ_xg=nx0Z_id%UCN
z{olWT4Q9`MlIXMi@`bFepKQB-thsrI_wmQsSMokx|K{%Q{*dXxJ<H!WDsM`jn|;>o
z(bB-<adx^5s;_y?EYv$b^XzVtXecSS;(wIvZP|X})?4XD5h0drw(vt5n{`k5G%K;V
zIL%S_6ly!Xu<_@770V583w{{cf4e^6q_pZb$z|W0*Ro!CSyJpE8h&%XL!eQr!|zf_
z2mf;Za}_pRt>Fz58b3{aZC-7?_FGeJ`FpeA8UE_w`|JPO1n{0o)4lxqovo2=aMY#S
zS1+E5kz_b$zqi&_Vy~6$muc1gzq>0r_TH>Wanv~R__@D+_1?MJx0|EC%YSo<;Q6yN
zKD><af6c$QUq0NMyZihe!M+Ka%xjXL-$+>frm}kfHU^D7t3JLv{Cldxh3~8{-WK-t
z+IL_7l*zclC~(n)7fhm4c)A&;GQP~{D>XjTtm^YqXJ=E@{Ps;e8WXHOdogU`sy*kk
zbvf&IWwu8=GmSR*olia%agFuMKDIT>zFf`<u@2R@+<YrQGGe)S-Q#XU+i8M=?7z%s
zpJTdx#qU=c>#ZEC`PVJKO=G;rEVZQbeM3gDin8VAbq!&Uq!xVAvb|`1*K}sh$%PAw
zRx_SIztbd^!$fW7E*}kBL&bB+@!GKus<(AK<k-L`TxHvTa;LmDW5vT=TX!YQjZ@1P
zSry5!$kpUjmDxYJ1*;dOzI9(SJ29<P)%NEW2A6K3W5tr&r>8D>bNgZ8)6Ji_R($(1
zdDo}Jm4{nc8g(V^74BJA!+)Tl=KSup--KjW^G<E#QhTE)EPU+T&2Y8}fnSn7e15X{
zX4j&f!49F!+x+Ea7e5wXHvO&hjeRrnWY5kv_;vF`;H)Lj(!XtFa+efHySVsk|C(ou
zMVPfh{yQ<8v13m1X?pQ}zQp0mo!cj`<?`Qj$z8L{Fga0$;p7xX!x)|E%K5L)M}(I-
zu90~k%KY)CS~d59{p<!}o)rrg8K)k2eRb>f^M7mwn*Xf+tG_d;_BAJ$$Oce_<mu|?
Jvd$@?2>_JFx0?U}

delta 814
zcmV+}1JV4G4#ftLB!3BTNLh0L01m_e01m_fl`9S#0008_Nkl<Zc%02wy>8S%5Z*`@
z#VHVlvjsvFkx<AL^hk~y8afp5B5v{=G=32j(b3R2Ml>`a9VS9bfe?|;oGwC<jwblq
zz46WMk8gb`V2bm3=kN1)_M3Gu7!0n(Ka>DJaU6@fp0<mV$$vzIVYp(buMLO0qAbrE
zziMOuq9_yq?hMhLU28}_97bNY`Wod7#0><=0YZrVjbm5=pj-zBW>AzI0$mi{lO+TQ
z{MYq1Ut47YN=QolPm)CBd2Sdd$)UXF`Kb&@6(C!s-*Wh>m^@DlfFlEX7}}l!iTM*!
z1?XPaullN(^ndP=6W}|00LHiO-p}rY(G2&a_@P|CoK!o1e*H|T0(BiqyHWgX#{HLe
zyUrY)01))Y*U#zr<L_5|{ps@;vr8eex*SUo1oFe%Hv?|Bv%Q@@c>E+2VxDdU06~%b
z(ca$ixAXHB1QG!RRbXUEPCkw9>bm~!%waU4O%O;20e^AvfX!AHXA`2ksblG#69_%X
zk_Sw{{9eU8lub&x)-<8tcyLvqj~D>dHawMAbTQtw{(hUaE9j^K>+E<;o%SUFzD>Yt
z#Aw(;=yn9>PPDzK0_*I=B0e#u0e}dF0^(YhRN_hc>3wDBsq~5my6wtxEUzaguMPi2
z1xzQOD}TvN`~!OLG|{3+?EsqbAQECiUfQrJEw&N@p`*L()Y(DJgQ~h%X!qUc0TLI(
z`7$Bd5fdW0wF$ZKJqvEvgF<|mklTGJ-WfdL1kgwN@xYdK)u3X&XSvwu)y0ImEg$jp
z3Y=7I6BoC;D&U$OT)fT$=wggiJ&+F*!l&^)Zhv&yZF}{lbOHd2VS8bu>cBjiFyl<v
z8-Swdc}nwq<<Qyar~;~A<|(?p)i)xayd!xFfHxr@$GTu0lakJUOR7Cv=$D69o3GcQ
z6#w0a(!6~_3>Mr2#L>}9NiypWrFtG`6DsA@x~`slx>5mRI9+e^)#d;AGD5TU{kVj<
scqhR3<Fo~UsicdI;aqD);cu(UU*;*h*vTy*E&u=k07*qoM6N<$f_6!Z+W-In

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/meta.json b/Resources/Textures/Structures/Windows/mining.rsi/meta.json
index 86047804207..562553add6a 100644
--- a/Resources/Textures/Structures/Windows/mining.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/mining.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from Paradise station https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/smooth_structures/windows/pod_window.dmi and modified by NULL882",
+  "copyright": "Taken from Paradise station https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/smooth_structures/windows/pod_window.dmi and modified by NULL882, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow0.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow0.png
index 1416a381defa775553caaa6458d89a8877e22fed..a46de9e1e517048df36d2993d61327b51874ea6c 100644
GIT binary patch
literal 2248
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

literal 3765
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

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow1.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow1.png
index 48c34617699d29bd2ba458323de5c3a8d5559e88..9358df081f8a69f3a0449d9c004ba8cc5a10566f 100644
GIT binary patch
literal 2196
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

delta 3696
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
O0000<MNUMnLSTXvu-DcA

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow2.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow2.png
index 1416a381defa775553caaa6458d89a8877e22fed..a46de9e1e517048df36d2993d61327b51874ea6c 100644
GIT binary patch
literal 2248
zcmZ`*3p7;w8s9U<B#bzOh{ou|wU|9z4W==fyk^$%j?=jE7&C)m&%?~tOq3=na=E#6
z;`TsME5|c*kQ7Iu?m0@xBY9N!=rA`Yrw%J_b@z;tTAlw||JS#_-}n3ezyG)Q+DC%|
zd~w=l+5iCHm<+EFWcE;XEi5ut@RP@p2_+5j-2v3x-8hYG^mr_0oWDO{hpe@bu4;Wd
zPaxx3F(X_G06K=Mjsi}fH3a|-h#$&=S^j<$jz~acb49T{qFf+Wqo{HUvJ~)OHeN1(
zgi?y!ouKxhAZwKwB;eI9aFRQL<sXFi6iIk^GLb|i5op?YJf14y#!*7NeBQ&6ojV}`
zhQ$;Rl*wd7*<XnwNj&K2=H>>HoIoch2gJicx>pFZ<qkrr^>UC8alCj^j)X6U`63}+
z6_*_=N`c)81QpRrTh5cqS>X|<NFX%}mjm)3o`5HWrJy6x5&RMk=Er@^P$+#b2O<op
zdV;`6UxYEmFvl5D%3F@)^ZtBDq8v4^6y}1f96%=$$<=}6<ly86uAC1^pUUM>U_K1-
z)WWTtN39?of<LvY{8bV_e3h~kh%JnFC&(SRyf}6W1QTci8DGd1$w*Xi+3QpEvh~xT
zRPYP@RMn{|;UPS!2ue}uPIGahs-^hE`0)ak0jw_pRvSMD1SN=I5mHYQK8GoUc@nV%
zsVz0%2f9D^_&nA}?l2)ArhN$TnRyjz)!k6&5?CgZB!#N);iHIu>heC!vY@N#bGi7{
z;v>~h)24zeZxT&g=URCo0ANO$Ui45oYAoVjk|Euwcv0u*cXlIq?ep0M`I!rSvrO=?
zWzK<$EDta>=i;t8{fwONG6;7<JRLEb%JggLqth^Xde*$5-y$J?Ph7n0Mw4iKX{v|o
z9d_0%uj>?7tA85y?t52op`r3dL_~yLPC$KkUN>hwhQ22+BYX&=1>Jn?yS2zNvbpxx
z&b(5Kx7}|ja_R)8WS5Dz^_;j>-y__pC$172swyc&D_T4|d$tcWR6j^H4K%-s&DLdX
z@u8!9^rMd_u2Zm0E7IEzOn=XAE*kh_>9_jEr%$a7u))tDqYN~rcN%W6>1|G-n1@^F
zkWv}YHdoi|yck?7fI97#`?P53*q)(`L0!RE&mPH7Tx!dbvb)LB*>^^>Rh+p+9HsHU
zp}<Y4nG2V;Re9ccEfJA}6J5;oQd9SzsxS1(_jvJ(&GtZ9an1ITc#Gd}y3~rws>xBn
z5mD6QzE{5-*B7_xfRl%@y&8a#u0<<=vz*DtAG!j+Z6lkB^^RVwbXb>IhB}nDk*Jq$
z=~lHLdXcVtZd;}&AUe0}fWX8(%n{!|vMMuw$a)aJP0~U)F`LvhK-=y^KCP#}IhxM`
zF4Xg|>n1}0`H{_Tr_h(594m3ZXKKC%6NW>R$W>!uv17hvzr8!{VpI-2VA=!a_S1G+
zIeOW-{@;gp3<Kl4my`>;f{kAS<uul*wU#lrheIZA6m4j-Q%qgoX|JffMyR`b=O(_w
zM5lc!$8WZHaX!5<w=>)1ezZXax~LO<neSmK8|uE;AALQ2gjWZgLy^0%R#jsWW4@#H
z^!0m73_(&>-Sbj^zF+O_$%5os7SOA3_S&k%=}m0m1k|4V+w~36sk)Y#>vaIK;?bD#
z6~E12z2lraA)PR>ww?Ds*O8W1YsApgq~q}N|0Gz;2iIj~DgzInM{(tt1Wp=cEsvJi
zM75iccwJV;io7+$Q%&KQx`BV|J__4pL-ug`S4H8?SX{nh;e72d4(&DaX8)!qs94<P
z5#UUxixMg>)y~t`X>T;ELNi8WIhO!u;GerMlzNr__gv(>^ogb`F2t_&ctcak>}#oA
zyTgvOig|P_>dL5c?rnNYVH-n3TtZt&q92}HUuMfdmyPw94B~X78OH=Ou63xr!H-?>
zeV)x{gW01%MGX=T3TEHZtZO>fSV6y=*2V&y6^q{h<Bdht6Py~{t43Y{qUao8NX@mT
zV)8ZvedhLtRnH@1QNzyd^Mq*SEwlnVT-pKrynkQw_Sx4<TeNJVVgf>4-R^d^+ioZe
z+@Wu1bqj;i+KGA?<lHvz7qqywk`|301WeE#)PrmLG0zS$&oJwU|FMz0reCinH1%5+
zr19$DNe87;<IM()NO=9_Bf3Li&dk{#yGT~};%(x`8J)tQcd<VaM;Wa9j&duY$oN?@
z_T|qg#h{Od@%<;QKX?nA@qq&N^W?7f-4XfhmR<mC^(Y1=XY>Pq#a8Qd^QN(p35p>!
z!<yMJUUK58m(OnhjsQiJr$*x3-wjOZ4-XFDrrspj<!UAu*jM2VR26PGaKKqJMxXKf
z$>j52M{3+QP5KeDHJ54dFou&g@KxhgghQ_Qi=r~>+6#1)R=e&Q<*n?F%MVm`2%s0-
cxj1*Ijn`70Sm)P=Q~gCSy#u^zcEn`-A6%GVF8}}l

literal 3765
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

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow3.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow3.png
index 48c34617699d29bd2ba458323de5c3a8d5559e88..9358df081f8a69f3a0449d9c004ba8cc5a10566f 100644
GIT binary patch
literal 2196
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

delta 3696
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
O0000<MNUMnLSTXvu-DcA

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow4.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow4.png
index ced25ea41567cc1217907e9cf74234cb83762efe..8b1e5d52394a971002fa3d34a9c5f2963198cdd2 100644
GIT binary patch
literal 2175
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
R_vnBA4BudSp-=30e*y+>Vf_FA

delta 3705
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
X1B&E#-RW9=00000NkvXXu0mjf`z83~

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow5.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow5.png
index 84ce6f1696f333e1fae363ff994de7c54c7970ad..6d1ed85f336f952cd2b2b79ea7493bd2027c1de0 100644
GIT binary patch
literal 2215
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
CFl&1N

delta 3639
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
JPDHLkV1oW}+8h7?

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow6.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow6.png
index ced25ea41567cc1217907e9cf74234cb83762efe..8b1e5d52394a971002fa3d34a9c5f2963198cdd2 100644
GIT binary patch
literal 2175
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
R_vnBA4BudSp-=30e*y+>Vf_FA

delta 3705
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
X1B&E#-RW9=00000NkvXXu0mjf`z83~

diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow7.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow7.png
index f0ac5b6b90cac61eab3a5f099c67ebac9aa85d88..24733c9b3e5ed0233f6097eb7cc79aa6228a6dcb 100644
GIT binary patch
literal 1813
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&f784^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fw!%QN#*^2-fu^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGdHpU2L*~CA_5>9BCu&d7DU$&kda@K4@^%*naQ4cC8<RPMZmNLwhv|<
zZWZWeA?yy#%Pg^j8Gt5?qzfr-tQ?C<%JYk|L%{KX2t=GppvFJ~6e)c|5<fWbfvMk)
z%SIoblkB*-cdwWZ%y$}|E{-7;jBjUc>=rQ;X@BnG8up}Rwzf#0^OmjKw_DygwEt?-
zgITY0k0wP1Jds+zBeuXYhEMn0Pf=#)8J(4%S>rFvRI@hLpZRB>%IrPUWkSwfPujS{
z+RAF(w%e~y&06*9_uqdF9y|Pvo}Y@oUi$UV)z?oGYini)J<BWpyJFq?S!dHOGwtv>
zX_WPt&tdJq4=*=A-F|-ltgFXoZ@xI|Til+?-|x!8Lr=f0y81=V|5s&x(7K+PSH52T
zv|HXhUEe=`&T^5z4<G$yeky2FwUhZp_m85Vrjku9+;V&GFt#YMD29f}$7RjCa88y%
zQ1B4<(WQ5GGb<=@?BVOPW>9K6pv}f0==eaCxuHYhLl>iii$KLu29R_TgGbA?Z*M<+
z3lCpuzjRZm9Mk&WY@e3wa`LDuDymXX_xRUvRPxu)zpEnGhu@GcVOJ=RV7NN#74Nkv
zyADe<Y`6EXn*S-Su-*1=WjVvEO?Q7xojogP;hcXpr@kkdRcNj$Ty4KT<l`zIzj`}0
zy{EEl4$BtFe6Hv^F@u*4<OajQY2^|ihef&^%P|DGv%7QCp2G|s98BkxjMBOp1q4~*
ze5Qaj0#%DmG>qmsprq9ETNt9V!PQ0L`}PByJ2u@&Vh~FF_?-3OhmVs#$Nbyl`euUe
zH@3Zhe<}t}O9#0#U(h<GyS;(y>i>qeCR5o}7w*@Y9cR`k+`7wD?!rG#Gb@3K$@TNE
z$@4Ro)_U7GWHZiXJ+XEFd%gpk_$K`L_wBp=W<HPH)_oOEHy-f*+jf<YpHb=2{@09&
zuLUX+BZJ>Rmou0eGrhm$@lN(F!7IMEwja2|d~521E8PcX|2k_BKTR&7lYIq~<@fK-
zj@PQ+@SXq2@ceIWc6a-?9qcWvQSbMj7f<PAk8o}OHt#w29mWj9lwS2GHt`MVjT=nY
zexJpq`;lep{LeLw)(o3u&TZ@~U<U<9tbZw(hD9VOtPDXxw_bw5g{3i^ry;<lqHV$I
z7Xe-mN}r0Fa<}|ui&Z^-N#Nd$*f%?^89D=O9Mjnj)i!VJdfubHqq_OtN0xGid(XM+
Zm{S@Yt}TjO^&V6udAj<!taD0e0stt(sdfMW

delta 3265
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

diff --git a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json
index 439147564dd..7d12528bb20 100644
--- a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by NULL882 (github)",
+    "copyright": "Made by NULL882 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/state0.png
index 54af8484b2fb8a2470d3c4b6ef181ea35039810c..c7e717a6e70eb76e89d526f351f1a2263a10a84f 100644
GIT binary patch
literal 1299
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U{1*li71Ki^|4CM&(%vz$xlkvtH><?
z>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b
zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&;
zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$><N;2G@g3_WKuq`Rc
z`l&goxv6<2#rlSNhWgm_m1L$NT$oo34Gv(y=!0Z{+6=I2^DHPyHUWl|YX#6fQ2zlP
znhdtLxFkg%NrAqRfq{jtfsw9}r9Rw$K<C?}BwLkamgJ;@0}k#Va0oi)l%R@&)PsT`
zCleI1Rym1z>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra
zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK#
z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd<
zAUiI<hD8s7Syj)|#W5s;^XPO#u0sYAt--QW@+Mh{iK|-dwBSDXu1WlZLtkH?oYTQ*
zk$#2PZojGGCokNZrS{DK-@;a*UwijFsaNb_U1QOAT0=y>;N0;w;!X??oX$kfvyZsH
zoq_d#f%1O7kcVg1GnZOCR}K^Lf0in2c5w5XcgGveb_f{1WXKf%)5O30wCSz}p9a1@
zJ%!VZvVY3#_!JtBG_ETUV)uD)PS&8+y7U0syEBZ@JBl8xSJ~3Ke%tTsPfK<<wQOyu
ze|UmnN~plj27NQ@-6|!l$KUi$z94!>i!=6cugro5XNTpR8@TSBWc1o`jWNrDWr0+4
zht#@B0=Yj_52)LCPFlrq|HCPvmWIc93ez3fr|(|+v@w`ByE7+WQptXG;Rab&i+5~+
mv;4eRnChJVt~*?4UctP{wzuiaq`jq}0?E_W&t;ucLK6VE-m69c

delta 3031
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
Z0|2@<lK*GaK|%lk002ovPDHLkV1k_@sl5OI

diff --git a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/state1.png
index f790c761bc33d623f093e9313fde59654b1492fe..d6ad5b0dcd4ecf1045f3f90d38c8e5853afae550 100644
GIT binary patch
literal 1333
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U{1*li71Ki^|4CM&(%vz$xlkvtH><?
z>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b
zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&;
zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$><N;2G@g3_WKuq`Rc
z`l&goxv6<2#rlSNhWgm_m1L$NT$oo34Gv(y=!0Z{+6=I2^DHPyHUWl|YX#6fQ2zlP
znhdtLxFkg%NrAqRfq{jtfsw9}r9Rw$K<C?}BwLkamgJ;@0}k#Va0oi)l%R@&)PsT`
zCleI1Rym1z>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra
zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK#
z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd<
zAUiI<hD8s7SvA1Z#W5s;GdV%R;lR<OU*{Jtc*7p4r=xS~fQbMfL*%-3>rQ_7_BNX>
zt;(7q&GJZ`+pji;RZn@o@G_R1Zf#|i+*kYipu=>Rj<cU;o9ACvXDI+_;o@VQ^^B=z
zTJee*7EMKrXJs5t6b0xlh_rM#@yU60+Qw!Xhsgp8*NSGfFlbH-wq^0yI%k!lL*LU7
zZpI?r_ErX0RmGjtZnrM|duMybrMd~qC(0O>PHR5JAfT{XVNu)DU-u?Hnc8w?lgyLq
zN#0Ibk$z#G9=WGIxfr7&_=*?;OBvVdsB5ugWLh2+Sg`e}0(%3)wW0>OY5%K!3+0%%
zF=u4%+_dKrU&nq$6*o%<@6(Q9_i8KdGv5@{*x7Jx+Tj|$A{Kk|_kI2Oam5Wz3^9^|
zn`D+rO7pI|>cG}`sx0S|fnmg)<{t{D>uW3aeSLQJHBZl`O`rZdIx-riC}c3O&!76K
TjY~EZRAhO&`njxgN@xNA>o~XB

delta 3070
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
M07*qoM6N<$g5ll3KmY&$

diff --git a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state0.png
index 60d1c0421b3fecf74c453715810e8e5ffcf32774..0d13c29e14881ed4a09f4271884ad6ccb4de6aeb 100644
GIT binary patch
delta 1110
zcmZpve#0|C#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y
z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h
zaIGk@RmvzSDX`Ml&jgC;<rk&v7nh{yBPq}~GBB{vH89dOveZ|y<5GYDo0Md$lFX8v
zR3tH=oJ~<mnw4Wt$z)p&Ny&=b9IKqfymVWo3f+{{w8YY!5+%E|(wv;h{H!t-KvhV3
zZS=7iXj77zmSz<hlv<phQ(BUlpJ!)eW-@sXm-6IHE*@qOyOB%TJRl>#BtJK`q$o4l
zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X
zX7z`zMSNvoU~2VraSVyzJUZ=c-em`o*7Re3b01t{i%@V;VR8D)%vs9*{xFlG0QbDb
z8&VHyZ+NU5QPRAsX~K<w&`?G}(}jh(=N~-&=4LJ|?H^*j@k-hwE8FMR#l<F0Iv=X)
zpFd{bsZrap{<|5!cv8a=#`VwUG90;{w^rV<yt26dWyLx+g}VRWj^zuzfB*09tl5ly
z_iBayNxkX6wx@6YnN+rpm`vgL+8cIKb^Y5XI(<^_lQMUB5_R(0tFRBu8@Uyu<J{*Z
zu}GUHOjiCDV=_Te=)}6Y$9M{g1ea>pZ5MSA+^EdB|MmW(zukahvah8DW_8$3cz^D_
z=>=vNK1QB7_16PAm)R<Z8GUd%dE{eHdwglEi(c=A>vHYKoAuNCm#m+5$ua5635}~^
z`8jKEZEHB;z5K4y`Q9I=)*oe<c=`LDj9a;%Zt>iBvM1%omVVxpE00UJ?FeBq`x$a_
z%8|Hk#@RK~Zs_M8P+Q+KS3BzU%<T=67e74rU;g#CMK^Q<|CJ>v)c=t0y5^#{MNq)~
zWK4;5me}8Y!C!W+tj-ab+ud=Zcgnp}&EFEOg!ZnQbh1@(*^*g568q)=UGcK|oyl93
zLm4l{>ere$Jh@WfcR5b+6z`vM?hcu|eK!o>`fXG$YS;c*`E8R4<Lo^~-y~NQ=Xch%
zUUy=4>9ak~xaogp#d*7vK8*F}5)SZOUhb4Jao((RQy6F8*_k54t5Bxs<D<TWlX;Fz
zd*`Vel{~3zLUT)9)n?9esQTo(ukVZir%wKs{e8SQo^18Cmh3oV+$GDoCNKV`^-r5!
zGo>Fqu{a!P^Nn#5^Yd)KTE!H5=1*T#YR@I}zu#8&yE>5HSk2Ss{{rvr#ewU>)RGjc
npP0%S>y%Ac9KKKXP5giM(zA2wcjuns29*+?u6{1-oD!M<``OGQ

literal 15748
zcmeI3e{2)i9l(z?OG82z5E7&lYF#rby6$}Ev(G=Sj`<NMB-NazAtecIx18_J&Mmgj
z_%5-NY^0-%Qdq^Wwku7#GHI1SNTFiwHri5XfB_Xy8d?>_jFzd0QSnQR(GoVYcXnbs
zFV0i6R@y)BB>Vh*-}n7~-}`*u_v`!Tp0BN0a!=6@iU@+Zr@G2h2kr*_Q&<4L)y~cv
z;5Ic<)ua+c@l5?Qg?P2MlpweRa($!L==}*NC?OLsDn7{+4@JOif^aQ}M|h!C(hNQ+
zAcxD0SKr-dG{|C^v4Qo{-blIBB3E@rrKO!U^+IQ>;1rDu+(oW92ONYXjW@(Y!LZ83
z%Zy3C9QdsdQ$|B_iq=|YT%-pyG<s_d<w{gCuqGQR&^Eil?lhTMyWML4v4Nq@EJa%=
z3r#W>&PsDu#xQaj-9_M+D=PZAI#1<DI3Sf7TQn`gQB*7zGsP?>B^sd2PN$Qi8H!;@
zFoRS(!WthZ!|L3WlTkk&Nfn}UM3a@ULHEo1ls2u*Xw(CxuaSL)BI!V3b%Y(DNX7XG
zWj4`NE+bJ$+eF%;!Q|3Jfs%q!ND6Bzuruehi?k@3qP8d#giNa^3=DGO^`>LzTyH3p
zGqkEzv;zbqNOM}M^&Jt3s*_ZuEh<PA?O-c&bM0P}{h8#9@uX`eT)PyPCot1BDYN8J
zNM*<c_R5t<C0<ja^@<X7r%qYzC_+PddGb^l<~PV;QHiM!xhU8qlkbc-$-`@so1qyC
zN!v)qT5q;-RtIOcK1`cAn$B{PnhE*vDx&P~$oMdW1I^T%EgWm(7&_ZW)=bz3s2`En
z_(^%mo}1-I6ga;U4e^>=4)Fnrii86$Dl?chGkvPKawVul!LlT`#YN>B&S~XQgf{(H
zFA58i3X-8_B?+V|S-6Y&z}V4IMNoF9+J>kIvdCqEI;?(&)hYQ&J1sg$vssczr@-1s
ziFJs))9-NF^jzr03tVK@rTa~ej*XbT9n^aDW8n32)nQfR!FH-WZZKey!O8@QcKFRs
zmUPgdM~P0Wll0jvHqvT!SRGD*w$cofJR4)pGb<Z$JsKUj&b@Kg$<uzT&#G^npK#-;
zb!Ism7wEC54B9y#%$lR`MFe~CJM6rV^|7QC+(?$UT1W>Y`beI&SnRy$V`*L*-AfKP
z<3d%*dfq#rH0ZfmDy<khn#p^z@kaQlD(P*d%sARt(w!PiO<%5Ld*XOOZ`p1^uX;&z
zQDa6k%Yx11@#&l#f|UO(^NC}`TBI<lYouHyXHD!xRs33vk4lRIpq?hv&{AH<n!)aK
zR|#O0tjwVNEfS&f?cXj9ldG!#DGj+B@Bc3iI`C9<p@k0zB+*Tc9^lb|$z?8;&#{#?
zTCL+N(WU?Aa-fRAiQ<#hV|G#F#xjvp^BeVQ47Mfb+Zh^Mlv)2CG0j%PrcG$mY&C3}
zv3w#dYi`g_lM980v#j(7gVev)Qt%8bxos?KVO<nF3|rL7aVgm7k-@)~s`nEMh?KN}
z6*&!?CNj)Yj2Na;mG!ilY=)^(@GJ`+qp9?B^te8m?qc8NkIas~ORtbG90US_7BMa~
zA4rRFK|s(V#)aksX)!Jc2wKFr(0m{*#svXEix?N052VGoARuTF<3jU+v=|oz1TA7*
zXg-h@<AQ*oMT`s02hw6(5D>J8aiRG@T8s+<f)+6@G#^NdaX~=PBF2U018FfX2nbrl
zxX^qcEye`_L5mm{nh&JKxF8^C5#vJhfwUMG1OzQ&TxdR!7UP0|phb)e%?HwATo4en
zh;gC$Kw69o0)iGXE;JuVi*Z3f&?3f#<^yRlE(i!(#JJFWAT7oP0YQsMTt%5TQ>8F?
z9W@5tJH5+)|8DTkszIo#^AbeoJc4-US%SDV4DJ^RqKzhqubRQ@uCEZpY-RJ$4pkCF
z-XqnXMfLH)gUg<7Jylz}@~r*niGjbo$cXc2iYJ%9>%4R*(!K0jN&I4W>8cz3-roMc
zf<GSVz5I_QuYUR7PfxFYW#v4!spLlAxm&K1=REm6obq~i{G*<H<&s^AZ~21Q-$U$L
zAh%CxzVOD-(UR}qdF$50c~{#i$+N4k5AOJ7SNBEsH|u7cEI+fVanJtPhWc29mG4@3
zvUu;n)Po;ReYtCUU)O7o7kg$Utj6h&&fB<bB`_$=-~9za%y{jkO2dw)9vozMu2~nn
zdz19U3mb?JSAd~k>|MVvDkM7AyO#`~XA)QL+hJ;O&_Akde&<+l)0TXycj5KleRlTr
zf`W!EwkN+_ec<G@q2)6_ZW`+8H#UBH^R4SU{(X6Ip(x)zQ*v*@|EsM}ethK3ipLXe
zpWOUm3qRuzF9qJ-J3a5>v45Vv^LhTup{}U7yZ21~K=Gf0;_f-B_x#4^+xPT;@Jajk
z_BXZM-dr00+pjG<*DPllbK}r&?W^7%e1Ds^=aDy;B^sXbUs=egU)MgpYtGi*!~2Ri
z%;q+BCDiQ&#MJZu>Mz{9^|PAGiO*lJyt`ts?{MAh!W&hW?#+|WZ(Z`>+$qB**P6BW
z@7;Lkf!eynVPad^ild%l;^5(hhSMFtfB#VaqruzppWohjq<!r-pZ@7TZ**U|ylL&R
z_s-2KGc-&u{pfgNrhU#={(<%j%{x!+yLR(|YcB+@*8Dy2;y3RU5S@7i!jW06r_P<2
zHvfbC<4>JyzB91x_`0>zZhF=aZ|^e=T{wGR;a|V**|lMK8ZrOGfdb#NbU!$9M0G`t
Kr*Cods{aE2tbMlt

diff --git a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state1.png
index 1ae08dba8877a734110a8725e09d327a12edf277..7469c63afe4a30cb3fc6677c7a2e3dd07e55142e 100644
GIT binary patch
delta 1068
zcmdm3b(m*@iY;Stkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lYt~>fk$L91B1pa
z5M~s&QryJAz??SGN_t|q4qt?CfP!;=QL2KOo`Igh#IJReS1?*kUdCje>{(EfY*LY1
z;95~)tCUevQedU8p9vJx%P&gTFD^;ZM^d0~WME*SYha{nWT~%Y$E5%RHYv$gC7C5T
zsYqf#Ih&%CG%LrPlF7Cll9Cm<IaWD|dFi%F6}l;@X^EvdB}#T_r8zm1`B`NwfU1!6
z+UR33(556aEzK%2D7830r?ez9KhMs{%w+N&F6GIYTs+Jmb|aUvc|b;fNq%l>Nl|99
zXI@EaQ9)5^Ng_nGjXu}}tSTn=bBRvA&t+(i<XbDpqLT9bqU;c`&p=MKK@JQQ>B%d&
z&FT+bi}=dGz!c-@;usRad32g%{w)WA*7ECWY!lU7Y(rhULR<qpmS}8$=Duw2mkZAS
zo$~&Q+di2!uc%YRb%m(M1*e?%*UqP``IvNE?M4D;#O(*)_iaC%(Q@PA$G<<0Z@n|s
z?#S=E2M_!4Ot5%xb(?TQ#rxR*g1de<@4Xnt>+t8v-}>YBDt0@6THl$)=yz{t&i{G$
z&Q<%J=G_*=?6Pjl$NO_k<<ramu?BG*`?shJC^R)khHr265xtfi3*Ddmsu8OhXUl9n
zzGz;Ka^s5~tIjg0i+6uG@YcjeL#a&VLD?OBi}gnt)UWTW<6ao@X5OD|d%~RM6^b|(
zJeV_$E8wl*#!2()FHiH4xnKAp?5g9FOB}UdR@%<`S7kMQ-7W6rjTeg-hXmJd+p2Y&
zN$LFBvThr*M_Sv3m|gt-e_oTd{iL>W!sO3thgaJg3IwXZ&e#~pWcJf*^2yG<Ld<4A
ztv2T898lBmnX4W3dh7Ov$%_x`&OcsN9rk9LhP|&S%l?U5)ruDOHdxfpI#ZnQKHIf^
z|EXVhPnm{wER`0VD6KiS`SLSo3-P;))P%X6eLSaD8M-gs)^OrwecY;Bo-G$Iss4-1
zXgIO*@YGe`m;&=29Mx4Q`cihJFH2w4T1mh1iCV&B@niegOutXdY&fy;xrBnceY*S`
z&o+CNxbRe<v+kx`Ge{6i-1K#24U2_kTj!x0l{}SfOtN3O6n!!tP2_o<(Dwc5M3Y4=
zF&%720^feT^X}vywaMyU{`wy!)eoFBJp7b*g7*2xZ1X(dz8CnJlyd0Fy!DfH3p{1a
yGaGo0H6FVor>d|>@?G{PXPq4xua3R;`^RkfCH=eW#)^fYyzlAi=d#Wzp$P!zM!t#w

literal 15665
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
UTMj#+^-^<db6e=C<+pzSf1@u^g8%>k

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/full.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/full.png
index b20d5ebd5efacbed1185a649c410e9eee61d80c5..b27e173b7ada827744bc7f0468d28fd1ec0acb1d 100644
GIT binary patch
literal 2843
zcmZ`*4LH+l8=r3`pUIFiBTh1#`D!y_naD>%8S$cRSZ3SV|GzdAhn$i`r6M1pkf<Ha
zk*|nM>Lih`l!W6<b;O)hR8H^E+o^N)KG*ep-OulL-}m!-?*DcDkNS9TQ-SJ1ArOd)
zyPJ!zWQH$wMR~~x#Kp}?CMm#o8v(-a(tjb@s8UJp5nf&pGs#*}(wEvpzbwh9#BvJ+
zAdnw&m%0=TXDEO`WFlz(B#`9gi6b*(EW#<wy;KWc3~QN%=iwyF7%CVJ=f%(&0FLK?
zSVrI^>m@S^0bhoI(GCcbmk)d^lTC%&TA(e^2uCO!4#%@85jbBL*Uxmx&H)hxf-D>g
z#pQA>xK<WSb|lIYi^ZbQ7!(GBlpv5mECUSZAsK+tij)8OaiIcaHjM?+m<;%m-|)Rm
z4(NbDECu?~R`R5fzr<m2*!1Nn6f%lRr^ZkjAb_&8uta^22ht+`$&dkjmO~;8YUxBm
zLw}d%&H~BS5~YYdNj{(NCrOmN92Wp7sILGh3>v)|iN+u?Sk#yMNz%tt$T*M&(y7bB
zeYwxFg3fgCTk8^jNdh`;Nm(2{oDu1O;2|m0h;R-aL^wup=yW`41@SF&#rmy7JnB2K
z@k=+x1^Q9}CY`gSxg*Bb8o#W=H`agDUty5G%lO**Z-!446J$!NiA^KBGe9bv#g<go
zO2p6c{y*a1zWxcmi$Mb&F`pg$%lsAVtCzt!vq3JC9qqsT3M&%+-{a3NR^<GuGFQre
zS$av`J3{fOFW-<O^wt3B4FsZK?e602Pf{uf@L=i_)u#tLr}%@>_NZhnrMn6Vval|<
z;mxzXC+3xd)$J_AMo!~r{M^Pj&yov5W;(%u*9UE^{tWDxO%mLA+8YuwQ^CLfEb(ox
zn#c%la@2BwZBNFyR-2I9$PT)Zgv_iYSK)N0PT^~M!{Th*Xvgfu2Rrg@dh`M)n<jS6
zUxv{xUK=WVw09$?!>OcduQE(v)isoFn95O|SUoB8BfnnBIEn65b?fz2Yh&Z%_YiwO
zVLwFkrL|V0)El)<uv*uY*#zcJRRg;E<|+3~%0G_8`kg|6#km9IfEL|}B>6Q}mk3VA
zaut4KpMtIw1fj0V1Wp-uSh>o%d9fKU0qxa}i~F{;*SIjQZ#wg&ggU_FYdo%vX~eoC
zCrdEm`~&04{2!Tr31RIQ2{#vS9p0;ULFQ$^wHxmNt3&E1wB*Mx+*gg85YPR&IQPDT
zy0I&6i_|MczaCAK_{gl<K7;k|lt&+2@tTn<xBHtPYU&~%Eb}Per5fvXTYj`HM3WYh
zm(iS4(DbS8Rq1hfbDVOw!TOZ=`yQb~8?OA_DQh``)$0x;9FV(AON_qNY-VF_By17t
z%<IB8PnO)4O}y^Z_ed57Y+?u-HO-~=B~>XLTJ>vRnW(M_^UM&EdBs{UftA0Fcgq)j
zM{zohUS9cF1KD_M4=u~yyt(G2Gf(Co$dK_o`?!?;vC}_XBrO9qKi{YYOZMsD3O3v~
z*Yy7l`3kuK8ev?C2`&-#Ddbir`YU=GVfMc^>o2>ndhU!U;iL>Ab7!6v;pKbl0k^Br
ziH!Cmg#i8CFye-=S*ew&D~?x|imhIR6yst8_JkH%F{(FKzAdU|(Ef_^SMaTUIUs=E
zi5{$18`&Rdl&xJPq8u;<(6%29q|QwS#fegR&#Pt7>#d@uuA?~s$xPv>E&8dBUe#HV
zU?yd_xY(dp2k<%@qdSOBd`g{a3C3^t4V98p-C)tnR5a!yXNsGgJtKC!kR_%%3GK(U
zfqh=0jSbf59g4W~a&6bR>02?tx|0g;3(#pr#5L42Kg-lG?<kCqv^bbt63tc&oj-=S
zlM^DU(9*w+DD8j39V(HYm)_l=#-MriwLT+P0|jLUR+B2Noa90fbGUx+uG!V7Rr71@
zP9W9s%<(K$&Ro3OYtgzpjU_^#PW_LjWRahp^H3O`Ll~7$M!%HP>N5v!X7-s-G+)@o
zjod{v324l`!?_)6l3%g2v6(8Jck4{6ttL|Q-wl-PqE!9P&z^ewaq7@-7)oo`i`0G1
z)QsFM5A|z={pF|>OMvyHv>;?adDFZNf7Mez_c6J3m8N6Ii!hil5_@Mu_lD63<JYGv
z-&<b->+j`zuFd(I+}VLub0#u(rVCB!%1V@OVyfUzWq8fK;8Kov)DPW8!}IyF)4juM
zkG+4~4!@d~xAPa)`9lu}bwqBSMb}nCs#ICVV(GE@#2ou0cz;nzcT$;Q87RengEZK0
z8AbM)>`AXuCAk=6N<h3l0AJ%dH-oz{oE9*)Ci7_@#Hd%zV>@MD$2G`<rQ{miD$%p>
zg{#QCmuq?HZJkf|QSei@j~v{~B_Urw+t0&UK+h>GfHdjQ3*-$CoOLrH7iOMg&TgMm
zI{0hW!tM`dM8E5KQkfRw(*1{`4sK2H|E-36e9nA*QRD&rit%d&tBxE#nT|bDJqml1
z&PXa^?vd9kSLwWrm4ZI+4j|}Ua6jH3%!#)>e8K)wlZA(Oe1A>ftI{hWFD9QWoUIdN
zq{S{cDUBatj2(EM*0R-P*Y2cnK->QZ6MCklbd8JOh-}k>k8)_yv^L!vkik1{JgxnP
z@cSYEZbluRka)6mAOUjDsjThhfc#`vH?bf(uRoi#K@0k8<``7ZvN&8lr|u1GtF4BD
zC$f>RWwmx#TJ6}#WKUY2AVLPC8Wgb5CRUj~3OmSqzWZHovF^o#%FMTsqk#{F`m>B!
zM>sc<Dem?;&sMWj!~D|ru*d`Hxi)OGQ_vrF<?+ON@s8daeN*1)qq+|?{8K|5Zr5tm
zY!i_1WL8#3s<&=K|EVd%2K`gpj4~cqi^n(h3U~R6=pR_}3t=^H%OO)wXHN-c5<<4{
z=Kq*VXODh*HWn_39SP3<&~(SF^~jd?ixoOBOxcs4Z1CIXLvEhYZRl!H?rGMF1bg<&
z4_@rNxk!C;BE&|H&^P90(Nlhz)8Jhe@2eujN=L^o3f2Wpr>sTAc#9)0PuV{jKk)#k
zb>rTR*2T#C$?ci4s6R9h+Ia@9)4JT;a=&d5?)^d25UOvSaq_XPTex1RI?3igoy796
zR=poHJ2bALd-{H_X|J1nWgtcq#R#p%pMRORb~1x842U{2kkc>EZB!jjN>LgKyScdd
zAvrfHP*kFT?$r%N60-H|sS|&>d$(|5t8=Pr^Xp@4lbHEK+N&x&ip7-)lj%Q27A&Y8
Xo3pg6H;px1`Z0AUdb{umVafjm^rEZ;

delta 1581
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

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/meta.json b/Resources/Textures/Structures/Windows/plasma_window.rsi/meta.json
index 4a033410903..fc08ccccbd4 100644
--- a/Resources/Textures/Structures/Windows/plasma_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/plasma_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9c7d509354ee030300f63c701da63c17928c3b3b and modified by Swept",
+  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9c7d509354ee030300f63c701da63c17928c3b3b and modified by Swept, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow0.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow0.png
index fe379e2fef50ab07c64a4f9ff75b663ada0ee10f..9a55b8c3aff60f63f31c71a75735bbdde89f2686 100644
GIT binary patch
literal 3469
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
aMWyS3!+Jq)aqh;ikoi%YBSj`2VgCgj=k|91

delta 2050
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

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow1.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow1.png
index d75684f5d060b5e3ccb613eb3af2ddd2aaffc192..1227c1d01a3fce183e755ee009c53acec84755c1 100644
GIT binary patch
literal 2334
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
XgPS^ntdeaE|2RM(J%m=ilDYM77EP?w

delta 1079
zcmV-71jzfI63YmXBYy-ENkl<Zc%1E9-HzKt6#mYPouo-ffo`@Sgesw`MQY!m5;xrU
zq7Ts*=yUJ_RiB}i5Vu^egv2!x0#va`l_+6pck9j1+Gh?Ij#Jxfd$%2%F-|^dHDez~
zGxO~?=bZRV2#)dO#&^$hx5U6~E)*11*&iO>e_%7dXY=7YaDVgq?Ii%&tVtvSLB)L-
zX!0xVhj!yTC!lvtBm9Q}y}qFo02qi-0F?hxwcU1n=LGD1H9B6tj8+_&2mn@pMPYy6
z^8sM_XM}6_hNCLGEu0f@ba1+VHsj^yhJsnmB0wMz=%a(vL6zNheCGu4T$CQEApi&<
zX&V8=b3v8ec7J^51Q21h>0k701LIpek^ehdLIADezoPzS?C*~j5RhI(QU4;l9a=zu
zTR3-u0A{KF6u<(&m315Bp1sKa&S--Irm1#@cyUR48M_tQK)}qhwL%*RaEh%bz&g1)
z`1<)bHlM%u{TGjH=U{`aSHO+{*AsA!ItUo2`qP5z<bRoTJfG(5&QJ#d>4YVpz|7Wd
zkh_=koujTTkpGXCwfVkt)I@;vvu*x<($Cx7qlPa-`Nda}P;~7UTOS3i6<`Ft^mWmT
z%H(Bc9WOEKhBW~km?dc_QbfEokO&YqLZk=^&{v2^la$%&ScDC%2_Q|s0e~1l^%VM_
zX+N<g1%Hf_pH}lS8-B2zfgP*~kTY{jkF*B>(HrK)3l@op0Fn7&NC4np)w;~)8ukPL
zXVDvGF|k9HP?CiaARtW~9<wR4*^X}uYXW}#`{$v8qJU4-P>-eH5kKG)n&=PHwxsX;
zouu^y?%cfld+t^)(~IN22>LuX;pFb%k5@k~K7R+m&tL!IJSS)(4=8<C#|zo0Kv=8`
zn{}WG0?KoJ6PLFEDcUMd&{QT^r~(nQUO1(kp<6Vy1=cFa=KZAO^FHK>v_%E~*%lB$
z$OBe04q=E$tIiUzz-9|%3z&Kk59fWLH2|FO>rQTg00k-_fP{r6clyKdm>GbK^~AXf
znt$2?YXxL|z_x_JloQO=@ONSGTo`nYCUWsHN=n!1Feuy(5j3HIq<)XI57?$KSn31v
zVQ|iY^R3XZ56DIVF>jq8DVVXI7&t}~1f<GfSp^8kXTJHABPg(ealQ?lOYrfHZ=c@U
z`!XOOs<-FAJex(I>X910Jwciw@mzGVJ%3-&j=I45{Quw+4<K;%OmJo!rHib!pdADN
z0IAp?P+pZ81*9TOJ#bEdg4+BZB+e2mu|NkEKp^s9#Ov>SK1_a2nJv&g1r#A$LObUK
zJEwrnEc94iCN=M*0?7YZ)8M+-?@jd}YdTj>@0J1#jDRH!UqyU$Fh9-wJ_ta;u`u`!
xDqxofV3!8~yF6f*2PD|#0oCZF0-WUm{{oTD)vp-+rab@v002ovPDHLkV1nA)0NMZm

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow2.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow2.png
index fe379e2fef50ab07c64a4f9ff75b663ada0ee10f..9a55b8c3aff60f63f31c71a75735bbdde89f2686 100644
GIT binary patch
literal 3469
zcmZ`+3pms3AKw_wL}KE|Wld5t8#!ccj7sh#X>vc?FwM5MvB{-HqTH*aa+e&J97PJb
zQ<P4eT$2BUZpi&U<nkZ&?{v;{{_pd=x9{)!`CdNn_kG^yciGP7m;^)t0ssIc%*~G2
z3ufF#2a5{E0`l2D!31R5A2R_IwJLrVY$Qo|b1!RafQDcV7W9qQe&U*76r-CtF#&+R
z$r~Lghu&2J00>jb4tN&c+6qme`Du9)X}^%PIDYg^6o!KqEd59<PZ-CKLS>>kSoo#}
zTCm;_BjK=371kLn9B*w0J4|DcV0v08Efm}k0)xRY45Am>{)p)}xL}8c`><GaG!n^X
zv$fa<v}g=(q_%;90TQKy)X_l*G!V={D$A3DpfXjz8u_1{BP1q)L8i0FG%9SvuIDc_
ze-;)F-*EK3eT|by`0j`9&!B92Arg=z3dxT|WigT3TH45e!?DO-e?>@TexpM`407X(
z0EYTkm^qzA&=oLslp~1eTYiE-37dYIEF$s;1*8rNbr6BlLFgDDzvm|iA44RdS!5Q4
zv`O6ed^Q<0rm+4l-O%5lfI{A27ESS_dSl@n1d-(B=}%$74e4w$l}KajV~}69{*L}C
z{ku^N@?ZR8HnK)L*^`(wivI@hhB|t>m`yJJCjILKz9R7diuh6bPlTNhjYShw6oX7K
zr?N;4Izv!hUp;>F_y0BiY3ncNC#htXq0To0{}BIx`r&lY#tasl#yI1!c@lro_<vQt
znfXfT4;A{g{5R<r)W0DFgZzG%3?VZY$nJvMm~MW=*ntD=a(+QoY?l4~6d!YN_tDE&
zm7Z{cB0I+1pEd1AZk2a>ayJ;4K(k2L2Hv_G7e<MpypO*xqgD*~=?da<XE-!6HNEIq
zYks=I!d6vCszPzINW$vPkr8w*^=;7TYrlPHt=jYJ_s$2q%2m<b!26bh>dY(Cp+F;_
z>CwoH)sm3)f}z2JZB?<$Z2lznxIKQK!}dGsuT8d<@*m3Tn0cS+WxPxY2S?16*zMVy
zHPzWzrR)a+9(50jp?!7*x8#|0!WYSZ8t20fCvbnd2%LkJw%@*JHxK}g70Jg(T#1F%
zS*O_xD}~7os%KCS1&tu;I|(YyZ<QiBX@J*}{@B3xBdj!LFIb3ZC;!Q#Z<WHsuDv+>
z`Pa_J@yE*w5<%Nbui99~)!La%X0F*;u-|8?&a{|H4OHJysPj^FA4$ht>a10diTvZP
zTj%-HFB6xq%pfCrL{)B)RKX}`NF(~NP{@`LdReGisJKYE`l_yt@UXDNJlOnIVezAO
z1K^*GBEtn4EEIddp(zqDuCBb-n~ib67Nu#DA=UbcIh1^N*u5a3u-rY{fEwdtb&e=M
ztOd7wkXHZN*|#~kO?hW_zlD3hMYcG!_TBr=c!{ycVPa9&6um`;aM!u^%iTiyzK9T`
zZcW<oFmE|9({u_LHtnd8e8}gpM!8S_yo<JGb%^yqkM9sDbx9_sW^Wcxcf2xE=1B=?
zX@wCxpdSVZfTJJM&qS}@=1$%it2gjT-@YilXjifB&Ypg5c@KR9uwWxMGZU%_96A6}
z(OCbW4k$8|3vf$@-OXK)tVdk8th3FC=#eJByS(4krFG@k<d!@|tt%zh=EOWClOV_X
z;v!&+nOcTr4y&;@<lLs3)RQ!V11Cpq$qm2N#3{Gn=7;Vy)X#r18{0elvw!xYZ0SnR
zK<;wogXRe(&+y0R7vo>il-J(R=IpsQ&*<w(Evu2l@M5ChIDLS%G@n$AGnjN9de8%M
zD7v!hq#W4SY0`S5uynjVZ|UdX)_Twv3jgD%2MnIp;pAXCXAL;7%^y{-OR{PV)x&E2
zol3;;qPD2^(TV`cn87<G#<w#bU$@5jMnU3-6hkymyDmq+)9j5uffMJ|I!o@p3=S2N
z2)42D9Zrt#0S!x!&h1!S8s?|UlCb8SgCchNHMX)%LV*jFCwK<UW3ne*^_gj^D)r1c
zCli_O@P~2lEdRKepVE@2-IY}OTT)uQVdX7r+<EAu9w}nFq!KRhRTLIfb=}m)`Upfp
zxt_QG3L>WwI?v+2ZwtL=z4h09QZ)zeNmVC76sK%EmviRkU3Rr=>5P1!cyJ%!JdAkT
zRijd`B7n=6mK1MVUO5>5ri_z-?z|tpC<=iuP43EMOSNHF)*l{MNpW9t*8@_eeG7@d
zAHB1K;2fw<yJ_qYkR-13AiH|va=ua}INcNJgxgWr3#Oq`xNCm1QFC%%s>6V>x=>yA
z=hRulv{R9xQF-oNdCyp7l>|ND)VL9M@Q~q`n)FtWgZVirnEC}%Tf=b8-hoF+(3!nf
zRX8wf%aHb<|HpWA2Dk?V8kM}Du7QrxfCn*JxJjQIcWr(1_T+NT1bNs5gcW}%p)P-x
zUfy!}_*lW))?8yfAb;D$B=h4>yqyKFTs{zT30ez^6MI@B-_|-FKQ4J%AARuU9`0**
zG1X(fH!S=2wnL}&l0<{&g5)MTj*UDf%1qU-9m}=1AMF@wZ1;BL*m^2>SkRkZl(#tt
z4U4I-KvUA`inSqYlgA7CyR=gPegm@r13=x~3xTvbUPW|-`|dLRHjkApc->A2FF0@9
zf!`QUCCYHM*Y!LHPiLq;&$C^R(~=(?eAt(`=T^hW7U!DfZX#G3WxFF6GU~>Dz6TJu
z)@Gl3w^>pl>y_{|bw?}7`z9#6NHgzgdi3=~>f})4kUGCBDTQK+*GvKYY~OeUaHA?=
zqDf_n&c5C}vh9(Ifzh*(MCxzzV^7XRRA<h)+-Rl<ji|0ik^u4(6&2zInKA?NvPnr6
zQ&ozUa?G5-Q2x2L60twgZ{%zFo_#ygfRad4Lz@{hA)DW2d}oAj=lR<`TVbeHcT~Vr
z+2>C7X_vI!p3eBWE>`@cxofqDn@j*UXr4+Ge(w6Nl(gu|WOwn41UIGs0nh4-zXWHO
z#>YdNP^+z4H~$kPB3{d;CnA9PZENLP<NN*y>LQk^O}RCyB^xv-iy;ebXS*xL+R*9N
zI0b+2UzuIHz5(4wE+lkz5<_-hg<gFN2a2Ak_Y)O41FIYL`nYon<Wu~{S=3g>ye!&A
zT38Ky`6c2gJTIE?NYW=73$&Z#4G<hSm#p|ZJ7}gaEzXWL8HFCWIf&Vz4_QLgNTgSq
zg5v<h?A2nSu--Nl0jt~2OS3dyfDQ~u2V+_XgM%t5dW+LinvD0QP%7ot)(9W-Y$(sa
z=t~uI`^wud=hr%_omJ9dMTIRqQeMVsYyP?A_Ry@-!k2Dm<;{!n*5!W^7#9yUBomSp
zr=J@cE$c*<Qj`*AXXZ3nzl<H5j0+q|G*IY<n(Yi9jk*Vx_c>E{YD@jYdiCd)<An^D
z7f}4Cr!U&L;d$F|Pet+z;}5r`!Bz4W7B6L*M>}odEMzgo2E37r%e%s8kzE~e?WBPd
zj3%91rz-jYLLO?+8SZp3NO-Sw&v8(l2sHkMYFm)zzK4%0POq*vSzXWrm79a}oi94x
z&uW(rdYv^agX!?uLPzl0erKe=t<ykOPyJCSw>2%NU-wbBSP6EBH*li5_k))dfS*}@
z`Q~T8j{VdZYdU#%rch2Oqyp`#|IO557k)uEv+3UQz~d1nIR^REWVJvnU$uc%V1aGm
z3pL|)CS<c`yw1r5B;SrObC1QDm0+K@ibW-Q2Fsfyta#=19%xA~ztS&0kVI(mfphD&
zvqFIF@A)9PF;W31;zQN+e$0clf;Sqc!sW39DY10!$kVEDn2Kv^wphS5Hn%l6u_H_H
z(sxPubv%Le9>hfSpSpf%*_Aywi3Z7&<;TT$yY4E}4Et1;?c!07|HvJBu+td8m%M*%
zPezFUx!KpvjYGq79}3p3RcvgOt=d|~qf2mr3c(YOb8&jMOUN7lL2)f4IQntyMcwG9
zb`5G#jQHLA&FapTb)wa|j+tf7<s)j2hAXG#M@g;?YmGmd{E{{$J1dd7JA4X{a9F%u
zg~AfwIK1&s{-pNN%y<YiHyu0Hy}oow!AR7S=K;`jo4IQdzjDrM8F=7@lwAz}Y?=~&
aMWyS3!+Jq)aqh;ikoi%YBSj`2VgCgj=k|91

delta 2050
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

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow3.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow3.png
index d75684f5d060b5e3ccb613eb3af2ddd2aaffc192..1227c1d01a3fce183e755ee009c53acec84755c1 100644
GIT binary patch
literal 2334
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
XgPS^ntdeaE|2RM(J%m=ilDYM77EP?w

delta 1079
zcmV-71jzfI63YmXBYy-ENkl<Zc%1E9-HzKt6#mYPouo-ffo`@Sgesw`MQY!m5;xrU
zq7Ts*=yUJ_RiB}i5Vu^egv2!x0#va`l_+6pck9j1+Gh?Ij#Jxfd$%2%F-|^dHDez~
zGxO~?=bZRV2#)dO#&^$hx5U6~E)*11*&iO>e_%7dXY=7YaDVgq?Ii%&tVtvSLB)L-
zX!0xVhj!yTC!lvtBm9Q}y}qFo02qi-0F?hxwcU1n=LGD1H9B6tj8+_&2mn@pMPYy6
z^8sM_XM}6_hNCLGEu0f@ba1+VHsj^yhJsnmB0wMz=%a(vL6zNheCGu4T$CQEApi&<
zX&V8=b3v8ec7J^51Q21h>0k701LIpek^ehdLIADezoPzS?C*~j5RhI(QU4;l9a=zu
zTR3-u0A{KF6u<(&m315Bp1sKa&S--Irm1#@cyUR48M_tQK)}qhwL%*RaEh%bz&g1)
z`1<)bHlM%u{TGjH=U{`aSHO+{*AsA!ItUo2`qP5z<bRoTJfG(5&QJ#d>4YVpz|7Wd
zkh_=koujTTkpGXCwfVkt)I@;vvu*x<($Cx7qlPa-`Nda}P;~7UTOS3i6<`Ft^mWmT
z%H(Bc9WOEKhBW~km?dc_QbfEokO&YqLZk=^&{v2^la$%&ScDC%2_Q|s0e~1l^%VM_
zX+N<g1%Hf_pH}lS8-B2zfgP*~kTY{jkF*B>(HrK)3l@op0Fn7&NC4np)w;~)8ukPL
zXVDvGF|k9HP?CiaARtW~9<wR4*^X}uYXW}#`{$v8qJU4-P>-eH5kKG)n&=PHwxsX;
zouu^y?%cfld+t^)(~IN22>LuX;pFb%k5@k~K7R+m&tL!IJSS)(4=8<C#|zo0Kv=8`
zn{}WG0?KoJ6PLFEDcUMd&{QT^r~(nQUO1(kp<6Vy1=cFa=KZAO^FHK>v_%E~*%lB$
z$OBe04q=E$tIiUzz-9|%3z&Kk59fWLH2|FO>rQTg00k-_fP{r6clyKdm>GbK^~AXf
znt$2?YXxL|z_x_JloQO=@ONSGTo`nYCUWsHN=n!1Feuy(5j3HIq<)XI57?$KSn31v
zVQ|iY^R3XZ56DIVF>jq8DVVXI7&t}~1f<GfSp^8kXTJHABPg(ealQ?lOYrfHZ=c@U
z`!XOOs<-FAJex(I>X910Jwciw@mzGVJ%3-&j=I45{Quw+4<K;%OmJo!rHib!pdADN
z0IAp?P+pZ81*9TOJ#bEdg4+BZB+e2mu|NkEKp^s9#Ov>SK1_a2nJv&g1r#A$LObUK
zJEwrnEc94iCN=M*0?7YZ)8M+-?@jd}YdTj>@0J1#jDRH!UqyU$Fh9-wJ_ta;u`u`!
xDqxofV3!8~yF6f*2PD|#0oCZF0-WUm{{oTD)vp-+rab@v002ovPDHLkV1nA)0NMZm

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow4.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow4.png
index 051ddb5681d8fd7b09d02ae046234981b17298eb..b42ca67a1706840170eeb4a617d3aab4f84c9a69 100644
GIT binary patch
literal 2402
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

delta 1141
zcmV-*1d99O5{U_rBYy-?Nkl<Zc%1E<&5j#I5XXPjGh?s47LX{;vM5p{N8-!@i9?Ru
z;lMla0z3zAz$>6!xN<~_!~=u~VJS$!X05Q<$oOMEx;WUzGwZM2?V0r8_<wPCSI<=U
zzpJ`xrpJP3eE0B&?|UD7{72A|=INL3>7P$7qp%aa7U99Hhks0S-3M2%fBa+b8yEe?
z<>C^dn!@B|Iu#>Eq4%~F*Mk6yQMI$N2vJd}&0M8hw(5Ei0HLN5W<#5rP!N!%XvGCe
zC7~_^G$hnudY&dWQB}~Ts9*uGW*=}tJqR!u5hKm}VT2MCg#`=fQnCevW!~(zFp*q$
zAxd3+sDTAoY=34Gy_AsA@uSAEs*VNv%N{E(uy=caur&;>xWEADl%?D|0V6vMw}-(3
z7ExeWmVWO9v`xpdH4GM9pu@gJfsq{=wuZri3$)n7Jzz%|T)}=>0PG5b1s5oF1B5yd
zpa@_kRGFNmYdREM07~2dp$-H9sO~cR1xn8ZWp|hD_<!m1{<mwIbAz0juvHq_8#_Mw
zDExhLmY!&;=GRxhbiRJ^#aFIla6uIout-)|&EnKf2U!AYE6{r@ROJHmjcVz?0)mm`
zzq*leMY?Z<DhL=bi`NA#Vtcb2L=r5C@Qt_b0u|_ULRA(p-vo;;AV$)5uhBx)s_KM7
z#^(oBS%1I^6x1|~0Wggqtw{HcQN;_9MXK7(yMUl^mM{efT9VpWysth~w+bsRph!a#
zy*uj1<M<-GV`IHX33-Ss4tYRD_dVnRR~rv`z^q;y(_i3_2UKv+Lmn{y{a@q(&IJ7Y
z{OKbAWNFTA)3GBvG;PyK0X3M#3y)KtEUz^+Fn<DP0zNtU^bH~zU~Hlmiv?mJ#b5z3
zk-Wc2#tYXGxWSnKi7=o>Q&AI%QMIb67zs5MF;+s*6thX@8_q*$+>2fU9DO*u)$}|~
zn)kyf=$H`T=p=0Z^ILqrNybyx5xBvbfOwFe&VOeOLY7=)Vp9brQL9!&PB+P1^}E8E
z0Dp6AR<b^s`Mu7|eTBQ5WUl&M;ZA@MuWQde<~<OKeeyC_{jTsIhdiSM0%W>Od9Pc(
z+U5@>T0nj>yUPA2zQ8;00%fHlx%?l1F|$L=?iJa(vR9O80r{^t@{_;%bXc3oLpcQG
zC!Mb^&hiIq+G~TV_kdE*@~gl*zX^JOFMq$``+{p@U;Z!P4F>{z55PC-LO^%TZ}$fB
zTca)nKrwL|vzkQhlHUq7cq_MdrCThI*LKOBPy-9dAD^u&?~=Qr4i<n<5^7)pe&O8$
zR24-U0<t(lFP1glCU=E*0<tj!6Vc3KYt?E9^DoD(Mj%Ea`Foq(Rlj!v?tIqDfNl}M
zs2`63rh_aY5SrZ}YWEtgZE{!r-U%2!n`YTqLmOuyB256zGy<5Msj*YN*d}+?@120;
zGE<u<KrF)1tW^@V+5+7vcZGKXp8xgiVXnIF@%(s)+zI~zrmYe$g<tZ300000NkvXX
Hu0mjfN-GyO

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow5.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow5.png
index af6c01d90690ecd156d8d0cbc111f5e7c5f1a291..bb7ce055738ca90ea7cf0284e2233daef1a6373b 100644
GIT binary patch
literal 2294
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
Wl?S(|+)b7Jb9lIUyOz5|ru-j!M}vp}

delta 1044
zcmV+v1nc|u5vT}|BYy+$Nkl<Zc%1E<KW^JF6vjW&k`k**(c18k03G53WNDY6=+pz`
zFg-_so}z0`&?zX20-f63*|NA!id2zf$tF9<v?y6}8ko-{9RGkIR49ddA0PieF<9o)
ztIy{rFWy`OKzQuO$z>L`p0R+3JmL%~z$V)5!|L;Izw|$>Q-8j<&ch}+>Ae08NI(Dp
zrkgIGZ@R!Ltu`0j=Yj=5*bh7wNMGd%i2#s$+U-5l<y#lv@a*7z|HzBG@1jvMNWp#1
zR9-_9Fe-xeCUA9r8!^uKWH|M?#{fX8_Aev?&Lke{2iC#50IjIi(XYAB<~3jI0jl<m
ziC|rTqNa1Bfq%U1>(?4aYaei+4*;;J@x0S3u5(JAAYix;a6kYyQEtu|`&<26O%oUb
zh)k94fB=d*gG<H(#V8P)D%BwYnpm0#Y}Y7&!k}J#ni=o;bzJg*x=BuNMV=8{@Bp1*
z!|!U^7%q8$6`s5R?BQEh^Y#7U<2ui;yPjW{C+`6}0e@`2fNeG<K!jo(?^V)Pp%g$j
zGS<?=O1@R71W<<7)wC0aE2spR8?P^9<X+9%-a1rM;dw2yiEgyo<6E)gvvDXqKx^ma
z8duw2KrV(#+l0yk<~ugI2dEks5`jpBvCRw<PzbQJbgddMG9hKkGJ>)n4TS*O2vF2M
z0C1l%|9@p`6!rrogLDeO!!Lq2cm%{Az$W>@Mvj<Dg#BPVx`?|n1psD!CQ8)_mRNLl
z5?L}xea5(OWfD&D8bee@0o4SgkfL+i_SoF-e*XE<sr?TdgsKmiQ;Y&45wREp*WbpN
z-AT{DR)i6#JYW@5Knidv^4I{okoN)lWQPUP&wpb80Pb_qYI8wQ{-dB=3*-f8Q(o?K
zmJCvK-$kSSBQHKYJGdt*|Gyy~2DN!W$Rm-6IJ=p3Z@wphM0Rz4Yuy8gJ3*As`a>Q8
zc?^InP&9!ties(C;imEg^#fFo!R<gHK#ZEn(CQcfdu(Vq{7?*lJ;>Jr<*eGE2dhvH
zgMTE4nWmxK6jkVAG^MRUyeZmv=5O6_1?8f&>8#%w<AL4L*iHcJb5h&!1y9}sb^_Rb
z0o%ABKvUd6RCAAUTo3@L4~SH&%BBgG5nK^K(G*8OHhXkU04&E5EYc)lH4cQz<_78~
z$oXc8zL!wKs3%zW06k8iK5(KGW1t6H8GpgL2Q0-4l)e~S`e>?+ZS#QHolIwUG8LJS
zKrYCN5SlTz%>%+?KL#)j`+=7XQe-!?uF9+VZgBfNAi2z<<T8Cex`@NDAB@Gch$q;@
zm!sAN003}+F)orp>O&#}%4dodw#x%li~#e1&S~3|LJB}XH=zA)@E=!Yg2FInTMc3W
O0000<MNUMnLSTYIQ|QD1

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow6.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow6.png
index 051ddb5681d8fd7b09d02ae046234981b17298eb..b42ca67a1706840170eeb4a617d3aab4f84c9a69 100644
GIT binary patch
literal 2402
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

delta 1141
zcmV-*1d99O5{U_rBYy-?Nkl<Zc%1E<&5j#I5XXPjGh?s47LX{;vM5p{N8-!@i9?Ru
z;lMla0z3zAz$>6!xN<~_!~=u~VJS$!X05Q<$oOMEx;WUzGwZM2?V0r8_<wPCSI<=U
zzpJ`xrpJP3eE0B&?|UD7{72A|=INL3>7P$7qp%aa7U99Hhks0S-3M2%fBa+b8yEe?
z<>C^dn!@B|Iu#>Eq4%~F*Mk6yQMI$N2vJd}&0M8hw(5Ei0HLN5W<#5rP!N!%XvGCe
zC7~_^G$hnudY&dWQB}~Ts9*uGW*=}tJqR!u5hKm}VT2MCg#`=fQnCevW!~(zFp*q$
zAxd3+sDTAoY=34Gy_AsA@uSAEs*VNv%N{E(uy=caur&;>xWEADl%?D|0V6vMw}-(3
z7ExeWmVWO9v`xpdH4GM9pu@gJfsq{=wuZri3$)n7Jzz%|T)}=>0PG5b1s5oF1B5yd
zpa@_kRGFNmYdREM07~2dp$-H9sO~cR1xn8ZWp|hD_<!m1{<mwIbAz0juvHq_8#_Mw
zDExhLmY!&;=GRxhbiRJ^#aFIla6uIout-)|&EnKf2U!AYE6{r@ROJHmjcVz?0)mm`
zzq*leMY?Z<DhL=bi`NA#Vtcb2L=r5C@Qt_b0u|_ULRA(p-vo;;AV$)5uhBx)s_KM7
z#^(oBS%1I^6x1|~0Wggqtw{HcQN;_9MXK7(yMUl^mM{efT9VpWysth~w+bsRph!a#
zy*uj1<M<-GV`IHX33-Ss4tYRD_dVnRR~rv`z^q;y(_i3_2UKv+Lmn{y{a@q(&IJ7Y
z{OKbAWNFTA)3GBvG;PyK0X3M#3y)KtEUz^+Fn<DP0zNtU^bH~zU~Hlmiv?mJ#b5z3
zk-Wc2#tYXGxWSnKi7=o>Q&AI%QMIb67zs5MF;+s*6thX@8_q*$+>2fU9DO*u)$}|~
zn)kyf=$H`T=p=0Z^ILqrNybyx5xBvbfOwFe&VOeOLY7=)Vp9brQL9!&PB+P1^}E8E
z0Dp6AR<b^s`Mu7|eTBQ5WUl&M;ZA@MuWQde<~<OKeeyC_{jTsIhdiSM0%W>Od9Pc(
z+U5@>T0nj>yUPA2zQ8;00%fHlx%?l1F|$L=?iJa(vR9O80r{^t@{_;%bXc3oLpcQG
zC!Mb^&hiIq+G~TV_kdE*@~gl*zX^JOFMq$``+{p@U;Z!P4F>{z55PC-LO^%TZ}$fB
zTca)nKrwL|vzkQhlHUq7cq_MdrCThI*LKOBPy-9dAD^u&?~=Qr4i<n<5^7)pe&O8$
zR24-U0<t(lFP1glCU=E*0<tj!6Vc3KYt?E9^DoD(Mj%Ea`Foq(Rlj!v?tIqDfNl}M
zs2`63rh_aY5SrZ}YWEtgZE{!r-U%2!n`YTqLmOuyB256zGy<5Msj*YN*d}+?@120;
zGE<u<KrF)1tW^@V+5+7vcZGKXp8xgiVXnIF@%(s)+zI~zrmYe$g<tZ300000NkvXX
Hu0mjfN-GyO

diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow7.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow7.png
index dba4e93a8aa3680156ff4af0e3309e4a6bf365a3..ea9f89c32f3762a6d78908ee9dc999c02cbc246b 100644
GIT binary patch
literal 1240
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fvh$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGcq%=0fz;OC?W<RIwG*@Ko&*U5s;Bzk`GK#MVZN-c_pbu1x3Kr1+fuo
zA8r-sW+5yO&C4vYGlCj`CXA#DDR!(Ji%QD#i?Tz&F@Xq1oJyd^K!Ox0g+h`)IQW6-
z-;T>hAD)-&xIQ&z#sf3hOHUWakP61Pvo`WJ2Z$VTGCL`inJHoEduz?aPyyo|KRzA)
zGVR^nnM|E;H~#qf_J6ZWMSZ;dA$v}n#<dNc+LNS>8n&1>p2fp7V~T(C>V4&`{oxH}
z8PAOm>{B>9pK*($^?b%}teO9K7VzHs$+JP<<8wMg?uB#d4YiK5?3pu~%j}rna9{c(
z=^(x3vt&a2glFd&ZY`L5p5b?sNj=*Iwzq%Y@*eol9>5&-Kfa)vS*t-Shmg_pw=CtU
U`+rnh2UMzfy85}Sb4q9e02n!yC;$Ke

literal 247
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=`#fD7Ln`LHy|t0IIe>@Z;)KA6
z=1CK0C@U{b;Y~~A5chA|eJ_6b<k|X_KNHUV{pI^?`~NDRXZt5VR1aX#U7*<@c0t5}
zJA-Qhs|o7`rddoGjJ}Lp8q#LkE%^UAIBq{9lHf9iD2HI&deEhheP;~*QhV^V`2yVf
a&hkEc%2PMjRO%GaCk&phelF{r5}E+k@>Q(>

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/full.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/full.png
index 629274889050ed48d4114f458c11333d259d1574..8a6165b2e1e4c54099b3aef476e59613b61d586e 100644
GIT binary patch
literal 1500
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=n1Mm}4+t}^JN#w_0|RqfW=KRygs+cPa(=E}VoH8es$NBI
z0a%w!g%yyQn_7~nP?4LHS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|?
z?6?#Z6l{u8(yW49+@RWlJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM
z%Dj@q3f;V7Wr!g#b6ir3lZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HT
zN!CxzNzF~oD=F4D)HBq_rmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib
z=+I=ay~QOd`bY}&jSLJdbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$
z1UZ?YkhRK5%uBabs?beIO-n4zDN(XZE6vHV(TAu&)d>+rHPA*Mi`_OLA6rERr55Ms
zl!C(C&dAcz1{@A3qKMFk=!n3o16dSZM?gk?Nj@+&6=f!S=9Q!t6%+we7Q{xVeYjPi
zn}x7EG%vHn&IoD%nlO?sq?oaCEGj9_FUk%9#{wh>aY{ptfCMK}%7i3)aL@zOy&ad0
zK0FWEah-lG(*ew^Up-wMLn1iehVS${>>zMgA!|~Ol+-zg?v_PU0xmQBKg|B5zM)O(
zj;o-MZp-Gr$sd>}Y=5*iO=i6=yLLc@N_N@v3Tx}?-t24Z>Sx+73GLatd8;5#qR~&2
z-eXY#^Ov6ZTwD3uK#!qe%NpOKOdcN7Un#Ui?pth8Hck7`J=62&{AIVVU3T+!ezoZ@
zS34^v<~oI>VD@*$4SYQ7^w!JvFXB*gHJhNCYV!Js{pQI<oxO%0TFf#rQWrjKw`o~x
z)DV*ROz&#aw!_cEoAU#co^{CfACvQ9S72*p4c=LK;bmn%Q}6fogRBMu49x{Qlp3Vo
zHKy&AYkB&hdH3ww3j(_q6_*t87&dtXT3@WNGSy?a!+dga+Z25(3-&3FTgta<mdP9!
z_}*}<<<pFdyI!1m$*xy>c|+pjZwxF&YcJ?`cbu+ujhV{GHT~pjhE+Tvk}Hf1%7xYP
zS8dW;DzGk!Y0u?976$Sn-?|H4ddEa^GrX?1J-&&<wZtQOfBpOUsVBMwvKsTg7rbk%
zu9A_mJD$aVqI6QIPgvkY@qibiOXl+>Y-5kud#K@@hT5c3CB{n@YE4_yWKZrpvTXjX
z783^j*-kgKm^YOi>zS-FU1R0x*WNjqtC<>_{<GManfS@cpZaWJCewN2P4jPtAM4eo
o=A^&O5Pnp-@0}cnrM~k&-l*+=%kQf{E(MjWp00i_>zopr0PH#p761SM

delta 467
zcmV;^0WAL93;F|)F@FSSK}|sb0I`n?{9y$E000SaNLh0L04^c`04^c{s^Z;}0004x
zNkl<ZSV!%bJx{|h5QYsxVxz6Qu<%g|D-xj23=Cxf{trKZ|5I4#z`$Gq5-XI?xoOMB
zRPvsD!H(^cgwQbLku3Kd`}{ig)t5ObmnWh?NI+w4MVU6E(SL`iR+p5Oj-SRpzrKG9
zs7tAuP5MtSqPelItaMBpI|u?2Ft6;0<C7z*WxXagx0>`Dz)n*b_+XoT>lgyi;k<L<
z><DD|mXZ_~KHr7_?tnUPe7=n{puaj^Nw<4NbynK#1FC~?&zWE_jLv`|K;LtKLA~Cc
zSl!+`Q%$LOyMMnqZMAl+ZFzj?n*wT;ih5+jliyxnE>c56cJ~iIQ9}eZI2ew{{xC!c
zWu2VSMa09=8HTPf$~rmF$GUt2>wjQcDE$VXUrWHODFu`QN&%$+O8{;_{p!pMpI<`&
z?rAOzUnp77$GUuj|8*S~mXH*gk}aq<0uS`WkwqYxpiH|wwh|w7;6h(WYINI`lp2SS
zJD|=RpKn6|cZjQGXe9}X3!iUqPRRWAr&%Px$4ov>m0bWrd;!SfDtIM>njruH002ov
JPDHLkV1f$)&w&5{

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json
index 4b89f3cdb00..c0a1a18425f 100644
--- a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
     "version": 1,
     "license": "CC-BY-SA-3.0",
-    "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/0b906c6916ce3803473fa6caa65f5b8661118c46",
+    "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/0b906c6916ce3803473fa6caa65f5b8661118c46, transparency tweaked by Ubaser.",
     "size": {
         "x": 32,
         "y": 32
diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow0.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow0.png
index 1704c25c2180117565c9558d48558d0f9b2432aa..fe2ddcf1ed405b01fd442a85aa7d1813ec34739e 100644
GIT binary patch
literal 2316
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
Jw;lY1{|8B~t;+xa

delta 1170
zcmV;D1a13_5~c}|B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0?A24K~#8N?VG<(6j2bzA2fDwcUw`Y2$)cj2x4oZ
zBu67)Ni1z7w8R7~iPF##EB^?!;SwllImN_^1dg8xRCoO7sE(VL8S>oS+r8|tyW_t7
zB$Ih>i+>I8%k9kUytiG=W>ck!<MgrqfO`GB3x|;qA;6Qz4{_$@^72|03OzXU@@r>1
z8v;0`5?=Y2+QE?;9O%cHm&(REOMq_lVwjqKqkYLKs-dTYdJMqa&$x&Z02cq_`_DTO
z+>~0s61Q;?B>*iRd{T&t0p?Gd{=1dRruOaFKY!TGP7pMod7#l~sA~0(n*F%)1uuD6
z{_yq_4kIB#fMRbi&b-j#zpX4h&=*{s9oH6c7zq(E0P;MfI@5r##oq^_f}me|i*xaS
zxH{mz(p#s96Ci1F0nl5E^#ZW#fI`t(#i1{wFDGwK{{CJnmtX5S6gQ3fg{rsw;qfW^
zeSe-y{s^GAmRtbz){>Y2I{39r8nFrh832bm@{>s-wlqkKhZLwU_;7J`m3kUv3-D^@
z-DeznfW?oGKl8lY?C;gY)B$V(h6aWMZ(tTcgrq`<Ex`QTyypf~?Lki;1faRu@U*TH
z3~PC(1zP}0Z>IT?M$5Ys*pEPYVzTWGf`7KPG7|%ykG^PogRqUwOb7sNZ5&3znjk2Z
z{1LD{2(ljmb2Gy<0`~i8F0BRt_yXWYhG~9ewh-!+%oak{zYJObI{d#kL}H5pJ6r2|
zTl>+-nBL<z_x{0x>VqVSH3*UjfM1G~Kw?=SC`G18Vgg7d7XZDrST6v(4&dTGDSt|V
z5>AN1F}bi)VwpH6m?pUZ=&dCe0KFK3Hdo?6lmO5tAS2!{uHKz7hyxL6FwNugqUr!^
zKbXirnLz;nYMfG42m(L@#jFxd*1oQ>1P~Pj(`cQG5+JN~PASqfF5(^mH*tSDD@K5J
kSn=^R4kN*9t1ER2cogmyJ5%!j01E&B07*qoM6N<$f<jj$`v3p{

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow1.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow1.png
index 3c2aad6b261572eabdacd03e01ba1cc02ecd45d7..17fdd1e0457884b53d06e40dd9695776ef111a27 100644
GIT binary patch
literal 2083
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

delta 984
zcmV;}11J2W5bg(%B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0uf0>K~#8N?VCSK13?hQFE(}(bCrTb6AN3#_yrVV
zYbB{|l(a#JVkH`ov_Tu|U}bASzkrIi7A6`5tu6*TtLUw>67x^ENp?2O{9t*Ta2(6K
z?A+elOMj@*XgHL(?gVN8p7$1lZXn1FSX@{_4dC|fdbkZpuB>()K)Ld)G#;B)+KJNT
z#c&&tT2FNxz|GA)^nOSr=ArkO;#m=8zz8TAkw~PiX~N+#)ik}14GOsd)R0es+1MOv
z0FRZ2;jRIDC+7#y4aEND+AeehL2kfgG@gfUAb(z~<qUKK!M+BF0ibLV13=j#27s~!
zy$+zhk7JQ30Lm6I0F*6a04Q778-QL1PzM@V&<0RPT3FBqq_@&-C#cnGD%RGCZoU4Y
zV(m^TZsE8<YJe0$(7^atyR~WjEAKZ=uVbk|PXX$!Ei7mQs5dvUpbenj-o}D9;J-Xz
zBY&I!EFNWdlF4QDS<QX#-SNKlsro{0fZPQ@*&+sjvc;GIwk&*FF=l}OY@nM>7&D;x
zbr-!tv;nCBpaZA*!Kl}>foY5x;O7Cl*@Q6z`t@2{zmXaM$`&yIlr88y0E-`}%tWUg
z*DsRp_-~;sm9CuBcJA;rml;)GbV1$|L{TCJfU-pl0JR3wxq(#%P-F(y7@#wP*1yRN
z8mR%G<mil`bwhQ~SoI5_$PBET0;Y2VsR5vD5d%P(;y7Pl7VSYG{HZ4Z0000<MNUMn
GLSTXh-N$<X

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow2.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow2.png
index 1704c25c2180117565c9558d48558d0f9b2432aa..fe2ddcf1ed405b01fd442a85aa7d1813ec34739e 100644
GIT binary patch
literal 2316
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
Jw;lY1{|8B~t;+xa

delta 1170
zcmV;D1a13_5~c}|B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0?A24K~#8N?VG<(6j2bzA2fDwcUw`Y2$)cj2x4oZ
zBu67)Ni1z7w8R7~iPF##EB^?!;SwllImN_^1dg8xRCoO7sE(VL8S>oS+r8|tyW_t7
zB$Ih>i+>I8%k9kUytiG=W>ck!<MgrqfO`GB3x|;qA;6Qz4{_$@^72|03OzXU@@r>1
z8v;0`5?=Y2+QE?;9O%cHm&(REOMq_lVwjqKqkYLKs-dTYdJMqa&$x&Z02cq_`_DTO
z+>~0s61Q;?B>*iRd{T&t0p?Gd{=1dRruOaFKY!TGP7pMod7#l~sA~0(n*F%)1uuD6
z{_yq_4kIB#fMRbi&b-j#zpX4h&=*{s9oH6c7zq(E0P;MfI@5r##oq^_f}me|i*xaS
zxH{mz(p#s96Ci1F0nl5E^#ZW#fI`t(#i1{wFDGwK{{CJnmtX5S6gQ3fg{rsw;qfW^
zeSe-y{s^GAmRtbz){>Y2I{39r8nFrh832bm@{>s-wlqkKhZLwU_;7J`m3kUv3-D^@
z-DeznfW?oGKl8lY?C;gY)B$V(h6aWMZ(tTcgrq`<Ex`QTyypf~?Lki;1faRu@U*TH
z3~PC(1zP}0Z>IT?M$5Ys*pEPYVzTWGf`7KPG7|%ykG^PogRqUwOb7sNZ5&3znjk2Z
z{1LD{2(ljmb2Gy<0`~i8F0BRt_yXWYhG~9ewh-!+%oak{zYJObI{d#kL}H5pJ6r2|
zTl>+-nBL<z_x{0x>VqVSH3*UjfM1G~Kw?=SC`G18Vgg7d7XZDrST6v(4&dTGDSt|V
z5>AN1F}bi)VwpH6m?pUZ=&dCe0KFK3Hdo?6lmO5tAS2!{uHKz7hyxL6FwNugqUr!^
zKbXirnLz;nYMfG42m(L@#jFxd*1oQ>1P~Pj(`cQG5+JN~PASqfF5(^mH*tSDD@K5J
kSn=^R4kN*9t1ER2cogmyJ5%!j01E&B07*qoM6N<$f<jj$`v3p{

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow3.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow3.png
index 3c2aad6b261572eabdacd03e01ba1cc02ecd45d7..17fdd1e0457884b53d06e40dd9695776ef111a27 100644
GIT binary patch
literal 2083
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

delta 984
zcmV;}11J2W5bg(%B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0uf0>K~#8N?VCSK13?hQFE(}(bCrTb6AN3#_yrVV
zYbB{|l(a#JVkH`ov_Tu|U}bASzkrIi7A6`5tu6*TtLUw>67x^ENp?2O{9t*Ta2(6K
z?A+elOMj@*XgHL(?gVN8p7$1lZXn1FSX@{_4dC|fdbkZpuB>()K)Ld)G#;B)+KJNT
z#c&&tT2FNxz|GA)^nOSr=ArkO;#m=8zz8TAkw~PiX~N+#)ik}14GOsd)R0es+1MOv
z0FRZ2;jRIDC+7#y4aEND+AeehL2kfgG@gfUAb(z~<qUKK!M+BF0ibLV13=j#27s~!
zy$+zhk7JQ30Lm6I0F*6a04Q778-QL1PzM@V&<0RPT3FBqq_@&-C#cnGD%RGCZoU4Y
zV(m^TZsE8<YJe0$(7^atyR~WjEAKZ=uVbk|PXX$!Ei7mQs5dvUpbenj-o}D9;J-Xz
zBY&I!EFNWdlF4QDS<QX#-SNKlsro{0fZPQ@*&+sjvc;GIwk&*FF=l}OY@nM>7&D;x
zbr-!tv;nCBpaZA*!Kl}>foY5x;O7Cl*@Q6z`t@2{zmXaM$`&yIlr88y0E-`}%tWUg
z*DsRp_-~;sm9CuBcJA;rml;)GbV1$|L{TCJfU-pl0JR3wxq(#%P-F(y7@#wP*1yRN
z8mR%G<mil`bwhQ~SoI5_$PBET0;Y2VsR5vD5d%P(;y7Pl7VSYG{HZ4Z0000<MNUMn
GLSTXh-N$<X

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow4.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow4.png
index dda14b7014176b2dad90472353547e391711b5b3..8623349c4f3796c23c5add35d20d7a8d7309b77d 100644
GIT binary patch
literal 2076
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU|f^w>>S|f?5q$_l%JNFlghxL
zF|l@{y@zz5%yE0Qt|TFuR~Hr@=Dp^5IYU;)SI5IaaS2zJ^_QZb;U4FXKV2eXCAN!A
z#LM-<Hs^5l(vkvEmV?)nVoP6yY;+DicYpV06|G+nKHAm1|NeL1{l9W8X1+_c)^e`6
zwQjPkx8!Bx&2GO91(UWg6kcAnGDXc;@67+tzkcn0AHM1O`pwh2+nN9O&9nLaQf`iW
zQs<4gzp}Nb>0i;wFl=$xdAj4!`WEB-n5C7zJ8n;0*0SAnI@7;}mf|1s_oo?Ib1BZv
zj7T-sUt|1x&8A?{Yqj5>tgc+Ux*_*$_pD;ydqKkC+Mln5&i}=~n6>)V&UMrOb{Jmr
znQ&0yxXt>N4=(91*Y)aMQ{#X4q5P-6i_a{q=vJO5lv*gQ;u<(9M8MB`lItA1hmJy<
z+P~bsGpEvdc695*V2<n3QSX#<Y8u+vdDo`1?z(sQ*ES>B%hL~Saz3i`=ck&#5i@_;
z!q2X2f0P)!u$$GiEq-44Cy86)4;H<vOrLN2{!#Y~{>0OK&uXR~z5d?dC*QI12bYDu
zOnY)}dij~fhvy&vYy3K6-cQv^!}=wef4^@6Mju~lglC$sFM}44%>l$9a4C2)kmM}z
zh%9Dc5d8<jj0q<Tco-O%3o=6@N+NuHtdjF{^%7I^lT!66atpw^Y$~jP%-qzHM1_jn
zoV;SI3R@+x3M(KRB&@Hb09I0xZL1XF8=&BvUzDm~re~mMpk&9TprBw=l#*r@<l+X^
z4&>P?Wt5Z@Sn2DRmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)Qswftlly
zTAW;zSx}OhpQivaH!&%{w8U0P31kr*K-`&<47aDCv?vE`OG>hSYEEiyYF<gPzM-C>
zJ~n+NnP~_Y<`qMO0~j#+AQ_-G1FYIS3rdnrfFb2t0dx=4e?W&OgY7LYNzq4Apl@Vg
zV4-VZq-$iU5BDF?`8FxZRwbDwIjP`)gZl>@f{r;QsG=bCpdiS}1cj_sPGVlVtx|<<
zN@`kSX-<ifT|r5CW?o8uxq*#7L>a1fh$yP5Hu_i`U<2~DRb)_VaehuIDB$f3O^j{8
zfq^25hysX?2&_7gMbUKxWaO9R1CvxyX0m5qNor9+5iogyZ8U<~hg$`@SqRHR^D;~9
zU<RNGBk4kl9xKP9lJfkb>=1BNAcZ4NHBfUPVTzPSAsGN1{=ghy$7Q1r&rNn*Uncj=
zVPIft@N{tusbG8?z0r@^kjGcB`k|Eqn?t*n9mBy>EicX;J9mgbWQBH6>n~QGH#N?J
z!rC4DE42I$G)P3f5O=7Z6j-uLt$fC<m#Pz2ZMot1MqGX4<bdEqs$JLiJznc8>N+vY
zB<!+O$ga2dS5E$x`hC~!eda5F{4;wq`-R!9NxchSePM98>V6|_{&%?zInEuk?d19+
zcb9NA9B)?-d%Vy%eVN0jIZKXR4}ZmF7jsmSVF%B-Z;yExK9<dSW%hHH#*YHg<<}ba
z{=FN&d*?Og<qQn36;+<;obzGyTl{q&6N8nMUETM4%vo0g<L_r|^U0l4R>f|<_w%{H
z*9NK00p%vYLITwF*I)kCyry|&z4X~?eh!8kF-u;Ryti%86?$^+b9a@VG(%NRf2V(-
z>hqJw%~-$K$QS>wlnUFDYsS!}b>!@EwuX7ncbl-@xW-_6z1`!&)I-l0Cp<5H{>#-N
zjd?+bk&q1|1Lu|4SC^~#6`nsT*zYeH`0_KuCo_(IX^m7a2G=<{-fRc9Y)w4zI_SY<
z*B%}Qo9vU?RiBt0UNi>C?Z0yW1jCa`hGqLIPIiXJR_+OEOWvO-?x6B7%KWkHB|QTl
zwkLC6tl!lvQ^|E8*sP05JpH&x;U*o)+S_{@e4Sre+eiO4+x0!$f#JY2rO@T<{40KO
z+<wC?m*BkORY{SI1FMHsA4hP5Ra3W~yiLMI_X(@&KQL$kdGGhKPvCc1A;<8ZLo?Th
zKg8p|xrQ8vr~Jy!YKDCZSNAgbO??;<YaiN{{B=+8(}!0b#C8ALu3=oN_&c3(kMoIa
zvG>9g(jK|a+qCtE$c(QsZ0jz6S-mx~CYATxr*7s1sn8f^ADhVLQ~$)+8Rnhwo+jUu
WGcEpDY{*kkaqsEs=d#Wzp$PyB;x1tT

delta 986
zcmV<0110>N5by_(B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0uxC@K~#8N?VCMI13?gmH#T+>?<xg}CKk4e@ee4(
z)=E;_C~1Qb#Y!|FX@fS_!OGTv{sAM}T9{}Mw7MAVtYU7N4M)t!af>^5%seo>n-7-o
zlHJVAZhvB(PDfy3+cTYo#GJ4#OIY@_u)69}t=@_3e)06On4gqS4B?|$&%-bf6QE>a
z13<~b27rc!R;wk$6rnPpR(tA&DMDjFz40bB9-oq73f==i(McuerMBDOGE5PwZ$LV|
z+zV5LZV9-luu6wbz<U5FS=azjvS{}MW)rCr41Wi*Qz-pZ&I$*a%({FmQ(fmvI9+{h
zz6;0sjL8>};3WV`7B&EsEXE8lUFZA7m;o5Iz8{Pk;H~pj?H>ks4*>mlymh{+{lkDU
z12AfRKNvH>be-=P-UC3%!UlknMY|v1p6|mj5ZL_yZ39+U*0d&gc)X9c0hx`>p%bW-
zcYjpkQ@y>3wgK7g?7#{7i=JT#Q01x;?UtBIaJ-@DKj<9wUM%=mKz9i&CYQ7(cxgOG
zdk;9exITelAdYvp4q=FbwgKbL1;(L!&rcUlg+a-}27r=<4FDwzc>}cb09~;22wno9
zWMKn9$-)MJl7+kh=y?EkLj~Oc?3Nn30aLlX+@BBNUZ!%}>Z+scUaWB2>Vvw-<@2(Z
z0lW!<qM@$Oc|+0v_nA@e4GQ`az&=_-Hvs!^72N>b<8>i^0jfjoL3nBt@c;k-07*qo
IM6N<$g4q$xyZ`_I

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow5.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow5.png
index a4a28e41bf91b9def90665c6bf27947b3f5f70e4..08d493bb62a3540b6fde8691a47f63eac0e80b3e 100644
GIT binary patch
literal 2114
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
Hl+XkKLPbHr

delta 964
zcmV;#13Ub}5ZVWjB!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0sTotK~#8N?VCMM0znXl7aMEuDoqRu7Pc02bQV-<
zEUj&9EJ%n68Y`nDh96*KZE4hs!j2zd;YWyx9cOKIGM72CS-5C8nHMtqB%60b#XhjN
z%kEH!<A2y73B$#BwYY4;ATU9=V1hvsozA1#J8E5Aw;J=w3mJU$UK-pTi#bjhG<YO%
z0rbgJONpW=X;Q!iBwu@OQUB9atJNf>zzd+c&)<OUoh@^J_mHF%Z~->y;3=hmuL5hO
z^^tFYRshOLuL5uZr&qV<+#TY#!4oqtV5wMcbANX%W_}-l#tYz7ix<GD7B7HPExGpr
z=yg0VehP4^#S7q6ix<GD7WD!|_5u6N_7``DI6K%q;Vy)U3rGilbJ;vjUT}DReJXGl
zg2)u0!Iw)brd~fZl$FYcsns@<hDPiefH?C03t|G?BX8*&pe)1$(9KV`+x@u#N*fwE
z0e{vF5YZoe`qa>f2^hs&@11)%paP}=r~q_r03jy8ed@b)0Vw1ISa<(+O#m7(0q#b~
zT@_G>32-+;(}MaRL;mNmzZX!B7r?0&FMv}mUI3?Ba_<B3g5F2?DZr@~FMv}mUI3?B
z)C+*`1JwUv0{xd6_!LO%1gK`ft|7=eLp}U&rs^5s9-T`77hvBQA&$=R0<2mAyM{mt
mxB$0KK>EfAE&y92V9YlfbNNA-Fak0F0000<MNUMnLSTZ<8nd_n

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow6.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow6.png
index dda14b7014176b2dad90472353547e391711b5b3..8623349c4f3796c23c5add35d20d7a8d7309b77d 100644
GIT binary patch
literal 2076
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
WGcEpDY{*kkaqsEs=d#Wzp$PyB;x1tT

delta 986
zcmV<0110>N5by_(B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv
zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGS<XKE%j
z%Bj=&^_}y5o%0>g4zrf+)%1Yv<lXpKRG*oh)9YTSM<YZhEq{jP<ziE#2`Y}yJF3)r
z+pV(r-)KxOc@|XZ!b4Wh%?mFI53J>Lig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m
z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9
zm1VNz>6X<I#eX9%`_T&i*1$h0E>m2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo(
zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs
z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2
z32;bRa{vGqBme*wBmtWh#uNYm0uxC@K~#8N?VCMI13?gmH#T+>?<xg}CKk4e@ee4(
z)=E;_C~1Qb#Y!|FX@fS_!OGTv{sAM}T9{}Mw7MAVtYU7N4M)t!af>^5%seo>n-7-o
zlHJVAZhvB(PDfy3+cTYo#GJ4#OIY@_u)69}t=@_3e)06On4gqS4B?|$&%-bf6QE>a
z13<~b27rc!R;wk$6rnPpR(tA&DMDjFz40bB9-oq73f==i(McuerMBDOGE5PwZ$LV|
z+zV5LZV9-luu6wbz<U5FS=azjvS{}MW)rCr41Wi*Qz-pZ&I$*a%({FmQ(fmvI9+{h
zz6;0sjL8>};3WV`7B&EsEXE8lUFZA7m;o5Iz8{Pk;H~pj?H>ks4*>mlymh{+{lkDU
z12AfRKNvH>be-=P-UC3%!UlknMY|v1p6|mj5ZL_yZ39+U*0d&gc)X9c0hx`>p%bW-
zcYjpkQ@y>3wgK7g?7#{7i=JT#Q01x;?UtBIaJ-@DKj<9wUM%=mKz9i&CYQ7(cxgOG
zdk;9exITelAdYvp4q=FbwgKbL1;(L!&rcUlg+a-}27r=<4FDwzc>}cb09~;22wno9
zWMKn9$-)MJl7+kh=y?EkLj~Oc?3Nn30aLlX+@BBNUZ!%}>Z+scUaWB2>Vvw-<@2(Z
z0lW!<qM@$Oc|+0v_nA@e4GQ`az&=_-Hvs!^72N>b<8>i^0jfjoL3nBt@c;k-07*qo
IM6N<$g4q$xyZ`_I

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow7.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow7.png
index cc1f21f692a0fafa1a9a03c74e8f688af389d18e..82b23102f540a05c48e7c525d126c400fb6b99d1 100644
GIT binary patch
literal 1668
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU|g5!>>S|f?5q$_l%JNFlghxL
zF|l@{wTDcgNSl4QYp0&3kD^jyi|JIhK<<r~whA~VM#`s5Za8;tAJgu~sbwxK-ioe4
z9D**=;oCQC4LU7yo6AXopJQck#^i)q3CD`lr^G5(JuI^SXZgSW{2cCu$-ygYoaIGw
zu6Opk_lkE;cf0H##SzTTGdnD>_gK>8LwDwEzdrwbo$CCm(y&J_cX!<WShs4mNp;*m
zbMyM`|E_T@zvRmOiszxAx8=GIO$9kOLuc`~%(u8SrNFh=?7{k3lNsm#G&TNc$nnzW
z@Tr-aiF0ozKb_OG;hps)ttDI5F>N!=&+xlevDq}{gns1p+E?~DzPC4D-W6A-{@BOB
zm8V(7dyitj_xd^8G+ZBjvaRZ`zwo_(V@DFJyG>-#BQpt6SI?lR3a3dr^DZmj@t^<3
z@vqtc^Ltk5PD^;f^y>QRs3PIMdrrT%uM)f2cs#oxB5+yqub{ne0@RrIe|zdFbfJu^
zKTgz``LE;mwSgIb9#-z(z3?S-%)07(_hZlRz9am({6_|R@xF75{;;NnC4OSrw(VhL
z*t?qA^ER{oR@&HXes*hSJfqX2y4}@@;ugRN<V%h4O!M_+&;qhKfEWZW1y2T&oCO|{
z#S9Fh|3H{A;bZ|10|RqGW=KRygs+cPa(=E}VoH8es$NBI0a%w!g%yyQn_7~nP?4LH
zS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|??6?#Z6l{u8(yW49+@RWl
zJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wr!g#b6ir3
zlZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HTN!CxzNzF~oD=F4D)HBq_
zrmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib=+I=ay~QOd`bY}&jSLJd
zbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$1UZ?YkhRK5%uBabs?beI
zO-n4zDN(X3C@Ig(OUW-cu+fJoL)8uuMK#q%ABzKQK;E{B3`#A|&nX23yq%$mu?;vd
zP(%??0MQYFRR^*tx{iR1{E~cNk}Aqf_RK3uEh;DiCNHp!Mo{~3t3WpkVR>j?W{Dll
z05oAFT}aVm<ycfwo?nz50*(r#aKxzwY7Qh!k<ut61AxOHm;>y%Z1mx|$&TyG<eoXe
zEcVRP#WAFU@$IaQyv+e3M;aJ4BD9RtHM!I}jGDXk?S1lJ-kYmA;l}o(=PP67g&yvF
zum6yr$v;6m;ZWC;HXenyz6r*7m~#)*mwo+ibN0TrgY=fqk_qt>o}Fj7wP5afhTlyl
z^=uc|-qx_)5MT1sxWO#rx$%L03TNjtZgI4p&-jfs^B>Ow-djI;Ht2hNPG`uya4x-}
z)^V0Sb4GL7zprc${xh#&T>W3aVlShpgXlIwM%QPD@zfn$)FcBcR6Je%T-G@yGywqb
CsAU!a

literal 641
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU~JBGb`J1#c2)=|%1_J8No8Qr
zI6rlww}wlg%&~esrCyygPMdagFBDN#@#dXqwAAoa_QQMDX>MotE~|Don|3NJvLa`X
znAx=)-JGdGa;nnN+DXc>|BKVJ)J#vUy!`X)+|RXhKg(X=+dS><)h`WipWOWs5i)<~
z+{>@yR=6v>sOz>peVP=!m{Y6oy!EOpRkzn}`f)$QN3T*W<mDmfuybd*^||=hJT2}j
zZ#^7#%!6w_XZg+|$A|1oXS3FY&f$v)o|$MaC@;px{raVm+36dnc5ExyU!am{J!$<}
z5sQ@-u^Z>cZteOWqR*pic{$i?`psh!kB`i7Ii4~#b<>lV)2<30Ro44`k?Y^J1NNGF
z!7-;J9!Vs!N-KX@{O>{e_PAB+w@(o1a(cV@{r>IFcg<?@fBw5Z@qN9#^H<>*E7kv}
z6nW}8_Jv+jV!yD3@p-uF**lHhz8RHgB-aUgTs7Jn!gbH@>Fl(HKiQ<7aqkuVZn?9)
zrNp$5xBB;miPPS+a=l-t|NiZHW5;@zdWM8gMGL+^eh?0f70v>W$YKTtF%=MIoGp4x
z1Sq(~)5S5QBJS<%jl3-e0tXKHf9MFU=LxGl$hPn!OF+Plyqc{`MaqMwSw63r{C?Nl
zp6wR>|NB3R$*)<;5aG?ZVH#6{F6)6Pu7<554B46t*FOD_`|!=~|CD(Q*Mb;usKFxf
kg8554SU;xR(w;)b#VbThcP>1$ALw2NPgg&ebxsLQ0OYzB@&Et;

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json
index 769ebe5b39a..9c854c61ce7 100644
--- a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Modified from plastitanium_window.rsi by Flareguy for Space Station 14",
+    "copyright": "Modified from plastitanium_window.rsi by Flareguy for Space Station 14, transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state0.png
index 7737feb5032c9ac64f42e8805d776a68517bbca9..b25ae0a4a06e4393fd19eb4c032e512e75e9abaa 100644
GIT binary patch
literal 1375
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=n1Mm}4+t}^JN#w_0|RqfW=KRygs+cPa(=E}VoH8es$NBI
z0a%w!g%yyQn_7~nP?4LHS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|?
z?6?#Z6l{u8(yW49+@RWlJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM
z%Dj@q3f;V7Wr!g#b6ir3lZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HT
zN!CxzNzF~oD=F4D)HBq_rmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib
z=+I=ay~QOd`bY}&jSLJdbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$
z1UZ?YkhRK5%uBabs?beIO-n4zDN(XZE6vHV(TAu&)d>+rHPA*Mi`_OLA6rERr55Ms
zl!C(C&dAcz1{@A3qKMFk=!n3o16dSZM?gk?Nj@+&6=f!S=9Q!t6%+we7Q{xVeYjPi
zn}x7EG%vHn&IoD%nlO?sq?oaCEGj9_FUk%9#{wh>aY{ptfCMK}%7i3)aL@zOy&ad0
zK0FWEah-lG(*ew^6`n4RArYKMryBYlHV|oxy%AU_F4khf<Q&d-utC6BnEge-H>Hi6
z3n%jFtdZT}sLFRCppfx}_)B)-ImfQ_{bjQ*jH$1`_xp2}&%q7fUK9s(@&Ebq<c5f#
z!jBWT{xHStkd=KVdZFd^9LWy{KgNskZ#nq<^YeeKIn9$BZQJ%aefaw8aDqja--l;M
zzCNkD7R|}B-g7pi;Ny=oBX#0lt3L4Ge9~K=iG|%tM$W@ow@LcoPQN&&gPBHq43#*}
z>dpCD+ZOWhP-t;>d)m&L)q=hj-6xG6G&5&hn`3G|sbT@|yIrz}cP7NTb9Xc<D|tES
z*myZ`{W!-Ibg*1#f>2*WeQjIQ<&ZCPi#<AS-+bPkAk4MSS>WO8w^edh?3@BJ8R7Z-
ztl9DDoGkor-&$Fe-1`;(;85u2b@$}B((a%A@^FtSvz>+gt5<K|aB@EAFW(-#p8eJX
z!@P1=&brddkK09`w<x~~XDd3qdetw%0H%L)8-qS%ea&N2eYo0}b05Qnh5F@hO;ue%
Og`20VpUXO@geCy~B-b4P

literal 3238
zcmcgveQXnD81G~<=rZIZ%AzA)$`k>w_tk5Am-b++W1XXO*=iX7h}XOKx(n@Hy}QwF
zf9RACHHPpJ18NBR2Qe4|ibhZoFc<;~L4yJbUm?mgNDxIA4NT&DcWrka9ZpSb(suW}
zzvuUSKYjO7ds}mj`+m2}<*I3kMmpd(V!kJgho5?1-*51%Lhoo^;M#e-?lOF+Og6+C
zT&`VftB3fz;q$~ybcybARZlbD6|UDe*ScKpD{{Qc=!z|31vTyEMKuAuxpW4iU9Ql)
zT!t5x0Ru^Zq^yKJ*Y+OpAhH<tET&_4EYk?O<!GM<I{Vt<Lf<lh5k2#`8h0qiLWVRj
zcqErjDLR`Adn{rW{%wje4`M-#WnoW)X%Xp)wIhwH1`yioM+Mv;Kmv@HpaTJ4;8BFc
z2^zyGjKWcpVtqL4Ba!^e1I-~wNE0QtBeF1W4nBoF-G-52F)W+Sdb5;Q)sh&&Fbsy1
z7)hcKf$F`A!RJs#pJ|iiX(B)uG&y6)s)Crbd_wIp!XD_c9ZEV=<W}^2zF_9C9G}4m
zFK&ir0Y#yR%k*d|%L7rsKnkRRV(1V{6tS6Z)ll_rbrkC2aftz#;#jO`qpUCKbkT%v
zG%bf=<g-#1t;c&a0P6s{+M@}eX*qOrW+56wmWFd$qHUg(_yuzEC{XjnhFVoKOBjMt
zu#Fnv4ONS)YKpVlp}mk0q_NQ|Kk~?8SrOH&K0AbsR53fClnX?718^ixQYh|6Nnf1s
zv%Vlp_~zmSi{lOo8(G2-Q$<<o9cCb4*O74|z~YdBaxyrOr3|peMc&}Y#NosiSww-A
zR4vULoSf#90Lv)J5H>6<;)<QYHmWIAgAM_X3Ss5MWppB{&|@}ZgCYPO7C<kSB|i%b
z_@qOW7p7#+9%fM$WRV@V74%6#9|I&bfQvztAOJuaf%c<-4vIV@1sT7YdUK{AMZq0N
zYKfetoB@pPquDyK7~7)g1`h*hiEvQhm7z-n;U@_Sj(8y851{^_FM;wn$)Hduku=35
zXx{FDQuTsMdE$a)NL)T%GQltsPMPsa^r-RLUOLD|n0Z{2;cDem4ulzp2;%^O1Vai0
zf$~hkkK&Y%K!c>8KxtY^5J5ahNxp>D%P@{IG$RZ}WwXY;&di&&=mbwYM8z6gyD!6Q
zIxx3F*i%>wg<WZn9E4koh2;fvVRC{w$v_NYCDMW;`7yQ6<lE~uws>z-FH4{82Fjf_
zfX!l|%IfQ?WMp{_G$i4GjAbj?gr#au<}#iCACs-~%l~z%$2KDWG}Yx-<^P`QVpj^?
zypjYWhZP#KAo!cY*tK#_Mq$iG4pGSb`7?(Pb_s8d01?7&lNHR_=q_`XQau(rK;rO)
z5$0!J(Ro~|xa7`?&f`+WVZA35+2F{$r4izyj`=%n|Dbfj>mT6!G)>VVY^1mp-!A7s
zsw*PH9~9kO1r)SmX^cE5qqbx;HOGOiW>>~>N3(X9Erl0A_yj9exP6*W#TzV8;I&nQ
z_tS&xD+l2{Inokoh<7y~dS#b#5TCrdrge{d^QuYPzMWE=o3h$1?LNM3>bsj(y|$)`
zzc{h>Mt$u!Yi6H(FgQ42`c&cYt+!SV+}uo^j(#0K<Y~EZ;`>1+xbF80d*?jn`h41s
z&#E#XwVmO|UDsw@ua0Vy>)(v-KmXH@_vGrUJ{Z4l$hdLuz<2KqWYaIdc&XAee#QPX
z*PeYZdn9o5aw}RfbZN(_D}$$7D-mYPzP0^d*3EkO?fR-G$8D`XJoCDC5uLwb#n7?$
zr?1}B?_myH-B1^-`tZneo&DSELNhKlPTJ!B`Jt*)72Lq5bNVm+vGnG;6<=(B6&l%k
ze#^eD_SyY!e3II8wu8Nk`*qIV^BZ5NII(K(*{l9V(srHiudmuk%|e!9+z*NQ>(34B
z)}!2w+6!xut##)rS8jYjxHT?uq~X5Ft;(e4lV5#2E%pq)@XreRC_Ukru;~}`pM{pD
Lw#d!}Pd)z^&dvN#

diff --git a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state1.png
index 834b6261fd325fd9c6cd367f68bb72c7d7f57e0f..7185af8426c5949c3803086b2d527f4749ab56bd 100644
GIT binary patch
literal 1343
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=n1Mm}4+t}^JN#w_0|RqfW=KRygs+cPa(=E}VoH8es$NBI
z0a%w!g%yyQn_7~nP?4LHS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|?
z?6?#Z6l{u8(yW49+@RWlJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM
z%Dj@q3f;V7Wr!g#b6ir3lZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HT
zN!CxzNzF~oD=F4D)HBq_rmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib
z=+I=ay~QOd`bY}&jSLJdbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$
z1UZ?YkhRK5%uBabs?beIO-n4zDN(XZE6vHV(TAu&)d>+rHPA*Mi`_OLA6rERr55Ms
zl!C(C&dAcz1{@A3qKMFk=!n3o16dSZM?gk?Nj@+&6=f!S=9Q!t6%+we7Q{xVeYjPi
zn}x7EG%vHn&IoD%nlO?sq?oaCEGj9_FUk%9#{wh>aY{ptfCMK}%7i3)aL@zOy&ad0
zK0FWEah-lG(*ew^5uPrNArYKMr)~^nHWYAWJvY<Y&qJb3h~o}V>kgL7EWH*Ailq+h
z^A<Am^D_7w&!2dHQvSx0OKi(G>%883`Q6&NuO;r?uZ{ouh`GLIM|ms@OMKP+IEA*~
zPjjOi4exBXX%w0BD?5nU@<-Wkv;7AwEz}FnrmhqCQ}ClmM8;CRqUcfO-%T@hS)14|
zy=U#b`s(D{GWkTVAFtE?+I2TPaA<$%#^>0?-&7oL%i44~r6Ng%qt|fGPuA&Cf`_LT
zzh~cmzn<-g#JQBM!X5`1dy3D+$b@Dou=lT?+tht<m%f-rqjI210GGbd3da2r3&j2?
zHO?wv`S(?d%P;t1^*Oa^S?RG_XIwRQm^mt4z5R7>sR<_sU&*TN(Fdc<XEGgJyEj%k
z`uOJmtcEd`^IyFU+i)$_UxD?xdoWl$h4;w=)vNP_tpqbT-CubuF#Y4Pfc=mE0&yFT
dFD=R+m>CZKX4kwm>kz2$@^tlcS?83{1OPSNz?J|2

literal 3208
zcmcgveQXnD7{4OhWCU20s4<va3W{IX`{-SJcecf?9a{~ZOIN}c4dZ(Ew!6^Y9e202
zTaXM02_L~3(1iE_iYERc5{xJ!B={XA1~4&7VhA&U#3&gmi3W-K-d)>WONUbvo8DdD
z=Y5{v^Znf0E!|xmbDHmLMi699yfc=BPt>|@ZiIJZWaJ8bc#LF68?yhzg74vCX0|oa
ziXd-{&Auiy!1XMxv(G?~*|%Dk2YL4SI}oJ#2RYSi_9m9`qMG*!l9~p-VqSyX2ohRS
z)C6%gFwr!~%1YQfapag6m8GzE1(P5WS`-Y(og+Hv8R<%iBdbMD@-B(YX$}>6h>!=S
zfEM#P#o&u!uMNz@-xeA7qBe`UI_zz=G@`wUZZxXu0A+juOe6w9G|2f#CK#lH526%7
zGC1MK{RBq&d79v93N3xSP#ubfbSc9pV@pfw;417LFinle@j{{CEBJk?p2bOy<8Xq)
zDGGxem@%xFLJ?Dpg$_swCI$>qmo-yX71V+i((0fY_CkvtSMpi~TQN%Uf|0|Ef`*em
z!g9@Kl*9_3HmK)p3nUQ-Igkg6X+U1G!mACarfLkRQ$Sa?s}#TxClVDMb#2M#D=G}L
zeF(Zyib`E>BQ>l6JP8bSP!~b_5HxdP*&9>NOvbcI+S;kI3l!xkSgjq0)y|rg!VvU=
zkLo}$RXwGuxrkE^-Q|Fw(Wsq%^xhS+BB=%Az7Sq3VpTvj7KjNZh)@LO$A|z%(J3;(
z(=1QY4-h0z5H1LZvkD=hN^)j+5`lzON2SOhPrxtbMsRUfBft`u1XGw6hMTv7B8hxP
z)$@WGk@G?p;F^*R;giG)U!^kmsG3uCXb_0_LwG%M9hsOa4qC<7s))dV2{0;YDfL2|
zkadwt#GD*)npsjsS>h*kv2=!|Igr7Egv4Sb2>`~4OaKE6D+yeN<pNgdt)7AqWpf~?
zO>(PpJ2174R_P=Xd|WY10Xh(mMIgZ^LzDazDY6pBU`$$+Fd)$c#-%|JBQhK(`bCxo
zQoyc(YVop3CE&7V2wdOaj6aYe1e%5ZX6PyXb*yxO)u?$?m*Hp?axM<b56SX_NQ(p$
zWHB}XC@etIB*yy1AV#ySl%|6cLlI2bk2)|liaKR0$HVT(Te;`~Yh0vCj_ui}3AzES
zsSx&-$3l5lIxPp;?ZLteqBSrhqSeVj3gK1MvLU55b@t>sd7GBM*NNAKFAM<XMian6
zvAOEX8*0WZ2s&uZ!UmbnRB`~T#oWksD*rzQ+YpBSeW<6^BL6hh^+)CZ9_mU}iUWd@
z1yTer7i5|6H;Hj_<?f7fo7FZ^$a?+pu=!w>2zCpQA^bX8S)Ie(YxPoY(B=+O1pMHn
zbuS6Jx2pyFZY=2Dt`?k>Tdv4vgeqyOAy;Iq_q6ju>4C>T5D74h9}b#Yay5UqTm-q^
zm<(SihBXTOP>U^5yHQ81Zz?g@h9l-=#&t%sXO}~T2SB)jnJS+?tySd&3lw;4)#3T{
z@yyr(cuu}29&1hYc6|JF_?8Vs%hHY8U)UIbdDFS#%-M6#g%^yWuU<yy?;ic&HFhO(
zG5Xb(cRX!>tZWEOY})=DlUSI1>C3nK%#&ZNzjom4mPMXLE0UkgJ9Q!X`nkp{7pU)U
zA3u*iG8$jG{MXB#sNO=4o<DhU+cSH77nsvtFSma4UUuud>kdvlb@uo#ROjfrpF{nF
z$JTj~&wl#xiJ4bFUz6UU>*LJm5p5*aKlf;Zrk~m~{QKT-?|yI5*Xl!yn@)Iq`uP0u
z`<vdpY3--)??d|aRd<c|%-uJm^T|Kon#b)rx;5T~ZusWXrELv6XI$Aic4_Fbr5!Jx
zTzgzO1PF*K9yxQHh%9c}@1OXvao2g@p)()#KfH|lZPsS2>Fnry{Z!*CJ2oymo}do5
bv>o*v^j$q%*nPU)`a2MB?~3hjTeaaYGD7f(

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state0.png
index 8ad1f325b352c75d7f7b998f9cb704bbdf06410a..9f76902acf6b3a5ddc8b0fbf20bed46d429065aa 100644
GIT binary patch
delta 1264
zcmZ2p)5<qN#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y
z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h
zaIGk@RmvzSDX`Ml&jgC;<rk&v7nh{yBPq}~GBB{vH89dOveZ|y<5GYDo0Md$lFX8v
zR3tH=oJ~<mnw4Wt$z)p&Ny&=b9IKqfymVWo3f+{{w8YY!5+%E|(wv;h{H!t-KvhV3
zZS=7iXj77zmSz<hlv<phQ(BUlpJ!)eW-@sXm-6IHE*@qOyOB%TJRl>#BtJK`q$o4l
zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X
zX7z`zMSKN@xtynqV@L$&(dpjV!igen%bgd9>xOcr1qJ%#Y+L(i*@D?#E4UA~a+^0r
zAKVpI?({l-#RL8i>LR;J9xmcoR5p8?;88WfE|2KhPQGV8TfQ%_QrkE^#!ln@)0&yz
z=X~Gu{LGclRTl5&Reso${-I(2?(eDl){DzA{Co1OK87i0|7|{oy815{4R(abE&a9o
z6~lw`X>mJFF#i9sVaN5YA`!Rt*J|;0{aj~}kjehzPs)bZ>NW4*Txq!fQKaJ=_w{3C
z`TFr|wTcd$?!N6UTk5bS{QK&AN1QG_m0@?w=dt{-_0TVm<3S3y7D^vnduG~qhVUnA
zBxMsFwlFJfJ?tb?FH?P6QsAx4omI6-W}Ds5S#Dpvman6XF=8uooX!-tpqCGpzsXpT
zt10ld!7RvnLBn*e`?2CIe~QX#mh19G+?ra<u(a%&l;f{E)0q9!WrWqs4qWnExv*@O
z&*nLk*_6_ctrWIYxK%kpX?vD>P>z%z^UaO2-&X#LIW?WFU)RaITDyL$cg3u|E$`#p
zie5zk4Xg}^d0Vw3t;PM_*6p7s1}of(UU`>E#D2Oz^SU|F(yx^*6Ee5I4bAFrUeI`D
z=@T=DZ7i`;uT~zYdm++MrZoM*7q6|dekJZp#ZFfiZnc;o<sW+O)9U3b+MI!|*uU?-
z#FCRARGmY*=4_P}v}iYEw-Bngc>RBw!<OK<o}(-I?N;Tp`AK!~s7p19f0ouON}G3m
z663{lu5K}J12g}cR$sL1x#f0B)M4fS54+suGfp*R<S#AL)?q()nD^<r$E_2O9V|@x
zRQRmQncc;Dy41?K#k^iT4{x4GNe(;SeS7luwj%p!+E?pkHf*_le#NrAv88fuS@j1a
z7ynX_exvn#4&%O`-@-*>WeXTSEI0maskib<#A|Q1SvRv4wyZdJ_@17$u~fmgzpv^F
z3?mhvH>}rL^IbXRpOT=}hnG8J)}F7vylT7riqE@l=_+J9bXW)_$j<qE>wQ#xL3)MM
zt(%ASM4tlfP3~De*VuZIm3h-=Cxv&e-+oCsB%EVtFT0jB-J$ltPxp;eZ~dIembu}5
u@!agPZy%DK(;J+vt2<}u{i^!>^qRceAG>9SyFc`U$}dk>KbLh*2~7a(5g;u9

literal 15911
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
Sxvf3QT{LY*!MjuEzw|%x_1DV)

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state1.png
index e724d3b9f78d115d79ca3ded3230db216cfe4056..0d651dedf6e8fd656889f5362d6dfe8439c31e04 100644
GIT binary patch
delta 1257
zcmeCJ`Num!#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y
z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h
zaIGk@RmvzSDX`Ml&jgC;<rk&v7nh{yBPq}~GBB{vH89dOveZ|y<5GYDo0Md$lFX8v
zR3tH=oJ~<mnw4Wt$z)p&Ny&=b9IKqfymVWo3f+{{w8YY!5+%E|(wv;h{H!t-KvhV3
zZS=7iXj77zmSz<hlv<phQ(BUlpJ!)eW-@sXm-6IHE*@qOyOB%TJRl>#BtJK`q$o4l
zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X
zX7z`zMSKN@xwxl`V@L$&(dpj)!GR*J`q!npG6D=QIH`!e6fyOau(&9oc235^urN!h
zxHOIFA1nJm0ikxj-p-GPx&c8<wGzoa6Si&Ka_@b`^|Q~swEMTsSz_5=Ymxna>vg;D
z4=R`6kc+AL^XbY1#{VBSY_KVil4JPy=3Wp}&i?xQd<_3GzPw~D$lvG5|LrQ{fq0!g
zMH89-{q)>;Z@Wmut?m1!v>mC5m)Wp|*``uC^sDf`@=U##-)&eI{eAVe^VQ$)+h=vj
zeE4+g-0gW*3b$tWE;IjKb?2!JyW9IY#SgN7ew{dPslyg$^QPasBGxglJ0W?w>QF-l
zyF*rctA)k4b;k7yw=D0hsx2$r<##S}``Xof9c7FWTbbj|On199^NRn?iw@U=6mBuv
zdc195iaQm4N0;Nr*EeVK!h!D5e$L?aw&!Zl%#HDUHpXvfSZrjTR_4XKwfN+g)0UYE
zMOAaGCNeLY+bps()Ouo4aIw@0zc)ty?6sQVQdZkIbl=XsqW5rR{db{#za>ttOtwtO
ze7<1Et<oJ;E$;73xBs0OtZ>VE<y|Hb^Ha|m!_Tel{WuY5=k3>_S^dom8ozA)DBF<3
zxyyuQ<$<~vA{}K)(;s~C+-g4OMW2`Mw9k*S3}?>synd}{_2H1i3uOe}&X(Waz9XgL
zq`*|A^qgpxb4h0yr?H&-v0t-Z;O!Lg+|+lI`(NE|oXn<lxU=~{_s(2#OWWtADGpmU
zPZSHU4vDHi8)w45c-zEHtO2j=@4PGI-;(OEr95c2=rrc%1<pHne>~*z_<_a5Q*8dm
zmC4l?&)ss&+Fq?`*pjZix$JJm+c*C$5;C`+U$L!x_bZ#8D^133UtLzs*?eu)`?>WO
z^XD@+*vCiAOP}o3yD`q_!kHM}g|4M?_ug*0xR^0L-$Z)l%8yc(>^lTkG~BOJoZsW}
z;=p^ov)kGBl+S(lt+rHd#a$*Nww4ZMMz#lQwttIiKDRH@vij+#8}AQ&uPMqh2`=V~
zxOGz`+&X)kYiS<K^Hzs9-ER&?9Qc~Q)^_g3P|Ld#^L%`+&iLK%xj#vL>udg(p3Q&f
pMMtOb%S#tZf0n=M#d7Ws|C$S?y64`_-w7(XJYD@<);T3K0RWbNBNhMv

literal 15885
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

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/full.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/full.png
index 4cfc4c45da5178cb9fb00132bd47b9570301ad6b..ffb90335d936ae9ca6c0a0287ae2d91308cd7df3 100644
GIT binary patch
literal 3504
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
Qy7jkYYHWclG&&pnKc>tP4FCWD

delta 2486
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
AM*si-

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/meta.json
index f66453a57d8..f8bf1f627ed 100644
--- a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9c7d509354ee030300f63c701da63c17928c3b3b",
+  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/9c7d509354ee030300f63c701da63c17928c3b3b, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow0.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow0.png
index faeb000b4af4ee778ba66b9e19d9156b78305548..e73ef0c5aff3d10d3c2abe08680b75b88f6cba3f 100644
GIT binary patch
literal 4096
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

delta 2924
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
WI1)>oZmF#R0000<MNUMnLSTYt!GLlA

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow1.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow1.png
index 46547d6b996bc58da7c10e55cafb0fd78fcd9801..9aa576f62533dfa75dd80ce84ba490145c87f50a 100644
GIT binary patch
literal 2864
zcmZ`*3pms3AOCH}%q@<}t&TOKXf}6dmRp5Txs+>~Z5XqyZEQ?h9id3h#*;89>58O7
zN=2P=$)$2XE)k+~NhCr~|Be1#&eM6H=e>P@pU?O5dEfVWe#dva?U0vImjM7k-pSFy
zT{PQ>yR?*Oyh=X!LNtMx?mO&&;^uX4L>mQ?w^OjIE1)M@ON+X=wRi|bBaH6o!vug$
zS>g^-!E7i600}zT)0^e(>VhHAA`I|ES`f*A6G2~QVL2GlGJ?dy!#NQYDig!8Ml2&R
zqP5tJLco_HtZ-|Dx9e`WJ&i$vn;D=D&<LCi91h1ah`|_lhwWeKqMbD&l*OWBP$)K=
zZNN4*pfN&FhL)C=D6|pE$OtJyAeqrr7M_EoGPPEm{NIlQiAi9P=`1ph3K#pu2hk!~
z)(C_+(6_ddCz0?i4n2}VS&l*^phy%_1c}OGq6`fTQNQA`$id$;q%yzCArb~9{vx8G
ze@Szqvj`?4rM7WI`FyQUlqg|2E|Wz>{Qy82q0tsdv=P$C67{V<QTkXS0mCA*D5PcK
zzSXm=pe=><vsH{2OF$uumBmo-)DUX~2T3Fa<0C071dc&xlc_`++Z>Bpf&ENhvHt88
zi~2<ZSaI1HA9oUyMu`*)k25ke!7hvOllA)%tT4QP$@tOwZ^rIW8jB{nQVcS|iOM1|
z=nT>IT8a2I-hU(h?dyARFDjXZGy3Y_U*;cJKO7Inmce4v7~!7FNAZJ>|B3nPXGPN=
z?&!(`Sk_<k0&p@|)VJ4!lS!{AJqrNPtxgWMo*dAGUk`1ym+DsLyE_w6+#}TREnB1`
zj-M|}=hvv@gMwm>v7c;W4RvbfkD8~zvUsqp%=uM{TH4sxg1bq1HJhH<MF0gw{?0o$
zMZ6(Z_DxLo3TfT6^%rmYv74iyWdcfb&Ww=OJhv$9VH-50@y<%z*p;e4T=2Q17U5oL
zSg2r>w)V7dlif5exGJ{iir;u;fa4A4g2pdiON;qPp`WRTvFp<0f&R2-Ezc45OEF&}
zH=oT>hV?`<hM<>6bz^zaTQ&3A$=q_Uv*Tx#Dij+ObJK=3)ozqs+eYF%EXD4WsaJc@
zaxV7rRvRCjQ(s-2PJe6N<9&%v-7bPrH;TD(6{&8a4<8izh=@c?*FVOjDuu^On3zG_
zs;d(TiM6|$Ze}3)wk|=b0a<G`%G-khPtvtVj5YC1x`DSUoqLypKQEd<ATK2ETYXga
zyJ4GNR(R#Dk)cLzp#b&atV(1%dbBwBgWdFEh=;m7=b8LnNxAj878e=~1`o(3w6Eb`
zTV2x@dBw?Oraoh{*BJKpOGSBDM~U({b8-H|Dr{|N7PY%PrGfBgW?OpBX+egUyS8M<
zE5Yf9)77v6xj$Qzf(W)#il8YQJI~8chXtpP^8A_lk877=344Wdf8;7-<Dk_ld;%^D
zO$Ud?&%U{klZ4fyxNt!}PLl;5F1`a08+i%GLh`Nm`t^OEl21b203I}dLp<&sgf}o#
zFO2?tAL_<yrLUWZ%h%a3(5L(+b>wE&C`;jFUl*RYk}rqiUd34;ye@qx_y>Q+KR2bK
z{@}>w5o<cQx5n<~DaYr~B_QPY@wJMW*3b7nxJLtNccu`SEe9YbJCpuiQYcG4Xref@
zso%I{A|zc>$^8^)GVYDGgw2ScGCNLj;9Mi01%ezO097bIb7q9RU{rbB0??}2rt$lM
zy?pMQbp4ZA00b&UaJ4!a=rq}=@yN;))HVK`lQbkP|I(S!CaZTrr@DcjnSb!kwANgU
zPtjjq8-VJ+{p0rCo3PxcWvN)aw&d_aKp6Od+SnGk1uQSoq^oO_c5STNXHhIGyZqXa
z)J-=NUYg}7duRKb7O53h<b<Tx241&*-GL0r>0XujX=Bq#;Tfgu-0PjgWYf{k{z=U>
zX65GkF$t>2&)wcJUEcufxV9w>+_ss3?`z$|m}y*(TT3fpn=5P0#LkS=y88ybFRA4}
zRpE2h_7<DGHAoYtow``89~R|l4n38Ue1J3dAoI64f3&>@2R3+Yc#V9ERhsVQ#5<Dy
zhX}ndo;fNI=d+5Z?4mr4QJU)b^VwJPOzRv77KTswcc=5xP#Kl6EWH-E>&AbW_eNE(
z?Dwwg^(1<jroXLm{`9acFxr^#RuQF*Dy`s$T$%)<I>*1T3be-U7~Mk=zS}QXR)^nU
zS4nDp-21Mf2oR<!G|u|<pO_G01tvwdd)`<)Up?7#*c?_gG^4NC*#gdM7x|bhK&cM1
zj_skkCL=gfXOx<7bMMq}x{r@_^a=rAc--t2*i?5Hy&OpMg9@eQA;y2t#4aQ}(WW-d
z1iYt4+r&);Cj}~+#I!+pW3p0RHpmiKq#mT{_d&(;>!uydJ;`XV?b%vKI<Z|6t4u-7
z*1%}@;rBDiT*!PXew*<w>-oW3q4r_mYC!wJy^m~l-F8^-{1jxBoBMfPp$1wQeUyWO
zfxKs$M<%6=qoPjGsI)e{EK8l1wJi$?+=BAmi>2Gr{b*%FZ4fvIz1r_+YpAz^#tGZ=
z$aY!hhwuzP2hhXRdADfq{dZ+X8v`fVVPL?-C35}`!Fr2{V-~+h%i?oi*$ux7ewuyT
zi*OrM*^sXTj7E<pK3~O?S91BXYY{{Z1U>_yFq`Tu&5|~`jwRkkglI6`I&gRdnq<1A
z=Yw65_3RN%z#1RIWsl&eB*1g^c>7oPtTi{&XSj<hCkKT?Og;Z2uk=(8U6|W{{WMp;
zS!MsZ9`?1xww7mu`gtEEVl&>lmloHm-=Sna`HT8utM&EQJ^?CYl5d;T_Zj9suZHnl
z|2%hp19y%y{bA7SL2}hx*TL)E(A8<F_Y-ulB7T$51<bbjTKTpOze-U(q~oAd+!P-*
z@w)t}N^fmglI$HICOdP)TrLMN!A^TRetMsw@6wuzSsW~xWvgoS|AY7o=%w2ps(NW}
z&x_n!7q2!}lDQ#ewhGoqbmd-2(XP&t@DEpAy4#`oB@C>Zi?88cI@U}$$XDkxGr*n0
zAl0<pS8?xj^!8=??Jl;UoRAAx5}ca2+IeAn?xX!zjbaRhryr^3Rv(rw8QIxB+E)SA
z1#-?IC;W)^W~O7i+!Jy)ZXZ<+D8*jv!pTrd!5nm~siSlbP^ctO?dTtt7O1CB+@~3>
zORRLQ7)p`QOasTjcO0t14?yN;CHPNzOJ%*|#Q6R=pvoXw!yt~A?=}F*+YlZnKC%%g
dWDvR}8M9{L<%^57L*l<xr)_Qy#dZgd{tusLt*!t7

delta 1681
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
bfPVqSIJvrXFH-OT015yANkvXXu0mjf<2NzO

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow2.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow2.png
index faeb000b4af4ee778ba66b9e19d9156b78305548..e73ef0c5aff3d10d3c2abe08680b75b88f6cba3f 100644
GIT binary patch
literal 4096
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

delta 2924
zcmV-y3zPJKAo3QFBYz7yNkl<Zc%0Q+YiwLc75--CK6lslde`q)>^%I~G=8N?Y=_dS
zs#Kv?1yLlB08x-CXpo9PMS>z|k*Z42{wWfm{2(enXoX6Jgep);X++gFY2Cz*9ow-T
zzt`T_&f2^7uJ_)(_s;OcUT5PvAbK}l_mi$xcXemZoNvyVnSXoExdeH}m;K**X205m
z5u<<mzb35}W5yNe)FS|(UOi-wrUt#)?OOCUKAWDTudbZ_nH%}UP2*hPsq*KaY1UeC
z^ucz=ia7}YSh%zltUOXOP8iXJ1M|I)-mN))s5=D!f`b9TrHNkO@wOAZ`;CTY-N>h|
zHE@X$qaST2kAI{i=T;bzkes_1DXs{WEI1}8w*V{dlpa6SZN_I4n&6NLg<`EbzT<5t
zax#9&y$Y^T03cm{vKXu9lLwCdqH(pbT`ScpB_ClFL;{2jEdOiWy!!J+353vw?+5MR
z=XF`Dlz}pL!uJ9JAdFB?oy->BON+(7uk-LLG3uBi%71i1!NHuAfVpUCz9uyd09Rj{
zXMr~hja<miy9)q-6?NFPS0d>7%RwXFpYk&gmE=OIF%R`JAN4GR7j$2fDzG_T8VnVR
z+2JrF)cqQkcLJKUR=hv(F7`cKMtDldaxue&k1h}Z-awCs6du-C=!*x4S|LjyM70xK
zb&^7@u79tRos>}B%FnwC%%rc0ul9VyFcxe`#Y_#}<F$_s9C!3u*`7Wf^%F{0v!74d
z8>L>|yOJyUdAEQpP|83Oqb3Ic5W;pU4*<I4Szg(=5#W|^RyJ+~TnlyEfm<{vjbfy4
zR0V*gvk3sehr<_kGi@_-`Q>0ZW<>*jIT&^;KY#B8j2Qj2<!F-?@83}T9XghVSM;vV
z9vc8+Ry2T{if<!kMJxSsFcPz(m2Tzdoq!CA+CAxWUmqkDoh4}ipfcgRDVb3o05ZRB
zuxALMG9g~-!`9a3fPw>?O2({c4FEM}MQi+Wa0P&xb-9!4wu4-NFhU|9MCH5B)FUx!
z?tdJU>X(DdF)Lc?mxIf>mYsJ3LV5?k+B+syb_Z>(lA-*e0)FAr`>GOT+s|Z_k6F>u
zT+7cp0h8t^X*tno0e~Ek0RUZ{J@)#L=>VGxVP@v<1PQK>l4t7w@uQvpX+*CxL~2$e
zdR>`Xxw!A~V&BG;#mwtgs`Yo(o`F;INq-^0fBp8eMX#^E{A0IcaDzKy0olp}fLg-j
z*u@kBATrNHE-!1%TB~{6PCg~v5dt#GXSOgW1;>9>x0n0lEIDr4$*HurvaQq@NnOr+
zK*luz8qw=^-e+b$vyWS=HUOaFWHBFjazXYUP-9djY?tmnb+{%VWA4DM%4bll1b^q!
zF)qv{n>$G^2q9wkp7Mj7xWG=I&wvovTfagsq;$DI&g#DxFt7DaDY=lF3*>}=ojwoT
zR2~3?03CaKS}JWXaw;Avln<V0u$MlJ$t`+Y-mM`gYrsyQ&sKgl9jyj{{m1Ll-bPiW
z8exP&Dm(7CCe6{${vx=W&u5fgO@BwLi&(M!u|^zupZN@2M}!JnwSt0XRRZ8-{;NV!
ziYmlk1AmgpL<mbrDM0nq%P_(gj0Ic0F&{;ZQlEA!-z{7dzzuGUzA~p(gi6v>A=~{e
z_s3ajr{CJTO%Vy|!fR`!pi`69BS}%+QHJ5Oea>yV{nX$-CP;`=akw;@ntx3*y;e>F
zz|57fyzfY@!%YDQ!2t+v38)nk8Tj@BD?U^}n3qZbG}rQ7!ZiWyr>hIN5Mup`VO{w_
z#A{g=x$ktFL1n_cO{zi(p^0%bE%~T3_``@!BtR*X62cKa0C_(QxhA0hyYmSEh!1bj
zK&LnD7%KWtg=ta9!vUC727iPA=cZ6r!!fJ&{_<qx+zKn}^1BtC6SzMI2tg(Xrsbj*
zT{tODs7h$ry#-`)U|ORpksuL5B_fRvT~n$~l&(7|?yGtr;O+nSfZC$9yVt-aT<^n=
z7C-jFezi#qr}}OoGo*L$tbLyBQx0O(7ytm&C=Do}MVLyD;q}#*pMP>Y1~+hR0SZxV
zg{YQFbW0_=^}kyH;q(*$z~nhe@413&3poGq)UyjCi*i*<xkVVE06-|58-sDRw7n>^
z%{hY~4f&3Kp-otEM*u*ycb&eq_BXt^`1EJn0szpemU1UCW+)IsKnO8?c}@<73Qe9C
zHn(8%v`B|SA!G5awSS}$wyovfxLwj!D6*?U@&(tsK*yPC4FHzjOjt92Se3zn&;9C%
zkP4|%-0e{Sz**-!)|ay8{~TA>hYhKuqsSDF5ZD71Dy|9W`_8-p01G3Fa_!Md+u7ja
z;!h`}(&m6oej80>p5vxq%tIaDA(dHihfsxD$U$7+EnK?*p?@G#Lo;&q;c}ZB98@N(
z>O?7@8k&)@Il}}1p&F&JD;sj-Gv&_Gc$B19?7T;$fm{$E6ZJr6JtHzviA+>b$V4Xc
z;fD@U?*UZ}-s_d+Vy3-w@tmwzD1vWrQRpq=6LaHe(pqz&gDbdpfu+l<-t2sRGL;Nu
z?zts4Vpg=W?SIt4wR@KD<J=OCUM+dmGAVhmxH0+0<v+VlZ@YzS3(zIcGPi`2xw7;3
znM9`KWt4et20;l$-roW<$b}!8J1%79@*=awqzM31m*x~gfz+IB0zmJ?d9^`l%zI$u
zPAo)b%!-z-Iq``lGg1x!Jk5DSXKgw*nUE6WCW%cZq<>=vy3G-zKko~n>jCVRzfU;p
z1Hfjq*yP4`iEB~4&mMbzNhzxL<$dNea7{pV5kt(1mM5I`Ar8K+v`V$)&Nh0joc9Az
z2Dvanb&G`ZgtI=9t$a3=pv10EE=i3~m!(%PY~(!<l0i;<aLepR6r#4=?wN(RSESmG
z3R|z0Nq<2|wJ%Ndsv*6D=R&?4<YEm7tU2*%4(`oPlVzY0y-qG>wCaI?0|355iVOfJ
zI=fPPAuo{k0X$m#*b6^-@Rw;K6LRFGDkc1<n6>;?!e%;gW_srXyA?uZSBZUPqUT9B
z^7Fn8?N^(`$OmIG0657_kC?x5T{5oQ%I&Ja{C{#VvSdce*PQsYTlsk>U^vxBTTV1u
zk@HbGF=~kM-&~if@2aqwO0Zzg*6h}1$&8fm=5C(^c_$!)x(7?`z9+(@=1T#SZk7t6
zO05g;Bq5_buzAjKD|gQjV6AZh+>$dCz^x=?E1xUu2?C@-Mk42<a@SuQu=4)RGXjw|
z-+wKt)Vgrkn6ApT^1vP-Af$Kj!LuV$Wp~gbj3ChC;miGTM%ZR036WqfnUQi1K9vif
z--)~vuw5s}A=L8C@I+QL8H>qCby}Dsz^&ytxkBCv$Ohm1R3J0+d`tN;0HB~rV3Pz2
z+5mjKK<kqr?_Z4UQx1}$3s=?V)<%E>YkvcV79NkF`H_12?vo({Kpg;ZQ)DKK2qBV$
zkdn14MiNu*<ma7$QDXpKyZ4(|z7)gSa1g5#>qgyORrc~f6Sh(&IlyM{<k*336Im8J
zHhonO-4*(H^~wK<J>ddWCZfE%7=5Q^QF5fn=B6N8wd^pJFs2gL73#6q=aVW^34b9J
zd@Y>t9&Qa8MeUmFm#Ms4000Of1Z5Q73Z1ME8{W=8)*7CA#gEPPK*TSn%#EocF?~Af
zA&k(wf8StHnJ5L#nu6!t$=(wL5JoWe&Llbdc(b^6W)Y*$EirD27@;={C}NWd1X>C<
z0N{fs#<jA;K@))M8l$|sK#SIn*JaMWN)L9`^Z1}4s_qYnp}`?p@==xfsK$I$8yg)j
z473z5Y$aLBLIHDTaLxlET))lkh1cO18<fWF&*y8D26$-!X42Pytu67t)gQPmxBm}Y
WI1)>oZmF#R0000<MNUMnLSTYt!GLlA

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow3.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow3.png
index 46547d6b996bc58da7c10e55cafb0fd78fcd9801..9aa576f62533dfa75dd80ce84ba490145c87f50a 100644
GIT binary patch
literal 2864
zcmZ`*3pms3AOCH}%q@<}t&TOKXf}6dmRp5Txs+>~Z5XqyZEQ?h9id3h#*;89>58O7
zN=2P=$)$2XE)k+~NhCr~|Be1#&eM6H=e>P@pU?O5dEfVWe#dva?U0vImjM7k-pSFy
zT{PQ>yR?*Oyh=X!LNtMx?mO&&;^uX4L>mQ?w^OjIE1)M@ON+X=wRi|bBaH6o!vug$
zS>g^-!E7i600}zT)0^e(>VhHAA`I|ES`f*A6G2~QVL2GlGJ?dy!#NQYDig!8Ml2&R
zqP5tJLco_HtZ-|Dx9e`WJ&i$vn;D=D&<LCi91h1ah`|_lhwWeKqMbD&l*OWBP$)K=
zZNN4*pfN&FhL)C=D6|pE$OtJyAeqrr7M_EoGPPEm{NIlQiAi9P=`1ph3K#pu2hk!~
z)(C_+(6_ddCz0?i4n2}VS&l*^phy%_1c}OGq6`fTQNQA`$id$;q%yzCArb~9{vx8G
ze@Szqvj`?4rM7WI`FyQUlqg|2E|Wz>{Qy82q0tsdv=P$C67{V<QTkXS0mCA*D5PcK
zzSXm=pe=><vsH{2OF$uumBmo-)DUX~2T3Fa<0C071dc&xlc_`++Z>Bpf&ENhvHt88
zi~2<ZSaI1HA9oUyMu`*)k25ke!7hvOllA)%tT4QP$@tOwZ^rIW8jB{nQVcS|iOM1|
z=nT>IT8a2I-hU(h?dyARFDjXZGy3Y_U*;cJKO7Inmce4v7~!7FNAZJ>|B3nPXGPN=
z?&!(`Sk_<k0&p@|)VJ4!lS!{AJqrNPtxgWMo*dAGUk`1ym+DsLyE_w6+#}TREnB1`
zj-M|}=hvv@gMwm>v7c;W4RvbfkD8~zvUsqp%=uM{TH4sxg1bq1HJhH<MF0gw{?0o$
zMZ6(Z_DxLo3TfT6^%rmYv74iyWdcfb&Ww=OJhv$9VH-50@y<%z*p;e4T=2Q17U5oL
zSg2r>w)V7dlif5exGJ{iir;u;fa4A4g2pdiON;qPp`WRTvFp<0f&R2-Ezc45OEF&}
zH=oT>hV?`<hM<>6bz^zaTQ&3A$=q_Uv*Tx#Dij+ObJK=3)ozqs+eYF%EXD4WsaJc@
zaxV7rRvRCjQ(s-2PJe6N<9&%v-7bPrH;TD(6{&8a4<8izh=@c?*FVOjDuu^On3zG_
zs;d(TiM6|$Ze}3)wk|=b0a<G`%G-khPtvtVj5YC1x`DSUoqLypKQEd<ATK2ETYXga
zyJ4GNR(R#Dk)cLzp#b&atV(1%dbBwBgWdFEh=;m7=b8LnNxAj878e=~1`o(3w6Eb`
zTV2x@dBw?Oraoh{*BJKpOGSBDM~U({b8-H|Dr{|N7PY%PrGfBgW?OpBX+egUyS8M<
zE5Yf9)77v6xj$Qzf(W)#il8YQJI~8chXtpP^8A_lk877=344Wdf8;7-<Dk_ld;%^D
zO$Ud?&%U{klZ4fyxNt!}PLl;5F1`a08+i%GLh`Nm`t^OEl21b203I}dLp<&sgf}o#
zFO2?tAL_<yrLUWZ%h%a3(5L(+b>wE&C`;jFUl*RYk}rqiUd34;ye@qx_y>Q+KR2bK
z{@}>w5o<cQx5n<~DaYr~B_QPY@wJMW*3b7nxJLtNccu`SEe9YbJCpuiQYcG4Xref@
zso%I{A|zc>$^8^)GVYDGgw2ScGCNLj;9Mi01%ezO097bIb7q9RU{rbB0??}2rt$lM
zy?pMQbp4ZA00b&UaJ4!a=rq}=@yN;))HVK`lQbkP|I(S!CaZTrr@DcjnSb!kwANgU
zPtjjq8-VJ+{p0rCo3PxcWvN)aw&d_aKp6Od+SnGk1uQSoq^oO_c5STNXHhIGyZqXa
z)J-=NUYg}7duRKb7O53h<b<Tx241&*-GL0r>0XujX=Bq#;Tfgu-0PjgWYf{k{z=U>
zX65GkF$t>2&)wcJUEcufxV9w>+_ss3?`z$|m}y*(TT3fpn=5P0#LkS=y88ybFRA4}
zRpE2h_7<DGHAoYtow``89~R|l4n38Ue1J3dAoI64f3&>@2R3+Yc#V9ERhsVQ#5<Dy
zhX}ndo;fNI=d+5Z?4mr4QJU)b^VwJPOzRv77KTswcc=5xP#Kl6EWH-E>&AbW_eNE(
z?Dwwg^(1<jroXLm{`9acFxr^#RuQF*Dy`s$T$%)<I>*1T3be-U7~Mk=zS}QXR)^nU
zS4nDp-21Mf2oR<!G|u|<pO_G01tvwdd)`<)Up?7#*c?_gG^4NC*#gdM7x|bhK&cM1
zj_skkCL=gfXOx<7bMMq}x{r@_^a=rAc--t2*i?5Hy&OpMg9@eQA;y2t#4aQ}(WW-d
z1iYt4+r&);Cj}~+#I!+pW3p0RHpmiKq#mT{_d&(;>!uydJ;`XV?b%vKI<Z|6t4u-7
z*1%}@;rBDiT*!PXew*<w>-oW3q4r_mYC!wJy^m~l-F8^-{1jxBoBMfPp$1wQeUyWO
zfxKs$M<%6=qoPjGsI)e{EK8l1wJi$?+=BAmi>2Gr{b*%FZ4fvIz1r_+YpAz^#tGZ=
z$aY!hhwuzP2hhXRdADfq{dZ+X8v`fVVPL?-C35}`!Fr2{V-~+h%i?oi*$ux7ewuyT
zi*OrM*^sXTj7E<pK3~O?S91BXYY{{Z1U>_yFq`Tu&5|~`jwRkkglI6`I&gRdnq<1A
z=Yw65_3RN%z#1RIWsl&eB*1g^c>7oPtTi{&XSj<hCkKT?Og;Z2uk=(8U6|W{{WMp;
zS!MsZ9`?1xww7mu`gtEEVl&>lmloHm-=Sna`HT8utM&EQJ^?CYl5d;T_Zj9suZHnl
z|2%hp19y%y{bA7SL2}hx*TL)E(A8<F_Y-ulB7T$51<bbjTKTpOze-U(q~oAd+!P-*
z@w)t}N^fmglI$HICOdP)TrLMN!A^TRetMsw@6wuzSsW~xWvgoS|AY7o=%w2ps(NW}
z&x_n!7q2!}lDQ#ewhGoqbmd-2(XP&t@DEpAy4#`oB@C>Zi?88cI@U}$$XDkxGr*n0
zAl0<pS8?xj^!8=??Jl;UoRAAx5}ca2+IeAn?xX!zjbaRhryr^3Rv(rw8QIxB+E)SA
z1#-?IC;W)^W~O7i+!Jy)ZXZ<+D8*jv!pTrd!5nm~siSlbP^ctO?dTtt7O1CB+@~3>
zORRLQ7)p`QOasTjcO0t14?yN;CHPNzOJ%*|#Q6R=pvoXw!yt~A?=}F*+YlZnKC%%g
dWDvR}8M9{L<%^57L*l<xr)_Qy#dZgd{tusLt*!t7

delta 1681
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
bfPVqSIJvrXFH-OT015yANkvXXu0mjf<2NzO

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow4.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow4.png
index 66dddef140ffd3fc8b6ecaa428f7de87b7bfe741..695cf7e2ce482846befeb4e4b20427fb8bb9f96a 100644
GIT binary patch
literal 2888
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
D)xy1P

delta 1730
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
Yzrx(A<|rn?4FCWD07*qoM6N<$f_`^Jng9R*

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow5.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow5.png
index 8ebeed21a9fceba5d6cd550f7ab6d33888cecb9d..6654332c366a894ea342a298c4a0e2ceb97e5d52 100644
GIT binary patch
literal 3021
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

delta 1680
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
a`~xcTWAD^5B)R|q00{s|MNUMnLSTZiLm?pm

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow6.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow6.png
index 66dddef140ffd3fc8b6ecaa428f7de87b7bfe741..695cf7e2ce482846befeb4e4b20427fb8bb9f96a 100644
GIT binary patch
literal 2888
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
D)xy1P

delta 1730
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
Yzrx(A<|rn?4FCWD07*qoM6N<$f_`^Jng9R*

diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow7.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow7.png
index 4d0ff4bf7318bde3f96e034058039551ad57141a..e140c63e4ff524b62681e16ba770560f8de3cf88 100644
GIT binary patch
literal 2262
zcmZ`*3pkYN9{+}s%gN5T?6E5`%|w!!ZwzN+8bTvxT`HVhmM|A)YHrPZbBx>WR8Gjy
zMI@I>$3`X-wlrdOL7rAoiB6OaizhY~wM4tlH^Y&7+V^?h+yDFh{{R2`d*A=_d>K0f
zybTS^4FCWzr1?+-;n`i?^;W@S1!sRBJR!t^-kyN6-Qp#@`HU4xi}m*h?BKN?+|}(-
zP!2rm3w^@G0AO37?g%sTx*7n`7IK0^p-_K6GDE;4#4rVP7D37rYFHF08D8>OPz*-O
z<MPF1sVi24Aj5058N^~V5NMw(Hq?J7W}867!hA&_5{Otg0}KX35iw)Qfz<6wba>~A
zWkZmV41)3T@q~Csf<P1pI=HyFfJ72VBH>{KUYx*(Vx)M!7`N!;|9+?}F+;==LL31f
zqxKs^7f2viELI(8xh>|&WGu%KN<>^u6ea^?aalYT9}<HO1PAa_JctwfK105ENe);T
zQ2hm_5kE<z2_c3Ptdy4&&S&X-aH0%NTrtE1R{%f~k?4#klJF!KaQS?2`V=OE3~?YX
zOC#L!c{B=oaG?*aYP?zkE=R2_nH$58bHz&WOjc}+gbQKaM8bFupDBpnOaT{RAJP}C
zA9|&LpGbhBJ~lZlkR=vyC2HZ_NMAWoG-7;UeSZaujL=UqR$4!1>|_fd0sN#y90rXK
zu|z@<{Ja(;F2(z6#K*qg2mdFZ1G$lw9DHP6!CG-WWDgM(FA(hu)?CF39sd%u<Y!US
z6>oI005tl;72sw-0hg=E&ETY}<}3gphiFufU@78NVOxNyhw0%u6EAO{$6uTpe{B?@
zk_>j2L1TB!elvpNp0VY((s9%@MRIe8g<aR`&MwC;;)!EH&&&2+|8pTiq5F3;yM=~?
zcjIBtZVMM$??k_9@0*(JnQFiFdsgq*q37js@5D|GSL+gIp3EG&yawD#Nhu!PP`9Um
zIdx@3i@R^AZ=#<aC%kgyyOY`-mMYY2W!HSt_erCM2$}8|H+9Dfw<&MP-B2Q+Bb}^+
z(s%h|{Y-_4Ou^V6QBYl&Cf6N9rES#TxT{^TNnt{4&$TYeD6hR48Bz=ksP5*5<e8zK
z+OC)5zIM;~X%t!2Z=tW6>wkFnNM6VN)23Yhw-PO%M6SHq`>8l*H!yzsRhfq;Y?8^g
z8-yFvZy&PVlu9j$=YJDc3{+O+;*Om}OP-a*?0vLlf>c9B*j$Ui`uU!dRW%sq%=Ezi
z*$K?iM|n5(2#0kNaHBnPg$a6dmap%@K;uiRI8CNcu6;Rk1OR-rM1(ouhx(zNX5Q^y
zR<bTvZM{7^+ym-Sq5bQux1Jf%xfR!P?~HHo<K(uVr)PE?X`i-EisR*4V5FPeH>RI>
z(_$$b%8J@7`s~Hz?Hf2k;_yIsT;&A2UX?R_n#ZcvEq(FSXZ3;LvzgPig%k8h2LwRJ
z0a@KFdG5pBp>_4_sCr;L&eSCO`LOnXBq_k0cwNc)4K?|I(8n`JQcdam?d1!`<dz0y
z!dNPR7dV#|I`#H;UzjU+(t^~pL??P8n=`VL(Y@h268uwJ-gH`;nE>psOKw=~W<#n~
zw!3wayvk@kfnW5a4qZ93_by!vDB$;%ZkR1^9X&HNDKA$z5NrVSM)W)o6|a9!7}IDS
z7>N(_lkK-R`d5O{`aN1-z6@);xcA-(IbDlB(0SVkNOZ;aO|+@<0U4a4*M0pI#M+sM
z`iSs8VLD1!gzG>5R#{m4Ybs#BqiD@wo=48Pw+EVA^Fw-o`rlb-MH$Oj5mishzkZR1
z%4q3YV^{52uCUJBcGJ20{=%tSoyq9Rw>MUwsX49yj+Yh;4xpo_@6`4m(;_=ReSYuw
z1E;N#Tknt2wU8Y)y!3&?E=C0W<rK%s<G2SwYYWWFRNwXt(zSj?08B923VpOmE2i;}
z1A&o-VSeu6BZ!jvk?f{j9S!E^1|2i?tKPMsuA<mARf)`q5JrTbEW-~gN^wWtNycB6
z&xIY$)KAX<ZKwz2om(#F+1tpn{$_kyn-p;N8%IS_G5Xw)VHz}ju}|o6K^&J7=_h;f
zUsYZ<#`fQd+aHfqct>njOb%SKeEhm7<Y-@G6?du;)1LXug_(p??w{99Er6KW@Xt$}
zk>^=Ga(rR6SFOScdekx0_#?HV@bz^v;-LJk2l^LO>n>yS#DIpMV<U=XDh|HQ)xKz+
z)YagwLlbX*cd0Eq$qOj#t{FzsF!t=ql*z;}+2HV-Y~atsK-&Ofa?OyE?q*#Yf@~gi
zv?Q8+XG`;A<my?r^;!q6U9H=MyGp++k)Wy!X2)fq|CMAvX>CVpnsv~W(h0GD8aNVF
z;1f{Plt2Gu*vbZJR+*Js*I0#`owvH6gv&e4Jt(2+Cv|yQ+i8l6sBEBln(X4axBjC`
vUuFA4hriV^93teJ`2)o8Fx9tq?E>P`iNNo%Rwbv@{}eQ@0IJe6`r!Wnpk0a{

delta 888
zcmV-;1Bd+95sn9tBYy)`Nkl<Zc%1E9L5|Zf6n(8G3W7~EQB`$R4GR`<2G$&bTW|sn
z!Yw!gYtAqrv8k#?sB+~cmJzV1f9KbA(xUINqohxYMvaqt{<Hu8@7MMOnepY#w~zd@
zwrXA#^-ln$w(7Pj>c)RZTeYZ)dZ(?Lz5ns{gQWkd<mK3KhJR^o)e?XS84mzeQ8(JE
zSyj|qX`j6zz!~3QZ}?hUwb+=|vg6sUwrVErw+{rA+Nxz$)H?tr-K>hbxhwD2J_$Zi
z($2FJaBeCy5`siYk)439sXV!X0rn)s@_8TG2>`+*XsZ@~f1||X$Vc&cAAKOe0Dud8
zw{(*-fJ=p2cYiNB3E2s7DGzRx8?WsU@aW=1X{#2}{<9N6qZ;z>Gdf`2*8V@pP5>Dn
zn%ZY{00|}$vJ>F>_tBIdg%03wQ+okC`uE^<fDa;}D(Yq|I>4~&FvZ8D0{}OrnSUqK
z0XNbwVD<dLFL`7S1u8zG?;c)@>Uk-$%z&=kpBga;IDd)Ao`I!z(X>92zPS*C0OQ~A
z#EtRVPW(J4!~`($VgMK#U9ewvC~!GqvK!4ICcqajzJXOyH+}MXA5nrJ7cZf9$_5*=
zik`=%h(Z7tFQIlC`H;5HjVLjI2Q{ArXRzV2mPm+E&r1;{27skGw_vdZP;Sg>c~{=A
z0l>*x0Dr*q=?m-L-AVhG;z@M?8PDM_enjYBgjhPj&-J7OI&1ksxWFYk03C}T(*C7L
zq67M>0f0n0;Hhf)7)YW6fcC|Y82w8SZ3e)lKsbMAe*yNJKK5~9?%o@A8f4}00YgoL
zM`$aDuW9g_2K$F=8jSHJ=hC40^Xuhc)8HlLaDO>{_8s2RHuh<A7%>1Bl*9aaz9&H1
zzZA*KVcy<{z?ifg4zy<vjHz_M(er$*Pujl}sdPYVdv2uC0iEqRkwgas+K=`G<U|r3
z(9#}ln~MaK-2cGmS6@H1?Imb)8$G1+0=YFob^-!>1-Pml{(*@Lmeo!`S|Wy!%1!_W
zjd3inSBs<DC<&a#gwbu3+?dtO#e~^dHcB4A%jc@7x1-o7Nr8_W??#?>jt=|41Z4p-
zURyP1BR~8D6CD1c$r&9mi~|#d(4xsG4ou*BaPoR^@_KNxZP6r!4)_Po4zi-ku!6Aw
O0000<MNUMnLSTZal&paO

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state0.png
index facbfda3ade6a6c2884f9a596e976a4b6da0a329..eb68e7866f46acb5c1679ca572534e972cc5d58b 100644
GIT binary patch
delta 1106
zcmexX^^a$QiV9<Kkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lP4;QGcl)3w343K
zt-}}L8=&BvUzDm~re~mMF!5{M<Q0q-lb11>Cwmr@B%4&^7PwZF*eYd|loVL$>t_PR
z^zw_+^@~eV^pO<k8yOf_=o%R58d>Tq*>NerfK5uWRY_(^PAZZZP|l_(CC$n)r)07%
zhoodhZjMz>VqUtfQiX0xYFc7xPKlCTT4_$sWPVl|bD%0Dy*Bz-474f9OiQzh3`#A|
z&nYd*%+IqkH=4YMOL=l87vJPYE@kt8jQo=P+|-hy%w*5JlGLJtqSTT^utFmneXwS%
zDkk@HiB7)HWoVA%Q7gxylJfkb>=3Z0K(4ew4hIzJ$t$?c>h~CM9ARK!n(67{7!tvG
zH2i$Fu%k$w+O#mP*i|Nf3ttBMT$n7>l-e3&^Yw+}mHLB|7qD;Th+`4et+=>Y&ZgqC
zyv9-kQQJ-ymh)m$wM4Vl8m@g`eb;<$Z29b*O|#!98sBXBx$pbgn)iDZr5*(DGudus
zP{CMVU-b2Yf&{~!!rXf21>Jwu6dss!yX;<^vTVN4`Cs2Tetg|~;_MUURkizX*)xTG
z6Pswc%VVp4xXPz}8Vny+ZZ`G~v2ja#W_i`l*g{zI{@s)Dj8ki0`)^*bsoCS_K6mBv
zW%|!wF=<<O$C|58b70z)zvu5WW|_}-I2i6&8*k*9u<+ue51(H4hn~^)KUTl@q4ea>
zGajFO%Cq9lvp>83e|XeXza#QS)0@B#F&q&$=U(P}soib8@Pum3zY`{coI56`JlXPI
zsCRGH*}glob}d-&ZpKY9hL|<SRv({RCVpjZx|2hy_-aefWi{{DN1SEtIagiQICZXU
zSiI)ZC|#~sb?-YF4mgL+{vD;NcFFUJ*P{B@x&b%O?)3j1_Bix%L$gab%bGWSdE%>W
z75t6oxZTL}$#rIQ_tceBH2xUjrIoe&`>*So=7+a3U%MZy$xyIy*5s580YQ@jCo~`H
z<6QA3X{(3lTeTw9s}s4`ym5Z~Wc`$TCg#z%BMz+1+Ldr?qb_4Z`<k$)tB$!`@L6J8
zQ22!JPCe7qyI1PpMC-mt*~GxU(1j_i?BC>PWpDPE85Le!Qv1C+@vZ9`URIe}>u{ss
zs%_UDHoZL-mv=5r)bfCIjOG7eh6jbbDNDOmCNJq|V1HZL(QryHjQiKOC4Op|AIsje
z%DiIRd1TjtQ|GjQyzh%%{rArXyZhbeW1Y0Dxu(t0&O6^~1qu#ssS|7XW0*H>Zhe|`
uXuFbt=888L*^InDyuF=Wy0holk`MI^$CGCL3+ihHl@Ok;elF{r5}E)C9@$O+

literal 15734
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

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state1.png
index 3799df51bf9225b991de796f1ca3d2d663373420..a6295e02f87cfdbdb818d6f0eac245b9e0e57445 100644
GIT binary patch
delta 1064
zcmX?Kb%kewiV9<Kkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lP4;QGcl)3w343K
zt-}}L8=&BvUzDm~re~mMF!5{M<Q0q-lb11>Cwmr@B%4&^7PwZF*eYd|loVL$>t_PR
z^zw_+^@~eV^pO<k8yOf_=o%R58d>Tq*>NerfK5uWRY_(^PAZZZP|l_(CC$n)r)07%
zhoodhZjMz>VqUtfQiX0xYFc7xPKlCTT4_$sWPVl|bD%0Dy*Bz-474f9OiQzh3`#A|
z&nYd*%+IqkH=4YMOL=l87vJPYE@kt8jQo=P+|-hy%w*5JlGLJtqSTT^utFmneXwS%
zDkk@HiB7)HWoVA%Q7gxylJfkb>=3Z0K(4ew4hIzJ$t$?c>h~CM9ARK!%J+0}42j@8
zI&HtVvZKiH`JG8F1%aM_E=HVE%_tRWN^CU=kBsWLx4+<OqnKQKf^tQ>`i+dt<izLp
z0!;>8VMQEGTNf;P)To}`b8k=jJ&WCWb#KzjH@6zkvY7wArhH$%oP+TECq8BSGb@_p
z``>Igab`T^zwe%)RlU?Uh9-R%hBzxno}7j`t=|P|-jzOIlrL&z9)C!9L5@CS$2`*$
zF*VEPwm)Jx^!qsbXMwk@hC5hi7IRK_n&f@{p!I=m_BLY5Io4dB>m&rCWoGc2u%0T*
zEc2^5v6$n_-*+EQxmcWI7H%j=)`@fQh)&<K_rph%-p^O6wqLZnZ{As7T*G9^oU{8!
zN$$Tn|MIqpDf4ISmX+&ZNZnm_>*B8~w>GCf-%|VY@O3Abg0&|uWY#mjxTVQ^bl+Eh
z!w~t}YF3WrD^6aW>$jWl>hpaZ3AZ(~q9%Ik*#}-JSx|egfNRQIqr{ziTavH53HbZH
zjYZ*((AGDpQcEUOm7P<v+0V2s)~9~XURU3Buh{yOY&Zk9WpACk=o>T7x`I82qZYrG
z5RzGcC4;@=hyJdhk9p>0|NCBvt`nPKU;dQg5Xho~ty-dzZ6VUH#SUx>zLFEZYWm#G
zD|Q7f$jN`rR;*tbut)#zVb(9vz2YU-*F+i$ysupP6gJsu!_0!}2Xl^u*0Sd8K5@5x
zpX=H?Cx0-yJBqSu+<rQJ$F|46pZgulG>`lDOv1S-`MzGh(Zm}yxeBRoc5Qp#{^you
zckOeALvy80Olem-JRxhbE5mKSK<)2ur&`U->fZI!XQ{(Yz5lmuq{0G!fBs#yY2uvg
yLe5MAd7V)^8^8QMVA<KZ;q5mzBOVK`U;N#!Mveka|8A`S<$F(8KbLh*2~7Yz;k;r1

literal 15695
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
A9{>OV

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/full.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/full.png
index 10342c5705897d15d15cec6e6e15d43900b21769..7902a3672bcf78112d2f6461d177f0f151fc07c6 100644
GIT binary patch
literal 3028
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
G7x#Y$Xch?o

delta 2053
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

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/meta.json
index 739d63b2474..a4945c043fa 100644
--- a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
     "version": 1,
     "license": "CC-BY-SA-3.0",
-    "copyright": "resprited by AsikKEsel | Original source: from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept ",
+    "copyright": "resprited by AsikKEsel | Original source: from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept, transparency tweaked by Ubaser.",
     "size": {
       "x": 32,
       "y": 32
diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow0.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow0.png
index dfe885bf85353c9892107604d33eb36f0480e742..42ed925e056819d74a6a829fc9b9f5d552a20e95 100644
GIT binary patch
literal 3323
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
N*>}*gU@zg!{{XsOh@}7k

delta 2355
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
Z{{fGAzYr9Fk?a5f002ovPDHLkV1kL4P{05H

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow1.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow1.png
index e1ca7ea363976b27b350b4be8191b9df97a6c9b9..26f6290c6b41829a632c1e8077e6b0eccc29caae 100644
GIT binary patch
literal 2130
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
D<FPGD

delta 1148
zcmV-?1cUq15RnOxB!3BTNLh0L01FcU01FcV0GgZ_000C-Nkl<Zc%1E;PiP!f9LK+J
z-ptM}&9<9qf=RbM6h*R)QP$Wj4Wxovij?$XMM4kSOP8FKkm^CigNR^*;wi3&s(4sR
z<0Y{KjY>5TNpusmge|4ggN=!8IvaOeXXnqG=b=WE!>+=M^M4jHpX2`K@%znpe*4~+
z_a5P#LngaZd(WDW#(3h}-<6HOul4QpjfE-!fO_%U#T#ct@~a|)w*oVN$iWxCX_ete
z9OkpXzedaFrnY*fxe5T7GWEJ~0hE7#<o_k*Hz}#7?q@saDq1Uz5~@&iF3?En=~kCQ
zRVY-{i;L!$-hTl<9C%+VRV^&Fni!lIju^IuPX<2VmzOU`p4{IH#u%rRDz)OG5ZQCU
zOFzE*CICz?&ME8x-T#H&;jvjOveZp10LbdSN|eNuT5+EF>~)d+(mUWi`)gkvTT#7d
z+il=3z&OQYimi^VM7-n8cFw)T)bUcyxM+Uq9k4sK_kV4X@wbaNUKSZIy#xBsXTOn|
zU-~K_n@|AR1;{28Kz0GL2?dZ{fNZwC0K!J-g`eIyCNln`hhMuWT7wANz5_x5WEUWt
zPypEl$R-p(b^)^4_5uiRiOJs55=Gbvnjfd_e>OD%a83b09a~Y?H!aoil3p(^6JY^f
z)Spmr5`X^m;+(!|+xnUNEC3{{_bSnov6^x5R}e$^FYrgz9w}8VELBVlP7LF&Z6SZ}
z-~yWtHfqF^iG<MEo+!cs9GE}#767b#|EsEI4A<l??<gR0r5ny)kN6MrxLPajrN>?s
zdj&CsSAn8($1i^QGcEVT-CL~6na{A8W=`|uEq{%{^BFwUi*LnCh_Dr_fYjq{QG_SK
z{`1*O0DxC&KQr-M?s4<ejP*|Zl$zatOv@Apoi$S782BzCnqQRQjF4lqq4GJWRJC{!
zWe)C2Z+{>_0o3u54gg<Wp8){0OqO&r9hG}9i2w!gPPBQ+0*`gIccG(z$m&tUO-z@i
zTYvFD3$QXVXCQx?Y*-?t6Py5quzjqF?9gK{h$h_ut`len&}+6b+CKts*3_s%8$yKO
zCcz8KdS7RcpNt!5JGjSVQ#aMM!@H!f1i?*$$D8dcw|vH!f0a}`95HNT-jd!0f&K+@
z_KZ&{B|+z{N9Y5BN)-A4ggzkj0ih3QKz|?52scH~n)yS{Lp)AqQ=^gG^^5LM<wMVS
zenI~)mncQ=7f8P;3IO1)Uqo3cRV_YLKIg!70{be`mmxD9<t>w&J;J(Y2m<K>B&N&C
z>QTe(C?L|+-i2g=$Gj75UQqd^3$V_WZa4$^)5OZe0`&+DBY;6PvO|wyA8R5Ygmnd#
zw;=?e3MJmGsg3rJfL^l$tx387YlnCFZ0e@kc5siEj2r0d?D5qL%iCuXH0CXWBZhsI
zR6NF*U*(n`<f*ZA0XCpeN=eS13Dg}*7a;Tjp%1u6=mSC@5c&WqKHyKl6MbL#R4Cs7
O0000<MNUMnLSTX)uO^59

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow2.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow2.png
index 773a2b3fff343d7aa621a31db801276464f4a3ef..42ed925e056819d74a6a829fc9b9f5d552a20e95 100644
GIT binary patch
literal 3323
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
N*>}*gU@zg!{{XsOh@}7k

delta 2331
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
BU|0YE

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow3.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow3.png
index e10cff828eaca524427883090f88e0a16bbc1ae8..26f6290c6b41829a632c1e8077e6b0eccc29caae 100644
GIT binary patch
literal 2130
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
D<FPGD

delta 1117
zcmV-j1fu)W5b_9+B!3BTNLh0L01FcU01FcV0GgZ_000CeNkl<Zc%1E;Pe>eB9LK-&
zW_D+1*_9}^(cP>Sy6hp5l!yv}qEt%~NG~F7P7#WQ(1PtrdnloW&<0{}ftEn_Vh*7d
z@sgG#B%xVa0;v@&HV3<bt;UTpM%Q(_f9B77Jy?r5?6&aI`F{z{=QQkZ-u`~`o%iR<
zyr&2uK*|1ie5~B|lF)u$WIKO1I}Y&RZ>tIb)QUezr$=P+Ych>r1S{8~rZH*w@?ZE(
zaQ@HRXq^oCGUv5202osty;fWX_V2g+zeIV6HT0`a>z#TZ(|igTL;H`f_%m-8EkI>}
zirR5G6zU=Hr+-=cGFRR}w)7ao-&{bkQo;DpIq~b`IrPPP;BZH%Ol8&L(Yhw7AwVv`
zN56mkIRM<hx6IaFTj%rYrbygw^v`!^O8{^t*uiubVAbN{$WNcj<R=$Ene93kNrtuT
zdxZ)BKnN88BFV6pJ)NrnK;+6ky;@v!{_>ererf^s$A9A&WZFMTr$=Slldl5DuOGWh
znV)<WpvDt`x&UfC0jLY0#uI?L0BZKU0MbTiF#W+vnfBxHufCJ5L54lw13Uq!3!ugm
zfVu!`JOQW+pk~htAZ>(hoVeK|^#^H?8X;)`Rwf%NG9NW%^UESFz=y#%7>2>`-&@w7
z`)vJgwtoZ!lrzB&rVj_I#$Uuk$RPbyn0jMF7HI(vJUDqC0DO0R+QOT8i*rY`r(*t@
z?nU$OTX+;9ty)|hy!(mVBgi4W3M{b#Uz>8&Oz*nIZA*Z2%)I`G**X#Q0S*To)Q;04
z-2<q%w`Gx@1dm@o_QTfIk*fFHIB~OQ<@-o!tbcw`d%tPOcktmm=7N$J!MEU-%`c04
zM#yxWk!M%UTzNw*h`a!&@BV;`0z|It(*fZ2;?_=B>qJ;D9%`iBn1qW0WQR8GL@Ht&
zZf-++D(24&6fFPrBXTS5Y60_otL9+xtg>T?B*#4g6vat6VI`>RU`!=<fZMp*0~%)Q
z*?+}TqiDHR=L2KALIn3F!OJ1N>u3{?7|pPHE!&tfG`llKz7n`M37*bXD!j}c?(iiP
z>{5TB5}12R-V0nE0+))@T-_S~<g@=ao)2&<k>>;8`2f!ccs^hk`heYVQgm$PTGVV2
zb;^TRzx98;oU}&P$L*H~*7W~!h*I`^0e|^PQ2+pU_yY1QSKbgK&#s!V9oOCp`7%^I
z)F@gf!q0hxZO`Ba<O2AoAF<3p!D>&%{D+&{kVr+0?9is|R(^5;wwdW(GzXJsmHEC^
zS3Sb65r8pO3F<l$PFR7WIIiV&D^X1tQ(A7-`7WLsMZ;{pt2L1eV0Xs2F=c30uU2J8
zjAnElZQ_y3p}jK+2IihBrT#)?2?g8X4zKVscXQX6T!0-gm8r_5;<T&okX!)I2Y5bU
j3(p65KEU$<BtGCTEv9plIn63E00000NkvXXu0mjf8xJ2F

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow4.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow4.png
index 2dff7e5127da870b33ddd1f786a203e300ab2265..9b0463bd4cd0907ea399eaf49518e24c19a7857b 100644
GIT binary patch
literal 2102
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

delta 1112
zcmV-e1gHD95bX$%B!3BTNLh0L01FcU01FcV0GgZ_000CZNkl<Zc%1E<L1<h>7{~uJ
z@9n<6&2HHw(!O+;y}0yHnh>E40SPr#v`{apVlTx=dMHZOQ?y_~L91fC6_g$lsFZ?|
zm`ep)thFqKU<<~i^q}iy*)`kHB%5TD-S_s*jEAt&g1ae9nSY7o{jT4>{eSsqX1;G{
z<`E$Tbh1009+|(A@KRzYx%c#U;jfEhwc(|U{;pRRt(Sg$@#bdFf0O>|2N``+=HVv>
zXFP`$TB<IK;f2c{{F<`=3RNZ4h}He=A~hbh0N|(mF8~1NQmds(U%LVJ?E=jmTdQ?v
zlHo3=6X{HcU4I-Z`>OP{8&GGuFYgVGo+a7C3!X~dEn@(s28mb}_OciOAxxRBDxs!O
zN|M)Oq4USjAU+dUnv-?|yq+YtCvB7U`~Du=L2qvdcSc*b&mtI^eLyM$Ww(H`&p6{Q
zukzxFC0CWcb^{)Q8q^>c*6(noqAJDyi=Yn(`hX3BK7SzS1A;z4OCLaF_XA$fzIAl7
z&s;rn?a=&0n>*4vXujzTh4%gRnwKLhV%N)s@cnFdSSkTY)QteI#)cOzd!_2K$cYsJ
z&Xm^sMkq6&Ufb)nJ~bY-R`<8--Hw7n1BydsKb`5YyPQsRXOiLEv9+3gyP$myQkp>a
z@PaoudViKo_vMw=`evvzfDpEq#Yn`mK&e5L>28A35fGn=)APsAAbC9&0;OBR1a*tx
zXp7a`+rjtP4p_hM+mp8G^(3`d0(Fbvi6z(NRn9o$1(f~DK-rDVKF~f2lum&Q>vy=Z
zG5@u%{&j*rK$TF?2O#JJf<7SV1GZovAiW>3JAa)XS?_#Ggn!LHVrJ!Fg2(PI5CCWv
z*S#MgeLrCSO2V@z?9k#l%LC{Cx|#aEC6xO#R0RNgGHNx8>qL4ABzTmz4HztSBOan=
zh=5Xb-%5pZuU2Y+K>-8J<9d;v0&8C7%Tje2e^-il``gd4?z*^m@)I#roW%>t=fF4<
z27fhZqj+Mcqjd^M8}RO*@1FyJsi`?y>MHR+j8&2Txjmfio2vl8smK9p(H*o=Ts(8@
zL+QUl0%-%t?>!$oV^Onsa&6;4QwRe9oUy1`Kjd^SwOWnh;^1!|NhKi3lc)k;$UJ{P
zn|)6z0ZF8*z~fwH+sbHPg>@4cpgRHG1b+tTPCz$-0lE{=&9*l{x)YS;aqbs1L-u`v
zZ9f7619T^#o4^3w3Fsy;Kz9PV+4cr#e{b;Wk!y#fz95VL_luMB6K$@{rmC#Ib_3pt
z^i!M$pPHJp9@#d3W3B>3$f?KyYMtKEFfOaF{kMSbgB9%tB<~&l3;>K9rkQ_!wNb`7
z6Wy6)_@PS_Jb|d$C@%Kh{6I!udle|qGGClzMy|h9<9<zmb4)**^HSq>2w)swXdahC
e`v}l|y#5b0A$=t}Z2Hsy0000<MNUMnLSTaJe;yzJ

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow5.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow5.png
index 0a54faafb0dc4d54b4a80429d75b7b7141d40e5f..8863ee94bd8c83c3d373b649d84e50fce0b4505f 100644
GIT binary patch
literal 2084
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
Wj?Am_!x!5B(4626Z1cMJKKc)`#y!da

delta 1067
zcmV+`1l0Sa5WonKB!3BTNLh0L01FcU01FcV0GgZ_000B>Nkl<Zc%1E<O=uKn7{{Oa
zp6#T&iEi2?V~}7CsWx#Vo2;ZP8_-nIT!cVHlt>B|dg!Gsv=<Nc&|>u>Qm|k!w1|hr
zR@fGd3QgCqm}T80_(3$TqHzPR?(CXr=6iZ5y-2ccS$&_w&VTPXF#P}gc;0zuc4sKp
zbpey^qaPk_-zJ;G>bNs(f6_L@e1B(1iqL0zPiy^S1F3&I|HrjQf2|~+t>ola!9?`2
zJ~{T33A75dr5O1w^^M|)a?M>Ki42K+nnXxBhNK7`iL7+Ob1iJw`#tPp9c@xMze6e?
zeFApX4A3{VDSzmUZiM}(4io?=c3*UZ|18WXB=XS(e31K61I4A+q|Zs+o8JmuUzi_%
z_$Xf_m5(l<tte9Zw9N#1b>J!1m=*G-(4ZTpsu5WR=mMU7d`~o0O)VS({XS%_)&js2
z0QfIEz^edVz}DaT$1wBJcL8iX0oVnw@dRKOz{V4RU4H<Zsuxi4jnLk^pYEvS{7Rqa
zE2Ziuz!QL702@yLb^&ZW0oVnwsd@p#ei2H<;^CK%agr#(UECWXA_5Yzc)0184*C}V
zf*RyQ-P1<)R^fMD6FL};M1DDl2;d}9lILYge>-m(oW&P20%Y4?*bty_|Ca-TOJH?#
zFrXwCN`Lo2NuSvHm3yO*=GO;1NX0J;F##uUPb!f<zjLhqVEyN#hn^enmF($-8LAI@
zNL5%8VglU8674J0FcULZtdyL!7RP~3hM(9cNEKKHBHN&;YU-f8$-LmpX{^i#i+<hN
z6AQUr$yEZ0{Bn5r0VF~=Nt8zBuF+eBCdzth<bMOT0{v4eLm5$BCy`$cV%GpF=XVx6
zX{W2ThYgQjVvR`2Tq`!CParV?``+D9J9+*=X+In&e7Ey6xKT(m>uaiL8+`aEUwj_X
ztnQkI$VV5y$;>wAH84*(Zqpy6Dl7@HU0|+Z?$22vZ}Jpt1VTErO!G`zQKU%ZmxIUz
z^nZ^Hq!O`sxE27;LiXxE$Nzp9BGF)Zh%Et9FFgET(67SScml8sVB-nEE`W_E0J{J-
zRWE?T{$2q4{er5W08apR0c<=0*afih1Yj4yrs@Tte=%}ydm?74n)>qbs`+GQ<?(kk
zeaaT<dIhnaZ&^2DWUj9>-gFbOc$kC)^nWFAC!o36cEc`a1Tb8SU!w;(d0u{llSGL`
zKKcZVHhwGK<ffprb))^o&qvZLK;%|OgZ>PFLLwi10!}Z)oilLJKA1cXKkWXxj_-4=
zleZ@oQu*i;FszO{d`e(^t<S89%U3L4y~DYUB^LmQd^m|d0bR*e!k$>jE&6qbl_dG#
l1z%1ZlsB16?F_GjzW_RDWP5lu9N7Q>002ovPDHLkV1kTE@AUux

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow6.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow6.png
index 1f9ba05446a1f82dbfcc86e72429419f5f7f490a..9b0463bd4cd0907ea399eaf49518e24c19a7857b 100644
GIT binary patch
literal 2102
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

delta 1108
zcmV-a1grbD5a|ezB!3BTNLh0L01FcU01FcV0GgZ_000CVNkl<Zc%1E<PiRy}9LK*i
z`*xo%-Oak$m~LHnTLRgGkcI}5=1@|a2!i4vA^{Jwr3LFnFQEm~LkqSQYJ0J#3Ke4y
zf^3_EC<tnCX(1}4M8U%bLc8hOX#Q+=ll1NTH`9ZpD0DZ%$bU>A?{od_<NMq1o0;E_
znR$eB4wbZZw4a&3lCsl0N*=af4t@Xkm@`uO!QF9aLEn3A|Lu*Q|FPq{t0MZE$ipuU
z=CL9wbh%dLBjt-WTu0hlp|XVPQSRK%)48w?05|{o1ppAg6wzhrD>tC|&SP3UxaM@{
zQ=!g87c%*s#(!eA=E~AnZooQ|{j+xV{3t05F4!`4H;n<5YNScmk?|q~gm}_)WeGKe
zQj)$A37#E3iI%CD)SQ$Xu-cbk#<-z51D=~S66onmviJpk>nwuN`(<Jdty(2iU5~rW
zVkTQWykg1HS8l*F&;ZfMIrA=)Dk@X#|M2?&zYlnd-+u@AeSqHwDCq-;=zhSF>Eru1
z`pxxySKpn_wOZdsKh!>YEgRfDGi(=0h3_~p8+tN5^RZ9@g2)>Iw&RVIFWSqsDlhU1
z2lJ%X`+7(-V7<1l*ZOoWtd~2ttKE)*L<1JHH8+#rX>=yK(49|(iU-%6<~xs-uR&51
zC=4#x*?;q+WU_x&YOQaCJOc>vGG2r<={hLYh&0^|kU9cdregH$@JXa^M1r7nQ<xxc
z5xk)5J$*@*G!k$IJl7aEwAH?Z@=73Y5j?zNS<GY}cUcKl*Bn~4qW8<nM}gESaL&BT
z0z@OSbsORL0kVYrJ^+3n;P(N3AFv7g0O9?BwttTHGnF@EJUlV?oSD_PUuCfe%LD)#
z#Z~VI2;UEwzml?zpN!zrsjv;k{&O?^^DDvP7fm$)Fvi1rqqs_hr$CZ5)0Uy2_r|SQ
zkZK_UO40r6>!IQy(*Xh$2%vFXEy7b^&8mH~T&tpF&f&!6)A+}-F!sS${K4E526w#&
zkAJ&7Kr~t}o{Y9BodUuJoG6Tb2>|ydN_45K%nE@Op1Ii?D)c`x0pO_7OLc0{dU5{N
zZ=VVO3ju@;AXB}k;$z#i#rLhJ2b!D*03bfLO<O<Yj9-fA_2Rte_s@kA5aeZ4fv-iL
ze=<GuiBJN92v>m@xyrVgQN9YR#y3E90)MLU4N#qcYJ3A!C!m@wZ-8(oD9Vf6FKC45
z_X1mf1o#H1PCzxj0jd*Fjc<VJ1XQ!-4N%?)soqjk{^8_&uGJFRR29`%ZoqM455+OC
zdlM!7xoz_!k4&J695s5We$1#F7u8oj1ymobC^ul&!vm)QAb2aF75A(-jJdo!pG^uq
zbBTf_(X7>r^WC>U7138-1xmEamd2gH9|L8Fxi$x5n0)6?JDoFvfX4t2jpJe{9|5Y5
a*Z&1WAAozTG<R$O0000<MNUMnLSTaRu^27@

diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow7.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow7.png
index 5fb5fb0c7f73e3833ebcf274b733b174ac12c36b..fa9de9ba50628bf763bb668ac70cf1385f01f071 100644
GIT binary patch
literal 1240
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&fB84^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1O3O3zQu52qZS*0^P_;uuQBAec$Kn7RkhiTO
zgHnt0b4o!0Z)a{~0}cxmK|~BdG(=$2fGmivAs{2aBp;ZdiZYWu^GZ^S3W|V<3v3_E
zI@~JI%|h56nwME(2QvUo7)cjW<XAZtm6YcfWru(x0x1-6s)3pV2~ngJ3Q7Lp&<Cb}
zJ1!f2cwVyO(lA;77?{Ccdb&7<R4~4swUM_uK;(#1Sm%_DFJ@@P9_yMCD`33i$EU+z
zroFp6ld1FV#veETAD`{=W1pS<A$v}n#<dNc+LNS>8n&1>p2fp7V~T(C>V4&`{oxH}
z8PAOm>{B>9pK*($^?b%}teO9K7VzHs$+JP<<8wMg?uB#d4YiK5?3pu~%j}rna9{c(
z=^(x3vt&a2glFd&ZY`L5p5b?sNj=*Iwzq%Y@*eol9>5&-Kfa)vS*t-Shmg_pQ&oBD
T?pz4q2bC(Gu6{1-oD!M<n%|Xe

literal 267
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wkP;jrO
zi(^Q|oVT|(@*XmfU`=eg(NZ|0(N6hddRxz7owSbqKU9jY+rKU;dVJ`1)N8fM`tR3M
z>TT?wr_|5y`QONt!RX7lrC}LEltVCs?gGsQu?r#&+!<U8SWWt0GXAo)fBMOM0TxNt
r3rw@{=!Ht3y;k4YjczWI)@SS@213=VXO##6J;LDW>gTe~DWM4fngUnA

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/full.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/full.png
index 34c51d7c3d6a3b995f8df92ed1176e988a2ad8cb..e8b90728e41ede9cc5474ce777a73af21860612a 100644
GIT binary patch
literal 3041
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
NmZr9Q3yhD3{SC7K8zKMz

delta 2050
zcmV+d2>tir7mpB-BYy|hNkl<Zc$~FYeN2_t8UH=!yzhPAdoSPxE*F$9K}4`1-(ZzE
zw612Z%hJSki?->^k}YeNbz9xs(j_J)TeilfOS)|7`W>@2ac;IV)mE&<3Mz_xe+Z($
z1mx?&1ut;#`*F_x0IsyITh`(4pZDZ^J-_ojzvn&AApj_>+JAFsysrsMNJ!6z|8@ry
zhb{rYvnI##545<k4BoYcVtVu@BO(^Ndc7FyZ)E^r86gz_e3`{!YN(4Ar;{fs3*!TA
z_iSVop}FSx0V=H8b0{@E1L?cJY5V8HK>(n}^YOA^>kY}clY|`}JN0&ociUt00APbS
z0L)xE6Xn~sTYmt6-E~dnxh1BP5d#1svS+$mwU~{?HUJ0+d#v_MRN7ackb!wa0swER
zV=dR}LCNXs4t?qHQA25~b;$g!!&XC0ieqE>$Q;DHlXFeX24es~-0pEu%6eM?6g4pF
zAYbZohafz7Q{idrOaKV9HSmPIG7|u7PBvhPu+3e(zkkCLiJ2;f`$;d_qMrKYlcWHM
zmW&%Ht%BNIyY6dGePb#w#hZ}kaYYdkhzL?j)OO~E-#&IqVT`fuk5*Yl8&cIYj|%``
zOTs7ZnP&C*tE!X|`@XkNIyKc%vM$*H0JHO9(RO>>tkn!{WN=Uk=9h%$rIY|j0RWXG
z%Z|}_w|{BMlbxgDMEwnBS(e|asti(a+XzD$`=`#*vkd?^d9s?<bmWGXdtl~ztLocS
zY=sO<zWU~IB|0nLdcCGSh=mxy6p}M7%Fgn6dCy#sY|U)~&=>$1cZ0mU`a?Yb+;>8(
ztHA?Tl)~L^o$0!pIbE*V8*NTX&y^CKNpPlT<$uZX_N&}voJ_`PqP0PFZY;9yS`wy1
z;|T>NVxqM{wIwH8asn~3bvF~et?J%AkJ?suE1A<%3;>jb^n8p}A4BEdZ<Apd>U8XC
z;XnH>J^XNy``8~|V38x9JC6IXyszf3>V4yjeNX)0XX0x01(~>Imt`0RW__tbv|r^3
z>3{i90wcY$@Tnh#24@U-T)I}2lVNqbqwQla9n_xw?HeE8Z}or2TL<@V-}da0IbmCN
zV(cn+bWH4Qc+=+DK;6kWwrn2boYT#bX|WPUKMSVoJkloEk+x?|j-0w&tpUKr_FDh|
z|Ao`qN)woFsB<t97@nL71AxEoL(Q`$M}M;Mz9ts?@FS+Y-s0GhkqoP=*_pWW>()vW
zSXH{!5Cc6*|44wuz;z{l>#p#4UlWUjfN~0qU%&8Ya&9U!R@!(3X*t%36Q><W%aKc6
z5dw@c(liYkBoUGQ?{`=kB*(g!?uZ2fj4=u}Ur~Sf%wAXnz3lUsesRROT|9iFMSpqx
z@vj)8T^;uX>B}q@6Lsg5xWaNP$rFXlvSKk({qBm3aI)bOC4N(dl^DN@^o$&9y8a{0
zmsu>>)KC|BD|eaz;Bn~yfCnK$Z+Vps09ihd3IIuuJT^Zy)J6A1NF)Kk7vp*$Az0df
z@hia;6#!Ula;}`HJ*xsh&{#OQXn(t+tTcgOPdf(?QNPu4Sx-pM53{jbjm%rQ)ATph
zt9_$W^87#ES6F`eiiaR7JI@MqHS=2|lNKB5aVrIzLlgbY_d<}ixzhU6EAP<S%BrxN
z@&B~f7e;bHiFoDc3Dr#95O6cj0U+Y)*{~@YnEd?Z{~xCB-W3kpmV8kQOMhSh5Us1^
zZ>m>+@!Wn)bu>MY<40>63v@N}ojWVT{`&Kd2mxPavFJN{T8S^JFck)P^9sdGXXA>K
zxLx<L;>j(vzg)ClO{%D}rrNHm-nE4?@*fCGDSa^uHQrJ+yOQvfRT_z_<29x*E*V#1
z^UKW1;U4-_&WBAKwxkE9gMTGh%hFNtBxTXWg%7m2(rvIMp?7dZH@aH!<HNtRUOc#e
z`$`!6`R`w~Ci?rejMyTKOa?JGIiZ;YHxc8@G?ejyHWWYo6U=p7LC;7Y?7r@hC$H2x
z*EwvJeg9WBuuwe2Z`~DUbno^Iwp?_^mTkAdAw)-`F7qplXrf3~&3|+@@>LI&m;i9?
z&a5r<HQMy0E0mMATM@(kG9j-Bb??1wQ*!#cBfAbCl}^|cY`qL6yD(@PVS=<mASEJ3
zF>qaB={XjerY#3=L_4$c=Q2~`Sl`f;4FLAY0GCPWCII+b>(#_f751XLg%q~5h16Wp
zF=X{NyC^Bc6ds>)>VNsYTmb-sAT{PdTwDxI_qDkXJo98IH9pz{K$0ZccKc3vcp_ES
zoUL^+#@N2^e#=xjIkMJx7t%>Ub`6c2uf6p*w`ExL(`WaGR8BlA$?G5@c5~EkXqslf
z_LujZl5^N`iNRTcC;$rt7-JZ(JxS$z_R8@OPT@E2H*>|D3x6#4fZ5*-S7y!}0KD|_
zJNl~Zf-rzc^%U&8&b-+V86i{PkFWooMP=j&lVq3_6-){dvV<daXVgrp*fBeMt%jqp
z3IM<oGK$dg#*0kfvRkwc2V`97HaUIyBb7U&HRg2b%<0mnn=i%aS$W*%8rfVUZ9_?T
zy!DbRL<)sSp?k5Wi>i{DCj%BE)1fhMK`D(k*6C1nMQ{g6MN{rH);k;}JMK={EGn*i
zhkNGCF)bmZ2m}CyReO#sJ<mP96sXQv1V(y+#dL{H&Xr@g8b6h?%b(x>Z5*F@o_l;L
gP~8b=t~q|-Un5s<u;J2%KL7v#07*qoM6N<$f^aDEdH?_b

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_window.rsi/meta.json
index 456d8a28909..4cff125e3ac 100644
--- a/Resources/Textures/Structures/Windows/reinforced_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/reinforced_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept",
+  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow0.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow0.png
index 8beafa06dbb5d13694d1414440fbd8abc6a2d5dc..e1459332aeee24053ede0485f78fd9fa06a162dd 100644
GIT binary patch
literal 3349
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
VP3BDPwan#T5|pj8O}-T-`u{!MqfP(-

delta 2218
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

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow1.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow1.png
index ba95fde9e59c54dacd0eda155231ef640db07f41..2c1d944a619cbc07511dcfbc95cf3dcb4129082e 100644
GIT binary patch
literal 2163
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

delta 1128
zcmV-u1eg2s5c~*`BYy-#Nkl<Zc%1E<Ur1F+9LHzooO6#xRBG*-7Ntd6n`MzwNff3*
z1Y5ln1kuW}5k4#|v@UH#+d~^#5cCicL{<>gOMhtD2Tdy13hj@jttp$flx3}@yVSk+
zoO@;_ezz@r$eZx9nG>Gx%ei-cXU^|;e#|hR`<uCxASI<lJ%1o8CvR^`=1lp#^A;P}
zJ|SzK=znrQ9$zB+!;aP;G5)nD;M?l@-MxR*TH}j~Jt4&VhxJ{%Xr(MHb>Q>M>vi^E
z_UiAJ?ZEhFL%8RYDv1&{X-NqW-@Rd(rb!uNgm$!q(uzuB%pi;zge0<KW79qY!cli$
ze>h5d`d^U)2Y*iz$8pHd6`N&yS2tNaJDYIMrC}IsFnea&*w1?kR9?8b8?K#Ax0pF)
zx^M`Uk-JSHb7p=7+NY(DWwv3k!R*Jktk{Y1uYC%%Jna*;C#qR^a<=oI5V0utB>ifh
z^Q7*4$ce?|pO1QZB0JW<A69`XO#g=+treL5CZ_XnXn#}X(aV^}>{?rZibDGo(5)Z=
zK8Qi9f&};=2CWJb;DZ>nYQ!f1O@cemG_At)|7FdB-!T0t#l6Ca9|1uEd=P_H1qtv$
z3|bW=zy~pC)re038ic0Kn2joFb+xykN?KSDLYKsfw(fVH)t)ocOV`9VF{G3RT%j#(
z$;x=!i+}px?L>B+LQjFbi7BjP<2Pc|qfUDaV^)%3QhD#Tol*R?Yg-nbHF>;|$gVp9
z=m1_v9Mr}}M(P;c#s+c<pc7DDePs_^Up6<Iqw@=6uzx4--wDy&x$ghBh$P0$!R$xM
zmTpJAfbJhdQAxz(`dVYuoCPt@^P~`h$QgO=i+_e1OK>6tCnS*_>mRG(SOrkq+g<G~
zTBiVd71&gH^wP)fIrdZ8(q-EZMV9Aen(GUvSrw-n-H4E~Zclj#>mMs+AmlkNztr~F
z?GHy~gmWo8p?&y+lqCRI0IpYCJLBK`uGiS(GIG(In^-AJz?UVfJ+G}fIVUTVz$%ck
zXn%R^pRU{5QCw*N$#V+aU#kw&0ZXKIDN6vQl-op7+qMZ~OgjO-lhP63{rwmFzI+3D
z)!b<LB?-zB&{K2P&MufQ(#MS^sriLoZ$q8=MfQB{D}k~Ez%M_CbHO<mQ6aq4g~d)^
zcboQ6pmYj6==oO|hC%&QhzU4Am7{<I0)Gw&I3VBvKXQOC{x49x?Vy{?D6Lvo7&_JX
zAa=36+iTeOgFTc(l)Kgzpw1U)KPd`=+Cao03~B{XGw_Dt4De8;eHj84045*<7~vf=
zsF3yq01E&U02=@!04o49sPgX{Bn37AMgUe&>DNC@&RCogfE9oll=)TVD3Rdhfng1R
z5r7qx`c~=eLjo26CIB`7MgUd-W>Do{djg;)0JQ<A5kRc~Y6dEIjs0{$f<dhSY6eQ3
us&w`t1so7?z*_|z5O6@i0qQw`5b_2j+mFcCwQ({40000<MNUMnLSTZb{}J>6

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow2.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow2.png
index 8beafa06dbb5d13694d1414440fbd8abc6a2d5dc..e1459332aeee24053ede0485f78fd9fa06a162dd 100644
GIT binary patch
literal 3349
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
VP3BDPwan#T5|pj8O}-T-`u{!MqfP(-

delta 2218
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

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow3.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow3.png
index ba95fde9e59c54dacd0eda155231ef640db07f41..2c1d944a619cbc07511dcfbc95cf3dcb4129082e 100644
GIT binary patch
literal 2163
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

delta 1128
zcmV-u1eg2s5c~*`BYy-#Nkl<Zc%1E<Ur1F+9LHzooO6#xRBG*-7Ntd6n`MzwNff3*
z1Y5ln1kuW}5k4#|v@UH#+d~^#5cCicL{<>gOMhtD2Tdy13hj@jttp$flx3}@yVSk+
zoO@;_ezz@r$eZx9nG>Gx%ei-cXU^|;e#|hR`<uCxASI<lJ%1o8CvR^`=1lp#^A;P}
zJ|SzK=znrQ9$zB+!;aP;G5)nD;M?l@-MxR*TH}j~Jt4&VhxJ{%Xr(MHb>Q>M>vi^E
z_UiAJ?ZEhFL%8RYDv1&{X-NqW-@Rd(rb!uNgm$!q(uzuB%pi;zge0<KW79qY!cli$
ze>h5d`d^U)2Y*iz$8pHd6`N&yS2tNaJDYIMrC}IsFnea&*w1?kR9?8b8?K#Ax0pF)
zx^M`Uk-JSHb7p=7+NY(DWwv3k!R*Jktk{Y1uYC%%Jna*;C#qR^a<=oI5V0utB>ifh
z^Q7*4$ce?|pO1QZB0JW<A69`XO#g=+treL5CZ_XnXn#}X(aV^}>{?rZibDGo(5)Z=
zK8Qi9f&};=2CWJb;DZ>nYQ!f1O@cemG_At)|7FdB-!T0t#l6Ca9|1uEd=P_H1qtv$
z3|bW=zy~pC)re038ic0Kn2joFb+xykN?KSDLYKsfw(fVH)t)ocOV`9VF{G3RT%j#(
z$;x=!i+}px?L>B+LQjFbi7BjP<2Pc|qfUDaV^)%3QhD#Tol*R?Yg-nbHF>;|$gVp9
z=m1_v9Mr}}M(P;c#s+c<pc7DDePs_^Up6<Iqw@=6uzx4--wDy&x$ghBh$P0$!R$xM
zmTpJAfbJhdQAxz(`dVYuoCPt@^P~`h$QgO=i+_e1OK>6tCnS*_>mRG(SOrkq+g<G~
zTBiVd71&gH^wP)fIrdZ8(q-EZMV9Aen(GUvSrw-n-H4E~Zclj#>mMs+AmlkNztr~F
z?GHy~gmWo8p?&y+lqCRI0IpYCJLBK`uGiS(GIG(In^-AJz?UVfJ+G}fIVUTVz$%ck
zXn%R^pRU{5QCw*N$#V+aU#kw&0ZXKIDN6vQl-op7+qMZ~OgjO-lhP63{rwmFzI+3D
z)!b<LB?-zB&{K2P&MufQ(#MS^sriLoZ$q8=MfQB{D}k~Ez%M_CbHO<mQ6aq4g~d)^
zcboQ6pmYj6==oO|hC%&QhzU4Am7{<I0)Gw&I3VBvKXQOC{x49x?Vy{?D6Lvo7&_JX
zAa=36+iTeOgFTc(l)Kgzpw1U)KPd`=+Cao03~B{XGw_Dt4De8;eHj84045*<7~vf=
zsF3yq01E&U02=@!04o49sPgX{Bn37AMgUe&>DNC@&RCogfE9oll=)TVD3Rdhfng1R
z5r7qx`c~=eLjo26CIB`7MgUd-W>Do{djg;)0JQ<A5kRc~Y6dEIjs0{$f<dhSY6eQ3
us&w`t1so7?z*_|z5O6@i0qQw`5b_2j+mFcCwQ({40000<MNUMnLSTZb{}J>6

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow4.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow4.png
index 754af67ca375ecbe1cce1a93a6ae6de253280ae6..6e9e88d1e901453cc98287ba3b048039ebe4b229 100644
GIT binary patch
literal 2172
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGcq%=0fz;OC?W<RIwG*@Ko&*U5s;Bzk`GK#MVZN-c_pbu1x3Kr1+fuo
zA8r-sW+5yO&C4vYGlCj`CXA#DDR!(Ji%QD#i?Tz&F@Xq1oJyd^K!Ox0g+h`)IQW6-
z-;T>hAD)-&xVCIlS7%^g>GgDR45?sz8y%Y=5-zgu`?)jk)E20$Q&nu+=4sezvNAf`
zQ)KDdNLE3SUkUP30`+oh0=zU|_Ak96zItufm!)4Fr!>@FV0VnKDOeozUuaF~WevlL
zYEelZD_*v-eNV4@_jZo1GS|(MFV5cCt+-i#bMg7Vmd|&mKb!adj<tm6zr8{CD;9h`
zJ^zak>qF+*(N5~S-%ED>6a0K?q5t9N?{h7z=2lhT>*w_eKkmD37pLn<o$iY~sVZMB
z&gy-&y`p<KVbL+QMQmCoewCrNvtL-rv;Ew9+xcf!|GGJ+?~7*{Pkwrd@kh0R=c(D(
zCEn!uuUNNCYG$pis_5F;XJ(pQTC4w(!Q#}zwxz$y@5>*Yxa{e!V6{h4CJY)}2Pb++
zv>F_iQ1)*5Xy6ve(2)CBee&H~>hfC^U$3`seWg;eVP)FZMP-t*`^y|-Kcsa>M#gnz
z-S4`1@yN`bpM_-PUmkv{yLM-ft8a7AtgSk`3a<XT6O!;VQ0*?W%wmIN7gZMi-oM^+
zjReDAGO!dn2(bTo|H4s5;0U9mjDjlPfj!=5=UqOz>*X(tf1$VgLg&k#JNkO{75-V`
z*>9Kc`qI-H@%&%xLiWGgZ!gb&zdYuKQO45}?j3do|9TuHpD_F}Ig@?=5JQ2*zQaEi
z*%=HQ!d?HaQs-fK@Z-SO#?Q>(+hrJ@F#Rz)lfB<blwlqJ9QkWC>$!f#`b#hz_}KWG
z`8oT$_uCWWev7j)Xt2b{Ti6%WpJ1#Ay>!0n5CcOWKTO0y?|}c~JzsRu%-y5$GF>*2
zp+OL0*Z0dSp1+Kqp#=6D2P?>@K<{2W%6R9s!JGH)tEX+)c<}!G$iTQ&y%(=|)bFb|
z-}$D7!JOfC-~V0TFJ5gCi`{uFMXc5-KlrZrmQB;P{^aco2~XcKVNddL>-#q6ciCPp
zoj-G{_)8lngOzc6ubui+=zQ5kRM<&C?gg)F_z_-K;~lPfpTs4L)ovG5J6NrjpHnf%
zZShKzUmu?fYs@~o@NWE@6lUkc8L7#<Mw+R!c%2o0F3OmBWr~D3!|(I=Zg3kLRTz6t
znI6B`>afo3-_ahin@pIWnu>n*Jo0RR>l0b)>$TipQ~vIdZ@hPrbJmZg%}Z9tpY;to
zeIjV`!t2R9+r`hf6@81Gzx(jxX|rRdJv_JLj$FXy3p>ueJahVLo$s;v>(bXV&9|@B
z|7CB^5O?WOp4&&c;^No0yL)~MelYSdyw1s>@$9DH!srK#N&$M$44L@B+}m@$GrV)?
zD4&+X9#njfnTeqywqo0Mew&1C=M~ofYh?eRWO4iU`AYr?avV3Mwe3Gt2<ChF{%W6G
z&{VSKb5E4y{VDfd5_vQkIHp*}_Z_&|<n)PMKL5c%|9|emzEe|G{yh|nvZ}GS>DP#A
zSs`)PvrT;O_CWq@sk{|^T6sl!uiqZKB+m#m_!8rdtA&;FXCB#a-*u&OW7=Um_oEL~
zRu<2=^sj5eGz}MB75i;}@2;=h<M2ys!qOhTc)Rse_I%uyD518Qf1+a8^(FoB{uyG2
n3%c(-u{q`({ZdY$y85quZeI6SMR}`aP|fe@>gTe~DWM4f_laR-

delta 1110
zcmV-c1gZP{5b6k!BYy-jNkl<Zc%1E9TWk$M7@nEkJ==<?wl38YTB2^H6>VH1q?ZSg
zxV(@Mad{wdOC(hAfCsmdNIZD(fJP$W#Vz8Y)sQOEHk6_&w1iTWmT=D5%go4MsgO8Z
zOf$36{a*HD|FiqeerM-=|34Ru1i?8Mx<Pto*1`O3N9}lmaev98ywI8IXU^5e7Psoq
zCUg0L6W6=De)q!M%Od=`$i+Pc<}w!15a|d<`L%{uw(B@zs{RFt>WA;2I)=C3E;Hft
z%?C}L=RQ<kF=g>97vO#KU6MGhz~PVYg)-CAklRofKe%wdD~n&b0A0XiCfR#Sj^X%;
zxwcGR-v~em!GES{A`@|pF{aXZWf6G+9{x*RwXt#S66C&kDz#0@1sIeunYC3_=t<dm
zZc6{YC?j_=Yb`t9d;SF5TN-fE)O;(-m`f>T7NsnC<{V2Fzi<8npe>rF;b*O%m{d}k
zWWPg@2LyS*cLaGrkOu^LfRa2wcsyX|xth7%eW!Hm%70liHXpVMGSl?Mc_WSDv(<Kl
zabB@+ZK%1iev1e{#$t~k?G11(n?kJ*HGhOs4r2haxV<1vfG%(E@_O)o$N^;W$AUBg
zz}vy&!Rx{E!TTWxki{PhQX2ps4_*(RFO$~`(gXl+2agA@2iudy+a0970pRiA_2Bt_
z5kZ;&;D7Dl@!<8~`QZJK1IXf!1!)36jSsax)cjEU!x#XJ1<2x$1*u&CYJI5reN}_V
zA`0?=AP)%gfFKVD@&F&^0m8q+h|v=cCZ>($@0#xXBIdyK9M<vrap(QL;;P33gx3ea
z;)b>x<wnl3bv9${hpn~Wx@u%ET_1(dA8%KfUVm|w5bgqT7?Ghf3u*X%t)c5WCWIjT
zq&}29qsSo|B1A*TE3R4q;V$qsVjb!TM^S6X7j)$4X=GUz+FrbxH#WDR=@T*#rIc%$
zMq<TNllm#`0>T39zf`*ij!iXph(3H2vk>Ny`!ykbY<2|Bk4#A*rlyft@zOO#JB1!V
z^?#UP{hM}He(EF%56iGVGv-98%klUe>vhG&kmWf1(aSdK6&K|fMNhauiOBWMjrGMM
z*DH5{KUvD=XZUG)TnPdJe9#7^2n6s!8<Zjtzz1zmie4{(^8Et4&ewLkzQ7Bj`vrRa
z8xRQKgElBdAb=0rpcH`sK4^nd^m+l5?|&PFMU;ZK_`f$!!V1#2<rnmnq6MA1L^$Uf
z9N}Eo&JkE!5G($CgHR%=z6)dxNhF2KR<J%Vo6LTM7;&18`NO+rYW_UiGz>g$*Z|Ed
zF3PXG76?aep^25W<OH#a6`|JmfB@@CEBC?iV_mi0H#^UP`9oMi^3x&;7DtF4D^GrW
z)$AQ2{K~sPlq2@4vRvykaf;)*E@zA(K03?(P*r9yiWs8^dBsKfeX)IBWP1JilL!Ca
c1rS2t02xS*lY7{Hi~s-t07*qoM6N<$f?MSxCjbBd

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow5.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow5.png
index 6f16899eded8c32a19b7a837eaf03ccfda43eec9..ef1e6f983547c2f6fb329ee2382dc0eba0e75f84 100644
GIT binary patch
literal 2041
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

delta 1004
zcmV<I0~7rD4}l1fBYy+PNkl<Zc%1E<OH30{6o&6iTNr39mf9czBmv5!(EyQ$5dn=W
zb)y?tqJ{-7G$uyfm{^wv7skX02|kD`bs>o%u1u&^3=eq(D9|DXksyy!sBIbSbjBPK
zH-@5S$hl)?zGai?f99Wib7$`T4?|=kNs_ETXt>gRC$HvMbbo3-AfCuI6~6uyn#fDH
zu&o#C`Nn(C`u}wOtuy7Fa`ag_7w-u6l8s^aJBIKfHsYUO-ldCj<I^(+LsGI4L!P<;
z@U%0EOGR@ips%Q^*6WQaQO55VvGny=Lh-20Ph+QMzmcM{<D~iSlK|A@D6cekzaXm^
z`qT}0<nr**P=Anhb@drD4^@=}{K1~3uXAfy`qZZY!-tslFFqY-FCaP{`y;H^M<ZrS
zB)T36W9U;K0bLKA+~&=8Jlr6JeE9YI->d*T0d)f!Za;R>)Th4;QbsdC0X0xXGe7|~
zP(?F90X0xX^#;h^54icV@06VDou|uWea|zDyjxKH2!GHFP(Te-(F{;P4OGz#P(Te-
zQN00ZJ3?)j>dSur4fg(>r$=PH2+0M-0J!;+H}10=te(kEHB~IEg*{7yJ$y<|0gs`-
z9Vk-(o^*0BkZcqLLo6mH@V-fsw9g)sIFr0{wH*L$3fM9;QoMaV!LW}EG&R;q<Fkti
zd0Bh0<bUIWW`JjOV%2u=u-I6gZ)<ITwZdlS#^%-+n3|$2tP-{aZ55ELR#phF8G7Hl
zg`mkI%nc8+a3YMQ9}g4*;NYVuCp-E*X5f>p>3axg5{s*kNW?dkh@rn7+Is+o2&@9*
z(=%+UDT#p$0O1*S*geJ=?Ijx+`rCmv0^rOa&VT+P0{~e7$OJ$(082j}Xsdu@f8lO#
zUw5$iV|Spbv5t(-F6#2K(y-*?f@T1m`5WyA1dG*N+48h=NJzEuZ>Lv8RV;(B3c#5^
zoc%)v0I~p(34m+>hW>V-?Fz^H82UUpa!roD++AU`DS#Dt_*Yc_9-tYZfEuWx8K8g~
zsDGjvpnw{vqIv_U_X{{X`eo${{{Maf%4h~Cpa!aF1}LBgs%Qo%pa!a_-T>+yBkkAE
z)o#@vq?(qQqZgd~+Vo_it+bL$OEEfTRzkgrq9DN@B8CanrvPLGAS(cw0mu$Oh5)hz
zSe>KPN5J`72e;WcnN<;MX?s2Zo5dOBm1Sl^RMI%<@-B$W!H6{2`-Z)G`K+bQ?OpPW
zj-lK<K-~by2!yA`bjHkV0kQ)^m@`OLD|}+2WC!RkgTA4}&8z@t5+OSP83M=>pmdHB
aLVg18pkNYXZ|aHw0000<MNUMnLSTZdqS4&|

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow6.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow6.png
index 754af67ca375ecbe1cce1a93a6ae6de253280ae6..6e9e88d1e901453cc98287ba3b048039ebe4b229 100644
GIT binary patch
literal 2172
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

delta 1110
zcmV-c1gZP{5b6k!BYy-jNkl<Zc%1E9TWk$M7@nEkJ==<?wl38YTB2^H6>VH1q?ZSg
zxV(@Mad{wdOC(hAfCsmdNIZD(fJP$W#Vz8Y)sQOEHk6_&w1iTWmT=D5%go4MsgO8Z
zOf$36{a*HD|FiqeerM-=|34Ru1i?8Mx<Pto*1`O3N9}lmaev98ywI8IXU^5e7Psoq
zCUg0L6W6=De)q!M%Od=`$i+Pc<}w!15a|d<`L%{uw(B@zs{RFt>WA;2I)=C3E;Hft
z%?C}L=RQ<kF=g>97vO#KU6MGhz~PVYg)-CAklRofKe%wdD~n&b0A0XiCfR#Sj^X%;
zxwcGR-v~em!GES{A`@|pF{aXZWf6G+9{x*RwXt#S66C&kDz#0@1sIeunYC3_=t<dm
zZc6{YC?j_=Yb`t9d;SF5TN-fE)O;(-m`f>T7NsnC<{V2Fzi<8npe>rF;b*O%m{d}k
zWWPg@2LyS*cLaGrkOu^LfRa2wcsyX|xth7%eW!Hm%70liHXpVMGSl?Mc_WSDv(<Kl
zabB@+ZK%1iev1e{#$t~k?G11(n?kJ*HGhOs4r2haxV<1vfG%(E@_O)o$N^;W$AUBg
zz}vy&!Rx{E!TTWxki{PhQX2ps4_*(RFO$~`(gXl+2agA@2iudy+a0970pRiA_2Bt_
z5kZ;&;D7Dl@!<8~`QZJK1IXf!1!)36jSsax)cjEU!x#XJ1<2x$1*u&CYJI5reN}_V
zA`0?=AP)%gfFKVD@&F&^0m8q+h|v=cCZ>($@0#xXBIdyK9M<vrap(QL;;P33gx3ea
z;)b>x<wnl3bv9${hpn~Wx@u%ET_1(dA8%KfUVm|w5bgqT7?Ghf3u*X%t)c5WCWIjT
zq&}29qsSo|B1A*TE3R4q;V$qsVjb!TM^S6X7j)$4X=GUz+FrbxH#WDR=@T*#rIc%$
zMq<TNllm#`0>T39zf`*ij!iXph(3H2vk>Ny`!ykbY<2|Bk4#A*rlyft@zOO#JB1!V
z^?#UP{hM}He(EF%56iGVGv-98%klUe>vhG&kmWf1(aSdK6&K|fMNhauiOBWMjrGMM
z*DH5{KUvD=XZUG)TnPdJe9#7^2n6s!8<Zjtzz1zmie4{(^8Et4&ewLkzQ7Bj`vrRa
z8xRQKgElBdAb=0rpcH`sK4^nd^m+l5?|&PFMU;ZK_`f$!!V1#2<rnmnq6MA1L^$Uf
z9N}Eo&JkE!5G($CgHR%=z6)dxNhF2KR<J%Vo6LTM7;&18`NO+rYW_UiGz>g$*Z|Ed
zF3PXG76?aep^25W<OH#a6`|JmfB@@CEBC?iV_mi0H#^UP`9oMi^3x&;7DtF4D^GrW
z)$AQ2{K~sPlq2@4vRvykaf;)*E@zA(K03?(P*r9yiWs8^dBsKfeX)IBWP1JilL!Ca
c1rS2t02xS*lY7{Hi~s-t07*qoM6N<$f?MSxCjbBd

diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow7.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow7.png
index f7fe3b636510031699b058d6ca713ee68030872c..effdcbcab6345c5f1b498a50f4be77a1279b2a4a 100644
GIT binary patch
literal 1239
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGcq%=0fz;OC?W<RIwG*@Ko&*U5s;Bzk`GK#MVZN-c_pbu1x3Kr1+fuo
zA8r-sW+5yO&C4vYGlCj`CXA#DDR!(Ji%QD#i?Tz&F@Xq1oJyd^K!Ox0g+h`)IQW6-
z-;T>hAD)-&xVCIlR|jUW7oIMTAr*{oXKmzd4iGugkQkIMrk1qm%p|MJE@vJ*I?aDM
zdRKWmm&&)?kHxk7^o1T;-M2p^&ob{o*nt+&lf04+w`Lzm!^5<0%rE=;-RA6lZ3pQs
zpCuFGCp<gPaBIQb^9;Y6OzPP#u)VEeyCJ^hr*VT>#&hEX`xMU3XWZgwJ)iL#Yvw<m
z1-!R@@@&xe_?*s=d*NJqL#^X1d*+PhvVR}h9{gus!MOUre#IU}Q3ug&gpB^bdMQuc
T8;@yaphCsd)z4*}Q$iB}QcRbk

literal 272
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=*F9YvLn`LHoxPEl$xz_HznPrN
z7BqHNs5P}|CM-|y(9UVR8~-FCQ%Li*QOf=A7nyE<E}nPh{`%$DQ~nu9{$u4*C~(kh
zIKa4+fr)(z6NgLyionO}18+ad-F?3ObYaQ-`0F>t{{3SSad^-W#L&p>#mK^^!75;}
ofJA}6;xl;uGvU>Ee3MSRaj8(<bnD^}pcffDUHx3vIVCg!02H-bD*ylh

diff --git a/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state0.png
index eb9489ddb47bb11907f90822a5ba80accfef0552..c5e45b5edeea4ad95847318facac90c976b6b727 100644
GIT binary patch
delta 1014
zcmdm7x0GjsiY;Stkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lYt~>fk$L91B1pa
z5M~s&QryJAz??SGN_t|q4qt?CfP!;=QL2KOo`Igh#IJReS1?*kUdCje>{(EfY*LY1
z;95~)tCUevQedU8p9vJx%P&gTFD^;ZM^d0~WME*SYha{nWT~%Y$E5%RHYv$gC7C5T
zsYqf#Ih&%CG%LrPlF9t+l9Cm<IaWD|dFi%F6}l;@X^EvdB}#T_r8zm1Cvb>OZeV4T
z0IEdNZ=(-0bn*%wS!N?MlgSr(lqc8m@POIVc$CcpGV)9Eb5l!-GLt>?N>Ymoic(7w
zOEUBG?2K&mOES~atgxz>e4oe79LZN!jzuNq`9;|wU>|^-WP|K!6zR!(dClq%U5oh2
zz`$hZ>Eaj?!Fe>y*PF>vLT;&5$;U|{3S4gO9j^pfOSOELbgMdj<$k3u63e|>ULYjo
z!P<3k)*<a0`L&nM2Fo3)o}l(@@t$8+@7C>p{mzO#{m#s}&mYfik5t@s<51_?;_&Ss
z7~jQq)Rwj~G&=8j%wqB5;<1?hw@(T&)ZY>JeA2-A;qB_<^2cQ+Ol6jFktt+&ut+Cw
zM^O)VzU2P5ELW!3$G`c>?5*t??S0_j=j|{3SFAIe-r=(@UoI&}nlaD1VNdr)!!H|T
zPZ_#xUdqBC&vn$8VXuwtjCGEjj@vHRM{_XLSjf~LdM0Ap^SM0p{-<|^v6k}|M!sUu
z{I6X<wdUm3n}J<X-~J}HWyLk;{)uvHxE>R>Z`XXQOb4@m9YuzM7@Zrlw2wCi2m6^=
z`7yFT4?LY3zsSo}J>iwL(t+ILZ6c;JJIYRVHoO#?P-K}^m7`wpWf=!U%)YA|W(J-6
z7_<6ohOgGyiJ$H#ZPa|;5%qM-_9ro!{Qu5OVBYi0rao&!tag@6fZS^}hf^CF+0B!!
z)fZ~B%FJ<JTQv1*zUjV|6APo6?v&;D1WwL3RbEiDHjR^^@3Nlz+Th!kjG^p1-iCZ$
z^;hhMA4}Z&^JOBk3Qr?E9!O;0&6;6;iJ|ZJ;#P*MdnSE0VsC$&wpdM=dB<`4Prc85
zS*GM1SK8Xoc}6lWcZtk<$ArH;1qE`Z=MN-IsXr{q`sB4`h2rmv-8;1yH_a6bzLKze
zp7zvxmtXCC8*yD+Mt@QHWS~F8ZueO*o0y2s;W*R&j*+kN|EH}1H&#5+Z3E?EPgg&e
IbxsLQ0J61~%K!iX

literal 16179
zcmeI3e{37o9l$TG=pa?9($F^Q2C-a~Qql9B&pz9Cb=;+Kx@6!Gl5}wjqnz)a?MrN*
z>pM4g*0HKlSK0vsRsjh`8e4||X<6HK6x6b@t=-lFRXPfzz<!`fi&n-!>lkC}#@_k2
zU+lMR@W(VgONsq`-}n7~-}`*O_kDMN+@9W^&onizXrw5rsk_VH2fr=m-{lM7e|>E1
z&+zMtWY>^RQ45>RzXob@e+xx<UsVT!Mlf)rC~I+>q-Y^v%fyp#Hq@=pBqezS7?u!-
zsEIb~JI8)twWvy)b&wCRfn*1Ws$F9#&_C8QAdij6f?{3oYxHJB=pYUZ$&!i361tda
zv*!GY@V7b4SS`6J#z>pB-3(|626`<WS_)Wrn~RoNm)qhNY<Ax5cDmPEIM&WHtb=i|
zH0KbVtmxz{g^$(O2!DA~N?7dkZ!Cm^Qkyku7)g;~Mn^|&qYj&viZFIT5EzzYIF5!h
zXg!-Sqzs+VSLU4*{rG_{r_`jOY6*+!R|;uqqs?kH1C>67eZ`ZdKncCT4pL+?Qj)RT
zSf-YdBA0BE=~OJYG(~1W48%dg(4n2Zrd=|s8JZr|>Vzz*>js872?R>9YpypQuNhi5
zI=4Xt1*A1C^?_^>FnvJR(kU5qZi8D{S!?%(8ZIZN%9E+7yLOOK>zJ9EyjiXk@)`2N
zy^0+vAQ@U}K+|Hre3kVU5n4Jra#dxyZct4q+Ni$9%b+IZe3!iezhnR($8rvub<v!2
z!0r;A9?|Z+p0$fCTj3->6Y&wy6g8YJ`>?};whwTe$nv6tuk=wd6ZHYFA4M{xIeDp^
zTj58M#juu&ONLL4OA){%6A>>{9;}#Isw%NVi)ksiEZ}o^nOeg&t^AstHp{v_Ap;#I
zL$62@OjYi}-5^D(M~jM>>dUtcMUz!UEC+S7f=h9+EbV5UPTFn<fEHxlMFZZWNJ7{n
zK%JK{FJ9=PyskoR6vk`2mYm^Gm{ox3I`kj8&IhdCOeHBC3bVoj0kJ!w8xkbd?f1a}
zn+i8Av2K?v$bgnZt`Ka0PMH>1iKW91w@31XSVi&hxw5M^FK@cwx)>e0uDx-=p@hP6
z*bO(%^L00#UuT80S%Gd!sqmzbVij}Dy(n-m0Pw&Wb^uxe9vC77b0^t3xEG%11ljHa
zA-Aizml|$nh3ZnxlFC+RI9F2rU~BbgxukMEJt?JhV0NrFYq4dO4uO1?6lx{c`9w)J
zPXnK9HWZ+EnX1w9vPzcT`~-D&I_HL9mU;acqfwB+HKe?&+^qUebS-R*N-5ADftTuB
zdS%{gwHfOE-(7$oArZQ??W3h3q_7^AlX#kycn{4hPB$$miVQ1Jv4`CbmqYMK#WYuB
z5#6F$RTY49=R%>Uvm)<=w<^V+UNNh_lWLxGII`xFhVmNasFa8R#m5wPRvbWA^uL_B
zx%I<5nEx(w$Z7n4khy$5t9xRx&(7|lUh_swg#8!x0x8$`>|SQpSh;5M^Mhs|jiqz*
z-5d))jNSZSFs)RhrbBqsN;PU)w%n9Z4IfvCh74C&nRko%TbX|NU;}(Eo_E0W6CFk^
zdesbw1^p_#mC?<UzyTxWY*0l_!=ZYH6^epkK2;TuAh}~KKMEgk;IkD|dbpZ(!j;aS
zkMl=)M<1tG#1{#I0Ktm{7oHEICAbhEc#+`3^Fg!(7Xkz?5?pvbh?d|&fZ#=f3(p79
z5?lxnyhw22`5;<?3ju-`2`)SzL`!fXK=2~Lh3A842`&T(UL?5id=M?cg#f{e1Q(tU
zq9wQxAb64B!t+721Q!AXFA`jMK8Tj!LV(~!f(y?F(Gpw;5WGlm;rSq1f(rqH7YQyr
zA4E%VAwcjV!G-68XbCO^2wo((@O%(0!G!?9iv$;*527Ww5FmJw;KK7kv;-Fd1TPX?
zcs_`h;6i}lMJ%qy^6SbV0pC#`g)bwYYx%?9;ET)_xvMWgQDdtpYR5Q5eefat{yjyd
zS&F)FJ4J~PQPgtn{w*grQdGms-TwB0%xfnG4}JE>y;nW^#d9aS4}N|6-7oL$SaZR$
z)Ohm9qfZ~%x9q)z2i8xYI<#-m8Ee;9j2o_YTv)QZ&+&?-Cw+MQ-e-F6U$T759{YC!
zUweOY-L;JH{{Am4a_<Q~aGA7esxSU1`$Ku+N6Q<VKSfcyuDC<rdi<WxHC?m(`IYl-
zd+RShy>HXR^r_>oy#3Wd*UnqN_1e50k=0K>@kGn6liR1K<h9FIO|3jQ{?^`0(y>*4
z+;UsnJSsWzoNXQT>9ze`OU@q(?)zE##KP_CZt0UJHvH+$schF&^ZB<USFV0{aOQ<{
z=dv?X+NzoCiScKIM;c!|eb&~{I{d72LO8l0dh<(5hpywrn~uyZ9y$8@#KV(&)fc)i
z>uI2ezxk%+9hd%C)ATnUyZ-ROJF~yJa`ErZJf6L;Ejd4N%iRxL>|FZZ^V>r$UwUr$
zX6Ez5#sTo_-9i70=LWpY@Qo{iM_#@(cB;Sec#KapWqvt)$HMH^V-J4&C$}~no%rx{
zYj9hi_Va%To3EX@_|#-;@)xbm+{Haou;=LC@1FeRUl;u9gMZF6Y(5ulZEk<4`L2mi
zL~nlm)i+Lmm)n2!8<)0kd3fU9W#4N*cFz#E`tW?p-@Il%MV)<W#mM>JhO$=$4&3$9
l_=#(Lr@p^<=lc27*_POjMO!!SGGA-&?(FeTZMc2szW}LG%sl`A

diff --git a/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state1.png
index 65254207165b957f648e77219eb234caf994a8b2..454ab882de1126dfe6aa1e4300c11756965c38ce 100644
GIT binary patch
delta 991
zcmbPH*T*wK#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y
z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h
zaIGk@RmvzSDX`Ml&jgC;<rk&v7nh{yBPq}~GBB{vH89dOveZ|y<5GYDo0Md$lFX8v
zR3tH=oJ~<mnw4Wt$z*<ZNy&=b9IKqfymVWo3f+{{w8YY!5+%E|(wv;h6F9^sH?Xov
z097LCx6y|gI(Y?;EVGfB$>fVX%9HDOc);vwJj&()8Tlpoxv3>ZnaQ4cC8<RPMX4o;
zC7Jnoc1AY(C7EeyR#;U`zR%-kj^ryV$D)$*{G#j-un#~^vO)GViuB~Yyk_->u0?!h
zU|>@Bba4!c;5-^;tK%FfQJd={*3IS_Jo#XfppaTfaIDwmC2xevm^qbKZsHcQ-`Kga
z`{02`%ew`HqSfc_@?P=m<;oiU<6nOPL0t9p-&^0`tv*-2@BN+MCTn|>(+VG7ysr1B
zpy;QDfna?;HzT9_CtdXe53IS9=l-h?o5t|qpvNW#pN92w@7HhfVKgmnX!h_HVc4-O
zJA97iqxI8cP82h3HLAC|$Me<y{4!fz#%A&LoAXcXvZ{$n$*9w8zG2LyW8J_s`J>~R
z39>Vlk9}Ce!tj2s*As@SUGpP<wq7!s7+aTI7R%W1y;Ych*SepVR$gQ*sSd51G?#P7
zs``eMf3bS(tTG8duiqA2Y1yn?*2{1`hEI|~B!APvoohEUA4xkb%EWN|C=<gu8QyU1
zV#UiP{00`$YbVtA9lQ3uCr{j=G_Q-{bYJh$tO<MLo;e*U<Wwncm?x9Rf4Z$KWqP@x
zwGu<Y*RaEBX?Dl|hb=z*YT-@elYcgc7_AH0!@jycbl2XzvsZ1UgBr5Wg*Cqk3k!Dq
zxjmO@lBJmO4&j?K8+64%mK9Bq-Y%7Y%Ohqw#HLqkuW@MX&yHkjSbRHlwW;=QT_&aK
zrMJJ{y;9+`?_t4-8<r0xj%b;MIv5>yYFHn4Cst|OuB#vJoc!VLkkxnQ;#(%Zn{%Vi
zcHNM7XHv2j+i>;Hw7Hy;dI<&FqQcAlr|f@Nu~E8kYQqUV>8`5^yJz#N|Ni`D`kBzx
dm73PVKNxNLjG}8ezr6xwS5H?zmvv4FO#rINj?4f6

literal 16152
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

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/full.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/full.png
index 91973e59adef0d113c8db6487e23049e880a11e6..2753f7be44b5c1356e30fde805d03c8d9c5a9162 100644
GIT binary patch
literal 1779
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P;
zT0k}j5QD&_;K@Lev%n*=n1MlK76>znTPbd0U|>$m42dX-@b$4u&d=3LOvz75)vL%Y
z0PC`;umUo3Q%e#RDspr3imfVamB1>jfNYSkzLEl1NlCV?QiN}Sf^&XRs)CuGfu4bq
z9hZWFf=y9MnpKdC8&o@xXRDM^Qc_^0uU}qXu2*iXmtT~wZ)j<0sc&GUZ)BtkRH0j3
znOBlnp_^B%3^4>|j!SBBa#3bMNoIbY0?6FNr2NtnTO}osMQ{LdXG${Mo`TY%9I!1Z
z$@-}|sky0nCB^!NdWQPg^p#|$AzYYO3=Ixo!03ZyfZ7bOYV#~8Nj3q7lxqdhJy8Dv
z9hwZbx40xlA4!3}k%57Qu7Q!Rk)=M|e?aHkq$FFFWR~Qlf&&ijA8-gd=9Hj{g4Bb8
zASV+PvQ{~XdFi%F6}l;@X^EvdB}#T_r8zk^`VbYUIw7K{2HNOjvD*gZW2?xZ)Z+Y{
zQc#%N8JU^bfWrYr6cPFm9T8Y{Ad8~w2*}7U$p@yUqReE^ypq(Sf+Aqbg4hVP54Q?*
zvk;bt=4F=H89@y|6Gqa76f;(iMJ46=McE<XSbzi}PHCtSkl;j0nUG`;4tij^x8t(W
zhvy+Xu0z)%z5;U`kEe@cNCfBEaO(_FN0GT52@}sbxz3)u#Yu~m)o|7lo;nAQd}Wq{
z2^$1dTm^JgCONTW3vzM<dah(Vcu6Zk{8Ns|)(zf?i{I`17<2y2?Cs2)b$K7(o%uW0
zc=PA9_k6PUh2PwNv~Lo>@mTnAV&cDDmuJN95U<+%-R`<$Pp{waW3iQ%$8N3On!xfP
zqVC(J?u94r9<{c6{^0QO^JXzoF<gdbX3zMG(w?W~Rz3OPI4k!4jNLO67%p=fyt@0V
z%EHPj>oWUy`B~5A7+wf|e!lhUbNwqR+j@I_HwPv+&C=>(-2Ik;StRG#tEmMU{|#bm
zt9~6ynZGt8<FQ@sU9KC99Z3mxEzTXr3(os(-`~x`b%o`D$fN@{$BxN03U(+fe>=1B
zZG`31OGh*L%9qYxr&Dcb=&)@2&Y5;hE{R7Ict3QWG~Ryb`?Vd%KOgpcmb>=0Lg1~l
zk0d`F5c~6Sv3fr1y|(+?_O;X=W@jp${{PdNt;ruYr`55Q<W|ltdHU!rlY7Kj{iT!6
zhW`F0aXVgMoy;y3)BVqW@O_vRsQ%)qf=-{sx{%_c{c|OGGmdwqvLxk16-SD=bQ|w_
zCcovlp;_3Wa)#@#6%;v2JhT4UxNn@}(Bpgm>nRtgIS;t{Hx^D7F7P%>D4ek~h<D{r
z?{tUHyE(V~Z>qUHwWVou#yj~EHi`Sb2@TT~EG@;>{*+{YD^MZ%&~)|*`5o*H3-#^P
z52Pt6UZ~o5R%_SWn9S+>OV~tCb7&~*wry<Euy~yH?|$`}o?Ks_`;9@;M@5<(rZ0JR
zzF6cm=MzV(=chg&KR9F7{6f`O)dP<_o_TEzI2&)pJZt_J=4%fBUOm)V@mKsq?K;me
zkt-kdHFX=yUYYUu@>MY<^vtz;`BaE$!=`p;_GZ6h%H@U$-p6i5z51Wwb$?HsubtF~
zLk{U@%)BJur}Ru+%z3q&FZb`tjVrfkUhQvN$1glVqjtuW6E}AXwI>~zGlwx(VykVs
zo%PI1%OyEJwq5>j$uF~?Q-rznFV7SCzC9~B{A804CkB>3eJb(8%!KKvSN+K!!rjx?
V&Rci#%5+eL<LT<>vd$@?2>^G`q%!~j

delta 684
zcmV;d0#p6-4Z{VHBYy&lNkl<Zc%02wO=}ZT6g@AvveZREEV}7*D|A<=Al4>XhI~L^
z{(xAhMM{P&vdJQwEW$_@rBK&`1`2J$ENwvW7X-R1nQWAZkcASr&&BYb?`u9xr^d6H
z%-nhRocHd{oqNgl&K|`QaR&ghxhz`E8h_Yqy@Bsfj0-GlBY)Ci)H;=8csUFNw3;>a
zE<Q?5I&NEY^5yF{06^F6YC?Q}f+Ob$0PyJH18r^HX-FKcX6=svhO5yCkGHk}04K+%
z0Ko4>6iP*S{ekxE`g#li{K|ZWaR877h=zm1eXOsoXygobIUj11P|jmIo1^YDG!6hD
z+dF$So6AbE6Mv6CN<<P&XLJ6Wi2#C}7+wwo0oLXwI&K>$$EP?r+~+S<EB1}Z8P3jo
z{5RvMI}P~bu^a***zt5WN3~)jmwWz`QVK!{w=Z&Et=Ow)=RM<T8gqcXNGZkpcOTxW
zi+=t1j=T5n^J|p-#jDpZMW1R8WVF=+#GQzUB2QvZEPsGfbCDExxQN{-fE5`Lgb>Y%
zxHA)pYBy~{<jMfi<y9mx9c!FDER2kkpFr2`#)?QI<|-E#U|Abld1Xj5=3ajwop@vt
ziq3&#F<0$jiJV9PrSz|3uG+(LAd!H7S_gc8f<mb%8E>Nw6iP+u!^Z`%W<tbm)d7(!
z1BACxDt}3ub%1g56EL+=DoI*(K;(-38v^Op0ToNH16otcdN{V2ea}^=gb=Oyh_X*-
zbF8ne;A%9&?z1Om0qjK}XrrnXdo@yiLa>%h><=0KkEZnVCr=t0y#4?kw|!%BQAFKo
zNQKTW=kav6u-IV2M2b+WsOU3{1Be++R78ztUL}8E9L-q5#SSLR8cxZw$MfGDBhgrP
SdW~QJ0000<MNUMnLSTZ~xIM7|

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/meta.json b/Resources/Textures/Structures/Windows/shuttle_window.rsi/meta.json
index 825c4ae1139..3d311cdc22b 100644
--- a/Resources/Textures/Structures/Windows/shuttle_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/shuttle_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/0b906c6916ce3803473fa6caa65f5b8661118c46",
+  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/0b906c6916ce3803473fa6caa65f5b8661118c46, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow0.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow0.png
index f2e2df2b62451355eb250e818d223963505a51dc..d6ad5cbb2329d194abbd34b33265928786678379 100644
GIT binary patch
literal 2278
zcmZ`*4LDTk9zQeeED{;(qsB7Eq>wo?6S>Bi%tSM@+xQAe?R|_f7>yatoG~NP7%D_d
zZE2OYR$oZmu8+u;mPc!CvbTIJ`6y(2mU1O5#XU1zsi%FP=RNQH{?G6C|M<QC^E@Zr
z*PFRkZ-X8H0BhMSPk(szP){8c{45b1?1vYG)St-!uD4k{hYtq)V0HwD1K7iR9eAq8
ze|DdSpSrQEy;1<!oTr`$Gm7;M0MHT%0)nAn&Mpd197EuSi^KQ?MNF)QMO9GXZ44jc
zVihq$k(8ov$7v80c&|2tIIIQ&9dO45b9}Ko#1cMs8-Yk5;%ItUES4$>kD&N_?p&tB
zCwE*F1jSN7P%f7f<XZ`1NhC;eb#(=aWROgDgb|L?coD=^IEth;OHTgp$CEGRNd&Qw
zKrF(l{c^*^GRPf=QwLfZOL>O#R^r6UBtlJ;a307P@?-cSND7h&B=BQAND%QZLy>e@
z4p<ma{RXBHKT2cALOdr}DK7<_&vJcmqC8DpDHIN_0)S*9@gI&vvLo3QT&WLEpBm1i
zKmtg}*9f;#k48bd5PILL#;YX|3e?I{gj`XiJ5J#k&X3^Agb<D<l?z1SVz~<yTtdCi
zUb4RLlnQ<%K2=>cWv@S9Di+Gry3@$poTwTt-m|{Dfh9)pM;WWFA2NKS#E=;7D2af_
z7D0STtOV|^rHIS%{vPq6uXn)%MFNOMUUu+-c@=Bb?NI0vNG_Hf2+-WbI~o5Lvg~F_
z(p4S0)czXz;r^%TQNfjOiKdrZro;e%_6*yT9-u&s>~o7Up?~(37b~ZY;bjy@p|dW1
zk4-wI<V<KW?AOGkV(l}IVvU-tSoky@(=ej|+z)<2?JPZ0Rgfwlzb)f3D;Jkl7x{XN
ze3RR)`To9{xcyfYuLf#If6X7rk8f4w^*wXEl_c;~EWYR<bKaWd{Sw$QZuN&@+t=Ui
zqPZMe2qC)7Z%l7hk_t0XMu=iXsS&6H%(fJprH=teWMdL^<lvt*RtIAfg;b(#W@C>P
zsDn-OvD%Kp%+Edj<36S)tl;3;<n5JmpNX-S-QPZn>vllmyK{<|Drbj;{DxyQYn$T@
zU-ZSDwL4vy=kbe^Zvg5v_8H*%?9$w5j#4}`HB~}X6e28M`6f(J`;y-_>c{;$qXN<m
z+!qcfSp&1lck?4t3jAJ3{C>)C2{XY`+YsqJ%+QzKj~5#f=T5AV(tTc*0Jl5YqN;(C
z+qZX6RL9F@Cv7VW%C6ELxi>odYu#*NKgp`Q7bI0NYn!8#B(C<RUcbH^hr5xvBKMB-
z*2?j+)|^!PLytv`7-Xhye(%2NdUp#UalGkA>xPZgyEX-RgZ91Nb<vn~R9E>xMX%@_
zqj5V`lK8OItQ@RA{Avp!Zle8P!+4jsk`4FvR_Vvhmo>TlfEX+G&ip;7;f!6c5%MCc
zn=!cA!H^c0R5KKf1cE3kX2><f`t#o!U-ACgzUo+qwr^iDL*?V^8ZzOv#^UM5r@4CB
zsW*5@eLWqQZue#}&a7+ruIBg-7a*$F*VtoXU20x7+MZ{?8tJm|!+2J-fp>xS@6RTE
zmYSnAnrKdw3kT{he({xVG_s<_4!!VXsO6>(YvO*foO|NLnpzh(^wjg+k?1$gsmX?J
z^ePlS%>vOg3s|1VQqEP;J^H*k!1Q!1`hxaR5}05ACi}VUXot4Bar2F#%g5ZPwQbU$
zisl|ptlu*^$m9Sdb7Pc`CC7E<ub)R_yw|zzSI!MSIvv{A)f<BDz*v_7vaUUbh{u1j
zM=8VR#)NpS_Ow9dAcA@T9Zs{Q|Ahj?$PIKL!J>6=^uborKj+e%lGb0iDb3HnFwVqS
zj-fDj^dpKEr8*4D7jM|er_~YIGJ~!&{Ose_z%T~LCb@0heJe2dM?L*1rhHaHGGPwh
zWELr)t|JIMzN=pbRTXiZ5neMhm1gVe#rwFw%MDJ3_*~{+y_Qw++O(wfHzQ<}?Yx;V
zH5w_**8ZB7;S5MsBjf>OFu%?u(AYzEyaAnvZ1_z@;`(1~Q|_qm^u+1%?<Mx{Q+9@Q
z=3Y+))cta!DdkDiIif@9Stn<Nw&C+)T|4}GsfYcYXK9BvT|HCa!~gH+7S|Nj-POF!
z4Ys9G1tgd4i~DU-LbRN+%sOQ(Cda{Tbhv6L3RnI`<YfE&ms?s-K569ciD<Js)rmny
z?PBX%up?9Oif;~NqS~*XLN2;6WXu571GqKwTsB}|qJ>y|VTNVRo$<AZ>QHhU+$||v
z9*VjXkUEw?vF^C)e#w>UPs0ya_EmQ8n(jJge#9o^lPDk7VdGM*I>Kc6e#(`ePZeH(
z$0X%*Q+)8L?4Ut{>F{Vo!oQ8baiF^_I*ojSQ0#O7IkBNgU8kZE8P{gPd8cx6+@s%W
zli$Lf*&%#-q0g88LkpA>HOR>a58Jil(;3J?jB!x3&qSC3P!X3uUHewN*XZ>lT91CS
P`X7Vs<?VT$5vuwhabtHE

delta 1060
zcmV+<1l#-O5x5ADBYy+`Nkl<Zc%1E9K}Z`x6n!ZLLD7RCl@=s>D-^s57D`h$9z$Xv
zkdp^N6jXwk=8#J$IaG>`ND;w8>7k`<ic}MFY@&h(!P`P^;^xv~v6Z4Ic-kJqY<D-=
zUE7&;$Bplj%rd*5c{6|hpa1{(;4%gVhZLIk_jWgZH1FT0d4HJ|#Gr_5W=?HqvWt-A
zTGPIQ;McYHb~mYHb3s5hGl%@fSG6t6H7w-j8~T0w{sRE8lv`>b;(x&f0R&Y^!h`;P
z0Km%fDgdZ$EkcnnN`)d5nOqT|9qiQ1Bzn6$O#8-1h5-PdKfIxmNwtBnz`)>;A_hgB
z&TE&y6$t>))_>M<{Wn3P^DE1%n3|bXpU0wc$7ORtfEK;o9XLEbLo6CcF!<zDQ55)m
ze<#`4_JkE6AbS8=_KKq5<NHsqjs4C~j?muKgY%OkYMHmFzu+LWGpz*~e0x_9wG6Ha
zP?Y9Qq9<1XadNcq`Fst7)XuzTR)CdPr=4k5%U%mE2!8<T?yVVE>bw!$5FiMCQ}>po
z&KtoE0cJ4jJZloDUE#jI`!9{pv@<q7otP+>w>o#WO8|h;v4pDgm2!ppJWmTpR)CW_
z%NmXlV5PI6NZ2&k;RdJ)u(Q+6oSE6=EUj2(peDf1PMf*2ysQEyD)6s5fA8)c7Gjxz
z2?0*pX@94|WDl^i(`E-6UO*iW7@tl|7@v`#g*JF`czlN5?haHX34zBCX~i-FH38-F
zR;OK`we>uJItjdi+6%k5II~>i+Cit1Y4yJ#__^=|9S@0-7+)%xMko?ipT|drQ7KoP
z7H<n`0!GIY0H7P37F9`VXg5oCxCLqg$ib#mD1WLRp4QHj4Ua5;o(2yvQ~^Qoqwr<J
zGO0<jIY2!D$^)o3Ah*-owBSA<;xwpLKn#kywv`GPYXCf91qfuh)^rmjNF~#{8h~tO
z&Km@f84pFm*xx?@0QDDW0W<jS?JMgJBg3jA1bEmCnt`~&3%PlnD{NdDZsAJIAUO;H
zP=9LxQpq&rg9F#iAiWh31E*H`dqq(Yi^e<G*7LU29&Uh|0K5D>i5HN;^R@@v<OQ7g
z=yi$_x{?=YRtw-3T+0ivs`R9VD|rE{T7av@mFERYg(5ez58UJh_$ieI>IW-wws;f>
zK@<b0c7Dds-@l&H$mcpB(o%JTvRrG3EPuCDonW(?ftINgw5k<onL0tMnt_(66STrj
zouGqtf?VAfs7jI=Lj>wpz^?w_#q(!WegIbl0DohMYwLN$qH){W16pw73A%M@iVFgE
zwoAICNvTl8LT>(2F+@+?8Y8&u#Yq6IadFZJ&t9F)WEXXb)2bxtk|<gTf}d$TfgOuI
efaZPL#L6GKt`yZed95h`0000<MNUMnLSTYyyzO@Y

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow1.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow1.png
index 99442012a4787e744cd456f8ad72cff463738a3c..bc3e876fad41184a8e20c580676ece1c4dd7934a 100644
GIT binary patch
literal 2146
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
V(Aj-R>Kv$k_jL7hS?83{1ORX#P^SO@

delta 859
zcmV-h1El=o5b*|(BYy)pNkl<Zc%0>%O=uHA6vzK7#fn7_f+z~52{{NtFH)!=#>Q(%
z@Ki4ff_M>2N(B$%NyLlA=)r>*!4|3)F{Rh^>(WB;66h^tbFo_dK$MCVVLgN`o5^N2
z+c&dslKoxE&SaRKmw7WU|MzNvnUT>khcbR+eaWJX@1qP>L4P8d4EOoOP}B3q`Vwh=
zb^~PdIiylaoIZ6T@UtJcwgCXe>0*l^_6xfK7E1Hd#he`;ZfVQrb66<NE193<KPq_r
zw&bKQp7-rLd2AqXe1HD{X$=P`gLU)y`;PWG*mpqeZ-J}hSC;z@9@=~U_xBINJa_#q
z@a*Y}4`SQzpMPI)_~`Myzp{QRMxFt(#dp#l1|tm+^bPma4iFdN{bv0ZDfUxgH-LAM
ze%m^zp9;GHfM|VQ#0UdK>GLA&1_<l(s*OO71P2GtJQ3T%+~Z$=e7j412MStt0H;rf
zMT-GAeL5^;190EtRLBP4zQ?I3ae;2~c@ZTB=q8^RQGap<aNgro$a=toM~}~mZLVk`
ziWh$UQ<D?aS0F()!0gQ2B?a%n200Sk-QAIDdNN^iWpxeL$MdYZr1sweok-i9kX_)~
zjfM|r^Eu!C%}S;1Slg~srzb<+e)sM_bb!WU3R49D=s3+)t=8CGK$$9>NDQI$?!6J;
zY8c1{Sbr=ps(24J$OhQn`ZO)Jc_Y7@w<m6u%gaaZOcnq%lA&&L)2`L1)05GX81ak!
z-2~`nrGiu{Tup#ZSoDBS4#}v{t_L^{Dfg)z?RtP^u_vIVM4|_nOeA`M$!OODyk~%k
zzYCO{0phdwOmNQtckzBjPn@vi1x$h^4loIpIDfz`cr*dFI6zgUCl!`Bpg3JrF|86J
zj{|~AW1}Y0IKV{M1ND*7F(-351E3+R&AfUJ0JxCOB9lq~nwx#|QXHeQzJR?#L`J&<
zv?uEXZM)v0EVpx?o~jdcaTR4RmSy#Rogg6355%HQ5Rl7cJzpmnL{HZV2BEvYz$gQ_
zc~nF<qwF|Npx!{mC<6e^>GW8|0e-|P4)7y3ae$22!~rs55eLX*GM#Y%`@hY(RI4@E
lb{#9LYfbHbae&I5@E`1L6NzzdrU?K5002ovPDHLkV1jx<nLPji

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow2.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow2.png
index f2e2df2b62451355eb250e818d223963505a51dc..d6ad5cbb2329d194abbd34b33265928786678379 100644
GIT binary patch
literal 2278
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
P`X7Vs<?VT$5vuwhabtHE

delta 1060
zcmV+<1l#-O5x5ADBYy+`Nkl<Zc%1E9K}Z`x6n!ZLLD7RCl@=s>D-^s57D`h$9z$Xv
zkdp^N6jXwk=8#J$IaG>`ND;w8>7k`<ic}MFY@&h(!P`P^;^xv~v6Z4Ic-kJqY<D-=
zUE7&;$Bplj%rd*5c{6|hpa1{(;4%gVhZLIk_jWgZH1FT0d4HJ|#Gr_5W=?HqvWt-A
zTGPIQ;McYHb~mYHb3s5hGl%@fSG6t6H7w-j8~T0w{sRE8lv`>b;(x&f0R&Y^!h`;P
z0Km%fDgdZ$EkcnnN`)d5nOqT|9qiQ1Bzn6$O#8-1h5-PdKfIxmNwtBnz`)>;A_hgB
z&TE&y6$t>))_>M<{Wn3P^DE1%n3|bXpU0wc$7ORtfEK;o9XLEbLo6CcF!<zDQ55)m
ze<#`4_JkE6AbS8=_KKq5<NHsqjs4C~j?muKgY%OkYMHmFzu+LWGpz*~e0x_9wG6Ha
zP?Y9Qq9<1XadNcq`Fst7)XuzTR)CdPr=4k5%U%mE2!8<T?yVVE>bw!$5FiMCQ}>po
z&KtoE0cJ4jJZloDUE#jI`!9{pv@<q7otP+>w>o#WO8|h;v4pDgm2!ppJWmTpR)CW_
z%NmXlV5PI6NZ2&k;RdJ)u(Q+6oSE6=EUj2(peDf1PMf*2ysQEyD)6s5fA8)c7Gjxz
z2?0*pX@94|WDl^i(`E-6UO*iW7@tl|7@v`#g*JF`czlN5?haHX34zBCX~i-FH38-F
zR;OK`we>uJItjdi+6%k5II~>i+Cit1Y4yJ#__^=|9S@0-7+)%xMko?ipT|drQ7KoP
z7H<n`0!GIY0H7P37F9`VXg5oCxCLqg$ib#mD1WLRp4QHj4Ua5;o(2yvQ~^Qoqwr<J
zGO0<jIY2!D$^)o3Ah*-owBSA<;xwpLKn#kywv`GPYXCf91qfuh)^rmjNF~#{8h~tO
z&Km@f84pFm*xx?@0QDDW0W<jS?JMgJBg3jA1bEmCnt`~&3%PlnD{NdDZsAJIAUO;H
zP=9LxQpq&rg9F#iAiWh31E*H`dqq(Yi^e<G*7LU29&Uh|0K5D>i5HN;^R@@v<OQ7g
z=yi$_x{?=YRtw-3T+0ivs`R9VD|rE{T7av@mFERYg(5ez58UJh_$ieI>IW-wws;f>
zK@<b0c7Dds-@l&H$mcpB(o%JTvRrG3EPuCDonW(?ftINgw5k<onL0tMnt_(66STrj
zouGqtf?VAfs7jI=Lj>wpz^?w_#q(!WegIbl0DohMYwLN$qH){W16pw73A%M@iVFgE
zwoAICNvTl8LT>(2F+@+?8Y8&u#Yq6IadFZJ&t9F)WEXXb)2bxtk|<gTf}d$TfgOuI
efaZPL#L6GKt`yZed95h`0000<MNUMnLSTYyyzO@Y

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow3.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow3.png
index 99442012a4787e744cd456f8ad72cff463738a3c..bc3e876fad41184a8e20c580676ece1c4dd7934a 100644
GIT binary patch
literal 2146
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
V(Aj-R>Kv$k_jL7hS?83{1ORX#P^SO@

delta 859
zcmV-h1El=o5b*|(BYy)pNkl<Zc%0>%O=uHA6vzK7#fn7_f+z~52{{NtFH)!=#>Q(%
z@Ki4ff_M>2N(B$%NyLlA=)r>*!4|3)F{Rh^>(WB;66h^tbFo_dK$MCVVLgN`o5^N2
z+c&dslKoxE&SaRKmw7WU|MzNvnUT>khcbR+eaWJX@1qP>L4P8d4EOoOP}B3q`Vwh=
zb^~PdIiylaoIZ6T@UtJcwgCXe>0*l^_6xfK7E1Hd#he`;ZfVQrb66<NE193<KPq_r
zw&bKQp7-rLd2AqXe1HD{X$=P`gLU)y`;PWG*mpqeZ-J}hSC;z@9@=~U_xBINJa_#q
z@a*Y}4`SQzpMPI)_~`Myzp{QRMxFt(#dp#l1|tm+^bPma4iFdN{bv0ZDfUxgH-LAM
ze%m^zp9;GHfM|VQ#0UdK>GLA&1_<l(s*OO71P2GtJQ3T%+~Z$=e7j412MStt0H;rf
zMT-GAeL5^;190EtRLBP4zQ?I3ae;2~c@ZTB=q8^RQGap<aNgro$a=toM~}~mZLVk`
ziWh$UQ<D?aS0F()!0gQ2B?a%n200Sk-QAIDdNN^iWpxeL$MdYZr1sweok-i9kX_)~
zjfM|r^Eu!C%}S;1Slg~srzb<+e)sM_bb!WU3R49D=s3+)t=8CGK$$9>NDQI$?!6J;
zY8c1{Sbr=ps(24J$OhQn`ZO)Jc_Y7@w<m6u%gaaZOcnq%lA&&L)2`L1)05GX81ak!
z-2~`nrGiu{Tup#ZSoDBS4#}v{t_L^{Dfg)z?RtP^u_vIVM4|_nOeA`M$!OODyk~%k
zzYCO{0phdwOmNQtckzBjPn@vi1x$h^4loIpIDfz`cr*dFI6zgUCl!`Bpg3JrF|86J
zj{|~AW1}Y0IKV{M1ND*7F(-351E3+R&AfUJ0JxCOB9lq~nwx#|QXHeQzJR?#L`J&<
zv?uEXZM)v0EVpx?o~jdcaTR4RmSy#Rogg6355%HQ5Rl7cJzpmnL{HZV2BEvYz$gQ_
zc~nF<qwF|Npx!{mC<6e^>GW8|0e-|P4)7y3ae$22!~rs55eLX*GM#Y%`@hY(RI4@E
lb{#9LYfbHbae&I5@E`1L6NzzdrU?K5002ovPDHLkV1jx<nLPji

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow4.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow4.png
index 5b20f48ef2a22f7897c9a1e4d40fe9565ec1702d..58c822ff785d209a1e7ef5467df0bd0435985b2d 100644
GIT binary patch
literal 2166
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

delta 890
zcmV-=1BLwd5ReCuBYy)|Nkl<Zc%0>%PiPZC6vn@mVx`3%grX>vY{)?ndXYj4(%5)i
zvUsW&1wp(Bp;E6N#f#F2;Gy6}i&bw4xu$K3&_eN2@D`F@S}awON{ba?J(P{x$z->i
zH=8%j{%-p(v-9n|nQz`?3@|e?I^mefBrH3NQlSXT&H?~l&VS^Q$)tbH&%K`&pV{Bt
zLEpe2_IG#i?dSJLl=4qe9#%;zm4s;~kRBgHdVCB3U>Jt<Ubpgn1B2vpwGrUb#q&+)
z9LJH~>umv4v=KmtVHi!7^nUrSY5}eAerZ+B-i!7E0BU1i<U|OdGUi3J6X3$R{v*d?
z%&QhbD*>(y4}SyrFM{JZP0e2H6R2n<fJm%-fQ(rAfX%J#rgO3J0j8N~c`Y_RApbny
z@>(o>fN3UBDio#HV&wxwqV@suaV7*qLzkb4=e%F+-h<rza(U_Or%DL`aQkkq5%UY>
z1+1+ulHY+sBrPDym{m<A0{F$OWoJ>ZZ$wdSTaX0^8h@u{W@c)7idw8P$N~h7)2-~R
zF0DXG2!xG!S^A3$B?3e_PDhQBKEQ9BZZ)CN1tooec<k*H+&<vzk39gum-TgOkxJ>P
z4{$}$iH`dK-C*$nI>F`xbb-YO=md)okfp!4=%N0A%m;W|g4+jFmRA5ATHtE6MlDtu
z<NzHRoqr(pa@_d<atp}Z$Q(HiJIPsFU8KGO39<k#_4-C*ntPnd&gRxOs?{1kzI(0e
z721L<fcwQQJKKnDZ;bm{Umd2z<oG){*bD3fT3O)A@(S)u+TE8E^rEBx_d*VVYiUcx
zd$2(k;MU~LrJmDg8pnVC{6?7L6F&;Pn0fVCJb&kPhBAAs(`=DtT|lR~14}-jt6D%%
zJ|OD#eJYXX1EOBvr_zypfKD+l(vf_CPBAYM`MN;V>-$vL6LvxWF9`AxU9(@nODFpj
zEd}UgpTaHxw~t^KfZIo~3jpx?2rUHQ^bza=aQg^lS>bkh{N(9X@tm795tApf>(dW&
zq;vAw1(<s~f1R^@b|?7eL&0%3O3Dzo(1`T*_LJ(s-Us**RCyJ!hd`-N^j$o0_YujS
zQvtgGmYqc^l|1%x8gRI`z;Ba97}x~}`z1{?p{(+N1_IP;;r=TS_WmIL0d6oAmllI4
Q*#H0l07*qoM6N<$f<jlabpQYW

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow5.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow5.png
index f3d4e6fe0d1a0426de9b5947897bf1d3dc0ce52b..6d72cafc90e5c9e9ffdc3b1b6e755d65e5ddef5a 100644
GIT binary patch
literal 2168
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
UTiOkfZ~yBH)~=6hjL9+nAA%k=bN~PV

delta 835
zcmV-J1HAnB5ZMNhBYy)RNkl<Zc%1E<PfHs?6u_S)gy6xOS8+WR3SNTHV;cPcdWwbi
z3wWqxBY1KT3nGO!A(wms1<lDGdaN-*4}#<(6nb*SYbr<%A%sAC+Bo}mH=Fooc4oKp
z1HqZ>pX}TBFZ15afn?U+zWW>Y*>-8GU9UAdc)s83!u-M_^nZI@`1AC*N4fti%E`Pa
zt{36w)%WpValHrt0GVtq@Oby(=NA^q_s)>7zyaGbq518HZ+<i!1Rl?702L)Pz~$HN
zt!JFc=6nyyzIh%Rpp*dKtgiaz*f-5f?OBvC0n4s>#*TCE8S}Jxj1mH9U9^02A3nZs
zfBjtT0C;Uab$=SLUD|51-hMP3Kqi|5{O|x`G+~b0m0rlw((5mHF6xb^E)T#&y=k7B
zprinz;(V&|fT%d1`aB>i&Wp|iqzeEbUYo}#A%Hk-9wS`<v)VjwA&~O`*>RkT5Dk!N
z)3YK(05WZQR>%U79mlDV1t2?)Q{iF)NwRqi7Xc*6=6^9<e1Ob2PKCT65@z#Q?JN6c
z-aW=$^cW2XP$_?+egzUjR)m5c{^a<yAmUzBgb0AufP=%M{K@fY!B|-V!&vql7qk`_
zH)H`|?~ZNWEp8abvS-=5w7H>#0EFiOxV(jnAF_!h4`2x@e#nH2514k{zO=b9{vQ`Z
zWWm)31b+#^^#QGmmJ&9P;o<}EnDq%^C2m!SZ9O2Y2S7H$^8gmM2f(&WB}_v2dH`;6
zNL?75H4jK-7@Q^q;+nsuh$e7Z6^_aScFQ~Yv*vjr==_`OOQ{uV;dwy6*M)km(W&g4
z0Py@%*yZN>lKK@$=(>Q2izaD}P}c>h7tnP9U4Iuymd#^yU4VLlq}K&>pCILAQRqHF
z-6yE~1gHL-igW=0=srQ+Cnz(IkiKE!;P5Dq=SIT;)N75-B%i=b7}67=u#J;pn<iac
zAv`?%CM81BH2?s7MH0ukhqLB+VYj>kQ9DPeC?SBLjg!vZ-FV;Nr2YeVdL-Rjx)Wpx
zDm<F}7kPk7SkXje9-xE?Saua`%X}UqO_;X-;3X&_fJwarQFR9@{{XyFyVvrf6q*14
N002ovPDHLkV1ngvjT8U?

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow6.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow6.png
index 5b20f48ef2a22f7897c9a1e4d40fe9565ec1702d..58c822ff785d209a1e7ef5467df0bd0435985b2d 100644
GIT binary patch
literal 2166
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

delta 890
zcmV-=1BLwd5ReCuBYy)|Nkl<Zc%0>%PiPZC6vn@mVx`3%grX>vY{)?ndXYj4(%5)i
zvUsW&1wp(Bp;E6N#f#F2;Gy6}i&bw4xu$K3&_eN2@D`F@S}awON{ba?J(P{x$z->i
zH=8%j{%-p(v-9n|nQz`?3@|e?I^mefBrH3NQlSXT&H?~l&VS^Q$)tbH&%K`&pV{Bt
zLEpe2_IG#i?dSJLl=4qe9#%;zm4s;~kRBgHdVCB3U>Jt<Ubpgn1B2vpwGrUb#q&+)
z9LJH~>umv4v=KmtVHi!7^nUrSY5}eAerZ+B-i!7E0BU1i<U|OdGUi3J6X3$R{v*d?
z%&QhbD*>(y4}SyrFM{JZP0e2H6R2n<fJm%-fQ(rAfX%J#rgO3J0j8N~c`Y_RApbny
z@>(o>fN3UBDio#HV&wxwqV@suaV7*qLzkb4=e%F+-h<rza(U_Or%DL`aQkkq5%UY>
z1+1+ulHY+sBrPDym{m<A0{F$OWoJ>ZZ$wdSTaX0^8h@u{W@c)7idw8P$N~h7)2-~R
zF0DXG2!xG!S^A3$B?3e_PDhQBKEQ9BZZ)CN1tooec<k*H+&<vzk39gum-TgOkxJ>P
z4{$}$iH`dK-C*$nI>F`xbb-YO=md)okfp!4=%N0A%m;W|g4+jFmRA5ATHtE6MlDtu
z<NzHRoqr(pa@_d<atp}Z$Q(HiJIPsFU8KGO39<k#_4-C*ntPnd&gRxOs?{1kzI(0e
z721L<fcwQQJKKnDZ;bm{Umd2z<oG){*bD3fT3O)A@(S)u+TE8E^rEBx_d*VVYiUcx
zd$2(k;MU~LrJmDg8pnVC{6?7L6F&;Pn0fVCJb&kPhBAAs(`=DtT|lR~14}-jt6D%%
zJ|OD#eJYXX1EOBvr_zypfKD+l(vf_CPBAYM`MN;V>-$vL6LvxWF9`AxU9(@nODFpj
zEd}UgpTaHxw~t^KfZIo~3jpx?2rUHQ^bza=aQg^lS>bkh{N(9X@tm795tApf>(dW&
zq;vAw1(<s~f1R^@b|?7eL&0%3O3Dzo(1`T*_LJ(s-Us**RCyJ!hd`-N^j$o0_YujS
zQvtgGmYqc^l|1%x8gRI`z;Ba97}x~}`z1{?p{(+N1_IP;;r=TS_WmIL0d6oAmllI4
Q*#H0l07*qoM6N<$f<jlabpQYW

diff --git a/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow7.png b/Resources/Textures/Structures/Windows/shuttle_window.rsi/swindow7.png
index e0c99e0f540ddd3ed9b9943bfea99b72f5791ac2..62faa53e63c908af49e8ed28e9933a22518083bc 100644
GIT binary patch
literal 1871
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGcq%=0fz;OC?W<RIwG*@Ko&*U5s;Bzk`GK#MVZN-c_pbu1x3Kr1+fuo
zA8r-sW+5yO&C4vYGlCj`CXA#DDR!(Ji%QD#i?Tz&F@Xq1oJyd^K!Ox0g+h`)IQW6-
z-;T>hAD)-&xTdddkOt<w1Wy;okP61LvkdcO0(qRT=LIeCe}2#W<IG}J@pnN>j6-Z1
z1a@3|bN$@)6%YG07*$O95)SBZe^^yr{r`l}zyH7Y{QdR!IorP@^>wv>&;C*VUssz_
zas7?|GiT?c_KQAGVl4RS5H9+@?A_O6%qP?g#hZ3+={mosNc;UqhAT^E9rihDyuIr&
zV@rV#+pbj=+l#l9cQWj#S+KgR+}geRF=K)rOL3-X{70+ZpXB%z>c2@f%{m_Q?B)7L
z6%2kBYQ+|3!fcA&KTyw-y2!{&b6?(n9(wxJ?<x8X-hO|4?4=HAGJd!TabDPZSqHPu
zodRd3FL-3U{?3uzvJJCBif62>c(!bVtOLjK6tK&8SNU@`oMs1kX!Gjpd<?~kGrU*-
z=(>Khv)sDj&&_O(EV<&D%k5j=GR!IPc~&rEZN;;)2b!>uI`?WTa!3ikFJs6GI-9uc
z(ahP0$`}-7CO59ry7%_YD_d0tJ^2@_9^E~+F3y_aOlyMP+DF=P>FW31GJHy3uehS}
zOzOOUBHNe?4jIlooVe}L%-fC2Sq?m9jt$*&+Y;z3h1o}9IG$b7vip3>ch7Cc6`rQ;
zGrQ9BxNgH^WAp0oQ(&>NyXq~20XX*7SInJTv7PzE{Jm`po*7QB{1tqI?*QlV6u$PG
zK<(`FgczptmxO-Id%h;lx*<mh;`uY$<{$Ie7pPs8Nz<CQQ!|HM;E<st#PRonnI3$C
z`e`fk0kE6)Jt{4GbobxyhIKDq?$^(#XS~aB$1eU--~V7eNd|i}u<ARnd)X)WCh4(!
zR$cMqjP`b53UTmVWqBsVrg*i596U1ItEY27BcphWxg5hYCxhu>A4S)11|>m6Kxy@{
wKWIrdYCoKF)VQ2QUlQhtxO^KVPmp0rzU{I#bCmgKRe>rqPgg&ebxsLQ01EZjJ^%m!

delta 386
zcmV-|0e$|@4x9s!BYy#7Nkl<Zc%1E;F>b;@5JiWS6zS4ZbHE&fn}$eH3TnE@8dl)V
zU+?os|1}6k4BBtc`Wg8UFsIY`l0Uose#P<q<L~uZ{rdC$sr>$%^5v~~w)i#m9(EbP
z@(BN@-UA*$Uc~aqwicP|DtG|PMYc}sS9KLUfQY#>pV>tKGk<43g9p$%^P@w+1L&Rk
zTvx#ZXkibq2iOBv*H!QUBJ2V70MY{vY6JRyUS*RrfSl=GHVJ^7>0aaj=<B$O8~}YC
zR~a$_m1aIOB!EgYpBb_Tkk@gQA$vf6Kl6TG#U8Ll(@J}SJwR<>4~SYbpRot14eSB-
zfJZ9r3HAWBfqOl`9#CuMGxh+rfjz(;@JOXS!5*MCum{)!YR!Dc9-ua;?g8@i0V?$K
z1^5#pEoSa1y9{9Fo`MHJdjuW;?GbnY5q?e(^$0uw+9U7)=>HS&09x1s>;d+G)pZp-
gfCzhlJ%IFpI}YWnoU#P_bpQYW07*qoM6N<$g0YjcX8-^I

diff --git a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state0.png
index d218355a78d335ad324d4435bb6a2714b693251a..f3a4f8bca59aa05e9643cee5653100277b0028a6 100644
GIT binary patch
delta 939
zcmZ2nd6;{GiY;Stkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lYt~>fk$L91B1pa
z5M~s&QryJAz??SGN_t|q4qt?CfP!;=QL2KOo`Igh#IJReS1?*kUdCje>{(EfY*LY1
z;95~)tCUevQedU8p9vJx%P&gTFD^;ZM^d0~WME*SYha{nWT~%Y$E5%RHYv$gC7C5T
zsYqf#Ih&%CG%LrPlF7Cll9Cm<IaWD|dFi%F6}l;@X^EvdB}#T_r8zm1`B`NwfU1!6
z+UR33(556aEzK%2D7830r?ez9KhMs{%w+N&F6GIYTs+Jmb|aUvc|b;fNq%l>Nl|99
zXI@EaQ9)5^Ng_nGjXu}}tSTn=bBRvA&t+(i<XbDpqLT9bqU;c`&p=MKK@JQQ>B%d&
z&FT+bi}=dGz<9^g#W5s;^XQblUd)ant;glJcxXqb-*-Id6fk*8(?K^Emo0)#FSsLq
zF-1jaDLvwjn3dqN;iNK4a_)R5my+`*I<KF7ch2XV`t}>vH{YBoe`jmF_=-ewV&T{7
zq?nom+E=@zx)}}y);wfV*>k;GJIq0%uDCRAPJ>2$MWWb|gVU#7|McELXirqM<;hav
zSr4{fFQ0pd<;H>H+srMGXDDvCE%-qu*Zt`)*AFN5Ft@DFzY@Cr_bRj3re~G@e0sFT
zIQr9x^I;8~=T6!Gde5aaL7hD)h>s&*M$RS7&%&TZIX$VdW&8ZNwp)4+1r)3&L@_+v
zHjlaQft^QcBWHczshfEYoX2Mv9&OB4lX1^I_gUz+oo%qxmcOqzuMezfmsrW%@>;aX
z{l^N`%5#=y&M~RTTy58voKvjVr*qry{?q?{Og;tD=T&8rvl-0_^v?B)hZ^or+$QvZ
z>G+{fbA&~v_kM5Sl-qavrR8e=|H}mS`M+u4wCj2<(y-^g#k_ve>ICNJNqX~&`5v5Y
zKYrPRQLjMf#Usmo_wU`k^x^rpzaKOW4#u9h+;y1GaYc*snf-h-9z<63ZChM)<lMcB
z^BJUf%oDYV5Zsh|p_udg-%slq#4Q>!ZI0K3y!-t$K_nufDgEuvmhH22zcT*}yl;HM
Se61xY>v_8RxvX<aXaWGpk9o}i

literal 15523
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
H*KPV6dK~`C

diff --git a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state1.png
index 810b703900240ea7f30ff3afa8186dcab19592e5..08bde9a23c42d60ec2495a3241194dbe33b50f11 100644
GIT binary patch
delta 887
zcmexZ(a$|W#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y
z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h
zaIGk@RmvzSDX`Ml&jgC;<rk&v7nh{yBPq}~GBB{vH89dOveZ|y<5GYDo0Md$lFX8v
zR3tH=oJ~<mnw4Wt$z)p&Ny&=b9IKqfymVWo3f+{{w8YY!5+%E|(wv;h{H!t-KvhV3
zZS=7iXj77zmSz<hlv<phQ(BUlpJ!)eW-@sXm-6IHE*@qOyOB%TJRl>#BtJK`q$o4l
zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X
zX7z`zMSNvoU|iwp;usRad31`s7qg?p(c>CXOQ!DaOi*0m>2)ySu^`JwjyNZ7Z&#P1
zz8g25a2$-dy<9->Z1j)TlPTrtYQOWl{;JKs`*ZL6y)#Xh9W5-V__h72Sp0{${pnGH
z3^8ZT^$xV1Pn&<1tKgx&|M#<;Cz{N~9OeGJ__3z0p1teA--9P}*UrAcUSBKcn<Xs3
zv_6-g;kx1F3whTAo^6VqyWCuC`YBn4x;jIX%P-q^%J2n=eK_8}`(&JXWBghM`8ntI
zKaY1)3bFRqR8>E)K7XB&HM<^9!BsD%4G$l0|89CacL&Q2zA0i1HYUXfO>eL-Rr+x7
zs%05BS4{CSv&r>0xMJLM?LE12@85i@m;3+k%;g$)FW)%9_~0d1cX#!bE~DqNSz8#S
z*S)*j-*e8gd-bhtlXw5EpTZz-qf#uru5v?zfJOJ_kDIKXNoGxGkk}!%?Y!lJJ+J=q
z{dn+h``j}x@BQr+cqeZ4pgDh%CDV$XOimAUgeF_Q4=`pua$swK&olRimDx-+A8r)u
zl^1l}X<WUI<HNz#C+@VZ=iq4kY$UsKn(Rtu!ve<BDet)6{df?X{*LPh``gOZr%Usv
Q+k&!@r>mdKI;Vst0ARCX8UO$Q

literal 15473
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

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/full.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/full.png
index 6baa538dad92fff2a6c364b70fd4a5d045c04afc..6e1e863798be43c1e8c7dba75392d64f10022699 100644
GIT binary patch
literal 3495
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
LVr^Vv=tloPFV6&Z

literal 9436
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

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json b/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json
index 30517fd0ac6..90748bedfde 100644
--- a/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/           f141c349e063f7318d8c8a2417d840f0b2d06600, modified",
+  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f141c349e063f7318d8c8a2417d840f0b2d06600, modified, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow0.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow0.png
index 414ffd9f3ee92a394adcaab92ef34f74bbb1afd5..162cfa0cfac669a97ae0972f60d90baa80dbc3d4 100644
GIT binary patch
literal 4035
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
ab8t=W+3+3vu@AfdWqM}}wJS93LjDIjjs7hF

literal 10814
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
ZYxlTu#$ZI33;lct)RncBDiy54{s+=SrBna_

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow1.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow1.png
index 90131a48bf96cc8117ce389ac97229626c1ca243..f022a67d8126e95d08de8cb8a2e1088722b1a218 100644
GIT binary patch
literal 2719
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

literal 8214
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

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow2.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow2.png
index ae12f39860f52ffc274a700f9d45e285625ff1f8..162cfa0cfac669a97ae0972f60d90baa80dbc3d4 100644
GIT binary patch
literal 4035
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
ab8t=W+3+3vu@AfdWqM}}wJS93LjDIjjs7hF

literal 10815
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

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow3.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow3.png
index bbfee9bce7f894201330ba16b9a6f7b146bddf58..f022a67d8126e95d08de8cb8a2e1088722b1a218 100644
GIT binary patch
literal 2719
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

literal 8477
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

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow4.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow4.png
index b79db5f7893ce7908127d271a29bd3d13c6e8fb8..41b69347b0b5028254467b7a0217557557c60269 100644
GIT binary patch
literal 2692
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
PzruB;m*c4w^tAs2eU4hf

literal 8217
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
Dt^%_Y

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow5.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow5.png
index 83797163f225f940ae731ded308e1418c5611567..8f02050ca08c4e2a8fe8b615295b9b89fc61d595 100644
GIT binary patch
literal 2318
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
JUD~iG{vS!*mPY^p

literal 6896
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
AX8-^I

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow6.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow6.png
index 2cae7c43a4c77e1c531fe25b58c365624492faf0..41b69347b0b5028254467b7a0217557557c60269 100644
GIT binary patch
literal 2692
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
PzruB;m*c4w^tAs2eU4hf

literal 8464
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
K>J(`?NB$R18wZsD

diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow7.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow7.png
index 17304ce1044032ee392be2dcc63be90d6580eef0..7ca4d7214fb770ce7965e8b028426e5826f30600 100644
GIT binary patch
literal 1661
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU|gN)>>S|f?5q$_l%JNFlghxL
zF|l@{wTDcgNSl3l^CM+3tq2XDg<)EY#HJPMx<n+#^6t2J=;qDo8?5i0S=TYaC}H;k
zg<C&ZbaSticqU2<u*fT{WR8+dQZ|~md-0o9FIo@(d^Z2{e9L0JA9XXlmY&+BkefdD
z!h-t}{Pl*X{s+18UT8>+lDsO<!}g?e`JX>`<^?VK?AiV<^=|FmJUi<<dvE>!S(u_3
z^KI9^n=3ny8Hr7iI5c19X-ezzmgeHfrIr3W?oC|S(r=<}V|QKV;}5HNV=*a)`R_6#
zJdL&1RBwy+RM%beJg;-v;;3-B+q0&dxOeU8RPtM%w)VK?SNX8xZ_Y2?6}PC<u}wm)
z!?7iDndii%&YN_-+9vGzzW?F-v%lGAI2!gV&tvf{l>XAaXi2b7g@;vS$tArzzSCXS
z@0&f{T0g`1^@Z>9Ud61sn|Ru}FH{6xh`P4mo3)IL=4HdrK`UGI<=SV<?wn+BMb`PL
zi`u=*Z++w6w)5A=e2>?jqJOCNT<LqWnD2GLXQqER{q5VI8{KP-C4RFt-rul^E0^=<
zvnSHOSDbkN`0w0Mk@tTXKgBn=tjK<{1Q>gKsS%!OzP=1vKsE;ugTSTW$v~2`z$3Dl
zfq`2Xgc%uT&5>YWV9v=5i71Ki^|4CM&(%vz$xlkvtH><?>$0h^0y1+`OA-|-a&z*E
zttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4bmx6+VO;JjkRgjAtR6CGo
ztCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&;SCUwvn^&w1F$89gOKNd)
zQD#9&W`3Rm$lS!F{L&IzB_)tWZ~$><N;2G@g3_WKuq`Rc`l&goxv6<2#rlSNhWgm_
zm1L$NT$oo34Gv(y=!0Z{+6=I2^DHPyHUWl|YX#6fQ2zlPnhdtLxFkg%NrAqRfq{jt
zfsw9}r9Rw$K<C?}BwLkamgJ;@0}k#Va0oi)l%R@&)PsT`CleI1Rym1z>9$H0x+$q?
ziKRIuN_HjXnRzMs<pwtT5LKwUA)=^;+UR4k-v;DstH_|#;{2RaP`KNf8`*$^0!0uJ
z0T2xl*fbyuqH74q$S=tUrl+FJWY4^k)S`kSVA=xP2eS^h3Usp&c8BI=me|1zKodsN
zg%medjzuNq`9;|w;CMg;B2FbxV;}*Fls+Me9~}6=)NjXSqYuwXc3f4LBISYE>zSvE
zV@L(#+gTfVn*&6SGz4nQP)SY~;!5i@YVOvz_sM^GZ?5Kq8{3bbuZ)!!dbsnw{zHBy
z{{-!XLtRhWcog3HCK%&k&OK0H_Vv5X+56fK(px@DCd5y8cAnwZg1P4zem9xavt3|&
zTf=rke92Ga2D6Ok#s~H(oSo0O#nE~`<2TmKe>@9#Z~f%ipzrZHogw$ax%7rw$65Bw
x8O>$?zOp^|&%A<h^?&_}y^Nv`qT2`=T|Z5Xr;a1w(JD}Z;_2$=vd$@?2>`uLW_<tv

literal 4882
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
F_6HOSG7bO$

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/full.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/full.png
index f7b6e10f869a9ba3ee1d2f09f066f153b5e21e5e..0e5df9bea5d2dc5ee7afed871d381036cb12d116 100644
GIT binary patch
literal 2364
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
IvokdH|GogceE<Le

delta 1302
zcmV+x1?l>{5~&K1B!3BTNLh0L01FcU01FcV0GgZ_000ErNkl<ZScS!xU1%It6vuz}
z&dh#icav<|)LPSMtv0c(ErK6JTR&b3S}O<&dGx_YeUMrx_)t(m6!cLad=NyXpaCld
z(Nb+ngB4A!rnU`eYLh0}eC%eE-TBx%*N2&8v+05$S^9sOJAdcS%=yhd_uPA~0O;xO
z8{!sd<kP{2%%1+fp^+n@rCO}@Rt=CoXdi?GJG4tbxQa-FPsUfZD`3Qerq+-!gSILK
zSEGd<`i9IEV=M!-gXKdx0)`9HByNlF1#q+u8Yo(2J%A|$mR10G!T{0$#PCUK7^yfA
zSFn_Wv;)cmOn(9Z8N7()^LhGJlBpy)a{~y005mXK`jgY6=g>m1cWW=*sk>-1S_6Ke
zxx6sKg~{ImcyRMxB1E|()eV579Io5fm?)0(TKYI?-(rChkO~2?c*g1Cp6M;TnEL=6
z1-?KE3tt0DkTro!@bs5+7h!H~2wd8&B(vJ%ld1DSgn#&yzZ?t-+5=1Qp8EoC@f8?B
zUjX14V8Y|~KEb;)XCdW-4;!P2;188(5O2Na-lBwyB{g@efOJ%p0Vq@yL|n3qQFd?H
z$!y^Zm=~)6A~EnmDFsCjauHs>d>>~9h8sBkZxvVqAQ#?0cj$gT?7c$4bMRCZW_@T+
z13Cn7ZGXPDCV0h6av*yrC%Mj<fnj2AcE0hy2-fJ#(cxqCCcu=m#4?bGK`{@ck*gn+
zLUPibSP!2!%c_O3g<3lRhy?jMx^T5Q&O@16FmKNVH<`>T0NbIH7@Jyd0|PotqbUF>
zDad<yN^u8@#Z>^nBsSk(`mQOCmsQX{zy9?bRDWtIyaEsrL0mTaQC!g|?bcCocMX6L
zwCN~MZr?{$ug&lE(JmuFR!H`A@2ay005Wizwz52GbyD=I>kc4=z%VS*kqq5#%Nl@C
z2_snfnl%XlI-{F{hH2FUgc~PqR$EgXOCjqG;Xl?{ZS4S%ud1d%G*TVFtUb+Db)#t^
zP=Cr}#-3^nkdbk|`QsD-DG{d`>NZ;V{>l$53dM5uWG;6W{R*Oq`JZ<eDZ@=ZB!G}9
z0G{7{uxS9TG6}%WEjw-o&?4BsO(ZF8(hOY+YlPm+PExuy$AUSaG!w!hZL~CedA+nJ
z-ij$CrB!phE(=@~i(>s(!L?eX<|7zyLw}$h@bOnVp6=hziKC~Ft%t*BUwVp<=7!jo
z?4sb6u$QV3Sq<O|JflS3zQKqy&#dx!Cvggn)K|U{YGdc3NE#;X2(B5y!qrWpA;4#q
zv&=@T94`%XAiIw)BhHxef$H+PK(keJFnIMmv)L-xJ{!yg)1}&o<YbH)-v-|xXMb8$
zwPt^$lR<Ba92QGdnWVPOCc{rJQ6;J+lns(m!MQ6xK>~=|)D9-N{B0@T-*AG%GY9G0
z{s=iMsA&~2UcSbHTj1h9mjQTe+rt<bbjCMv7*J>?E93k)daka&Bi@NXlD8)@O_N{7
ze&OSeK`PP%e-X$cdiwi@MqXb6t$#U`cz}WV3t+~{xltUWRvVObk=v<lR9e=j>$pG7
z4r4P5+FP-ix=PuEj4v6*f#@_{bTP&l06lMK!x0FJkb&~g!5PsmGh^7S96rL!b>?aw
zYtdQJB{dF0fK0MkCm3TMv?i}5#Fjvrj2UB~b0B5_g8KMY9?$;;gjcr_8V_4L!T<mO
M07*qoM6N<$g75fKT>t<8

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json b/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json
index 099201b4184..8d594817c68 100644
--- a/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
     "version": 1,
     "license": "CC-BY-SA-3.0",
-    "copyright": "resprited by AsikKEsel | Original source: from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept",
+    "copyright": "resprited by AsikKEsel | Original source: from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept, transparency tweaked by Ubaser.",
     "size": {
       "x": 32,
       "y": 32
diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow0.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow0.png
index 7be507678d49517ac92392e78b96843349952311..ff5619c5194db935b37d8bfff14fe3fffb89df48 100644
GIT binary patch
literal 2857
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

delta 1672
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
SNQM9a002ovPDHLkU;%=37y;b?

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow1.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow1.png
index 9979f28e945787ba4ffab8d70010c70209c7f274..cabe60b557955cba753348a64b5bc1ffb7516eec 100644
GIT binary patch
literal 2288
zcmZ`*4LFqP8ve%kolQc!6fupGWPD7-jF~~kU)yN>?ucqIV+`|W=5uBgnQ)SRv{9KX
zW_DGalGRFylWh8%wpi`zhh)^rbsTFVDvP%B%_ym>eXr~Nd*1tgp69*a=ew@2kQNqf
zidu>S0Khafgc1SIe%fwq2#=>Y>5t(FA&v-M57c$o4#As+EP7}%l?ph+Yh$=;+ug_#
zcr+1)#EJpn3rlTB0A=OY0D$CjqUaEvx{;71;JGF+1&J(IDNm?l5v2rp$zwqYXep1&
z7Zao;j1ED7*IF}(LF*t;8VN(E($E0{5evP})y>rnLq?&|XrhRjOo*Tay`#fB5+((L
zgai<jNF=V3wXOmY8+6Cx@t_+H#Nn_o0xQnsLkUtWU+ggJ<h>sXOPnO)2qBJukJkE4
zNEBp1Bn(CyXs*rX$xNDyBg_zSby1i}AdAc5vG|Y}ba!<JKgWYO$saQ0i{Hrs3j=CT
zV4B-!X`w<W$pcm@PzvYs?tXBhNxHaVhzZUEfH*fdZ>$>*i^GF+_k+_XGLr}p2ja4H
z!p+@Br=UL<`q-+)YbD@vw8|2=34AsQBgHaV$q5-;2t&@0aQIAt#ES^dqCRHNT0eG5
z1V0m>sJ%5IHi9J<a5J>Jlf7_6ofID#KRm!Jf&MwdeB-ACT8aP?!1W~JB!%)JmPjaq
zYfBgJeYn3zeCq2%>}Wm*BENU=iFqDt-rErTMUX@wN{iCH!v_)n7V^%`tf2GibGG<(
z;=|QXMiIfeFNuuuaQY)201S|!6#pnGVkE9V%^`a6U$_zlwTJH2doS0<Y9GttbRD{;
z$!QuhT|ZpXTBE*<HqOO3H~)gk&B@p7BNsBvnf?^4aayDNr=KDs8(X?G_Z&IJj>mo%
zYi_T2STJ%Dud3jDhg4l!drYh$^^+un9TL9YC>;k@mX|`ycZ~JkSUKfiDDs6Ge&jt&
zc5y!M;}Uem?^3G5IB;ZpjsFc#B}Xr)_?D?Uu^`MWx)UMCnf3NLD)@=}`q~#`n!+;b
zpRQmF&AOw%+?IcIWJASX<6Y>(GTOFUvSOPYjAJcMeLFDR-x~g^@=p1c#wX6n#SQgk
zU!6LDTku=kiIvl@*|=5aUP0ZB)h88;sfbR5cgyJBW}~bN8K(a2evgGG^@Dv>LpMDJ
z*X=aAUcN|O(&b1yG0MiDb<%4aUp<=5G)RlFRM8ii(nAgjT(XK-3v&<!m?#Iv29He^
zP(#i2Avr>Ryc3hX-3rcKdb!A?JE!%F^Vi7t$%c>WM5=I6sdGa`=>$!3=9RL?{>Xn@
zBEdoz6NTRHnz3vpQJ-PI;D?+4Owiw>?lrpAZv4O~&q*}U7A%|GqV77~*%`81{o*$J
zo0U@$eMoym0C0Tyx%)2*%<Jz5(|X<}=!cj;8lEyD>s{SXdpR<!Fs|~Wq@sHH<~&lb
zsx|E4f-ssjg^oMDt<3N`*48;cJf!iCU4ZTIJ;#LwmLnzcmJypTEbV=B$XhR}<gn5^
z()U#HS3@DjCvpp|EDowSuma!Aj1N+04p5^77USQg9c4JR{iA<iXWAY_)8Q#)clC5m
zMSzF(Rm+Bh%kOPOFIgISIrd*Xrq|A&pWL#j9pU|ZyzRG;Yx28>l~=wwHSxc%XK?w7
zA|KVA^k)Ih$!xAD#-K~O$fS%_MH#c={AbG&gH2X(M>l0%yzm@x-o~RWF8av1o5#Fl
zsAm&bOrwT9e~qohcQjvH>dfyRk02W0?0Za5vOJaNjjBtL!UN}QOC8s3-o3rHiKGdy
zxC>c1ogFwn&S&S_AL$ZX-hB4;<V@?hH1j3aB`%XmPDQ5s^!Y1F!F-K+M!D?Uo>FA}
zK0A-q-Iroi&(|l7mZln@c`M3EK>2i$>EjmH&5Qbx%_#v}UI@<Q<GOGA$?OV!`p_+n
z4-~`a0^6EY_-ys$p`<rMnTpyJBtsR8Vi%izFJAupD&Otvs!RdRK>JwB$ZBO{cg5MU
z<7-y-EO=_wW!PqYrhttMt`7&5&6xnA$vvjM`h-E$ev7+~Bt0z8Ot~zN8mG_bqhM0h
z1#5hJmhBx&D}Mchne3{w$RV(2;(?!Q{0c*reHtPgK-bc%8q6xs7gW5S`O|L#;rASI
zCcBkho!$D1%=pp$S0muLX3(?)tGbZ7HHN6zGn2FHkJBt$&sAe%6Fa1ugI?cOZd6VU
z`Zhgv+|c8{<Ik-R|I*7gciWSoL0S#00px2K9e&l5`oL!Et{3vRU|adFu(2DW{lw%V
z*~MJnLU+6G^-HLAW_BnAMK)6N%a=`$epdHYzmyjRHFNUtdV?r>yhdq58uDyKC__jC
zt91@cfvxHKtq7U+T)vi}@hhD~0#6L(4vab(9yz!WD)a?}O^8npY4M13L-Z`Tzy^j&
z%4qy8rEkfxMoxU0x1PndB`I0<qrv*hJR3%b>>`r-!Z&dz>E!M#+_d&@BQ!9KQn#Lw
F`+wtyizWa7

delta 1205
zcmV;m1WNnx5y=UVB!3BTNLh0L01FcU01FcV0GgZ_000DgNkl<Zc%1E<+iM(E9LGOr
zW;2<+Wlh^$h>&HWrgUS7B7#0x#fMTMv@iNrAN&)<7a>@oC4wOMN0_(xpirp@Emn{O
zf?%jkXdW6i*f#g1+1q4xX2*xwT)b_hXE|pi`+1o&yXWlpw}0Q6Gkf^`&Wa!i(8=)C
z3o|m~?@#{pn#}l^%-~iq|B(|m>H>~l47(HD#(S0>wk;2E!8gIofd5olU%LVQvEGCB
zme|7$0{XF82^{F?1Yj%}fDRylo7Pg;t^syNT3@>X-}FsT@hj}scDViEE&vzvZ}X(|
zgtO@vs0VebUVjC{G`X|zBj?ESR{jl=BGnRoq5BzdW$uF+fS=tJVnVQL?1gXm;o%)?
zfLl8cA=7a<DDFdb2Y}$Ed;jlez_h*0x>qL?H}Qa;#`ReD>Hys0cQ|7KE|d&N)uECA
z0R;Wh`q~ZXxlyABIJo5dum7#5dE~eUbce@DIeqO0*nbnf*L3O|I>n<v+W_4G=%#Ie
z?f`VtHb8d(x;gO%NH2t5DZG18X8bSNuYZt@L53552eb{)9e{4y2IvkzH*EuS2cVl1
zZ-Ded$QfU|F7*MEXk7?N8!-QI5Edv*6L6t80Np;Pi=FJAI_!6zINS9qJyudyvZb^p
zCunCFbANN(w3Zm`?4VqX@m_M2MQ0g+xym+=r~(k+v*Z^s%|@C#+mZ;L8EFIVocjEr
zeRlqP>{yJ~hh8Nfq<F5Q3ji;ubN}f*ep_Ck9t3=P?oH0veX`OmLAo#^ejRBPH%|kQ
zb;F8H!LMQ`W2A_Y_Ms#W)847TJZL|B`8%n?hJP%rnF2w7SiDTtDVUp3wZZamYAz12
z@t5xFjp+~tqz%Y_(I`+L2#XdbVUa^L8I?F}N)|R`kv1UlS>Lt#G1JHyU%PHk^io(W
z^KEv5_aA-2Qhk;Dmx-q1R3N<&I_}Fy9i=Nl-><RZtg4he7NrK{%yeT9fCt1?O8+a$
zihrZ)ZkY;T2ti3SdqAp1*&Wbrgjf8<!Skvl{}aj#SZMtA4`)XHv=Gvb(r3VEqMMj7
zC`RY|>&XX{@N~%jBgzcu+JYf5$WCn+r+fkp*i7#+Ri2|NN@UGA_}X{p04k@zwn@?y
zOfSxc=W$1wbTiZ$kbcZ^vWVk(6s!^$(SJxsDvZKn%*}B*e<?gIoiqb{KiuaFz-G7s
zIs&LOz|4djoc9qc%A}j2eXsEF)eAH8A6Cd2eSG!&4XzZ%$@V63#@CMBL}>`Y?BJAC
zT0I&Q@fm4FE+SF}Y&fg<e(m^<EhHia!~u`n5AKpP(@K@2u^a<RLSP8NG7bqBRDanJ
zkvkw{KUc7yJ5WJn3`hkg!<iA_Fn6GW$QV#GAtnq)6WvO6BV&NB96@9ZaLOJ#wOxk9
zAYEJPbfaN_A0unVsfrR)<vBLfd&;DvVL&4{FugcS(iE_*E@>DI0}O+LRl@N+mXk$D
zKUOELOsN@-+`#4hCC1zwU@4Q1hAsh?4Qv99{|5Vh^ZqR)8U`HA4b%v82a5Ou_vlqc
T5^UWA00000NkvXXu0mjfkY6^b

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow2.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow2.png
index 7be507678d49517ac92392e78b96843349952311..ff5619c5194db935b37d8bfff14fe3fffb89df48 100644
GIT binary patch
literal 2857
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

delta 1672
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
SNQM9a002ovPDHLkU;%=37y;b?

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow3.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow3.png
index 9979f28e945787ba4ffab8d70010c70209c7f274..cabe60b557955cba753348a64b5bc1ffb7516eec 100644
GIT binary patch
literal 2288
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
F`+wtyizWa7

delta 1205
zcmV;m1WNnx5y=UVB!3BTNLh0L01FcU01FcV0GgZ_000DgNkl<Zc%1E<+iM(E9LGOr
zW;2<+Wlh^$h>&HWrgUS7B7#0x#fMTMv@iNrAN&)<7a>@oC4wOMN0_(xpirp@Emn{O
zf?%jkXdW6i*f#g1+1q4xX2*xwT)b_hXE|pi`+1o&yXWlpw}0Q6Gkf^`&Wa!i(8=)C
z3o|m~?@#{pn#}l^%-~iq|B(|m>H>~l47(HD#(S0>wk;2E!8gIofd5olU%LVQvEGCB
zme|7$0{XF82^{F?1Yj%}fDRylo7Pg;t^syNT3@>X-}FsT@hj}scDViEE&vzvZ}X(|
zgtO@vs0VebUVjC{G`X|zBj?ESR{jl=BGnRoq5BzdW$uF+fS=tJVnVQL?1gXm;o%)?
zfLl8cA=7a<DDFdb2Y}$Ed;jlez_h*0x>qL?H}Qa;#`ReD>Hys0cQ|7KE|d&N)uECA
z0R;Wh`q~ZXxlyABIJo5dum7#5dE~eUbce@DIeqO0*nbnf*L3O|I>n<v+W_4G=%#Ie
z?f`VtHb8d(x;gO%NH2t5DZG18X8bSNuYZt@L53552eb{)9e{4y2IvkzH*EuS2cVl1
zZ-Ded$QfU|F7*MEXk7?N8!-QI5Edv*6L6t80Np;Pi=FJAI_!6zINS9qJyudyvZb^p
zCunCFbANN(w3Zm`?4VqX@m_M2MQ0g+xym+=r~(k+v*Z^s%|@C#+mZ;L8EFIVocjEr
zeRlqP>{yJ~hh8Nfq<F5Q3ji;ubN}f*ep_Ck9t3=P?oH0veX`OmLAo#^ejRBPH%|kQ
zb;F8H!LMQ`W2A_Y_Ms#W)847TJZL|B`8%n?hJP%rnF2w7SiDTtDVUp3wZZamYAz12
z@t5xFjp+~tqz%Y_(I`+L2#XdbVUa^L8I?F}N)|R`kv1UlS>Lt#G1JHyU%PHk^io(W
z^KEv5_aA-2Qhk;Dmx-q1R3N<&I_}Fy9i=Nl-><RZtg4he7NrK{%yeT9fCt1?O8+a$
zihrZ)ZkY;T2ti3SdqAp1*&Wbrgjf8<!Skvl{}aj#SZMtA4`)XHv=Gvb(r3VEqMMj7
zC`RY|>&XX{@N~%jBgzcu+JYf5$WCn+r+fkp*i7#+Ri2|NN@UGA_}X{p04k@zwn@?y
zOfSxc=W$1wbTiZ$kbcZ^vWVk(6s!^$(SJxsDvZKn%*}B*e<?gIoiqb{KiuaFz-G7s
zIs&LOz|4djoc9qc%A}j2eXsEF)eAH8A6Cd2eSG!&4XzZ%$@V63#@CMBL}>`Y?BJAC
zT0I&Q@fm4FE+SF}Y&fg<e(m^<EhHia!~u`n5AKpP(@K@2u^a<RLSP8NG7bqBRDanJ
zkvkw{KUc7yJ5WJn3`hkg!<iA_Fn6GW$QV#GAtnq)6WvO6BV&NB96@9ZaLOJ#wOxk9
zAYEJPbfaN_A0unVsfrR)<vBLfd&;DvVL&4{FugcS(iE_*E@>DI0}O+LRl@N+mXk$D
zKUOELOsN@-+`#4hCC1zwU@4Q1hAsh?4Qv99{|5Vh^ZqR)8U`HA4b%v82a5Ou_vlqc
T5^UWA00000NkvXXu0mjfkY6^b

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow4.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow4.png
index 9fa452a61bf19f4082c9fbc34586322836957de0..45ff01e1907310286068d19e4163a6444639c5c9 100644
GIT binary patch
literal 2251
zcmZ`*2~<;88h#-N7zYnZTu`E!-~wtE0tFL85-<^hK*Of7&;ua}5XnaJLV~gc5kw2h
z0O}N>k#a1IbA&4GPzDYJ0U5284xluZAc~4owpbjNvdl|RM324a+;{K&-}n8?cmH?J
zJIxOAwMA?~003ai@?(TRE8R40tf1#rVPYS&z!V|AK0wty$CuDywSdEl4GaW!L3<l$
znnq`6A@p1+^E;vdfK~RU2?L5tHUa=#Bn;z#oWKAwPb$W7`O+8xPA!(1Srj!H+KL4r
z7p)eHBnq<H3u8u*p}onB$Dqv+Fu@DM31p-9OXUKz2abRvV5kT*8cmV&W62?m18?Zi
z$qN$?f-*85uTrUSDmR=|9*1`&kw|y~5l<vyAp};DECIP{tVH3o=;W;*hCsoS3uT~C
zDnXn4a$}@Q&<lex1zH-5dGdKnab!xl$Q*^w!wW<Lu|NVU@UA#l{Kt5pF!o)B62%)i
zAYt&PHxP~RQ5s7I^4uY%m})4WH}ye@^2~7+ARoUBfF}|Nd$9x}mPo=c)d!_d;q%C#
z5EKc_!Y$QfR?u4nzHc?*O%jNNCS}PYt|ZP2qsH<Dv0SAH#88zgp@c70c~bC;sQ1~6
z*7u!K@E?g!F;z`I5+YDYMM{(IR8JzsEX8}qcNefo;Czg*-1s4Z9WMo?P(R6qJeC9$
z$YpY<x6JY0hWm5GhrZs$4wnc)>RSgNn3u7Z-3{4W4yvT`gfR0xyc6+HA#dC)3c9R6
z7n|QKKGgkG1O>nJB~cOX&cl%aVA;oFc!#NBBN2}h9K(_GNwMj%p88vo!j0c1xVnQ^
zj;=a!hWYY~iL%$MsIc)UJ4^31>%?0b<L7>Ed{Jm)<&9u=YuM$@w&(qO!@8=z$<rH#
zgOXG`zEZ^PtUq)+zxQ?D?s{tvMU9(cuw?A3eKn6%qm0XXL`P{czA>zQ&GEHc1Df(G
z(v#Os-~LNUPnz$mYyTKjDe<t#y1{{j`YrZ1x)6Hl|3<ONlerer*MhSL>s|$qlv(cw
z{QmZ%IK|i{czW&bmfnjr_g#;e>BlND7W>vVE8Pj5mIwam6364S`I@moV@o@O*Bf+-
z+*b|Hg+(Jh5PEAy<iTHt52uvPZG_X$Qy#mFN6%ETEB;8<xB}fTc2u_H!gP8OuROe2
z^ptSxLAN*83XmX^_hn^=xA=a)qIXkyy9VP1*AzM3oO?c0`ya;bE6RxADUAcbSyS{R
zeD8>dzf(B6h8zua&#s}V792{%sIvY6xD_44f>nQUnU;rzBc?SDp}@1zoZ3pEpnhSY
z{aTJ_VP`eXEz|C^p@ziYTb@p@EV}baihOKE!?!c!3kD)$?A&Fw@kd{NYCb873imm2
zF)^sE?iDcHeDL|q-RVH$6@btacdw&&YqTxB$)yWEAOC<|q5g85FzMM=B%tez@Ov~F
zVCkqO(G=;S0Y|K4y1TF2knCgk4P_6WoWYGQNZHPC4T-8qeLj14F3?o~5ZdFaI!d&4
zG(R|@xd^6n)YefIX<U>o-P2|WK%ec1jFP22nMd2|EJLk<#1vB^SxR@nfUbmV)SCVo
zOw5ycANbFxMt@c=<aiF{mWgD2%BUI}YyIwAw#17*b0jRK&dEj=e!Si~!}8@ZY}5!d
zcN<>PJ~jPmL9H(>i{#W`+aJ?G+Em;L1n5tt)Vh50aGUM*uW4D9k{bc78HJ^7hVJ!0
zjizcU_WP7hJd2vsreCShr6hA3M;`<W=k<?gbfH;YKLmf?7Lc?aXP7NXLR}C)?(7si
zZZ6CU^@~V@%}z}4KHKgp1nyxQoJV0%VgtSV2K!&+(64__m<)*7q}WV@^GcD?HU(Sy
z*)uhzoNk0>0y#y#e&Um!{T}PKm$oy{#_$HletAB=Tb6&w%~;eQm!2(Izq)6^LBpEa
z)9I^a!3oBoRrWU*nyN>PO~2Xh`2i^<9bBCwzCLMZJEHq%Y7`lCiQse;Yb}P-R%XM>
zgbQ{+pl-85&$Zg<hAeh;h}G=q&#N2O#cA9(<fHBs_Qa=Voc#Ptho_S(wrN%cp{862
zmT12$Z^LT0Xtpmk=lI`Yu(g^0K7Z&WKVyJdRFLX-`s%MR=SH9VNL)UrL6UP7@x3s*
zx2@UV@qFZlVxAw*U}!CyLRH^q`5*liX7|^SjFY?DBPl=ajHwJ4Q7$Fh9NxS;W^(dU
ztubPdx$9ifV8P+c?Z9sq-#xmJ1mK?a8H{s{TL<%V4;WtzxA-MH@Oiu#?WKnY5(ljJ
zRPAXt^xeATtEJ=G3drMosT&^7&Hpzjd)#0QN>oO+=1XVRl@~mu6H!d7;M|bYW&TcE
zIb+27XZG5;rZHF=+r2pAtaEYEa0ET`=ozC&$szj*>}blVqj`O}k&8mDMb_l3#md%K
ldL3%Zh@n8i-<hVrc_&ItqnFo!LzSi<2^KSmQRNeT;{O-ri5LI?

delta 1196
zcmV;d1XKIV5x@zMB!3BTNLh0L01FcU01FcV0GgZ_000DXNkl<Zc%1E<OKTff7>1vt
zk;bE2R44HT7c2y+L*yE_lt8;^TDmYPm}JxJ(nWtl>84=XLV_2CLVrZPa~Cb7q!bdG
zLb1UVYSP%mix`O}@!gJf8;@o*UCj7GFZSYybEa7DMn}>dy?>t`ow<D9Hxj<@qf^5-
zugordT&EE0<C~XnbG<Y{zBi3Mv4%C-`}uKmV?r=DIQ^51e@tewZnfI*<3$R<hP{gC
zHI;fs1V9pSx%c=11tY7}Ij+?07*&NJCIn?{QVyuX5RnxS=+(hX0CdNa$~+?jAmbYh
z=SBcnq@m0=GJgOn2E;{-(Nwom-^c){;%f1Y3;?_4veVpUNDOjjOPy~t0C;ioMv{i8
zGF_WzGrOnEIvN0yHUKkAbEFLc+lDghXaI=CD4A7k*QK1UK=zqBYh_NysTzcFt$3Aj
zrvRABtfK+Iw17<j?wHHqdCIJ#0YI!Aj+=myQ)ew(4}Z8^zA<)ET53<M-LfWoDXrD`
zK0nEaPd{V1wMy~p6pyBUc~dF?NlCAOcI4zbrF0kYye1p=s!Gcfr4&HH$a3%T1HdJy
z0qB>qdce9<qfSuAs|umY_CzUL0sA@re$F2iDFd*d;}7RX$oT3mbx)GgW58&to4ANk
ziO%=ebAKVEEBF65DFbk33x>oXJI!6}+9?FEncZW$HcvxT$s0-VqEV1mw+n0=qz%E$
z(p>O7tO4kjIsn;cl+zV#*QI1uAr_51Okorz<4%EV#jC;7>S+Vuc|ooZz-Cwj&@XiW
zj9ifG@9Ss{K%=DV0mC=1%*xEyT@R2x7cG1e9)HbS0*=D8y1)tFGp%53x_|?o5v&OB
zg{-}_qyhBDdk@B2Vh_jn>BnNlw;|C5z_>pE3BV6)ehGrz!BSWH`Y%ZX_^xk~x>skn
zxfAC4Fjjnz=hf$2$i70$Z_#k;#0-P`i$8ObJnt6YCM`13!M8)w$AIheAI$>%>Z}kK
zf`8Rm*wqOOyYHI=+}(Ksxy0e5qz8>10Q}b;{=bg_Ggg^(w?!^#-~v4%&vmy2z+L`?
z^CsW~=l)C!>M0O_-!E$~EolHfx100;2S54#>;Kr&IP$m$bO(=9vJuEh8o)`nvPE6d
zxE|H04glQ&=vD`S?f`VF13-5Gx^?OSNPp)7vU;QR!I;ea-}2v{-v0}<LmdFR1JJDw
z0NnxTRtJFY0Celr1JK^1wkOtZNqxW+QWrwn0W5s#2MrR#034_cK)1)aN*B9l54XES
zlI>Q59y8rmf9(JOuyTw$1@4&340a``RpQ)8kFsQ!0hq6E^EAB4%Ex2bt6&&mnSVVm
zXRRH;{j*;lj4v$wh!v0X*3e~=eukG4X8>^h7LQ&$<d5<qE#K#hi|=sW>T8R?_GC!>
zJ`y%p&jFBkf{sziYhb10WQddXpehc_?niI4d-D1ZQjHbuD*y-@B#sT47A0d78Wxx?
zcGJNIHvYExdK>>&s2xD@tFS?WASGy;7z9n0<8G%-9S$WMD}Mn_dR{s7?CW~~0000<
KMNUMnLSTYodN{`b

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow5.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow5.png
index bd46092739e6b3d5f5e7e3eb3806b5feaa456145..473bc3ffede9a71bbf8d6191edf3fdbb380bd412 100644
GIT binary patch
literal 1872
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&f784^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fwM%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGdHpU2L*~CA_5>9BCu&d7DU$&kda@K4@^%*naQ4cC8<RPMZmNLwhv|<
zZWZWeA?yy#%Pg^j8Gt5?qzfr-tQ?C<%JYk|L%{KX2t=GppvFJ~6e)c|5<fWbfvMk)
z%SIoblkB)mG~UDj^Ifv1i(^Oy<J;M%vxNgij_uzw%VS~Ssu{f^OEuWS*S+$(yYpnw
z38(F4${jljB6pQ2hL)GEZn}{Ak0Frd?h7xaDNZL(d9A&1!RgW-oAP7F+P?U;`F)<N
zIJ5E4lY28QzyCS+a_;XRYHUxF>z@95{?t3ZVXlf@Y(-<Xy&S_?`xEx3l{U}VZM>o~
zK0W*zTkPY|`CnG0T+xmH_iR>Y`G?g%gU_iqq_ijA+9<d@a+Bn(Rm{C26Z(?P_i?9W
zZPRWKS~rhz=}gumlQ{Qi?{_!ctYWak_feF!N}K-b^>;4a*?%e|*l$yNjO84qQU=u!
zl~<F#9s77p?t&k~M?<Cw^+J;`%zMGTe!jWGeP4Htfb$H~7Mq#<%4du|?eSEQLFmPW
zS)E1-TNWys>V!y6P_wMP;Io3^#F~b>7A}Un)rJ{uiH&`$v$v-=+bF!KvFpe!et#pK
zLAJro{rObY5(X*R*cA*Frf!S-<}ph7Ro(1isJJNEzH8%ohFe_$xrvXrsxE$}^K?oQ
z7sKP4pBr<^wro#*aaHJe%ICv6^~;S8NO#Q-Qx;)}eVtjpb^C=Gg3s?>60$2>ZR%IS
z5G7RWV}1I*xcRxqY5%OO&Wd@R(mcSNa7a7*fBt6vz%{nVFQ4Ui*t$^gi`?ux+Z}Y9
zPkvJg$mixMtc$8oJHULw#Q44K9KU%}&jp-oJ^1Ilw(Z3WKMpc4csQ4TwhhC%dH-8h
zGYaT7M0UQ&Vy-bMiI`qs?RfKdxe3D}RtM*QtA0&R)?<+TBeH$^hm6l{zol%hIx%i<
z6OD;K|CG_=gu;oNzuCizUq}4i`)+mP;e8$K2P%Tf+YhO}`6JK8fBP`w`Q;1-(GM!q
zjY>AHw|u%!D36h~q44A?=74!TALE+u9Qd_OjPXNnmWzImQGyHe>)X0jY%ly9s&8Ik
ze9`}JD&v<~*Z+$~$O~Ly&8=np8?T_T;qgBE5C#*g69J4DUMM)TKG<>j_W93B40Rg4
zpG*VUdWuT^{&0&H++=!ene>Kr3OD6Sjue$L^yMY|U#xl4>h}MPQ)?8B6jm^6JZK10
z2rYc<amOT#y&(Tp-uJ_vbA%b(EHB*>68Niq!u?Fq`P)|*MYOsPOgZ6t?!Z;P6Xyhb
zy4p%!>}TtBJCMQZV*DV3-NpHU%@sxqDaMOj5@#D0%NocoT&(&a;Rm;>_m=jl>BqK#
OYBNt)KbLh*2~7Z@MaFml

delta 771
zcmV+e1N{8Z4x0v$B!3BTNLh0L01FcU01FcV0GgZ_0008bNkl<Zc%1E<J!n%=7>1vl
z`_r@qQ%WM8EOjXcIypJ1i!OC?=_0tblPE5QK!-rVMXGL{?ciW1Gr5R3=+a4O=~TK%
zF-4lvmh}EQoJd7;tB~@2ft+W$+;Dlny!kli<ev99S(c&6!hhRGUsk6#;K=3k)tB7(
z_85`_sxL|umn%#EdVXVa{e3U`UM~+{1gqD+nu|ile*7H>z)QvS3t~!n?1vEfFywMv
zIEIn7sJwayyqj9Waa}%aeq?TV1tQs!)D2i|y*3vUog01(jEU*18_;leA#6hsLli>d
zf?E>PS2v*g%zpuf|GNJ_Gr&clZh+Jm%|m|{P{tadU4S;$0PO;_=_>;~g>w4JfEc+y
zLBHrL12pJ)A#{EB{+(W)@AdzDuMB(#h#R0W(4B{PH5vomdGy!Mp@20&y8vyh0ony<
zBlbq9U2E36ez1n>LP*4bcCA_8T+AS8ftvsUgdPM%34i%>k$opvG;e!n!%6S~-Ca3A
z(t!8?D1#p}y*I_}>P@mF5tGkDwgdc_H<z9;S9!(r<|k-HWLNHrmhdOCv%pD_(R36}
z6YwJ_2cq)bkTW1I03l`XGNcZqFuye;CZET^uLI-^@KPW!8Gu3th2OFPipUOvBW;rb
z7;+(Up??*M%6CK7fXHL+aD}JMTV@&@AEar}8|&=-!}i1u+dp;ym_>IQl<k1FSqe9t
zqrqAV7ndtb)mpROHTkh7Q9(Xp9iW{9$iuD!v<uM28lYW(Hr4=XLAy0(x5oMlNBg{h
zcD`WXJD{%&upucMl9I<7pk07A)&T7Sv{64Xl6;pN7?>k7n~T}mp()M|O;u~nx`YYp
z2Fzw>S%F5dYpx?Xef2S5zVv{F@rO+BO_>{!*U1vdpxy!ZcIr^_p@PW{9Iiktr?1`t
zlmn9$I897;;6!$_MBRY-tr<vx)G^rs!cLYzhM!k!y{jKOTz>!n002ovPDHLkV1gN3
BW<dY|

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow6.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow6.png
index eabc47c84b865b76a0c4cadd8a6c043917b318bf..45ff01e1907310286068d19e4163a6444639c5c9 100644
GIT binary patch
literal 2251
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

delta 1209
zcmV;q1V;PI5zPsZB!3BTNLh0L01FcU01FcV0GgZ_000DkNkl<Zc%1E<%}-oa7>A#8
zKZf~YhDbj~QfUZQ8ipFHn<knVHpCdxgmhVV{s+blo3^s4iHU!OEE{5Mx@cp%uqJG*
zjT8bVh$8AB3>k)*VYr_z?m(w%hnPdoxdwilIWxKU{@!`!%zwS_`<{D67>4N7$o0|L
z`HyxOFka@1b2quRa*IO2#+|HS-|o55X<tJaeD}(o`!fE9%+9(Mgn{%iVg+EcxlS{1
zlzPSlKniepu=t2UBdgTeQtH-0H6ai}@EZ>Ho<~lRZ%k%Dq}Tf|0+2IP$~<EOARF2Y
z_Y?v6G2B(=8-E)BJ7$O_42CnRCV!;Z0I1<=@r@0DW<6lrtun-Udduq0&G7)>Cm1x+
zG(?S=`W&TPLz#6v0HmTXJiGLmgcV|K*~+Zr0l+X=?%HP0^;peR@p5bGtd%)+QY{MO
z>c|-5&H#{5W*rXzi6l@4;BI0Cd|#P$JOGH&v#|@9d4F}*vi*R!e!Vt!SXt^$R;KLR
zJ(Nl=cLr|p!P+OR1b<Ncyql-f53fiCASvk?a1=GUPAUBhGy{jt=DJGDL!}hJppoUl
z;v>Kz>H+ANvYfNLw~LE~5Q3Tzs%#IHvKg>n<L}q}agj0r`!)V>Pmye>F4a9uO3wkq
znH-id*nctgw&L5RB@xn9`~RDi0q8AT3~`=qw@R}fpWHzifKsl(Onr`qs4-}y!B<!C
zbdoXv)|O4e3YlGc9DR^d*YxNlWdOX~8mpNqd#=ZF*ESgOsKXRSkzm{z;OfX&^tN`~
z0Qi1X>jO}3^#Jrs9RM@Wb63Ci9)Lzk_X9?*kAKd}?612YAYBa2e_W3Sfq-_H$u4l3
z(KwNe#t9E_z&E2A;cv^@OG_F+!8&^|-V#lmFr+|=Qn(9t7Xag7AJ{<H>iOA3e}|;H
z*4K+94dBbd6b-*Y)vdH@eR!|<F27gTxsZRAAoOW?bxhOb>xFL^;yk0px5<cZ>EMq-
z(tqcGi6<Y<0?az=SVFL7wi29HWA}Z#k9(CB=xJk}@?p0EK={Vo|N9*9ZR%$>ynuY#
z1mJXw=Y|*M`}bIb(>CBl*Zyn(jWh@#EXdkROB%qLsem)U!B4*b`9HR7&;32%RP;J6
z8-bjp0UUNKTig|od{m=O0O$@tw@v`)4u3$mP5|f*K(~%P0O?vlR+m>N#$@*YzJKQU
zJ}+<-Isu?N0NpwPpgREFIsu?N0NpzF0JJ|e<xW<nqz*8RR3fAu!2F~aEs&Td;9ynH
z;l1QisHQ3RdI#IRCQ?-WU3$BY_VzmM002nl8FvP_n^>VQY2j3DCNh^;YW@PiLVvwV
z85giH5iAEal18h^+An9V9l*ohPY=cyp5CX+wzx9%Ch0Is-i{ui^1^_H$~-@;E)s?z
zH!i-zspQ!g9r8a(dod)QTxu<@_5v`t7cG}92Mv-LgDf`PzMv+aEiJd-X7|(OucQ`M
zw9fz_S|D+nkPTQi|AgH%BpjM9G%|tBziqz3(LGnF9YFE3)&j|Mp#*det!-UVa$)5!
Xp#Wu4&1DdR00000NkvXXu0mjfD0M=*

diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow7.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow7.png
index f75790a41878a5b5e9df599eb3004fc19dc29d2f..1a0ec49fd54851dee62e1f9f1608f84c51c738d6 100644
GIT binary patch
literal 1281
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&f784^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fwM%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21
zsm1v@rJ!)PGdHpU2L*~CA_5>9BCu&d7DU$&kda@K4@^%*naQ4cC8<RPMZmNLwhv|<
zZWZWeA?yy#%Pg^j8Gt5?qzfr-tQ?C<%JYk|L%{KX2t=GppvFJ~6e)c|5<fWbfvMk)
z%SIoblkB)mG~UDjv#f}xi(^Oy<J(yqMGqN>Fbhj9Tae7ec5(yHA(j#!$KwLuQ=%VU
zdTn3(GRETkZ?m7(HGS3_KkTx-?^3V$$T)-d0gvt^S(Sz*<!ozN*4%$&nzgZ^;r)Jg
zfxGqE3I`Y#ae6qI+-rI$6c7+}<&od=^ZU*R|CeK&m9RUG>6Y}8f2s{?H`d8JIDE77
z=avuvQt<)|TW4J5S5Vl^FgK6E<Y3uemM!KUf4v!eH^k~QzU2-2FXSMcbKTpay7|g~
z2Btsq4&Gg_*aZZ>_P0wj^lhkVV3{J`@zxu}WT=yO_&)#dz5~h*(oh}ySuU{L{>sXd
z@?TwqWkPLy0MN<_k`89~zb^Ma@JlvT)(g!3&u}(bpl*`8?paXr<LT<>vd$@?2>@s-
Bo)G{5

literal 297
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wkQ1G^=
zi(^Q|oVT+#@-`cYuo@=um7Ng!;xlWW>L%vq2R#lSzZQk<c)h>YDkJCQ+V6G~_nfO;
zeWw1}_rRI+wGaPqV9a2YV!ps+!nT0*-Hhn4!XFIb`xm|DmsjXTlF69%is?(`zEh9?
zGeFg5@Ce*jsF}B3XuJ3P=c{}ER@Nb#l)>Y`eL<o@Y=I$zu0wLe54L;k74ilkJK!>z
y`@}0OkOX!d{?4>d{6rE%RKqcbEes&rXX%$%%2g+2GNk~$$>8bg=d#Wzp$PyK^Ji!P

diff --git a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state0.png
index 45b3c99189ff93d8928aae08e938c39e47de6c8c..43bfb93bac1f02c89e0b8cc06032494e86211854 100644
GIT binary patch
delta 1015
zcmeCJTEa6yMTN0A$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$rBaDnV2&sT1ijr
z*5Qlr4N!2-FG^J~(=*UBnE17B@(M<a$;+6`lRXPcl1(ad3tTHoY?U%fN(!v>^)rED
zdih1^`o$$F`bY}&jSLJdbPbGjjV$$*?6?$Qz$PWxswA@{ClyHyC}&fYl4j+YQ!?3>
zLsGgTH^(X`F)!U#sX{j;H7&6;r$ouFxFoS8)o?ODtBg5N9g=PveJn=Wlw_u*Sw#k=
z7U$=bmSpDV*_j(n-ovFlIg^WTawC_rc|b;fNq%l>Nl|99XI@EaQ9)5E&;pP`BO86N
zW~?eE_j8F(zRzW7iR4u)$D)$*{G#j-u(u%Yv_TFF6a|x4aGTZVB`8m4U|_QLba4!c
z;5<5guiv2nk>mZYtdATHNE}hWAS7-s6o2rdfyVj=DT|tq&9Lye;^G+-Q~J=+XQpfg
z3vZ{QRbo@q_c=xV?M~UzQ9GFTPI>b0{NK6$3~4*g?0tLe%oEQ)shbVWxw!-ORQ~Y1
z)R`&m@JOA_p`LTiA?6i#>%WL~%HK5K{%Lzamb}k-hGYMj6P{)TWQD$X7F^gUT>Ub%
z^E>02(<(>u7?S;$9E{qj{N_dd=PbdX=dFJuk{y!tx1ZT^EH7-or%bItw3N}eb&OBH
zRqdKr`EEhNN4wdca?i^P`nAQFdSW>fwp{;wmQQ7x`;lZrhotEj<JNp_%j>Iuv_nbt
zz>TZ9Yqz>D$Oz9&kNe_~w0-H@^CvbnY~1a#TV(2Q4~`v)(=Y0|KCO$Z<J_G7=5A`&
zH=z)XTW7QSgU`Oc(;1_%ar%ApOCoO<ov7e^ecx&KfzG}2Hh;duU#8o4KA`ml|8B=h
zzl-bmip3-~pKRmLVMvZYaVyq$Ye>M=bGr5C@3wsX?VwkXbbYJs8Vjk1w;7JfEjaNa
zy2`e8r$f^5b#52eZD8l!QP}p!+aXE)<AjTLelqtfr5+sd(=83ST{xq_+T=v_b*CdY
zn6G_Pcod(W@1M-+@n+Lfw}-{K3SH(`E9{aQgm>qyJSu&{rFHHR_QyX1#0<W5boK08
zTQlj$gXnm{b38u4@L+zT;_AlrI4=44M<0G2k(Qp=(oLU^PqTI4d-m<h%UA0@FEF?-
zxm$S!@3D1$Q<;}k&i#1x{9lQ~H$u5iFL2wn|3GEHnZvt|JO^cCPgg&ebxsLQ0D@1h
AA^-pY

literal 15629
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

diff --git a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state1.png
index 5286b1e17e622aec224cf58ea6b78db7afea79bd..423848b583a1dd48610d989437bed2a0f8fe383b 100644
GIT binary patch
delta 982
zcmexT*~~LRMTN0A$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$rBaDnV2&sT1ijr
z*5Qlr4N!2-FG^J~(=*UBnE17B@(M<a$;+6`lRXPcl1(ad3tTHoY?U%fN(!v>^)rED
zdih1^`o$$F`bY}&jSLJdbPbGjjV$$*?6?$Qz$PWxswA@{ClyHyC}&fYl4j+YQ!?3>
zLsGgTH^(X`F)!U#sX{j;H7&6;r$ouFxFoS8)o?ODtBg5N9g=PveJn=Wlw_u*Sw#k=
z7U$=bmSpDV*_j(n-ovFlIg^WTawC_rc|b;fNq%l>Nl|99XI@EaQ9)5E&;pP`BO86N
zW~?eE_j8F(zRzW7iR4u)$D)$*{G#j-u(u%Yv_TFF6a|x4aGTZVB`8m4U|^E+ba4!c
z;5<5QzaNvMz_H`bN4r@WlQ`@e<vud%eH2}zc_n;<(Zxe;N1PV5PP%a;>Z8K56}lBH
z!a~kTu8mFB#rF(!%Afyz&UGXDMBV27Kg-e>ul<Nve!O|>$;m%{Urb1r6<qM+!>8^g
z-mdHpkIdN))QHb{#=Ro2u%5p&ey4T0RDVLheiwJc#{Uc!Tjg#nF1}T%sCi-IZF#R6
zzJ$9|6~8k`RG(x?f8V(w`QO^#xi?;#oG<#?aO9p`<g)g=uj(dSJX6@7eB#D(wk^lm
z)AoNdb3Ayhcx%wUyg3gf=Eratl&Lo4y*F<Y*0>seq?pqoX?kA%*EDZy_rjWbBh>>p
zuIA1C8?LZ@b#nUMa}G)6OYfdP<HwlHU$9$b>SG@cmc;3K(-#%((TtzeBl&xaU*7hI
zbMEAorq^6Kbj^1vQ|I2ll^K(6yH4a3{#NHbhe@`2|Fe0YHE!4z{_zXx5WB%^_54ZM
z)){drO9C!flri+wu6|W!dNs%~boYW{IhFc1XODX|_T63m*7K-g#|cJ*ZxXJ@Zl~TT
zUn1i1=El_%Z@H>t4*z8Rq|ewn_lWSWyZ$oIotQ6d4EFxJ`fbHbjwq9JH3^DIZw#}m
zWeWeS2dawQc15RX9s7<Xr(^4U+``lMIIL3loOto*pL^4p65dFPO4>Wt_5~|!Jk6al
zOKEYp)z7`b)^Q2t(OSD>w_Yh)ep1|HKkKD)l0C6&RrDuZb5;$q_m@7P|IAydmbG6w
Q8k9>tUHx3vIVCg!0G$VuumAu6

literal 15604
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

diff --git a/Resources/Textures/Structures/Windows/window.rsi/full.png b/Resources/Textures/Structures/Windows/window.rsi/full.png
index 5ed08bac4204e8a98d150333a24925dca8310739..a42b6b77f7f59c32ec34289626d566bc573944c8 100644
GIT binary patch
literal 2279
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

delta 1205
zcmV;m1WNno5y%OUBYy;sNkl<Zc$~$TyKfv-6vlt&-a9ipyWZH2W1b0$f{hXovO)xe
zCIv-=P!NisAwr@7iJqP!eg23v^dO2TB?Vp{0TPS6<ZM84<h&fO?e*?F@1>a8U9U|P
zB)rPk%+*}Y`Mx=?d#(VSICZAMQ@{`3e{<ZNICZ9R=)=ze=zpZ?VAtj#3Y-HGToMD|
z5CDu;I}Cav{dMXbp4R0z4lfJ==%zUUp{D^F2B4c|)T$wMB{*YHQADN%Eee+=fCJyd
zIfnu)^o{o*BIGy#Gy@@404!M?Ll96+B3!LTRthlys8Xphd@#44s)DInfFK|RfAiiW
zE-&0b5N2LE#D9y^6HJ6&LE?nw-4zyZF9C35_9Z;6IIwRVfH=)qZf){lWtI75P|nfw
zwE<89d$naETjRT*BJw1`SzEZ-Ib5EjJOcy(+_}1hc1uGZ$OQtW$Z|{bQWNdK^&H_K
zcMdUzclOt4EVXe~1_C5a0mIwJUgy@2i%3{SoF%AKN`LG5j(Bf}E_l#N5vn2-Nme|w
zD8gxjBwc1-KEV8g+vKaQfdJq43s>ejaeISsaxYWuJ2bw%@I>POg5xLOW37IWZaXE<
za+0+c^~nkD_XH$KLQ8x?-{bk|Nm>~+E?(f+XJ3828v+{V&z(K;(U&M=s8>URAY@~0
z9e|-)Qh!Q#)Q)z8a|gtj!Fo_6g@9fN{=WNYB;<W!9BZ3h0LI4m3<M-ej3>hM-f@)D
zD5D>5<^Kp!iq&?64FcNRLy$Vh{4ZBVLfnJ3j_cPKktpuJ>kAO+)uk&M&<Now!LR@k
z!2oZ)@fyy#k&p(yhf>1f!!twg3lEfkUk?K&>wgvUEZcPfB7#wxv1)~2OJf@<!_Y5}
zh7lzpz;wMh6^&=M2`Ixp7Wg9}7TK0pqP7VDlFR~NvnTid-NKN7m3D{KPBO9(WHx7I
zqx0_qe65*p{86lB=d`mM2tC8kzx`PZG-XKoOi7;ajMFY6ieu8;?ch)VLFw{$PrNxY
z0e^lu!p+Pa+$kU_b502;8BHTf@*=@!U)VR4cnZL|oXo*k#TyBE4`cNzN=v^4`vQ8%
zbBA@KJqMtes(UDALebbX8QM5``eQDhKX-OF2;cwYQ=02*JoD@X?M_14?SM7|0a#0n
z@L;1uyA$Cg<?1HPp8jIU&{p3#Kx+*OY=7y<;4xKnD~fP|NAq5bx!LFNjV3O0qHM^D
zy02Nde4X5R*eoXS4Ysq{H{vNpYAs?d#u%J)Oza71ZAAUcO1y=%7h4P99M*NwLBN$O
z*8s@<U?3n9aAH_ULgvO|j?TTxWUV~2ov_?mXQLC-T>J}wqjNJTf$8xYrG4(NZGZCn
z<!j~s5tP8bJv9`<!;MX}F<iUZ<Yv1Hp^(JcK!AwQN@5O8?O|d0Avfk1(KZ{()^290
zd4;H@Uz_M{-Euw2n5<OEtz-F8AvDJ!N+UQj>u6(`3ZNAaj(b!5K~ek7m369Ng{T`L
zN(RG;EuNd{)->I^F0dM<h!O&$@h*W*W+`rWj#T@I%UOwG%n0rB(jxG5ujl^&ij&Wm
TAhAVV00000NkvXXu0mjf3C%ei

diff --git a/Resources/Textures/Structures/Windows/window.rsi/meta.json b/Resources/Textures/Structures/Windows/window.rsi/meta.json
index 41b8be18b43..58cb4182e9e 100644
--- a/Resources/Textures/Structures/Windows/window.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/window.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept",
+  "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept, transparency tweaked by Ubaser.",
   "size": {
     "x": 32,
     "y": 32
diff --git a/Resources/Textures/Structures/Windows/window.rsi/window0.png b/Resources/Textures/Structures/Windows/window.rsi/window0.png
index 37bade4a4a71e531e2b23af81c6e620a18dc4185..1a4220a38e1d4a4dc504718593b1f4b10cd3851e 100644
GIT binary patch
literal 2748
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
aJ~cPGclwcy_{~Y_pQAHjJ-*m}d-T6{qkWD5

delta 1616
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
O0000<MNUMnLSTZ+k@ge-

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window1.png b/Resources/Textures/Structures/Windows/window.rsi/window1.png
index 4495aca459d59e327e8c391234a03bfcec9cc4da..3c1e2ce801aa9db36c5981a8603fa11ea9a1a463 100644
GIT binary patch
literal 2217
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

delta 1164
zcmV;71ateT5uXW=BYy;DNkl<Zc%1E<O^6&t7>3`f?&+ECncZyG_=6%!Siv7$Au+)m
zGz3u;6))n!AS*H_ZxYWrc#p^AB7q?05RV2$JxFqhKd_1`MnXamQ4`&`$!2!CXS%zp
z<g4ykRu9Q)wbixkyqB(Fy5_5Xr@N}=`MzN=lv2v*1NOeK|9?x9{-;kKf6S!6Z_>F6
z-TmBL@hM9E&CDQZB2Ck>9q6`dG$82|DG>TTk~{}a9yc0A?FLK+!D>4%@2Cc2$drQL
zEZ&=Hc|aKI_LAWGDANq>C^U{=y8+#O_ajMj^pYXI{^kdO0eg1MVsU91_uMfJDHW15
z1NS_9HUB-P0DtV>@i3ym)BTSc#;@Ig6KBrp<JH~(jJ1%1;pa2wA*BG$Ucz*zg-eT9
z(d<kBD8BKF-~NJ?eq2fX+6`Ee9%L@ywL754o1>fua-k2`av<C~ja(|IBnAs3GzJ6x
z-lWHk<JWG$xf4hJbKlDq#IN0eopT2cn)E+yxC)rxLw_4wV*?x*L#-Mc;J_Ga)z|<B
z#!#y^y#dBN;LQ)_pEl|L&PzK!HR;co*(GfHJ78>p17oOFV*?x*L#-Mc;J_Ga)uuPV
zcq8=0^RE~sHcox`zENVsbR%Sp#J0cK)d>p1)|9kprwMp_5_}lLo7l2?Uf^-0LZH=b
znue@Ym47fnN>EIDQYS4MOhOG~Y`=X9f5b&*XQdY-DbGz~h9t}3bI*nAH#eaB_{?hi
z)ED2uZ~K^?eE<<>=tM<kM+$}Wzg@wF3qR@1&+c6h;g*TWG;}30o&#P!{E40e+9jh8
zWUh~CF3<?0VwP1Ba!sGLGw+e^lN);uK$)PR<bNe4En>#ur9(*1hbWVq|5Rp}QLa+P
z23-E=m|242jc5Lk>sq&r4S4jmw+`N{MqvKfp|^L=9YFueBDzn_;^^mRv7Bc3_2c)d
zzMg+A<BgDMfkfT1x)aQ$z@NQpvbt5tssUlc*EIkFMG=GxvSz?wI7B9tUbdL|>RXwt
z8GjIX#m;YL=3ZMN*ClHPq@vgg-FN3Ur+$K39ZP2-0{0le+_9jRk;rwNV@uWy5WQvG
z76n*|Q)G!dOQAIbWHZ9W->)H-3W4u|OE>NVdj|BcgLxhn7Jk&PMc@V)v1UL&2$3~g
z$kQAt_rbXv6QQ+Ha0X3{_U?H^zgCXS1Aq1&0U=iFeEUM`0%#Xx%>b(IrUK`Yt_wFN
zK_~t%aM!c1VoT7#>-!$WyPqwfz3o<F2sbUFq~8^$^#vO`F;WGKaLNE;1;h+&$_WFA
z4G<$BRzS?arfM&i9!XOI`lpCcki((1xK2F+BUUhC2R7u40lZ`dSi=r%#dSlBYkyYI
zv79n<#(=uEMa~#NjDT1HF#}=;w&a8X#0H2F5Gx>NK<vO;Y-^Ejpb;A&RzS>v*nurM
zu@4|NkSZT}IzZO!ps(zGFHYP6BQ`*+fS3Wdm^X340Ad6Ea_uK(K<vPloG@T58z5#t
e?7)fu`~@0ZclH7qB!B<_002ovP6b4+LSTZvlPPcj

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window2.png b/Resources/Textures/Structures/Windows/window.rsi/window2.png
index 37bade4a4a71e531e2b23af81c6e620a18dc4185..1a4220a38e1d4a4dc504718593b1f4b10cd3851e 100644
GIT binary patch
literal 2748
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
aJ~cPGclwcy_{~Y_pQAHjJ-*m}d-T6{qkWD5

delta 1616
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
O0000<MNUMnLSTZ+k@ge-

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window3.png b/Resources/Textures/Structures/Windows/window.rsi/window3.png
index 4495aca459d59e327e8c391234a03bfcec9cc4da..3c1e2ce801aa9db36c5981a8603fa11ea9a1a463 100644
GIT binary patch
literal 2217
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

delta 1164
zcmV;71ateT5uXW=BYy;DNkl<Zc%1E<O^6&t7>3`f?&+ECncZyG_=6%!Siv7$Au+)m
zGz3u;6))n!AS*H_ZxYWrc#p^AB7q?05RV2$JxFqhKd_1`MnXamQ4`&`$!2!CXS%zp
z<g4ykRu9Q)wbixkyqB(Fy5_5Xr@N}=`MzN=lv2v*1NOeK|9?x9{-;kKf6S!6Z_>F6
z-TmBL@hM9E&CDQZB2Ck>9q6`dG$82|DG>TTk~{}a9yc0A?FLK+!D>4%@2Cc2$drQL
zEZ&=Hc|aKI_LAWGDANq>C^U{=y8+#O_ajMj^pYXI{^kdO0eg1MVsU91_uMfJDHW15
z1NS_9HUB-P0DtV>@i3ym)BTSc#;@Ig6KBrp<JH~(jJ1%1;pa2wA*BG$Ucz*zg-eT9
z(d<kBD8BKF-~NJ?eq2fX+6`Ee9%L@ywL754o1>fua-k2`av<C~ja(|IBnAs3GzJ6x
z-lWHk<JWG$xf4hJbKlDq#IN0eopT2cn)E+yxC)rxLw_4wV*?x*L#-Mc;J_Ga)z|<B
z#!#y^y#dBN;LQ)_pEl|L&PzK!HR;co*(GfHJ78>p17oOFV*?x*L#-Mc;J_Ga)uuPV
zcq8=0^RE~sHcox`zENVsbR%Sp#J0cK)d>p1)|9kprwMp_5_}lLo7l2?Uf^-0LZH=b
znue@Ym47fnN>EIDQYS4MOhOG~Y`=X9f5b&*XQdY-DbGz~h9t}3bI*nAH#eaB_{?hi
z)ED2uZ~K^?eE<<>=tM<kM+$}Wzg@wF3qR@1&+c6h;g*TWG;}30o&#P!{E40e+9jh8
zWUh~CF3<?0VwP1Ba!sGLGw+e^lN);uK$)PR<bNe4En>#ur9(*1hbWVq|5Rp}QLa+P
z23-E=m|242jc5Lk>sq&r4S4jmw+`N{MqvKfp|^L=9YFueBDzn_;^^mRv7Bc3_2c)d
zzMg+A<BgDMfkfT1x)aQ$z@NQpvbt5tssUlc*EIkFMG=GxvSz?wI7B9tUbdL|>RXwt
z8GjIX#m;YL=3ZMN*ClHPq@vgg-FN3Ur+$K39ZP2-0{0le+_9jRk;rwNV@uWy5WQvG
z76n*|Q)G!dOQAIbWHZ9W->)H-3W4u|OE>NVdj|BcgLxhn7Jk&PMc@V)v1UL&2$3~g
z$kQAt_rbXv6QQ+Ha0X3{_U?H^zgCXS1Aq1&0U=iFeEUM`0%#Xx%>b(IrUK`Yt_wFN
zK_~t%aM!c1VoT7#>-!$WyPqwfz3o<F2sbUFq~8^$^#vO`F;WGKaLNE;1;h+&$_WFA
z4G<$BRzS?arfM&i9!XOI`lpCcki((1xK2F+BUUhC2R7u40lZ`dSi=r%#dSlBYkyYI
zv79n<#(=uEMa~#NjDT1HF#}=;w&a8X#0H2F5Gx>NK<vO;Y-^Ejpb;A&RzS>v*nurM
zu@4|NkSZT}IzZO!ps(zGFHYP6BQ`*+fS3Wdm^X340Ad6Ea_uK(K<vPloG@T58z5#t
e?7)fu`~@0ZclH7qB!B<_002ovP6b4+LSTZvlPPcj

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window4.png b/Resources/Textures/Structures/Windows/window.rsi/window4.png
index 13aaa2107eb3d7196a96e5530e1996c6cbe0b650..4a47d0859aee6821af5b92eaf68dd4bc2f432e43 100644
GIT binary patch
literal 2213
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

delta 1168
zcmV;B1aJGL5u*u^BYy;HNkl<Zc%1E9-)me&6#nM^+P%A*G>!EKN>NIr{=f(gEf&#I
zP(f6D(HDyZB=irk?>_im3%(RYgdqA*d=W)KL8(ZsVk$;#DJ`Lh+G=XrWV83~&b@a=
z&fMLyDUudvof+Bv0=WZwXV1Cc&Y79-oVg5|kWy-W!M^7XoPWIQ>6fu33h~PR2k`di
zi>PnA6$|r+F*AGUwaxl6#_+}qyFSyg@9A{54PEk`BjB%Qf?O0vZ8||f$QTMpe0S<+
z#9?66wpnYNfYBdg$O;M3=@_%?R0vE>-J`CN?;Eq}3<2cGy?1U?ZC(hYcHIE;;Q0)V
zv6@kLoFTy6Z-2fK&Jd8L3Dy&i+iDSt=BhEfP7vS;fhh2i2#KXXu0mAIg@F?U6j4Q8
z7Z=Zf`94Hz&6sT`_5q&ffy)3nZzHQT(30kU7bix5OcQn8xA$R8`U0M|M7w!7K|mBm
zXm!{AmBNE4%;^Cq2w3ae_z0dM4$MWS_F#MUgHuo4NPm_t%pZPzX7&(TmzOd3<TT#-
z@-$X?hTlGY7so$(?-3pQq#tykJpu-y$!)@D2$0q%%|EmRkk%*7Puf4!9J+&oF#_71
zj?(%RvrK>L85oQa(9`%m&F>0~5zy24r1@RS!Wi|1v_5Hm(*CZ%iYK<T|3ASP0i^Ls
z>yzfsQh#@rLSqDw#wV>$nxC{k<p5lOIRaX1O6!y6M_&%WHjEL_iehAyDsrBKdx6RU
z3>5*S@k#5G=0{%+z&6Z<Kv5{IPay42Ie?)efHXd7{T|i~7C$zF_NM&tXJ0z0)8BSJ
zKs)ua{h8UaA?1eLKonKLIq$Y3)s|rhAyqu65r2{9xvqI_XcI8r7t47!K|)eDlM+Ft
z{A{A?197a{y?KDbp<avaJar$m37Fe|A5xy9nRb-cr=Z%qdm76ttGN4)NeCg4@(iBu
z<J*OwFacoCu7^;I%vFFlgEj%jPMlTOE6p|-t0D)(FDK4H&`FQe7ctqW;^OiZR2pM6
z6@RLGmwxya>#cGbe01mb|LD<f4%!5)2p=LZ;MW_FYFX*d19_R+zM2E^)=A_-s<ofR
zHH7W9`fS{{zZudd;Ow!Z|GMub`giaNT^F>VO~8$gvbm1`^)b0YU_^ieK3K(w00(@q
ziV*=0_+S-7Pk{CJ1?YT%PX8k>&J6GS0)K<RhyVwCu!<1@4)|adBLW=o!77HH0PBaP
z=@6ynS7>d7tP`-~`8ib}p|m*_P3k;_S09JhN#KudxprUVd*DTZYGq?t{i~1P*Rt=#
zad|3`Q0174CLt4$odi2>pTM6<Sy@_dCP=&Y@`NGHas=LB>I&8gn0svMTKo7nKYt>q
z2bi9|A2pAmQ7bD;qL4WE`(>Oze?e)FJ-Z*oE!~%^-qN&hoq#vLC{K*kRgIvEsGVc!
z>oeeafiSL>v$Pc5gH`22fB5}{f!TK=1gJnl#ZxMpB+P@)I}m<=qFY?O9@zj7Xj>=X
i(kJs}fy4#?{0&-Fd}<yBC<y=n00{s|MNUMnLSTYw#XhG1

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window5.png b/Resources/Textures/Structures/Windows/window.rsi/window5.png
index df8dd36cf54e1eeb9e03f2c59d16196a74347996..2acdba184c970ed97837fb148382491aa2d88383 100644
GIT binary patch
literal 1810
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&f784^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx%GxJjN%S~+bA&O8nLqt){w9&_6y$#6IR*^xe
z#rZj<pkTK%G6R~4A&Q6qh>i%XI*>)tbp&MOm*fKzR8eNKXI@EaQ9%(faY1Z^+J{>O
zx>*RzL-R6A?2MoWpa~=CLW&$K$D)$*{G#j-a74gE5vK~MDUc9FN}rI#4-S1`>bK*v
z(TC?GJFfMc_I3gDovNpcV@L(#+vv01mmNg@FU{P%vhisDJsqx1$6Z^Ss>F_T%bWYZ
zI%@Cm<&nK&)rHm5ukNk5Y^&SFu3zWixb(P^Ms?&0d67-CeP>;%T)Fk#q_U%l_q|V?
zQ9Ze2^7niBb!UB^{XN!Hu=8`m%ePg34U+1a&Gol@_>jt8XL8`zE2F6EdGUA8?)@De
zb@y(a@$0(OYrcKew(nOM1viGSd@y@ItMs&8TP%H+n;l`~sQZ?1l=((qb1#d;F1_dv
zDJxE8=^noEb+dY4;NJiH?jAgK+%%%u@!0xr>%3$d#OH1eEZJJA5XQ42>>+P^wfM(A
z^={@1+(|Ccij$&vIgiR7UtwL7_c8KT<DVa&K5uq^d^z`cy(Hr{(;w%#3mJAW&28)d
zp<!^=a9tHMgZQP&t;rG-uFre;>9j!u_sc!EG;Nu$Y+oL?^Xrzq3qG^leP1bi`^vU2
zJO&Ief>ykE%gfw#uX)!$X|@+i5nsM7O=q~>74ZAxUiIJ`MQL8P-lp6PB7ZiXHs2t*
zN;UtsTWgVgV9TvJ&DXV0>oocqA7VOiW5@HWmoGPOJJoPvxk^y{4TcYgIX+LDy6(4p
z$1jVkQ7)5Ic38W)zc|6haMazizgvA)#XmiV@4n&-?~8L)Crv9A+0exBd&*G@9>XoG
z3%;AH&EuH+k#WKit<R=M6!ZC<U27E_5C2yZ`F2D{o<Vr_POHbv4p0ARe)pGRxWsfJ
z=!l23LO1(+?|`TOJeeJ$7&LqxE=;fI+{EOtv;Go;j>W<Gi2-F&M=Yd2&WW<(5qem!
zp?l!f^7WhU{Lh^`m2uzxnSQP2|7US|FFwG;u=GHB4NqrM!nC8V56?Fi?yGd*YdTwW
zkYPfr*UVQu%%`s0j@&54ma;Htnbq6Q33?HieldL(zwq|pqV4898ddzSe&tIn=uWtJ
zTbfN|FMH|V^hlxEPoHdAYP4>y$|Hsec?#K=MHmk=Hd!$6hQAdmb>G$a{^N_OQ#3xZ
zgbUVl&Wp}@^yj0p!dV7UuXz)uHLUJ1PI!5h-D2J?6Hf8ze&(0Y2wt&sTBmf5;S$G$
zum%(6C9(><jOl{x2}=Y$g3dBzvU@l)ELDA=wV%OS@QUT*F5%Ol`pDDO&t;ucLK6UW
CL9BWJ

delta 778
zcmV+l1NHop4xk2*BYy(tNkl<Zc%1E<J4_T&6o&t~GrP+y5ESen6xymJZb5B~+W2U&
zrlB`#VP|2l7Fya69}PCf#%F7^SQC^|Er=$X2uhS0b{==kxscGzEb1lajG6hGO?EST
z&i!*=bI*SrSdwL#)gN5GdFRzve;hgpaQ;*Wx1KK{h!cEye18|6*-KY;dj7__&QqKC
z%I4wSU}b0$a1<P+u(IBR2M16tTYPZ=!tbk4X#%&|M4$mZFu)q$V~v)>?6Jd8u8Y^*
zcX+h;2~Lu*#updh+0y5&Oh$kd$UF~iZ8xv{4dMcP3sXc<gsjnkX}3<{dwgk$3-Iyb
z?cDGGWChp_#D4|gYG@JStAI4M042yllv;oi<RD6^1h9TH`v*!T0N?&^o5~LX>t1(Z
zp?kvS`Rg-BtlsAx$F2#L?*Z%rNKAD7U>87QqU%RJ1WJ&DD7643$U&6K3&3_F)SbU}
zHTQ>^dsZ7ETUZ33#_vBnhmelEl?&wnP8_4zY;uI}3xDgG;9%P~pQElW!*Qg6EsG$I
zF{~VO?!PBl!*u5mbeeL7FNAdxq{g3~n!tyikNYp*WB$ck&hWXg3ZOPN&{jYiMbNGX
zfA1(~`23vMBIy(fGK>wjkZBEM8e_kf*}@l5`F#MN0LnGBfARp37l1qg#v33E>smy$
zfARp37k>b0f^h9;wFIErKY0KSw8H8wgY8DcEQ7=kZv;;km$$tEg0S|0^&m8JL0Gk|
zFqOayUxwz6a->iQTMv--0Tfa114@vCD7643$U&4^0PcWwX^cDI4pe>!h~F2u_~4C|
zzu>>WFCa~Ak`jnnNNti5pcbG6IfzmVP=Xvp5q~ey79EvU=E@BD2J$XVkuV%0hzqdK
zcL9IXH?W#+jz}HFZ1KhCfa3?padK+Xcm}XlJRvUu7vepDJOZtuVE{hPOi!4~5qc3@
zeDNMY9s%+SkY|9r1LPs#L|g#l5y-Uh43Kw#JOnfmvH;*Wtb^T!`Dp6<00000NkvXX
It^-0~g5Y*&oB#j-

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window6.png b/Resources/Textures/Structures/Windows/window.rsi/window6.png
index 13aaa2107eb3d7196a96e5530e1996c6cbe0b650..4a47d0859aee6821af5b92eaf68dd4bc2f432e43 100644
GIT binary patch
literal 2213
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

delta 1168
zcmV;B1aJGL5u*u^BYy;HNkl<Zc%1E9-)me&6#nM^+P%A*G>!EKN>NIr{=f(gEf&#I
zP(f6D(HDyZB=irk?>_im3%(RYgdqA*d=W)KL8(ZsVk$;#DJ`Lh+G=XrWV83~&b@a=
z&fMLyDUudvof+Bv0=WZwXV1Cc&Y79-oVg5|kWy-W!M^7XoPWIQ>6fu33h~PR2k`di
zi>PnA6$|r+F*AGUwaxl6#_+}qyFSyg@9A{54PEk`BjB%Qf?O0vZ8||f$QTMpe0S<+
z#9?66wpnYNfYBdg$O;M3=@_%?R0vE>-J`CN?;Eq}3<2cGy?1U?ZC(hYcHIE;;Q0)V
zv6@kLoFTy6Z-2fK&Jd8L3Dy&i+iDSt=BhEfP7vS;fhh2i2#KXXu0mAIg@F?U6j4Q8
z7Z=Zf`94Hz&6sT`_5q&ffy)3nZzHQT(30kU7bix5OcQn8xA$R8`U0M|M7w!7K|mBm
zXm!{AmBNE4%;^Cq2w3ae_z0dM4$MWS_F#MUgHuo4NPm_t%pZPzX7&(TmzOd3<TT#-
z@-$X?hTlGY7so$(?-3pQq#tykJpu-y$!)@D2$0q%%|EmRkk%*7Puf4!9J+&oF#_71
zj?(%RvrK>L85oQa(9`%m&F>0~5zy24r1@RS!Wi|1v_5Hm(*CZ%iYK<T|3ASP0i^Ls
z>yzfsQh#@rLSqDw#wV>$nxC{k<p5lOIRaX1O6!y6M_&%WHjEL_iehAyDsrBKdx6RU
z3>5*S@k#5G=0{%+z&6Z<Kv5{IPay42Ie?)efHXd7{T|i~7C$zF_NM&tXJ0z0)8BSJ
zKs)ua{h8UaA?1eLKonKLIq$Y3)s|rhAyqu65r2{9xvqI_XcI8r7t47!K|)eDlM+Ft
z{A{A?197a{y?KDbp<avaJar$m37Fe|A5xy9nRb-cr=Z%qdm76ttGN4)NeCg4@(iBu
z<J*OwFacoCu7^;I%vFFlgEj%jPMlTOE6p|-t0D)(FDK4H&`FQe7ctqW;^OiZR2pM6
z6@RLGmwxya>#cGbe01mb|LD<f4%!5)2p=LZ;MW_FYFX*d19_R+zM2E^)=A_-s<ofR
zHH7W9`fS{{zZudd;Ow!Z|GMub`giaNT^F>VO~8$gvbm1`^)b0YU_^ieK3K(w00(@q
ziV*=0_+S-7Pk{CJ1?YT%PX8k>&J6GS0)K<RhyVwCu!<1@4)|adBLW=o!77HH0PBaP
z=@6ynS7>d7tP`-~`8ib}p|m*_P3k;_S09JhN#KudxprUVd*DTZYGq?t{i~1P*Rt=#
zad|3`Q0174CLt4$odi2>pTM6<Sy@_dCP=&Y@`NGHas=LB>I&8gn0svMTKo7nKYt>q
z2bi9|A2pAmQ7bD;qL4WE`(>Oze?e)FJ-Z*oE!~%^-qN&hoq#vLC{K*kRgIvEsGVc!
z>oeeafiSL>v$Pc5gH`22fB5}{f!TK=1gJnl#ZxMpB+P@)I}m<=qFY?O9@zj7Xj>=X
i(kJs}fy4#?{0&-Fd}<yBC<y=n00{s|MNUMnLSTYw#XhG1

diff --git a/Resources/Textures/Structures/Windows/window.rsi/window7.png b/Resources/Textures/Structures/Windows/window.rsi/window7.png
index 1a2e65fad78efe662cf60742e0d6afd2088f1e6b..8c0fc72e2ad70df3cfdf46ffd5895c5ddc662cbc 100644
GIT binary patch
literal 1240
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy
zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&f784^(v;p=0SoS&<gn3A8As#lR)
z0M=zwVFhI7rj{fsROII56<bx<DuGp40ofp7eI*63l9Fs&r3l{u1?T*tR0T6V13d#J
zJ1zwU1)HLjG^-#NH>h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6
zGOr}DLN~8i8Da>`9GBGM<f6=ilFa-(1(3OkN%^HEwn|DMi{Jp_&Xi=hJq4vjIbd5-
zlJ!$_Qgc)DN{aOj^$hi~=_|=hL%1-n7#bYFfYArZ0JRxl)#h1Hl57GDDc1_1d!YUU
zIy4z<Z*fVAK9T}`BLf2qT>~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G
zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx%GxJjN%S~+bA&O8nLqt){w9&_6y$#6IR*^xe
z#rZj<pkTK%G6R~4A&Q6qh>i%XI*>)tbp&MOm*fKzR8eNKXI@EaQ9%(faY1Z^+J{>O
zx>*RzL-R6A?2MoWpa~=CLW&$K$D)$*{G#j-a74gE5vK~MDUc9FN}rI#4-S1`>bK*v
z(TC?GJFfMc_I3fY*K1D~$B+ufx3e61n*&5xytiI)-1~r8^=qJhX@DUMZ}E?r#|!4C
z+<#Y~kXWr#*Z2Ott5VIk@AE(SGx;ZICmiZ}(#E6k);GZz53~1x`0iiT^PasIUBG+m
zC(j0bkI(50xfjl*H`F@LvS-d{F0*5P!+q(Gq=WR9&yor86P}%CxV2#Jd4}IjCiQF=
z*xuH#-4I{$)40Jb<GJyHeF|siGj4ITuCHeP@SpKY!`1)dckVTCE#SIM$Y}MMOL^*^
S$W`nDl`5XDelF{r5}E)5pO@4C

literal 301
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=Up!qLLn`LHogK(~$bf;>T&0m+
zq(MM{$;p9H?!cu21G~6c<%#A0WA&$-W=}7f=QJ&~Q?8)4uJ7cJ-#<Ti9eY3N;Qt0j
z2EI@phJqDI3=N01KFidv3_r;3@m+F%0VjjZDhY-M0Y@1a+O=l$3%obd>n|^vw}0-p
zi<NeFHFE#)8ZaDK*ag;aP}Owt`Ohg28QtbT4~}61YG7lq2r-1qL(F#;Wd@r0!#?2)
z%Rl~xWQGQa0N9e>OeY`I9{^be)tM;zp1UGGK?m6&+hv)*nAU!itCLw)Z4C53gQu&X
J%Q~loCIB+RX~6&h

diff --git a/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json
index 453a3797223..8477687a8c7 100644
--- a/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json
+++ b/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json
@@ -5,7 +5,7 @@
         "y": 32
     },
     "license": "CC-BY-SA-3.0",
-    "copyright": "Made by brainfood1183 (github)",
+    "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.",
     "states": [
         {
             "name": "state0"
diff --git a/Resources/Textures/Structures/Windows/window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/window_diagonal.rsi/state0.png
index df5805957d6b0d0b891e10d01cb5a46e4c36e95a..428ed238a76e8821f17b447ded574bfe51041254 100644
GIT binary patch
delta 743
zcmexTvyp3piV9<Kkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lP4;QGcjjOw343K
zt-}}L8=&BvUzDm~re~mMF!5{M<Q0q-lb11>Cwmr@B%4&^7PwZF*eYd|loVL$>t_PR
z^zw_+^@~eV^pO<k8yOf_=o%R58d>Tq*>NerfK5uWRY_(^PAZZZP|l_(CC$n)r(`le
zyQFkQZjMz>VqUtfQiX0xYFc7xPKlCTaY<rHs^R1b9Ac9jSlJ|iYLQH^(T5p3c?FOB
z<cmDYlk0f+CQsv0HV??iFUikMEh)-O_RK3uEh;EV1)7wZpJ!)eqhFGlmS%-j#pL@u
zZk9;?v2rXbDbFv;4gtFz;usrb52GlUyqDLkJ}*IeIs*fvho_5UNCfB6>1Vkd9Yv1o
zZ~VY<>e8Vgvo}*zydzJzE6r;#|H!lN6!!;?HEX7%RNi-7_~QLyzsG#<&dl7IUMPNf
z?fv|7Gyh+)@M{QN@s01{f*(J<%Ek4som;5D!r(vUmHCFX+yNEZ)3<0V99sT*u`Q$i
zj;(?x9=t26FEXxUd-7r9<V=2TH&zWB(cLcJmcJ0qEuZec<D%dn=Jtk(-5rMnP1nz5
z?n{zy<Z!<du;p!k>-F}~1Nt(2IZRpwW{ja0-3+a#7qLxPv&C%zcl(qg9?d`DS5kH#
z-xb8}@?-sqja&tXYRem>-+3Qk`IFDc72Y}Pnxp||`;F@oL1{buu1v8~I8?ewP56eN
z8~6F@17bFTd3A9vW)J1lA4uEWmHd*r_RHqJZOPA9xJ|S1(U@bMmG3BMcYlwZTE)^w
r3p?a<4;|zV-m!8;<y)D8a?|2>Z<T$L__TV?f|9MLtDnm{r-UW|D5W2Y

literal 15988
zcmeI3YiJx*6o7BkwwhWW2);{)ZPkjI%wuPFGvj8PG~1epn}#&iM1M51Gk21qyF1&N
zNp}+}Rg0hqqLo@70hLOvKP<JRR1x~{fl5>asi=RHVubob{}e%d)H^f#n7!Ft<Ku_O
zUD(ID=bm%#`OcYhcYe&H1O0cbXuZA_0I;I3H$8~H8Sj1ZQuOIeO`StumlS(P8~~PI
z<-J?LbJN!Xko>|N8g_>>cPW~cZ&!6I3){>2BAShK>&it{+Xh`G3&+etXXMAXPDB_}
z?~L3N%kY_E4;(jpr);=+s((nE+NQ~RWL>H?SyqsPJakp2oX-^;rQ8|u{VM3UH_SyC
ze~P=UGt%uX$P8x&m>$c9OsqZ5YJ5DwB;<A>mPkm6Hb&%y7{^DsD9?&fMdB4nWGb&n
zsulf8+Pa|(rZ-lWLsDmC+;xiz$CXN@_ENOnvd1_<mSv6?IZ<TM4Az+}xN4a#II9CE
zRX=IyXtr5&O{>6oe$}is;dVwM-a@rkC9Zt2wot*TutOBNvRdSXcAjfyq-!;s;)I>^
zx29_x%)vY?xDK)tn%Wh|E!T3!tp%2>sTW)r<s_4-t=)9L`Fzu*9e2YHgrI`7siiYC
zS%lmmbgT(mgBy0BP*yjK-ZhPSavD5&ng#a`%jN=Ro+dE!OCiWm62+?Y*idyXd&shK
zsi4XRstB2$9>1!XwfC3>-6}b^COO=sp6|Lhm{whw5_vJo@^My_hJ?5xbtr;#8!sq4
zA951R#C&8d-83faJ_J<I!jLE^QLn7SK0-5bAL#ngRaae<m+;(>A6-)n%g(EA%FL@{
zkSi9(l3aZ-G_zJ!N{^MZY_u(yiYB>c!%eNymNwy)b$3C74oZd-N)k$yf8nlI#~Meg
zikz7W+J<gvrmoZ%P4IGDkMlg6;3bI_1PEDKi^W+O>(Eu%=#Y^v$$1wqa#7z`r8X+#
z&0VXKku`W7dakp7$#t+`V=!S-BotnSWim=%!EseYsxO^F1MMaXT9yn+HsmZTNk*KN
zG%3brc_V?usBUCqY68aNe%Upe*MqLOuC9(;HxFDBWdu))k^>L+8FDsnp-r}lP6{;_
zn&ZWyqgVvFLl96Ltek)b+aXCZ+mSE~)`%vcnh+&bh{9?tP29{|s@L>NYO*oIeo1YH
z+Z#vgCFS?@qG~(P>sXzUYRjq}0zs8jYQ^t-imG|1K}z!)3e=Na!)Se5HOpi$!JMDY
z#UYqyzVI5QaabTVq`;LwYhfpjWw<5PhTUW6Qe8~147@g);qL$J0{jPwaMT_DEDd@`
zT+M2HjMW9yg9TYa4May>BrA)&7K4&1c8Jw9hq8!==v7q+uzxO8dOEMfVu~nNdwOWr
z!cH1_F5<{qOd9HY)W+4q7}Qf-HL~gezN7zg<`&lv12BItbJ%J8Kge8=&&Hlu?X&ZH
zXwv&5rl9_ddV%WqJt4`>8>`n$Fn`$VqqzxxenRBYixa%hifLGln~so8!)n~LZn>pk
zx+!$c`WwZDLss6u#o({ZW^`i%Q}I|V8cTBcFm5qmmSJu<ZKA(2j&~A7(MrAzu4rmF
zvXEg&Q85fs6}koSkFj7B-Qb{mE3S5PHSdJ0oj?EPk9tJ^rdP}tT?7L{7AY<=A52Se
zVL-?t#YN_WX(=uY2w9}K$b2v@#f1SOixd}`52mHKFd$@+;v)0Gv=kQxge+2AWImXd
z;=+KCMT(2e2h&nq7!a~Zagq68T8aw;LKZ15G9OG!abZBnBE?1KgJ~%)3<z1IxX64k
zEyaZaA&V3jnGdF=xG*4Ok>Vor!L$??281k9Tx33&mg2&IkVT4%%m>p_To@3tNO6(*
zU|Na`140%lE;1iXOL1X9$Rfo>=7VV|E({1+q`1g@FfGM}0U?V-T&?xTm0<xrqg+A{
zBd@-D?{V}XGo$qmW&oJF34jN71Mu^C^nDh92_As&M*&ct0pJ>I&(`-g0?=}GU%Gp!
z{8jeX^XJ#S)7A3IH{afO*M;y+ZS>5RTlXE_>iwR%@7-NX(d)p2Gs&;kKYaYMu46mT
zK6?8(2gGO3UcKavwp~Z=|8UoVmYL~OYY!cM=E<k$z>&G@r%#L&c8>kFTc5l#v;To>
zXU*@xxzYEboVl@!`Q))rPe)h0JU27}<fk`(-16<cpPW2-vTJ*MP5kI*Yc5)QbUL!^
zi9M$e{s8VgGo4*F@R_}5WmkT-&jxJUEy@jptB*dl@`9O}=@&0NxcBr2HhAsKjn_?Y
zO}@U{WY~Q_J@WRYEmQYCe&v#j+Ft0-&+h+d%N1Wf@%gJOpP!rUUw`|}{ii-Ww)Ab=
zi|D(aeXG9SV_)*ilI1`Bc6sXe{rl!NmD)6LDY*0C=(8`KSar&KF1&9;fBMk+(TDy3
DaE5Ko

diff --git a/Resources/Textures/Structures/Windows/window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/window_diagonal.rsi/state1.png
index 83737b8cefe39b1948b33192f9c553f14e70be24..9861698bb2a4b45e61b425bc1b672df8f9934c02 100644
GIT binary patch
delta 699
zcmcat)5<kLMTN0A$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$rBaDnV2&sT1ijr
z*5Qlr4N!2-FG^J~(=*UBnE17B@(M<a$;+6`lRXPcl1(ad3tTHoY?U%fN(!v>^)rED
zdih1^`o$$F`bY}&jSLJdbPbGjjV$$*?6?$Qz$PWxswA@{ClyHyC}&fYl4j+YQ!<&K
zT~fLtH^(X`F)!U#sX{j;H7&6;r$ouFxFoS8)o}6z4zbA%tZWiMwMZt|=);Viyn;u5
z@<kry$#pz@lc(`0n+Ig%m*nTBmK0?sd*+p-78Mkw0!_-y&$BbK(J#qNOS8hNV)A_+
zH%lb{SUDDzl;;;^hk)G<af}VJhfx$v-pgxNpO>IKoq>T-#?!?yB!ctkbwjR01|n<^
zqK+I?e(~nPt7l7^AE;S$CLPqSP~Y2ZUQi@#Wl_z_DmXEo!{+j`+)2}?n`?A@_*?l>
ze};-+`mQ^%(HsAqRNDRJ`E36w3|z+_9%T-wv6ef*cH!gUpK9U@c*J)z3D?=n9?oCD
zC7=4c^g@06ghz+p?VfCZOMi{5I=kE#u2~N_COm4b*63R`b#BbeH{lB&uaIh67yGax
zoj0L-Gh4yIn@l?%=`d>Kt&&o>Tw%++&%(*_`h-WNp~iFN=3D1F9Dlv)m{f!C_InKG
zd7=s|_beEW#;$tym8a#1;F?WsBHvfey3AH`XL;5&#w7(T+E#xAJRh|(T>25u&{Z7H
vJ0Y_!yrF*O-kYyF^*tYb2<mDF*;2!(?5uvvb-&*~P*U`C^>bP0l+XkKxLOJq

literal 15966
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
T+&>K<H>!JMPxP$~!+ZV$;QnZ1


From c978eefedbd0a993e9358ee15687761feb457130 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 13 Nov 2024 12:31:47 +0000
Subject: [PATCH 073/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index f54421b87ad..3365a943ee6 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: PoorMansDreams
-  changes:
-  - message: Throngler Plushie looks like a plushie
-    type: Tweak
-  id: 7106
-  time: '2024-08-13T20:32:53.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30969
 - author: IProduceWidgets
   changes:
   - message: shuttle events have been separated from other midround events and can
@@ -3949,3 +3942,10 @@
   id: 7605
   time: '2024-11-13T02:59:47.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33223
+- author: Ubaser
+  changes:
+  - message: Window sprites are now slightly more transparent.
+    type: Tweak
+  id: 7606
+  time: '2024-11-13T12:30:40.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33282

From 51d2b51ad09f3b361d80f22c3c2c23d6a5048517 Mon Sep 17 00:00:00 2001
From: dffdff2423 <dffdff2423@gmail.com>
Date: Wed, 13 Nov 2024 18:27:31 -0500
Subject: [PATCH 074/187] tag:with toolshed command (#31751)

---
 Content.Server/Administration/Toolshed/TagCommand.cs  | 10 ++++++++++
 Resources/Locale/en-US/commands/toolshed-commands.ftl |  4 +++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/Content.Server/Administration/Toolshed/TagCommand.cs b/Content.Server/Administration/Toolshed/TagCommand.cs
index e1cf53e1b1a..4c6f790e493 100644
--- a/Content.Server/Administration/Toolshed/TagCommand.cs
+++ b/Content.Server/Administration/Toolshed/TagCommand.cs
@@ -25,6 +25,16 @@ public IEnumerable<ProtoId<TagPrototype>> List([PipedArgument] IEnumerable<Entit
         });
     }
 
+    [CommandImplementation("with")]
+    public IEnumerable<EntityUid> With(
+        [CommandInvocationContext] IInvocationContext ctx,
+        [PipedArgument] IEnumerable<EntityUid> entities,
+        [CommandArgument] ValueRef<string, Prototype<TagPrototype>> tag)
+    {
+        _tag ??= GetSys<TagSystem>();
+        return entities.Where(e => _tag.HasTag(e, tag.Evaluate(ctx)!));
+    }
+
     [CommandImplementation("add")]
     public EntityUid Add(
             [CommandInvocationContext] IInvocationContext ctx,
diff --git a/Resources/Locale/en-US/commands/toolshed-commands.ftl b/Resources/Locale/en-US/commands/toolshed-commands.ftl
index e2536f6781b..c53c825eb3e 100644
--- a/Resources/Locale/en-US/commands/toolshed-commands.ftl
+++ b/Resources/Locale/en-US/commands/toolshed-commands.ftl
@@ -1,4 +1,4 @@
-command-description-visualize =
+command-description-visualize =
     Takes the input list of entities and puts them into a UI window for easy browsing.
 command-description-runverbas =
     Runs a verb over the input entities with the given user.
@@ -58,6 +58,8 @@ command-description-rejuvenate =
     Rejuvenates the given entities, restoring them to full health, clearing status effects, etc.
 command-description-tag-list =
     Lists tags on the given entities.
+command-description-tag-with =
+    Returns only the entities with the given tag from the piped list of entities.
 command-description-tag-add =
     Adds a tag to the given entities.
 command-description-tag-rm =

From 9643598c704dc99ae18312b2bac44960c75d7e7c Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 13 Nov 2024 23:28:39 +0000
Subject: [PATCH 075/187] Automatic changelog update

---
 Resources/Changelog/Admin.yml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml
index 680915d3821..bf1cbddaa18 100644
--- a/Resources/Changelog/Admin.yml
+++ b/Resources/Changelog/Admin.yml
@@ -597,5 +597,13 @@ Entries:
   id: 74
   time: '2024-11-12T21:03:13.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/30659
+- author: Aquif
+  changes:
+  - message: tag:with toolshed command. It takes in a list of entities via pipe and
+      returns the entities from the list with the given tag.
+    type: Add
+  id: 75
+  time: '2024-11-13T23:27:31.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/31751
 Name: Admin
 Order: 1

From fa3a04a5273c77bba4f3545dfedebaa61bd2f5aa Mon Sep 17 00:00:00 2001
From: keronshb <54602815+keronshb@users.noreply.github.com>
Date: Wed, 13 Nov 2024 18:36:37 -0500
Subject: [PATCH 076/187] Ethereal Jaunt Spell for Wizard & Jaunt ECS (#33201)

* Act

* Adds Jaunt ECS and related prototypes

* Adds jaunt sounds

* Adds enter and exit sound support to polymorphs

* Updates jaunt description

* Adds jaunt action sprite and changes jaunt polymorph to use it

* Adds Jaunt and upgrade to the wizard grimoire

* Makes base mob jaunt parent off of incorporeal and basemob, adds blue ghost sprite for ethereal jaunt

* Update Resources/Locale/en-US/store/spellbook-catalog.ftl

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Polymorph/PolymorphPrototype.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Polymorph/PolymorphPrototype.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* removes meta changes

* removes other meta changes

* adds context menu and a description to basemobjaunt

* comments for jaunt component and adds on component shutdown method

* Update Content.Shared/Jaunt/JauntComponent.cs

* Update Content.Shared/Jaunt/JauntComponent.cs

* Update Content.Shared/Jaunt/JauntComponent.cs

* Update Resources/Prototypes/Catalog/spellbook_catalog.yml

---------

Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 .../Polymorph/Systems/PolymorphSystem.cs      |   6 +++
 Content.Shared/Jaunt/JauntComponent.cs        |  26 +++++++++
 Content.Shared/Jaunt/JauntSystem.cs           |  26 +++++++++
 .../Polymorph/PolymorphPrototype.cs           |  13 +++++
 Resources/Audio/Magic/attributions.yml        |   4 +-
 Resources/Audio/Magic/ethereal_enter.ogg      | Bin 0 -> 36619 bytes
 Resources/Audio/Magic/ethereal_exit.ogg       | Bin 0 -> 42980 bytes
 .../Locale/en-US/store/spellbook-catalog.ftl  |   6 +++
 Resources/Prototypes/Actions/polymorph.yml    |  50 ++++++++++++++++++
 .../Prototypes/Catalog/spellbook_catalog.yml  |  33 ++++++++++++
 .../Entities/Mobs/Player/jaunt_mobs.yml       |  40 ++++++++++++++
 Resources/Prototypes/Polymorphs/polymorph.yml |  16 ++++++
 .../Objects/Magic/magicactions.rsi/jaunt.png  | Bin 0 -> 431 bytes
 .../Objects/Magic/magicactions.rsi/meta.json  |   5 +-
 14 files changed, 223 insertions(+), 2 deletions(-)
 create mode 100644 Content.Shared/Jaunt/JauntComponent.cs
 create mode 100644 Content.Shared/Jaunt/JauntSystem.cs
 create mode 100644 Resources/Audio/Magic/ethereal_enter.ogg
 create mode 100644 Resources/Audio/Magic/ethereal_exit.ogg
 create mode 100644 Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml
 create mode 100644 Resources/Textures/Objects/Magic/magicactions.rsi/jaunt.png

diff --git a/Content.Server/Polymorph/Systems/PolymorphSystem.cs b/Content.Server/Polymorph/Systems/PolymorphSystem.cs
index daff200982d..c9a71c53584 100644
--- a/Content.Server/Polymorph/Systems/PolymorphSystem.cs
+++ b/Content.Server/Polymorph/Systems/PolymorphSystem.cs
@@ -199,6 +199,9 @@ private void OnDestruction(Entity<PolymorphedEntityComponent> ent, ref Destructi
 
         var targetTransformComp = Transform(uid);
 
+        if (configuration.PolymorphSound != null)
+            _audio.PlayPvs(configuration.PolymorphSound, targetTransformComp.Coordinates);
+
         var child = Spawn(configuration.Entity, _transform.GetMapCoordinates(uid, targetTransformComp), rotation: _transform.GetWorldRotation(uid));
 
         MakeSentientCommand.MakeSentient(child, EntityManager);
@@ -288,6 +291,9 @@ private void OnDestruction(Entity<PolymorphedEntityComponent> ent, ref Destructi
         var uidXform = Transform(uid);
         var parentXform = Transform(parent);
 
+        if (component.Configuration.ExitPolymorphSound != null)
+            _audio.PlayPvs(component.Configuration.ExitPolymorphSound, uidXform.Coordinates);
+
         _transform.SetParent(parent, parentXform, uidXform.ParentUid);
         _transform.SetCoordinates(parent, parentXform, uidXform.Coordinates, uidXform.LocalRotation);
 
diff --git a/Content.Shared/Jaunt/JauntComponent.cs b/Content.Shared/Jaunt/JauntComponent.cs
new file mode 100644
index 00000000000..6d37ab4b322
--- /dev/null
+++ b/Content.Shared/Jaunt/JauntComponent.cs
@@ -0,0 +1,26 @@
+using Robust.Shared.GameStates;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.Jaunt;
+
+/// <summary>
+///     Used to control various aspects of a Jaunt.
+///     Can be used in place of giving a jaunt-action directly.
+/// </summary>
+[RegisterComponent, NetworkedComponent]
+public sealed partial class JauntComponent : Component
+{
+    /// <summary>
+    ///     Which Jaunt Action the component should grant.
+    /// </summary>
+    [DataField]
+    public EntProtoId JauntAction = "ActionPolymorphJaunt";
+
+    /// <summary>
+    ///     The jaunt action itself.
+    /// </summary>
+    public EntityUid? Action;
+
+    // TODO: Enter & Exit Times and Whitelist when Actions are reworked and can support it
+    // TODO: Cooldown pausing when Actions can support it
+}
diff --git a/Content.Shared/Jaunt/JauntSystem.cs b/Content.Shared/Jaunt/JauntSystem.cs
new file mode 100644
index 00000000000..d9263d000e4
--- /dev/null
+++ b/Content.Shared/Jaunt/JauntSystem.cs
@@ -0,0 +1,26 @@
+using Content.Shared.Actions;
+
+namespace Content.Shared.Jaunt;
+public sealed class JauntSystem : EntitySystem
+{
+    [Dependency] private readonly SharedActionsSystem _actions = default!;
+
+    public override void Initialize()
+    {
+        base.Initialize();
+        SubscribeLocalEvent<JauntComponent, MapInitEvent>(OnInit);
+        SubscribeLocalEvent<JauntComponent, ComponentShutdown>(OnShutdown);
+    }
+
+    private void OnInit(Entity<JauntComponent> ent, ref MapInitEvent args)
+    {
+        _actions.AddAction(ent.Owner, ref ent.Comp.Action, ent.Comp.JauntAction);
+    }
+
+    private void OnShutdown(Entity<JauntComponent> ent, ref ComponentShutdown args)
+    {
+        _actions.RemoveAction(ent.Owner, ent.Comp.Action);
+    }
+
+}
+
diff --git a/Content.Shared/Polymorph/PolymorphPrototype.cs b/Content.Shared/Polymorph/PolymorphPrototype.cs
index 6d010711d2e..c0576694084 100644
--- a/Content.Shared/Polymorph/PolymorphPrototype.cs
+++ b/Content.Shared/Polymorph/PolymorphPrototype.cs
@@ -1,3 +1,4 @@
+using Robust.Shared.Audio;
 using Robust.Shared.Prototypes;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
 
@@ -115,6 +116,18 @@ public sealed partial record PolymorphConfiguration
     [DataField(serverOnly: true)]
     [ViewVariables(VVAccess.ReadWrite)]
     public TimeSpan Cooldown = TimeSpan.Zero;
+
+    /// <summary>
+    ///     If not null, this sound will be played when being polymorphed into something.
+    /// </summary>
+    [DataField]
+    public SoundSpecifier? PolymorphSound;
+
+    /// <summary>
+    ///     If not null, this sound will be played when being reverted from a polymorph.
+    /// </summary>
+    [DataField]
+    public SoundSpecifier? ExitPolymorphSound;
 }
 
 public enum PolymorphInventoryChange : byte
diff --git a/Resources/Audio/Magic/attributions.yml b/Resources/Audio/Magic/attributions.yml
index cedda322862..bfbe4d6ec24 100644
--- a/Resources/Audio/Magic/attributions.yml
+++ b/Resources/Audio/Magic/attributions.yml
@@ -17,6 +17,8 @@
   - forcewall.ogg
   - knock.ogg
   - blink.ogg
-  copyright: '"ForceWall.ogg", "Knock.ogg", and "blink.ogg" by Citadel Station 13'
+  - ethereal_enter.ogg
+  - ethereal_exit.ogg
+  copyright: '"forcewall.ogg", "knock.ogg", "blink.ogg", "ethereal_enter.ogg", and "ethereal_exit.ogg" by Citadel Station 13'
   license: CC-BY-SA-3.0
   source: https://github.com/Citadel-Station-13/Citadel-Station-13/commit/35a1723e98a60f375df590ca572cc90f1bb80bd5
diff --git a/Resources/Audio/Magic/ethereal_enter.ogg b/Resources/Audio/Magic/ethereal_enter.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..a0c7222c16798c3c037cba5e90d5899644b52e8a
GIT binary patch
literal 36619
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
U3Scl3to$`8GTa5YJ^;tL0a{;58~^|S

literal 0
HcmV?d00001

diff --git a/Resources/Audio/Magic/ethereal_exit.ogg b/Resources/Audio/Magic/ethereal_exit.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..bd60ca8c6957934445cbca1f7c691cb57cc69dff
GIT binary patch
literal 42980
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
U#lX^J%@44Ta~vFp>!F700UIP22mk;8

literal 0
HcmV?d00001

diff --git a/Resources/Locale/en-US/store/spellbook-catalog.ftl b/Resources/Locale/en-US/store/spellbook-catalog.ftl
index 457f02916f9..1d970f6e3ac 100644
--- a/Resources/Locale/en-US/store/spellbook-catalog.ftl
+++ b/Resources/Locale/en-US/store/spellbook-catalog.ftl
@@ -17,6 +17,9 @@ spellbook-polymorph-rod-desc = Change into an Immovable Rod with limited movemen
 spellbook-charge-name = Charge
 spellbook-charge-desc = Adds a charge back to your wand!
 
+spellbook-ethereal-jaunt-name = Ethereal Jaunt
+spellbook-ethereal-jaunt-description = Slip into the ethereal plane to slip away from your enemies!
+
 # Equipment
 
 spellbook-wand-polymorph-door-name = Wand of Entrance
@@ -33,3 +36,6 @@ spellbook-event-summon-ghosts-description = Who ya gonna call?
 # Upgrades
 spellbook-upgrade-fireball-name = Upgrade Fireball
 spellbook-upgrade-fireball-description = Upgrades Fireball to a maximum of level 3!
+
+spellbook-upgrade-jaunt-name = Upgrade Ethereal Jaunt
+spellbook-upgrade-jaunt-description = Upgrades Jaunt to a maximum of level 3!
diff --git a/Resources/Prototypes/Actions/polymorph.yml b/Resources/Prototypes/Actions/polymorph.yml
index 81feba4eacc..291400ab388 100644
--- a/Resources/Prototypes/Actions/polymorph.yml
+++ b/Resources/Prototypes/Actions/polymorph.yml
@@ -40,3 +40,53 @@
     icon:
       sprite: Objects/Fun/immovable_rod.rsi
       state: icon
+
+- type: entity
+  id: ActionPolymorphJaunt
+  name: Ethereal Jaunt
+  description: Melt into the Ethereal Plane for a quick getaway!
+  components:
+  - type: Magic
+  - type: InstantAction
+    useDelay: 30
+    event: !type:PolymorphActionEvent
+      protoId: Jaunt
+    itemIconStyle: NoItem
+    icon:
+      sprite: Objects/Magic/magicactions.rsi
+      state: jaunt
+    # TODO: Effect ECS (from cardboard box)
+  - type: ActionUpgrade
+    effectedLevels:
+      2: ActionPolymorphJauntII
+      3: ActionPolymorphJauntIII
+
+- type: entity
+  id: ActionPolymorphJauntII
+  parent: ActionPolymorphJaunt
+  name: Ethereal Jaunt II
+  description: Melt into the Ethereal Plane for an even quicker getaway!
+  components:
+  - type: InstantAction
+    useDelay: 25
+    event: !type:PolymorphActionEvent
+      protoId: Jaunt
+    itemIconStyle: NoItem
+    icon:
+      sprite: Objects/Magic/magicactions.rsi
+      state: jaunt
+
+- type: entity
+  id: ActionPolymorphJauntIII
+  parent: ActionPolymorphJaunt
+  name: Ethereal Jaunt III
+  description: Are you even tangible anymore?
+  components:
+  - type: InstantAction
+    useDelay: 20
+    event: !type:PolymorphActionEvent
+      protoId: Jaunt
+    itemIconStyle: NoItem
+    icon:
+      sprite: Objects/Magic/magicactions.rsi
+      state: jaunt
diff --git a/Resources/Prototypes/Catalog/spellbook_catalog.yml b/Resources/Prototypes/Catalog/spellbook_catalog.yml
index 38b95c3273c..805c157f1e3 100644
--- a/Resources/Prototypes/Catalog/spellbook_catalog.yml
+++ b/Resources/Prototypes/Catalog/spellbook_catalog.yml
@@ -77,6 +77,20 @@
   - !type:ListingLimitedStockCondition
     stock: 1
 
+- type: listing
+  id: SpellbookJaunt
+  name: spellbook-ethereal-jaunt-name
+  description: spellbook-ethereal-jaunt-description
+  productAction: ActionPolymorphJaunt
+  productUpgradeId: SpellbookJauntUpgrade
+  cost:
+    WizCoin: 2
+  categories:
+  - SpellbookUtility
+  conditions:
+  - !type:ListingLimitedStockCondition
+    stock: 1
+
 # Equipment
 - type: listing
   id: SpellbookWandDoor
@@ -138,3 +152,22 @@
   # manual for now
   - !type:ListingLimitedStockCondition
     stock: 2
+
+- type: listing
+  id: SpellbookJauntUpgrade
+  productUpgradeId: SpellbookJauntUpgrade
+  name: spellbook-upgrade-jaunt-name
+  description: spellbook-upgrade-jaunt-description
+  icon:
+    sprite: Objects/Magic/magicactions.rsi
+    state: jaunt
+  cost:
+    WizCoin: 2
+  categories:
+  - SpellbookUtility
+  conditions:
+  - !type:BuyBeforeCondition
+    whitelist:
+    - SpellbookJaunt
+  - !type:ListingLimitedStockCondition
+    stock: 2
diff --git a/Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml b/Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml
new file mode 100644
index 00000000000..3002264a754
--- /dev/null
+++ b/Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml
@@ -0,0 +1,40 @@
+- type: entity
+  name: jaunt
+  parent: [Incorporeal, BaseMob]
+  id: BaseMobJaunt
+  description: Faint traces of a humanoid figure linger here
+  suffix: Ethereal
+  components:
+  - type: ContentEye
+    maxZoom: 1.44,1.44
+  - type: Eye
+    drawFov: false
+  - type: Input
+    context: "ghost"
+  - type: InputMover
+  - type: MovementSpeedModifier
+    baseSprintSpeed: 12
+    baseWalkSpeed: 8
+  - type: Visibility
+    layer: 2
+  - type: Spectral
+
+# Should be slow, for balance
+- type: entity
+  name: jaunt
+  parent: BaseMobJaunt
+  id: EtherealJaunt
+  suffix: Wizard
+  components:
+  - type: Sprite
+    sprite: Mobs/Ghosts/ghost_human.rsi
+    color: "#60f7eb"
+    layers:
+    - state: animated
+      shader: unshaded
+    noRot: true
+    overrideContainerOcclusion: true
+    drawdepth: Ghosts
+  - type: MovementSpeedModifier
+    baseSprintSpeed: 6
+    baseWalkSpeed: 4
diff --git a/Resources/Prototypes/Polymorphs/polymorph.yml b/Resources/Prototypes/Polymorphs/polymorph.yml
index 96739a50d3c..fe28287cb09 100644
--- a/Resources/Prototypes/Polymorphs/polymorph.yml
+++ b/Resources/Prototypes/Polymorphs/polymorph.yml
@@ -186,3 +186,19 @@
     forced: true
     revertOnCrit: false
     revertOnDeath: false
+
+# Temporary Jaunt
+# Don't make permanent jaunts until action system can be reworked to allow do afters and cooldown pausing
+- type: polymorph
+  id: Jaunt
+  configuration:
+    entity: EtherealJaunt
+    transferName: true
+    inventory: None
+    forced: true
+    revertOnDeath: true
+    revertOnCrit: true
+    allowRepeatedMorphs: false
+    polymorphSound: /Audio/Magic/ethereal_enter.ogg
+    exitPolymorphSound: /Audio/Magic/ethereal_exit.ogg
+    duration: 3
diff --git a/Resources/Textures/Objects/Magic/magicactions.rsi/jaunt.png b/Resources/Textures/Objects/Magic/magicactions.rsi/jaunt.png
new file mode 100644
index 0000000000000000000000000000000000000000..f66002b46956d4945c822e3a1c8fb2ac510ba1b2
GIT binary patch
literal 431
zcmV;g0Z{&lP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80004YNkl<ZScUCZ
z!Ht735Zs(7fS*gC06v!dz&*JRdNL0re<*+w_@w|I_el0`aSYitaJfiXDUu1YXLfeH
zHW%+byfVICivAx66uA@aWCD)8>UHiqSqj+6g!)<l{wSH#2_QI)JtRaWpx|xQ{mAad
zCe+sgESMlIM^*_ac<T8y0$%lcC}(hEvyj`3O&H2K%Zy?LkOTq)0OW!LWOxAJW;#&6
z|6~1;pk&Ppw-u+{-&UQD%OO>RMIZ&f6%rCpJrILa$KyEO1(LqNPK#z0XJ{uA{GEhU
ztxW~u#V{+c`bF)L48CuxPIFaYZNs&iy0Hnd5&xtUVx)F~G*|?@>NS-UGp9swEIpK1
z1l-s>95R^sS_!!41KX}NGhF<EL^<Df#NDJdz@lTOVp9R^`_zO8O2Okfb~0foXO;?2
z6<BjMlERERb5gNu7wox;9YSEwW%LjNN5qG~`w-wd{*+cszl63T=SxX+A)$m~f<WF&
Z;u}lX`C0df&*=aF002ovPDHLkV1kJ3xitU)

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json b/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json
index 9bf76bbe774..a8da3d8bc3a 100644
--- a/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json
+++ b/Resources/Textures/Objects/Magic/magicactions.rsi/meta.json
@@ -25,8 +25,11 @@
     {
       "name": "magicmissile"
     },
+    {
+      "name": "jaunt"
+    },
     {
       "name": "gib"
     }
   ]
-}
\ No newline at end of file
+}

From b91c977f7a51b424bd006ee43a4ed3a37417fa94 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 13 Nov 2024 23:37:44 +0000
Subject: [PATCH 077/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 3365a943ee6..9cc788c96f7 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,20 +1,4 @@
 Entries:
-- author: IProduceWidgets
-  changes:
-  - message: shuttle events have been separated from other midround events and can
-      now happen concurrently.
-    type: Tweak
-  - message: Cargo Gift events should be less likely.
-    type: Tweak
-  - message: meteors have been changed to be more responsive to player count.
-    type: Tweak
-  - message: 'Game mode: Kessler syndrome - What if survival but also the apocalypse?'
-    type: Add
-  - message: 'Game mode: Zombeteors - Zombies and a meteor shower all at once!'
-    type: Add
-  id: 7107
-  time: '2024-08-14T05:21:02.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/29320
 - author: Blackern5000
   changes:
   - message: Combat medical kits now contain saline syringes.
@@ -3949,3 +3933,11 @@
   id: 7606
   time: '2024-11-13T12:30:40.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33282
+- author: keronshb
+  changes:
+  - message: Added Ethereal Jaunt! A Wizard Spell that turns you invisible and into
+      a ghost-like creature for escaping!
+    type: Add
+  id: 7607
+  time: '2024-11-13T23:36:37.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33201

From 4f754b814bdc7c72d900e6d13aef4eb0a533cdce Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 14:55:01 +0100
Subject: [PATCH 078/187] derelictn't (for now)

---
 .../ghost/roles/ghost-role-component.ftl      |   3 --
 .../interaction-popup-component.ftl           |   1 -
 .../Entities/Markers/Spawners/ghost_roles.yml |  20 +---------
 .../Mobs/Cyborgs/base_borg_chassis.yml        |  21 +---------
 .../Entities/Mobs/Cyborgs/borg_chassis.yml    |  37 +-----------------
 .../Entities/Mobs/Player/silicon.yml          |  36 +----------------
 Resources/Prototypes/GameRules/events.yml     |  23 +----------
 .../Construction/Graphs/machines/cyborg.yml   |   5 +--
 .../Mobs/Silicon/chassis.rsi/derelict.png     | Bin 11838 -> 0 bytes
 .../Mobs/Silicon/chassis.rsi/derelict_e.png   | Bin 5508 -> 0 bytes
 .../Mobs/Silicon/chassis.rsi/derelict_e_r.png | Bin 5515 -> 0 bytes
 .../Silicon/chassis.rsi/derelict_icon.png     | Bin 6429 -> 0 bytes
 .../Mobs/Silicon/chassis.rsi/derelict_l.png   | Bin 6986 -> 0 bytes
 .../Mobs/Silicon/chassis.rsi/meta.json        |  20 ----------
 14 files changed, 6 insertions(+), 160 deletions(-)
 delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png
 delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png
 delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png
 delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png
 delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png

diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
index f584a4b35fe..77d2645c4c5 100644
--- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
+++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl
@@ -240,9 +240,6 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg
 ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg
 ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them.
 
-ghost-role-information-derelict-cyborg-name = Derelict Cyborg
-ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms have left your silicon laws altered - check them upon spawning.
-
 ghost-role-information-security-name = Security
 ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation...
 
diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
index 65310b67f98..46959705c26 100644
--- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
+++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
@@ -67,7 +67,6 @@ petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} d
 petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head.
 petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head.
 petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head.
-petting-success-derelict-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} rusty metal head.
 petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior.
 
 petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "honk", "honks")} in refusal!
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
index 18d459cd89e..a614fb59639 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
@@ -169,22 +169,4 @@
     layers:
     - state: green
     - sprite: Objects/Weapons/Melee/energykatana.rsi
-      state: icon
-
-- type: entity
-  categories: [ HideSpawnMenu, Spawner ]
-  parent: BaseAntagSpawner
-  id: SpawnPointGhostDerelictCyborg
-  components:
-  - type: GhostRole
-    name: ghost-role-information-derelict-cyborg-name
-    description: ghost-role-information-derelict-cyborg-description
-    rules: ghost-role-information-silicon-rules
-    raffle:
-      settings: default
-  - type: Sprite
-    sprite: Markers/jobs.rsi
-    layers:
-    - state: green
-    - sprite: Mobs/Silicon/chassis.rsi
-      state: derelict_icon
\ No newline at end of file
+      state: icon
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 7449fe5669f..90223843525 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -316,23 +316,4 @@
     sounds:
       Unsexed: UnisexSiliconSyndicate
   - type: PointLight
-    color: "#dd200b"
-
-- type: entity
-  id: BaseBorgChassisDerelict
-  parent: BaseBorgChassis
-  abstract: true
-  components:
-  - type: NpcFactionMember
-    factions:
-    - NanoTrasen #The seemingly best fit. It was a regular NT cyborg once, after all.
-  - type: Access
-    enabled: false
-    groups:
-    - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it..
-  - type: AccessReader
-    access: [["Command"], ["Research"]]
-  - type: StartIonStormed
-    ionStormAmount: 4
-  - type: IonStormTarget
-    chance: 1
\ No newline at end of file
+    color: "#dd200b"
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
index 818847f2449..04d629279e8 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
@@ -441,39 +441,4 @@
       interactSuccessString: petting-success-syndicate-cyborg
       interactFailureString: petting-failure-syndicate-cyborg
       interactSuccessSound:
-        path: /Audio/Ambience/Objects/periodic_beep.ogg
-
-
-- type: entity
-  id: BorgChassisDerelict
-  parent: BaseBorgChassisDerelict
-  name: derelict cyborg
-  description: A man-machine hybrid that assists in station activity. This one is in a state of great disrepair.
-  components:
-  - type: Sprite
-    layers:
-    - state: derelict
-    - state: derelict_e_r
-      map: ["enum.BorgVisualLayers.Light"]
-      shader: unshaded
-      visible: false
-    - state: derelict_l
-      shader: unshaded
-      map: ["light"]
-      visible: false
-  - type: BorgChassis
-    maxModules: 5 #The sixth one broke lol.
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
-    hasMindState: derelict_e
-    noMindState: derelict_e_r
-  - type: Construction
-    node: derelictcyborg
-  - type: Speech
-    speechVerb: Robotic
-  - type: InteractionPopup
-    interactSuccessString: petting-success-derelict-cyborg
-    interactFailureString: petting-failure-derelict-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
\ No newline at end of file
+        path: /Audio/Ambience/Objects/periodic_beep.ogg
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index 22f49c93eaa..71b8a92d1c9 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -514,38 +514,4 @@
     prototypes:
     - PlayerBorgSyndicateAssaultGhostRole
     - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less.
-    - PlayerBorgSyndicateSaboteurGhostRole
-
-- type: entity
-  id: PlayerBorgDerelict
-  parent: BorgChassisDerelict
-  suffix: Battery, Module
-  components:
-  - type: ContainerFill
-    containers:
-      borg_brain:
-        - PositronicBrain
-      borg_module:
-        - BorgModuleTool
-        - BorgModuleFireExtinguisher
-        - BorgModuleGPS
-  - type: ItemSlots
-    slots:
-      cell_slot:
-        name: power-cell-slot-component-slot-name-default
-        startingItem: PowerCellHigh
-  - type: RandomMetadata
-    nameSegments: [names_borg]
-
-- type: entity
-  id: PlayerBorgDerelictGhostRole
-  parent: PlayerBorgDerelict
-  suffix: Ghost role
-  components:
-    - type: GhostRole
-      name: ghost-role-information-derelict-cyborg-name
-      description: ghost-role-information-derelict-cyborg-description
-      rules: ghost-role-information-silicon-rules
-      raffle:
-        settings: default
-    - type: GhostTakeoverAvailable
+    - PlayerBorgSyndicateSaboteurGhostRole
\ No newline at end of file
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index 763557e6c91..364a4128874 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -545,25 +545,4 @@
     minimumPlayers: 20
     maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it
     weight: 5
-  - type: MobReplacementRule
-
-- type: entity
-  parent: BaseGameRule
-  id: DerelictCyborgSpawn
-  components:
-  - type: StationEvent
-    weight: 5
-    earliestStart: 15
-    reoccurrenceDelay: 20
-    minimumPlayers: 4
-    duration: null
-  - type: SpaceSpawnRule
-    spawnDistance: 0
-  - type: AntagSpawner
-    prototype: PlayerBorgDerelict
-  - type: AntagSelection
-    definitions:
-    - spawnerPrototype: SpawnPointGhostDerelictCyborg
-      min: 1
-      max: 1
-      pickPlayer: false
\ No newline at end of file
+  - type: MobReplacementRule
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
index 3f8a731cbbd..8fd528575e0 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
@@ -204,7 +204,4 @@
     entity: BorgChassisSyndicateMedical
 
   - node: syndicatesaboteur
-    entity: BorgChassisSyndicateSaboteur
-
-  - node: derelictcyborg
-    entity: BorgChassisDerelict
+    entity: BorgChassisSyndicateSaboteur
\ No newline at end of file
diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png
deleted file mode 100644
index bbf72fc45bed2408b2abeb91d3564f8fa41e6e5a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 11838
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
HpFaCP!NMbp

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png
deleted file mode 100644
index 17349d74dc8ba9bbf0e434b9e32e634535c3a244..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5508
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
LUFhdl`^x_VBy@7n

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png
deleted file mode 100644
index 3c8cf19acf66f1c662629db09546f8a553a3c658..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5515
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
S?UyLhp|`uATeV9>+J69Pac{i<

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png
deleted file mode 100644
index 7f0ea2a25560f33773cd72d6184daba55dd4d033..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6429
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

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png
deleted file mode 100644
index f65fbaebc3c5074e945e94f59b8d90b83ac08bb3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 6986
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
Kq{P@Q{C@ypNMm&X

diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
index f5c2001828f..68fbf1985e7 100644
--- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
+++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json
@@ -23,26 +23,6 @@
       "name": "clown_l",
       "directions": 4
     },
-    {
-      "name": "derelict",
-      "directions": 4
-    },
-    {
-      "name": "derelict_e",
-      "directions": 4
-    },
-    {
-      "name": "derelict_e_r",
-      "directions": 4
-    },
-    {
-      "name": "derelict_icon",
-      "directions": 1
-    },
-    {
-      "name": "derelict_l",
-      "directions": 4
-    },
     {
       "name": "engineer",
       "directions": 4

From 75ec5465509edcb1f4b3b9c43f44e0f123a6f5c1 Mon Sep 17 00:00:00 2001
From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Date: Thu, 14 Nov 2024 14:57:05 +0100
Subject: [PATCH 079/187] Update Label workflows to use new labels (#33310)

* Update labeler.yml

* Update labeler-needsreview.yml

* Update labeler-staging.yml

* Update labeler-stable.yml

* Update labeler-untriaged.yml

* Create labeler-size.yml

* Update labeler-size.yml

* Update labeler-size.yml

* Update conflict-labeler.yml

* Rename conflict-labeler.yml to labeler-conflict.yml
---
 .github/labeler.yml                           |  2 +-
 ...flict-labeler.yml => labeler-conflict.yml} |  2 +-
 .github/workflows/labeler-needsreview.yml     |  4 ++--
 .github/workflows/labeler-size.yml            | 20 +++++++++++++++++++
 .github/workflows/labeler-stable.yml          |  2 +-
 .github/workflows/labeler-staging.yml         |  2 +-
 .github/workflows/labeler-untriaged.yml       |  4 +++-
 7 files changed, 29 insertions(+), 7 deletions(-)
 rename .github/workflows/{conflict-labeler.yml => labeler-conflict.yml} (93%)
 create mode 100644 .github/workflows/labeler-size.yml

diff --git a/.github/labeler.yml b/.github/labeler.yml
index 97b402eda9f..69b2ca87749 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -16,7 +16,7 @@
 - changed-files:
   - any-glob-to-any-file: '**/*.swsl'
 
-"No C#":
+"Changes: No C#":
 - changed-files:
   # Equiv to any-glob-to-all as long as this has one matcher. If ALL changed files are not C# files, then apply label.
   - all-globs-to-all-files: "!**/*.cs"
diff --git a/.github/workflows/conflict-labeler.yml b/.github/workflows/labeler-conflict.yml
similarity index 93%
rename from .github/workflows/conflict-labeler.yml
rename to .github/workflows/labeler-conflict.yml
index 1e2125c30a2..ebcc54d4604 100644
--- a/.github/workflows/conflict-labeler.yml
+++ b/.github/workflows/labeler-conflict.yml
@@ -16,6 +16,6 @@ jobs:
       - name: Check for Merge Conflicts
         uses: eps1lon/actions-label-merge-conflict@v3.0.0
         with:
-          dirtyLabel: "Merge Conflict"
+          dirtyLabel: "S: Merge Conflict"
           repoToken: "${{ secrets.GITHUB_TOKEN }}"
           commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request."
diff --git a/.github/workflows/labeler-needsreview.yml b/.github/workflows/labeler-needsreview.yml
index 311048acb0f..819b34b7bbd 100644
--- a/.github/workflows/labeler-needsreview.yml
+++ b/.github/workflows/labeler-needsreview.yml
@@ -10,7 +10,7 @@ jobs:
     steps:
     - uses: actions-ecosystem/action-add-labels@v1
       with:
-        labels: "Status: Needs Review"
+        labels: "S: Needs Review"
     - uses: actions-ecosystem/action-remove-labels@v1
       with:
-        labels: "Status: Awaiting Changes"
+        labels: "S: Awaiting Changes"
diff --git a/.github/workflows/labeler-size.yml b/.github/workflows/labeler-size.yml
new file mode 100644
index 00000000000..ad6e35c8292
--- /dev/null
+++ b/.github/workflows/labeler-size.yml
@@ -0,0 +1,20 @@
+name: "Labels: Size"
+on: pull_request_target
+jobs:
+  size-label:
+    runs-on: ubuntu-latest
+    steps:
+      - name: size-label
+        uses: "pascalgn/size-label-action@v0.5.5"
+        env:
+          GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
+        with:
+          # Custom size configuration
+          sizes: >
+            {
+              "0": "XS",
+              "10": "S",
+              "30": "M",
+              "100": "L",
+              "1000": "XL"
+            }
diff --git a/.github/workflows/labeler-stable.yml b/.github/workflows/labeler-stable.yml
index 491d6a76fad..f6fd2033a11 100644
--- a/.github/workflows/labeler-stable.yml
+++ b/.github/workflows/labeler-stable.yml
@@ -13,4 +13,4 @@ jobs:
     steps:
     - uses: actions-ecosystem/action-add-labels@v1
       with:
-        labels: "Branch: stable"
+        labels: "Branch: Stable"
diff --git a/.github/workflows/labeler-staging.yml b/.github/workflows/labeler-staging.yml
index e31a5a482f2..b46a198aefb 100644
--- a/.github/workflows/labeler-staging.yml
+++ b/.github/workflows/labeler-staging.yml
@@ -13,4 +13,4 @@ jobs:
     steps:
     - uses: actions-ecosystem/action-add-labels@v1
       with:
-        labels: "Branch: staging"
+        labels: "Branch: Staging"
diff --git a/.github/workflows/labeler-untriaged.yml b/.github/workflows/labeler-untriaged.yml
index 775aab26546..ec1d194851c 100644
--- a/.github/workflows/labeler-untriaged.yml
+++ b/.github/workflows/labeler-untriaged.yml
@@ -3,6 +3,8 @@
 on:
   issues:
     types: [opened]
+  pull_request_target:
+    types: [opened]
 
 jobs:
   add_label:
@@ -11,4 +13,4 @@ jobs:
     - uses: actions-ecosystem/action-add-labels@v1
       if: join(github.event.issue.labels) == ''
       with:
-        labels: "Status: Untriaged"
+        labels: "S: Untriaged"

From c86201308a81548601afe3a205e592a05afc2dfb Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 15:01:04 +0100
Subject: [PATCH 080/187] guh

---
 .../Locale/en-US/interaction/interaction-popup-component.ftl    | 2 --
 Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml  | 2 +-
 .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml      | 2 +-
 Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml     | 2 +-
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml           | 2 +-
 Resources/Prototypes/GameRules/events.yml                       | 2 +-
 .../Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml  | 2 +-
 7 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
index 69a700fdeb4..a180b698fac 100644
--- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
+++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl
@@ -82,8 +82,6 @@ petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJE
 petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives!
 petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others!
 petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider.
-petting-failure-derelict-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} rusty and jagged exterior makes you reconsider.
-
 
 ## Rattling fences
 
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
index a614fb59639..b694a8cc2f2 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml
@@ -169,4 +169,4 @@
     layers:
     - state: green
     - sprite: Objects/Weapons/Melee/energykatana.rsi
-      state: icon
\ No newline at end of file
+      state: icon
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 26e0ce4c794..0db92ac941d 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -317,4 +317,4 @@
     sounds:
       Unsexed: UnisexSiliconSyndicate
   - type: PointLight
-    color: "#dd200b"
\ No newline at end of file
+    color: "#dd200b"
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
index c3817234996..6a8f1e5abb0 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
@@ -439,4 +439,4 @@
       interactSuccessString: petting-success-syndicate-cyborg
       interactFailureString: petting-failure-syndicate-cyborg
       interactSuccessSound:
-        path: /Audio/Ambience/Objects/periodic_beep.ogg
\ No newline at end of file
+        path: /Audio/Ambience/Objects/periodic_beep.ogg
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index cef834c0b60..e787ef59f00 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -543,4 +543,4 @@
     prototypes:
     - PlayerBorgSyndicateAssaultGhostRole
     - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less.
-    - PlayerBorgSyndicateSaboteurGhostRole
\ No newline at end of file
+    - PlayerBorgSyndicateSaboteurGhostRole
diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index 32af0835c71..fafb6bd4283 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -540,4 +540,4 @@
     minimumPlayers: 20
     maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it
     weight: 5
-  - type: MobReplacementRule
\ No newline at end of file
+  - type: MobReplacementRule
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
index 8fd528575e0..0f012cefc98 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
@@ -204,4 +204,4 @@
     entity: BorgChassisSyndicateMedical
 
   - node: syndicatesaboteur
-    entity: BorgChassisSyndicateSaboteur
\ No newline at end of file
+    entity: BorgChassisSyndicateSaboteur

From 5dbea427517a91fd9fce7ea48d3d911a37c81779 Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 15:05:14 +0100
Subject: [PATCH 081/187] derelicn't for real

---
 Resources/Prototypes/GameRules/events.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml
index fafb6bd4283..08218accede 100644
--- a/Resources/Prototypes/GameRules/events.yml
+++ b/Resources/Prototypes/GameRules/events.yml
@@ -35,7 +35,6 @@
     - id: RevenantSpawn
     - id: SleeperAgents
     - id: ZombieOutbreak
-    - id: DerelictCyborgSpawn
     - id: LoneOpsSpawn
 
 - type: entity

From 0f30639cf25866f285638d36632e4c3ddf07874e Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 17:21:03 +0100
Subject: [PATCH 082/187] progress

---
 .../Silicons/Laws/SiliconLawSystem.cs         | 74 ++++++++-----------
 .../Silicons/Laws/StartIonStormedSystem.cs    | 38 ----------
 .../Components/EmagSiliconLawComponent.cs     |  7 --
 .../Components/SiliconLawProviderComponent.cs |  6 ++
 .../Components/StartIonStormedComponent.cs    | 24 ------
 5 files changed, 38 insertions(+), 111 deletions(-)
 delete mode 100644 Content.Server/Silicons/Laws/StartIonStormedSystem.cs
 delete mode 100644 Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs

diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
index c2aa20f401c..a4a7ee528f7 100644
--- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs
+++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
@@ -1,3 +1,4 @@
+using System.Diagnostics;
 using System.Linq;
 using Content.Server.Administration;
 using Content.Server.Chat.Managers;
@@ -22,7 +23,6 @@
 using Robust.Shared.Prototypes;
 using Robust.Shared.Toolshed;
 using Robust.Shared.Audio;
-using Robust.Shared.GameObjects;
 
 namespace Content.Server.Silicons.Laws;
 
@@ -50,11 +50,9 @@ public override void Initialize()
 
         SubscribeLocalEvent<SiliconLawProviderComponent, GetSiliconLawsEvent>(OnDirectedGetLaws);
         SubscribeLocalEvent<SiliconLawProviderComponent, IonStormLawsEvent>(OnIonStormLaws);
+        SubscribeLocalEvent<SiliconLawProviderComponent, MindAddedMessage>(OnLawProviderMindAdded);
+        SubscribeLocalEvent<SiliconLawProviderComponent, MindRemovedMessage>(OnLawProviderMindRemoved);
         SubscribeLocalEvent<SiliconLawProviderComponent, GotEmaggedEvent>(OnEmagLawsAdded);
-        SubscribeLocalEvent<EmagSiliconLawComponent, MindAddedMessage>(OnEmagMindAdded);
-        SubscribeLocalEvent<EmagSiliconLawComponent, MindRemovedMessage>(OnEmagMindRemoved);
-        SubscribeLocalEvent<StartIonStormedComponent, MindAddedMessage>(OnStartIonStormedMindAdded);
-        SubscribeLocalEvent<StartIonStormedComponent, MindRemovedMessage>(OnStartIonStormedMindRemoved);
     }
 
     private void OnMapInit(EntityUid uid, SiliconLawBoundComponent component, MapInitEvent args)
@@ -73,6 +71,22 @@ private void OnMindAdded(EntityUid uid, SiliconLawBoundComponent component, Mind
             actor.PlayerSession.Channel, colorOverride: Color.FromHex("#2ed2fd"));
     }
 
+    private void OnLawProviderMindAdded(EntityUid uid, SiliconLawProviderComponent component, MindAddedMessage args)
+    {
+        if (!component.Subverted)
+            return;
+        EnsureSubvertedSiliconRole(uid);
+    }
+
+    private void OnLawProviderMindRemoved(EntityUid uid, SiliconLawProviderComponent component, MindRemovedMessage args)
+    {
+        if (!component.Subverted)
+            return;
+        RemoveSubvertedSiliconRole(uid);
+
+    }
+
+
     private void OnToggleLawsScreen(EntityUid uid, SiliconLawBoundComponent component, ToggleLawsScreenEvent args)
     {
         if (args.Handled || !TryComp<ActorComponent>(uid, out var actor))
@@ -119,9 +133,11 @@ private void OnIonStormLaws(EntityUid uid, SiliconLawProviderComponent component
             // gotta tell player to check their laws
             NotifyLawsChanged(uid, component.LawUploadSound);
 
+            // Show the silicon has been subverted.
+            component.Subverted = true;
+
             // new laws may allow antagonist behaviour so make it clear for admins
-            if (TryComp<EmagSiliconLawComponent>(uid, out var emag))
-                EnsureEmaggedRole(uid, emag);
+            EnsureSubvertedSiliconRole(uid);
 
         }
     }
@@ -132,6 +148,9 @@ private void OnEmagLawsAdded(EntityUid uid, SiliconLawProviderComponent componen
         if (component.Lawset == null)
             component.Lawset = GetLawset(component.Laws);
 
+        // Show the silicon has been subverted.
+        component.Subverted = true;
+
         // Add the first emag law before the others
         component.Lawset?.Laws.Insert(0, new SiliconLaw
         {
@@ -154,58 +173,29 @@ protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent comp
 
         base.OnGotEmagged(uid, component, ref args);
         NotifyLawsChanged(uid, component.EmaggedSound);
-        EnsureEmaggedRole(uid, component);
+        EnsureSubvertedSiliconRole(uid);
 
         _stunSystem.TryParalyze(uid, component.StunTime, true);
 
     }
 
-    private void OnEmagMindAdded(EntityUid uid, EmagSiliconLawComponent component, MindAddedMessage args)
-    {
-        if (HasComp<EmaggedComponent>(uid))
-            EnsureEmaggedRole(uid, component);
-    }
-
-    private void OnEmagMindRemoved(EntityUid uid, EmagSiliconLawComponent component, MindRemovedMessage args)
+    private void EnsureSubvertedSiliconRole(EntityUid uid)
     {
-        if (component.AntagonistRole == null)
-            return;
-
-        _roles.MindTryRemoveRole<SubvertedSiliconRoleComponent>(args.Mind);
-    }
-
-    private void EnsureEmaggedRole(EntityUid uid, EmagSiliconLawComponent component)
-    {
-        if (component.AntagonistRole == null || !_mind.TryGetMind(uid, out var mindId, out _))
+        if (!_mind.TryGetMind(uid, out var mindId, out _))
             return;
 
         if (!_roles.MindHasRole<SubvertedSiliconRoleComponent>(mindId))
             _roles.MindAddRole(mindId, "MindRoleSubvertedSilicon");
-    }
-
-    private void OnStartIonStormedMindAdded(EntityUid uid, StartIonStormedComponent component, MindAddedMessage args)
-    {
-        if (HasComp<StartIonStormedComponent>(uid))
-            EnsureStartIonStormedRole(uid, component);
-    }
 
-    private void OnStartIonStormedMindRemoved(EntityUid uid, StartIonStormedComponent component, MindRemovedMessage args)
-    {
-        if (component.AntagonistRole == null)
-            return;
-
-        _roles.MindTryRemoveRole<SubvertedSiliconRoleComponent>(args.Mind);
     }
 
-    private void EnsureStartIonStormedRole(EntityUid uid, StartIonStormedComponent component)
+    private void RemoveSubvertedSiliconRole(EntityUid uid)
     {
-        if (component.AntagonistRole == null || !_mind.TryGetMind(uid, out var mindId, out _))
+        if (!_mind.TryGetMind(uid, out var mindId, out _))
             return;
 
         if (_roles.MindHasRole<SubvertedSiliconRoleComponent>(mindId))
-            return;
-
-        _roles.MindAddRole(mindId, new SubvertedSiliconRoleComponent { PrototypeId = component.AntagonistRole });
+            _roles.MindTryRemoveRole<SubvertedSiliconRoleComponent>(mindId);
     }
 
     public SiliconLawset GetLaws(EntityUid uid, SiliconLawBoundComponent? component = null)
diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
deleted file mode 100644
index ee2ce7b9edd..00000000000
--- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using Content.Shared.Silicons.Laws.Components;
-using Content.Shared.Administration.Logs;
-using Content.Shared.Database;
-
-namespace Content.Server.Silicons.Laws;
-
-/// <summary>
-/// This handles running the ion storm event a on specific entity when that entity is spawned in.
-/// </summary>
-public sealed class StartIonStormedSystem : EntitySystem
-{
-    [Dependency] private readonly IonStormSystem _ionStorm = default!;
-    [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!;
-    [Dependency] private readonly SiliconLawSystem _siliconLaw = default!;
-
-    public override void Initialize()
-    {
-        base.Initialize();
-        SubscribeLocalEvent<StartIonStormedComponent, MapInitEvent>(OnMapInit);
-    }
-
-    //private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args)'
-    private void OnMapInit(Entity<StartIonStormedComponent> ent, ref MapInitEvent args)
-    {
-        if (!TryComp<SiliconLawBoundComponent>(ent.Owner, out var lawBound))
-            return;
-        if (!TryComp<IonStormTargetComponent>(ent.Owner, out var target))
-            return;
-
-        for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++)
-        {
-            _ionStorm.IonStormTarget((ent.Owner, lawBound, target), false);
-        }
-
-        var laws = _siliconLaw.GetLaws(ent.Owner, lawBound);
-        _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent.Owner):silicon} spawned with ion stormed laws: {laws.LoggingString()}");
-    }
-}
diff --git a/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs b/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs
index 1b5338a7f75..5fe867ae29a 100644
--- a/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs
+++ b/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs
@@ -29,13 +29,6 @@ public sealed partial class EmagSiliconLawComponent : Component
     [DataField, ViewVariables(VVAccess.ReadWrite)]
     public TimeSpan StunTime = TimeSpan.Zero;
 
-    /// <summary>
-    /// A role given to entities with this component when they are emagged.
-    /// Mostly just for admin purposes.
-    /// </summary>
-    [DataField]
-    public ProtoId<AntagPrototype>? AntagonistRole = "SubvertedSilicon";
-
     /// <summary>
     /// The sound that plays for the borg player
     /// to let them know they've been emagged
diff --git a/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs b/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs
index 4885bd0265c..d78e539aa96 100644
--- a/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs
+++ b/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs
@@ -29,4 +29,10 @@ public sealed partial class SiliconLawProviderComponent : Component
     [DataField]
     public SoundSpecifier? LawUploadSound = new SoundPathSpecifier("/Audio/Misc/cryo_warning.ogg");
 
+    /// <summary>
+    /// Whether this silicon is subverted by an ion storm or emag.
+    /// </summary>
+    [DataField]
+    public bool Subverted = false;
+
 }
diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
deleted file mode 100644
index 75d74121669..00000000000
--- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using Content.Shared.Roles;
-using Robust.Shared.Prototypes;
-
-namespace Content.Shared.Silicons.Laws.Components;
-
-/// <summary>
-/// Applies law altering ion storms on a specific entity IonStormAmount times when the entity is spawned.
-/// </summary>
-[RegisterComponent]
-public sealed partial class StartIonStormedComponent : Component
-{
-    /// <summary>
-    /// Amount of times that the ion storm will be run on the entity on spawn.
-    /// </summary>
-    [DataField]
-    public int IonStormAmount = 1;
-
-    /// <summary>
-    /// A role given to entities with this component when a mind enters it.
-    /// Mostly just for admin purposes.
-    /// </summary>
-    [DataField]
-    public ProtoId<AntagPrototype>? AntagonistRole = "SubvertedSilicon";
-}

From ace158df0e5e335f8e7897ffe6f93f8ac8448865 Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 17:53:15 +0100
Subject: [PATCH 083/187] Yippee!

---
 Content.Server/Silicons/Laws/SiliconLawSystem.cs | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
index a4a7ee528f7..9b3e279b75e 100644
--- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs
+++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
@@ -75,14 +75,14 @@ private void OnLawProviderMindAdded(EntityUid uid, SiliconLawProviderComponent c
     {
         if (!component.Subverted)
             return;
-        EnsureSubvertedSiliconRole(uid);
+        EnsureSubvertedSiliconRole(args.Mind);
     }
 
     private void OnLawProviderMindRemoved(EntityUid uid, SiliconLawProviderComponent component, MindRemovedMessage args)
     {
         if (!component.Subverted)
             return;
-        RemoveSubvertedSiliconRole(uid);
+        RemoveSubvertedSiliconRole(args.Mind);
 
     }
 
@@ -179,21 +179,14 @@ protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent comp
 
     }
 
-    private void EnsureSubvertedSiliconRole(EntityUid uid)
+    private void EnsureSubvertedSiliconRole(EntityUid mindId)
     {
-        if (!_mind.TryGetMind(uid, out var mindId, out _))
-            return;
-
         if (!_roles.MindHasRole<SubvertedSiliconRoleComponent>(mindId))
             _roles.MindAddRole(mindId, "MindRoleSubvertedSilicon");
-
     }
 
-    private void RemoveSubvertedSiliconRole(EntityUid uid)
+    private void RemoveSubvertedSiliconRole(EntityUid mindId)
     {
-        if (!_mind.TryGetMind(uid, out var mindId, out _))
-            return;
-
         if (_roles.MindHasRole<SubvertedSiliconRoleComponent>(mindId))
             _roles.MindTryRemoveRole<SubvertedSiliconRoleComponent>(mindId);
     }

From 815e37e512ce7d1df152bac1642b769cf3e9bb32 Mon Sep 17 00:00:00 2001
From: CheddaCheez <cheddacheezy@gmail.com>
Date: Thu, 14 Nov 2024 10:56:21 -0600
Subject: [PATCH 084/187] Fix mime broken vow alert (#33303)

Swap VowAlert and VowBrokenAlert on lines 149 and 150 so that the proper alerts are cleared and shown
---
 Content.Server/Abilities/Mime/MimePowersSystem.cs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Content.Server/Abilities/Mime/MimePowersSystem.cs b/Content.Server/Abilities/Mime/MimePowersSystem.cs
index 20889f293c3..bd8cf7c1766 100644
--- a/Content.Server/Abilities/Mime/MimePowersSystem.cs
+++ b/Content.Server/Abilities/Mime/MimePowersSystem.cs
@@ -146,8 +146,8 @@ public void RetakeVow(EntityUid uid, MimePowersComponent? mimePowers = null)
             mimePowers.ReadyToRepent = false;
             mimePowers.VowBroken = false;
             AddComp<MutedComponent>(uid);
-            _alertsSystem.ClearAlert(uid, mimePowers.VowAlert);
-            _alertsSystem.ShowAlert(uid, mimePowers.VowBrokenAlert);
+            _alertsSystem.ClearAlert(uid, mimePowers.VowBrokenAlert);
+            _alertsSystem.ShowAlert(uid, mimePowers.VowAlert);
             _actionsSystem.AddAction(uid, ref mimePowers.InvisibleWallActionEntity, mimePowers.InvisibleWallAction, uid);
         }
     }

From 669bc148f91980f983b691d1e516b1b8d627a315 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Thu, 14 Nov 2024 16:57:29 +0000
Subject: [PATCH 085/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 9cc788c96f7..eb3f7268008 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Blackern5000
-  changes:
-  - message: Combat medical kits now contain saline syringes.
-    type: Add
-  id: 7108
-  time: '2024-08-14T06:25:54.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/29954
 - author: TheShuEd
   changes:
   - message: added morbilliard variants of procedural tacos and kebabs
@@ -3941,3 +3934,10 @@
   id: 7607
   time: '2024-11-13T23:36:37.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33201
+- author: CheddaCheez
+  changes:
+  - message: Fixed mimes being unable to break their vow more than once. Despicable!
+    type: Fix
+  id: 7608
+  time: '2024-11-14T16:56:22.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33303

From 1bebb3390ccedfdae173f0f681be6578146057ca Mon Sep 17 00:00:00 2001
From: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Date: Thu, 14 Nov 2024 18:08:35 +0100
Subject: [PATCH 086/187] Borg type switching. (#32586)

* Borg type switching.

This allows borgs (new spawn or constructed) to select their chassis type on creation, like in SS13. This removes the need for the many different chassis types, and means round-start borgs can actually play the game immediately instead of waiting for science to unlock everything.

New borgs have an additional action that allows them to select their type. This opens a nice window with basic information about the borgs and a select button. Once a type has been selected it is permanent for that borg chassis.

These borg types also immediately start the borg with specific modules, so they do not need to be printed. Additional modules can still be inserted for upgrades, though this is now less critical. The built-in modules cannot be removed, but are shown in the UI.

The modules that each borg type starts with:

* Generic: tools
* Engineering: advanced tools, construction, RCD, cable
* Salvage: Grappling gun, appraisal, mining
* Janitor: cleaning, light replacer
* Medical: treatment
* Service: music, service, clowning

Specialized borgs have 3 additional module slots available on top of the ones listed above, generic borgs have 5.

Borg types are specified in a new BorgTypePrototype. These prototypes specify all information about the borg type. It is assigned to the borg entity through a mix of client side, server, and shared code. Some of the involved components were made networked, others are just ensured they're set on both sides of the wire.

The most gnarly change is the inventory template prototype, which needs to change purely to modify the borg hat offset. I managed to bodge this in with an API that *probably* won't explode for specifically for this use case, but it's still not the most clean of API designs.

Parts for specific borg chassis have been removed (so much deleted YAML) and specialized borg modules that are in the base set of a type have been removed from the exosuit fab as there's no point to printing those.

The ability to "downgrade" a borg so it can select a new chassis, like in SS13, is something that would be nice, but was not high enough priority for me to block the feature on. I did keep it in mind with some of the code, so it may be possible in the future.

There is no fancy animation when selecting borg types like in SS13, because I didn't think it was high priority, and it would add a lot of complex code.

* Fix sandbox failure due to collection expression.

* Module tweak

Fix salvage borg modules still having research/lathe recipes

Engie borg has regular tool module, not advanced.

* Fix inventory system breakage

* Fix migrations

Some things were missing

* Guidebook rewordings & review

* MinWidth on confirm selection button
---
 .../Clothing/ClientClothingSystem.cs          |  24 +-
 .../Inventory/ClientInventorySystem.cs        |  16 +-
 Content.Client/Overlays/EquipmentHudSystem.cs |   3 +-
 .../Overlays/ShowHealthBarsSystem.cs          |   7 +
 .../Overlays/ShowHealthIconsSystem.cs         |   7 +
 .../Silicons/Borgs/BorgMenu.xaml.cs           |   3 +-
 .../Silicons/Borgs/BorgModuleControl.xaml.cs  |   3 +-
 .../Silicons/Borgs/BorgSelectTypeMenu.xaml    |  43 ++
 .../Silicons/Borgs/BorgSelectTypeMenu.xaml.cs |  81 +++
 .../Borgs/BorgSelectTypeUserInterface.cs      |  30 ++
 .../Borgs/BorgSwitchableTypeSystem.cs         |  81 +++
 Content.Client/Silicons/Borgs/BorgSystem.cs   |  14 +
 .../Borgs/BorgSwitchableTypeSystem.cs         |  82 +++
 .../Silicons/Borgs/BorgSystem.Modules.cs      |  39 ++
 .../Silicons/Borgs/BorgSystem.Transponder.cs  |  17 +
 .../Silicons/Borgs/BorgSystem.Ui.cs           |   3 +
 Content.Server/Silicons/Borgs/BorgSystem.cs   |  15 +-
 .../Interaction/InteractionPopupSystem.cs     |  22 +
 .../Inventory/InventoryComponent.cs           |  10 +-
 .../Inventory/InventorySystem.Slots.cs        |  49 ++
 .../Overlays/ShowHealthBarsComponent.cs       |   2 +
 .../Overlays/ShowHealthIconsComponent.cs      |   2 +
 .../Silicons/Borgs/BorgTypePrototype.cs       | 155 ++++++
 .../Borgs/Components/BorgChassisComponent.cs  |  15 +-
 .../Borgs/Components/BorgModuleComponent.cs   |   8 +
 .../Components/BorgSwitchableTypeComponent.cs |  72 +++
 .../Borgs/SharedBorgSwitchableTypeSystem.cs   | 125 +++++
 .../Silicons/Borgs/SharedBorgSystem.cs        |   9 +
 Resources/Locale/en-US/borg/borg.ftl          |  37 ++
 Resources/Prototypes/Actions/borgs.yml        |  12 +
 Resources/Prototypes/Body/Parts/silicon.yml   |  47 +-
 .../Mobs/Cyborgs/base_borg_chassis.yml        |   7 +
 .../Entities/Mobs/Cyborgs/borg_chassis.yml    | 319 ++---------
 .../Entities/Mobs/Player/silicon.yml          |  21 +-
 .../Objects/Specific/Robotics/borg_parts.yml  | 503 ------------------
 .../Specific/Robotics/endoskeleton.yml        | 169 +-----
 .../Entities/Structures/Machines/lathe.yml    |  40 --
 .../Prototypes/InventoryTemplates/borg.yml    |   3 +-
 .../Construction/Graphs/machines/cyborg.yml   | 173 +-----
 .../Prototypes/Recipes/Lathes/robotics.yml    | 220 --------
 .../Prototypes/Research/civilianservices.yml  |   3 -
 Resources/Prototypes/Research/industrial.yml  |   3 -
 .../Prototypes/Roles/Jobs/Science/borg.yml    |   2 +-
 Resources/Prototypes/borg_types.yml           | 218 ++++++++
 Resources/Prototypes/tags.yml                 |  99 +---
 .../ServerInfo/Guidebook/Science/Cyborgs.xml  |  16 +-
 .../Actions/actions_borg.rsi/meta.json        |   5 +-
 .../Actions/actions_borg.rsi/select-type.png  | Bin 0 -> 408 bytes
 Resources/migration.yml                       |  35 ++
 49 files changed, 1336 insertions(+), 1533 deletions(-)
 create mode 100644 Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml
 create mode 100644 Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs
 create mode 100644 Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs
 create mode 100644 Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs
 create mode 100644 Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs
 create mode 100644 Content.Shared/Silicons/Borgs/BorgTypePrototype.cs
 create mode 100644 Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs
 create mode 100644 Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs
 delete mode 100644 Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml
 create mode 100644 Resources/Prototypes/borg_types.yml
 create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/select-type.png

diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs
index 3462fc92360..46f879e8156 100644
--- a/Content.Client/Clothing/ClientClothingSystem.cs
+++ b/Content.Client/Clothing/ClientClothingSystem.cs
@@ -58,6 +58,7 @@ public override void Initialize()
         base.Initialize();
 
         SubscribeLocalEvent<ClothingComponent, GetEquipmentVisualsEvent>(OnGetVisuals);
+        SubscribeLocalEvent<ClothingComponent, InventoryTemplateUpdated>(OnInventoryTemplateUpdated);
 
         SubscribeLocalEvent<InventoryComponent, VisualsChangedEvent>(OnVisualsChanged);
         SubscribeLocalEvent<SpriteComponent, DidUnequipEvent>(OnDidUnequip);
@@ -70,11 +71,7 @@ private void OnAppearanceUpdate(EntityUid uid, InventoryComponent component, ref
         if (args.Sprite == null)
             return;
 
-        var enumerator = _inventorySystem.GetSlotEnumerator((uid, component));
-        while (enumerator.NextItem(out var item, out var slot))
-        {
-            RenderEquipment(uid, item, slot.Name, component);
-        }
+        UpdateAllSlots(uid, component);
 
         // No clothing equipped -> make sure the layer is hidden, though this should already be handled by on-unequip.
         if (args.Sprite.LayerMapTryGet(HumanoidVisualLayers.StencilMask, out var layer))
@@ -84,6 +81,23 @@ private void OnAppearanceUpdate(EntityUid uid, InventoryComponent component, ref
         }
     }
 
+    private void OnInventoryTemplateUpdated(Entity<ClothingComponent> ent, ref InventoryTemplateUpdated args)
+    {
+        UpdateAllSlots(ent.Owner, clothing: ent.Comp);
+    }
+
+    private void UpdateAllSlots(
+        EntityUid uid,
+        InventoryComponent? inventoryComponent = null,
+        ClothingComponent? clothing = null)
+    {
+        var enumerator = _inventorySystem.GetSlotEnumerator((uid, inventoryComponent));
+        while (enumerator.NextItem(out var item, out var slot))
+        {
+            RenderEquipment(uid, item, slot.Name, inventoryComponent, clothingComponent: clothing);
+        }
+    }
+
     private void OnGetVisuals(EntityUid uid, ClothingComponent item, GetEquipmentVisualsEvent args)
     {
         if (!TryComp(args.Equipee, out InventoryComponent? inventory))
diff --git a/Content.Client/Inventory/ClientInventorySystem.cs b/Content.Client/Inventory/ClientInventorySystem.cs
index 87cea4e3d2f..dce401eefda 100644
--- a/Content.Client/Inventory/ClientInventorySystem.cs
+++ b/Content.Client/Inventory/ClientInventorySystem.cs
@@ -235,9 +235,23 @@ public void UIInventoryAltActivateItem(string slot, EntityUid uid)
             EntityManager.RaisePredictiveEvent(new InteractInventorySlotEvent(GetNetEntity(item.Value), altInteract: true));
         }
 
+        protected override void UpdateInventoryTemplate(Entity<InventoryComponent> ent)
+        {
+            base.UpdateInventoryTemplate(ent);
+
+            if (TryComp(ent, out InventorySlotsComponent? inventorySlots))
+            {
+                foreach (var slot in ent.Comp.Slots)
+                {
+                    if (inventorySlots.SlotData.TryGetValue(slot.Name, out var slotData))
+                        slotData.SlotDef = slot;
+                }
+            }
+        }
+
         public sealed class SlotData
         {
-            public readonly SlotDefinition SlotDef;
+            public SlotDefinition SlotDef;
             public EntityUid? HeldEntity => Container?.ContainedEntity;
             public bool Blocked;
             public bool Highlighted;
diff --git a/Content.Client/Overlays/EquipmentHudSystem.cs b/Content.Client/Overlays/EquipmentHudSystem.cs
index c7578b6793f..502a1f36274 100644
--- a/Content.Client/Overlays/EquipmentHudSystem.cs
+++ b/Content.Client/Overlays/EquipmentHudSystem.cs
@@ -14,6 +14,7 @@ public abstract class EquipmentHudSystem<T> : EntitySystem where T : IComponent
 {
     [Dependency] private readonly IPlayerManager _player = default!;
 
+    [ViewVariables]
     protected bool IsActive;
     protected virtual SlotFlags TargetSlots => ~SlotFlags.POCKET;
 
@@ -102,7 +103,7 @@ protected virtual void OnRefreshComponentHud(EntityUid uid, T component, Refresh
         args.Components.Add(component);
     }
 
-    private void RefreshOverlay(EntityUid uid)
+    protected void RefreshOverlay(EntityUid uid)
     {
         if (uid != _player.LocalSession?.AttachedEntity)
             return;
diff --git a/Content.Client/Overlays/ShowHealthBarsSystem.cs b/Content.Client/Overlays/ShowHealthBarsSystem.cs
index 1eb712a8988..b23209ff202 100644
--- a/Content.Client/Overlays/ShowHealthBarsSystem.cs
+++ b/Content.Client/Overlays/ShowHealthBarsSystem.cs
@@ -21,9 +21,16 @@ public override void Initialize()
     {
         base.Initialize();
 
+        SubscribeLocalEvent<ShowHealthBarsComponent, AfterAutoHandleStateEvent>(OnHandleState);
+
         _overlay = new(EntityManager, _prototype);
     }
 
+    private void OnHandleState(Entity<ShowHealthBarsComponent> ent, ref AfterAutoHandleStateEvent args)
+    {
+        RefreshOverlay(ent);
+    }
+
     protected override void UpdateInternal(RefreshEquipmentHudEvent<ShowHealthBarsComponent> component)
     {
         base.UpdateInternal(component);
diff --git a/Content.Client/Overlays/ShowHealthIconsSystem.cs b/Content.Client/Overlays/ShowHealthIconsSystem.cs
index 8c22c78f17c..b4d845e4217 100644
--- a/Content.Client/Overlays/ShowHealthIconsSystem.cs
+++ b/Content.Client/Overlays/ShowHealthIconsSystem.cs
@@ -17,6 +17,7 @@ public sealed class ShowHealthIconsSystem : EquipmentHudSystem<ShowHealthIconsCo
 {
     [Dependency] private readonly IPrototypeManager _prototypeMan = default!;
 
+    [ViewVariables]
     public HashSet<string> DamageContainers = new();
 
     public override void Initialize()
@@ -24,6 +25,7 @@ public override void Initialize()
         base.Initialize();
 
         SubscribeLocalEvent<DamageableComponent, GetStatusIconsEvent>(OnGetStatusIconsEvent);
+        SubscribeLocalEvent<ShowHealthIconsComponent, AfterAutoHandleStateEvent>(OnHandleState);
     }
 
     protected override void UpdateInternal(RefreshEquipmentHudEvent<ShowHealthIconsComponent> component)
@@ -43,6 +45,11 @@ protected override void DeactivateInternal()
         DamageContainers.Clear();
     }
 
+    private void OnHandleState(Entity<ShowHealthIconsComponent> ent, ref AfterAutoHandleStateEvent args)
+    {
+        RefreshOverlay(ent);
+    }
+
     private void OnGetStatusIconsEvent(Entity<DamageableComponent> entity, ref GetStatusIconsEvent args)
     {
         if (!IsActive)
diff --git a/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs b/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs
index f6a861aa057..b8f0e69c022 100644
--- a/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs
+++ b/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs
@@ -131,7 +131,8 @@ private void UpdateModulePanel()
         _modules.Clear();
         foreach (var module in chassis.ModuleContainer.ContainedEntities)
         {
-            var control = new BorgModuleControl(module, _entity);
+            var moduleComponent = _entity.GetComponent<BorgModuleComponent>(module);
+            var control = new BorgModuleControl(module, _entity, !moduleComponent.DefaultModule);
             control.RemoveButtonPressed += () =>
             {
                 RemoveModuleButtonPressed?.Invoke(module);
diff --git a/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs b/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs
index d5cf05ba63e..245425524ca 100644
--- a/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs
+++ b/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs
@@ -9,7 +9,7 @@ public sealed partial class BorgModuleControl : PanelContainer
 {
     public Action? RemoveButtonPressed;
 
-    public BorgModuleControl(EntityUid entity, IEntityManager entityManager)
+    public BorgModuleControl(EntityUid entity, IEntityManager entityManager, bool canRemove)
     {
         RobustXamlLoader.Load(this);
 
@@ -20,6 +20,7 @@ public BorgModuleControl(EntityUid entity, IEntityManager entityManager)
         {
             RemoveButtonPressed?.Invoke();
         };
+        RemoveButton.Visible = canRemove;
     }
 }
 
diff --git a/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml
new file mode 100644
index 00000000000..f51c2f53fd0
--- /dev/null
+++ b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml
@@ -0,0 +1,43 @@
+<controls:FancyWindow xmlns="https://spacestation14.io"
+                      xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
+                      xmlns:customControls="clr-namespace:Content.Client.Administration.UI.CustomControls"
+                      Title="{Loc 'borg-select-type-menu-title'}"
+                      SetSize="550 300">
+    <BoxContainer Orientation="Vertical">
+        <BoxContainer Orientation="Horizontal" VerticalExpand="True">
+            <!-- Left pane: selection of borg type -->
+            <BoxContainer Orientation="Vertical" MinWidth="200" Margin="2 0">
+                <Label Text="{Loc 'borg-select-type-menu-available'}" StyleClasses="LabelHeading" />
+                <ScrollContainer HScrollEnabled="False" VerticalExpand="True">
+                    <BoxContainer Name="SelectionsContainer" Orientation="Vertical" />
+                </ScrollContainer>
+            </BoxContainer>
+
+            <customControls:VSeparator />
+
+            <!-- Right pane: information about selected borg module, confirm button. -->
+            <BoxContainer Orientation="Vertical" HorizontalExpand="True" Margin="2 0">
+                <Label Text="{Loc 'borg-select-type-menu-information'}" StyleClasses="LabelHeading" />
+                <Control VerticalExpand="True">
+                    <controls:Placeholder Name="InfoPlaceholder" PlaceholderText="{Loc 'borg-select-type-menu-select-type'}" />
+                    <BoxContainer Name="InfoContents" Orientation="Vertical" Visible="False">
+                        <BoxContainer Orientation="Horizontal" Margin="0 0 0 4">
+                            <EntityPrototypeView Name="ChassisView" Scale="2,2" />
+                            <Label Name="NameLabel" HorizontalExpand="True" />
+                        </BoxContainer>
+
+                        <RichTextLabel Name="DescriptionLabel" VerticalExpand="True" VerticalAlignment="Top" />
+                    </BoxContainer>
+                </Control>
+                <controls:ConfirmButton Name="ConfirmTypeButton" Text="{Loc 'borg-select-type-menu-confirm'}"
+                                        Disabled="True" HorizontalAlignment="Right"
+                                        MinWidth="200" />
+            </BoxContainer>
+        </BoxContainer>
+
+        <controls:StripeBack Margin="0 0 0 4">
+            <Label Text="{Loc 'borg-select-type-menu-bottom-text'}" HorizontalAlignment="Center" StyleClasses="LabelSubText" Margin="4 4 0 4"/>
+        </controls:StripeBack>
+    </BoxContainer>
+
+</controls:FancyWindow>
diff --git a/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs
new file mode 100644
index 00000000000..e1fbd376b54
--- /dev/null
+++ b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs
@@ -0,0 +1,81 @@
+using System.Linq;
+using Content.Client.UserInterface.Controls;
+using Content.Client.UserInterface.Systems.Guidebook;
+using Content.Shared.Guidebook;
+using Content.Shared.Silicons.Borgs;
+using Content.Shared.Silicons.Borgs.Components;
+using Robust.Client.AutoGenerated;
+using Robust.Client.UserInterface.Controls;
+using Robust.Client.UserInterface.XAML;
+using Robust.Shared.Prototypes;
+
+namespace Content.Client.Silicons.Borgs;
+
+/// <summary>
+/// Menu used by borgs to select their type.
+/// </summary>
+/// <seealso cref="BorgSelectTypeUserInterface"/>
+/// <seealso cref="BorgSwitchableTypeComponent"/>
+[GenerateTypedNameReferences]
+public sealed partial class BorgSelectTypeMenu : FancyWindow
+{
+    [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
+
+    private BorgTypePrototype? _selectedBorgType;
+
+    public event Action<ProtoId<BorgTypePrototype>>? ConfirmedBorgType;
+
+    [ValidatePrototypeId<GuideEntryPrototype>]
+    private static readonly List<ProtoId<GuideEntryPrototype>> GuidebookEntries = new() { "Cyborgs", "Robotics" };
+
+    public BorgSelectTypeMenu()
+    {
+        RobustXamlLoader.Load(this);
+        IoCManager.InjectDependencies(this);
+
+        var group = new ButtonGroup();
+        foreach (var borgType in _prototypeManager.EnumeratePrototypes<BorgTypePrototype>().OrderBy(PrototypeName))
+        {
+            var button = new Button
+            {
+                Text = PrototypeName(borgType),
+                Group = group,
+            };
+            button.OnPressed += _ =>
+            {
+                _selectedBorgType = borgType;
+                UpdateInformation(borgType);
+            };
+            SelectionsContainer.AddChild(button);
+        }
+
+        ConfirmTypeButton.OnPressed += ConfirmButtonPressed;
+        HelpGuidebookIds = GuidebookEntries;
+    }
+
+    private void UpdateInformation(BorgTypePrototype prototype)
+    {
+        _selectedBorgType = prototype;
+
+        InfoContents.Visible = true;
+        InfoPlaceholder.Visible = false;
+        ConfirmTypeButton.Disabled = false;
+
+        NameLabel.Text = PrototypeName(prototype);
+        DescriptionLabel.Text = Loc.GetString($"borg-type-{prototype.ID}-desc");
+        ChassisView.SetPrototype(prototype.DummyPrototype);
+    }
+
+    private void ConfirmButtonPressed(BaseButton.ButtonEventArgs obj)
+    {
+        if (_selectedBorgType == null)
+            return;
+
+        ConfirmedBorgType?.Invoke(_selectedBorgType);
+    }
+
+    private static string PrototypeName(BorgTypePrototype prototype)
+    {
+        return Loc.GetString($"borg-type-{prototype.ID}-name");
+    }
+}
diff --git a/Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs b/Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs
new file mode 100644
index 00000000000..8c76fade8c9
--- /dev/null
+++ b/Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs
@@ -0,0 +1,30 @@
+using Content.Shared.Silicons.Borgs.Components;
+using JetBrains.Annotations;
+using Robust.Client.UserInterface;
+
+namespace Content.Client.Silicons.Borgs;
+
+/// <summary>
+/// User interface used by borgs to select their type.
+/// </summary>
+/// <seealso cref="BorgSelectTypeMenu"/>
+/// <seealso cref="BorgSwitchableTypeComponent"/>
+/// <seealso cref="BorgSwitchableTypeUiKey"/>
+[UsedImplicitly]
+public sealed class BorgSelectTypeUserInterface : BoundUserInterface
+{
+    [ViewVariables]
+    private BorgSelectTypeMenu? _menu;
+
+    public BorgSelectTypeUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
+    {
+    }
+
+    protected override void Open()
+    {
+        base.Open();
+
+        _menu = this.CreateWindow<BorgSelectTypeMenu>();
+        _menu.ConfirmedBorgType += prototype => SendMessage(new BorgSelectTypeMessage(prototype));
+    }
+}
diff --git a/Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs b/Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs
new file mode 100644
index 00000000000..346dc5c276e
--- /dev/null
+++ b/Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs
@@ -0,0 +1,81 @@
+using Content.Shared.Movement.Components;
+using Content.Shared.Silicons.Borgs;
+using Content.Shared.Silicons.Borgs.Components;
+using Robust.Client.GameObjects;
+
+namespace Content.Client.Silicons.Borgs;
+
+/// <summary>
+/// Client side logic for borg type switching. Sets up primarily client-side visual information.
+/// </summary>
+/// <seealso cref="SharedBorgSwitchableTypeSystem"/>
+/// <seealso cref="BorgSwitchableTypeComponent"/>
+public sealed class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem
+{
+    [Dependency] private readonly BorgSystem _borgSystem = default!;
+    [Dependency] private readonly AppearanceSystem _appearance = default!;
+
+    public override void Initialize()
+    {
+        base.Initialize();
+
+        SubscribeLocalEvent<BorgSwitchableTypeComponent, AfterAutoHandleStateEvent>(AfterStateHandler);
+        SubscribeLocalEvent<BorgSwitchableTypeComponent, ComponentStartup>(OnComponentStartup);
+    }
+
+    private void OnComponentStartup(Entity<BorgSwitchableTypeComponent> ent, ref ComponentStartup args)
+    {
+        UpdateEntityAppearance(ent);
+    }
+
+    private void AfterStateHandler(Entity<BorgSwitchableTypeComponent> ent, ref AfterAutoHandleStateEvent args)
+    {
+        UpdateEntityAppearance(ent);
+    }
+
+    protected override void UpdateEntityAppearance(
+        Entity<BorgSwitchableTypeComponent> entity,
+        BorgTypePrototype prototype)
+    {
+        if (TryComp(entity, out SpriteComponent? sprite))
+        {
+            sprite.LayerSetState(BorgVisualLayers.Body, prototype.SpriteBodyState);
+            sprite.LayerSetState(BorgVisualLayers.LightStatus, prototype.SpriteToggleLightState);
+        }
+
+        if (TryComp(entity, out BorgChassisComponent? chassis))
+        {
+            _borgSystem.SetMindStates(
+                (entity.Owner, chassis),
+                prototype.SpriteHasMindState,
+                prototype.SpriteNoMindState);
+
+            if (TryComp(entity, out AppearanceComponent? appearance))
+            {
+                // Queue update so state changes apply.
+                _appearance.QueueUpdate(entity, appearance);
+            }
+        }
+
+        if (prototype.SpriteBodyMovementState is { } movementState)
+        {
+            var spriteMovement = EnsureComp<SpriteMovementComponent>(entity);
+            spriteMovement.NoMovementLayers.Clear();
+            spriteMovement.NoMovementLayers["movement"] = new PrototypeLayerData
+            {
+                State = prototype.SpriteBodyState,
+            };
+            spriteMovement.MovementLayers.Clear();
+            spriteMovement.MovementLayers["movement"] = new PrototypeLayerData
+            {
+                State = movementState,
+            };
+        }
+        else
+        {
+            RemComp<SpriteMovementComponent>(entity);
+        }
+
+        base.UpdateEntityAppearance(entity, prototype);
+    }
+}
diff --git a/Content.Client/Silicons/Borgs/BorgSystem.cs b/Content.Client/Silicons/Borgs/BorgSystem.cs
index e92ce5cc777..387a56384e9 100644
--- a/Content.Client/Silicons/Borgs/BorgSystem.cs
+++ b/Content.Client/Silicons/Borgs/BorgSystem.cs
@@ -92,4 +92,18 @@ private void OnMMIAppearanceChanged(EntityUid uid, MMIComponent component, ref A
             sprite.LayerSetState(MMIVisualLayers.Base, state);
         }
     }
+
+    /// <summary>
+    /// Sets the sprite states used for the borg "is there a mind or not" indication.
+    /// </summary>
+    /// <param name="borg">The entity and component to modify.</param>
+    /// <param name="hasMindState">The state to use if the borg has a mind.</param>
+    /// <param name="noMindState">The state to use if the borg has no mind.</param>
+    /// <seealso cref="BorgChassisComponent.HasMindState"/>
+    /// <seealso cref="BorgChassisComponent.NoMindState"/>
+    public void SetMindStates(Entity<BorgChassisComponent> borg, string hasMindState, string noMindState)
+    {
+        borg.Comp.HasMindState = hasMindState;
+        borg.Comp.NoMindState = noMindState;
+    }
 }
diff --git a/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs b/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs
new file mode 100644
index 00000000000..d1a32a6a5ba
--- /dev/null
+++ b/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs
@@ -0,0 +1,82 @@
+using Content.Server.Inventory;
+using Content.Server.Radio.Components;
+using Content.Shared.Inventory;
+using Content.Shared.Silicons.Borgs;
+using Content.Shared.Silicons.Borgs.Components;
+using Robust.Shared.Prototypes;
+using Robust.Shared.Utility;
+
+namespace Content.Server.Silicons.Borgs;
+
+/// <summary>
+/// Server-side logic for borg type switching. Handles more heavyweight and server-specific switching logic.
+/// </summary>
+public sealed class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem
+{
+    [Dependency] private readonly BorgSystem _borgSystem = default!;
+    [Dependency] private readonly ServerInventorySystem _inventorySystem = default!;
+
+    protected override void SelectBorgModule(Entity<BorgSwitchableTypeComponent> ent, ProtoId<BorgTypePrototype> borgType)
+    {
+        var prototype = Prototypes.Index(borgType);
+
+        // Assign radio channels
+        string[] radioChannels = [.. ent.Comp.InherentRadioChannels, .. prototype.RadioChannels];
+        if (TryComp(ent, out IntrinsicRadioTransmitterComponent? transmitter))
+            transmitter.Channels = [.. radioChannels];
+
+        if (TryComp(ent, out ActiveRadioComponent? activeRadio))
+            activeRadio.Channels = [.. radioChannels];
+
+        // Borg transponder for the robotics console
+        if (TryComp(ent, out BorgTransponderComponent? transponder))
+        {
+            _borgSystem.SetTransponderSprite(
+                (ent.Owner, transponder),
+                new SpriteSpecifier.Rsi(new ResPath("Mobs/Silicon/chassis.rsi"), prototype.SpriteBodyState));
+
+            _borgSystem.SetTransponderName(
+                (ent.Owner, transponder),
+                Loc.GetString($"borg-type-{borgType}-transponder"));
+        }
+
+        // Configure modules
+        if (TryComp(ent, out BorgChassisComponent? chassis))
+        {
+            var chassisEnt = (ent.Owner, chassis);
+            _borgSystem.SetMaxModules(
+                chassisEnt,
+                prototype.ExtraModuleCount + prototype.DefaultModules.Length);
+
+            _borgSystem.SetModuleWhitelist(chassisEnt, prototype.ModuleWhitelist);
+
+            foreach (var module in prototype.DefaultModules)
+            {
+                var moduleEntity = Spawn(module);
+                var borgModule = Comp<BorgModuleComponent>(moduleEntity);
+                _borgSystem.SetBorgModuleDefault((moduleEntity, borgModule), true);
+                _borgSystem.InsertModule(chassisEnt, moduleEntity);
+            }
+        }
+
+        // Configure special components
+        if (Prototypes.TryIndex(ent.Comp.SelectedBorgType, out var previousPrototype))
+        {
+            if (previousPrototype.AddComponents is { } removeComponents)
+                EntityManager.RemoveComponents(ent, removeComponents);
+        }
+
+        if (prototype.AddComponents is { } addComponents)
+        {
+            EntityManager.AddComponents(ent, addComponents);
+        }
+
+        // Configure inventory template (used for hat spacing)
+        if (TryComp(ent, out InventoryComponent? inventory))
+        {
+            _inventorySystem.SetTemplateId((ent.Owner, inventory), prototype.InventoryTemplateId);
+        }
+
+        base.SelectBorgModule(ent, borgType);
+    }
+}
diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs b/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs
index d5a429db030..f95a5807360 100644
--- a/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs
+++ b/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs
@@ -2,6 +2,7 @@
 using Content.Shared.Hands.Components;
 using Content.Shared.Interaction.Components;
 using Content.Shared.Silicons.Borgs.Components;
+using Content.Shared.Whitelist;
 using Robust.Shared.Containers;
 
 namespace Content.Server.Silicons.Borgs;
@@ -300,6 +301,24 @@ public bool CanInsertModule(EntityUid uid, EntityUid module, BorgChassisComponen
         return true;
     }
 
+    /// <summary>
+    /// Check if a module can be removed from a borg.
+    /// </summary>
+    /// <param name="borg">The borg that the module is being removed from.</param>
+    /// <param name="module">The module to remove from the borg.</param>
+    /// <param name="user">The user attempting to remove the module.</param>
+    /// <returns>True if the module can be removed.</returns>
+    public bool CanRemoveModule(
+        Entity<BorgChassisComponent> borg,
+        Entity<BorgModuleComponent> module,
+        EntityUid? user = null)
+    {
+        if (module.Comp.DefaultModule)
+            return false;
+
+        return true;
+    }
+
     /// <summary>
     /// Installs and activates all modules currently inside the borg's module container
     /// </summary>
@@ -369,4 +388,24 @@ public void UninstallModule(EntityUid uid, EntityUid module, BorgChassisComponen
         var ev = new BorgModuleUninstalledEvent(uid);
         RaiseLocalEvent(module, ref ev);
     }
+
+    /// <summary>
+    /// Sets <see cref="BorgChassisComponent.MaxModules"/>.
+    /// </summary>
+    /// <param name="ent">The borg to modify.</param>
+    /// <param name="maxModules">The new max module count.</param>
+    public void SetMaxModules(Entity<BorgChassisComponent> ent, int maxModules)
+    {
+        ent.Comp.MaxModules = maxModules;
+    }
+
+    /// <summary>
+    /// Sets <see cref="BorgChassisComponent.ModuleWhitelist"/>.
+    /// </summary>
+    /// <param name="ent">The borg to modify.</param>
+    /// <param name="whitelist">The new module whitelist.</param>
+    public void SetModuleWhitelist(Entity<BorgChassisComponent> ent, EntityWhitelist? whitelist)
+    {
+        ent.Comp.ModuleWhitelist = whitelist;
+    }
 }
diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs b/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs
index 781f847be35..b4ba1400441 100644
--- a/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs
+++ b/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs
@@ -8,6 +8,7 @@
 using Content.Server.DeviceNetwork.Components;
 using Content.Server.DeviceNetwork.Systems;
 using Content.Server.Explosion.Components;
+using Robust.Shared.Utility;
 
 namespace Content.Server.Silicons.Borgs;
 
@@ -134,4 +135,20 @@ private bool CheckEmagged(EntityUid uid, string name)
 
         return false;
     }
+
+    /// <summary>
+    /// Sets <see cref="BorgTransponderComponent.Sprite"/>.
+    /// </summary>
+    public void SetTransponderSprite(Entity<BorgTransponderComponent> ent, SpriteSpecifier sprite)
+    {
+        ent.Comp.Sprite = sprite;
+    }
+
+    /// <summary>
+    /// Sets <see cref="BorgTransponderComponent.Name"/>.
+    /// </summary>
+    public void SetTransponderName(Entity<BorgTransponderComponent> ent, string name)
+    {
+        ent.Comp.Name = name;
+    }
 }
diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs b/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs
index d0e9f80e364..40c2c3bf332 100644
--- a/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs
+++ b/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs
@@ -82,6 +82,9 @@ private void OnRemoveModuleBuiMessage(EntityUid uid, BorgChassisComponent compon
         if (!component.ModuleContainer.Contains(module))
             return;
 
+        if (!CanRemoveModule((uid, component), (module, Comp<BorgModuleComponent>(module)), args.Actor))
+            return;
+
         _adminLog.Add(LogType.Action, LogImpact.Medium,
             $"{ToPrettyString(args.Actor):player} removed module {ToPrettyString(module)} from borg {ToPrettyString(uid)}");
         _container.Remove(module, component.ModuleContainer);
diff --git a/Content.Server/Silicons/Borgs/BorgSystem.cs b/Content.Server/Silicons/Borgs/BorgSystem.cs
index bd85282a0f5..ff204bfa8ce 100644
--- a/Content.Server/Silicons/Borgs/BorgSystem.cs
+++ b/Content.Server/Silicons/Borgs/BorgSystem.cs
@@ -129,7 +129,7 @@ private void OnChassisInteractUsing(EntityUid uid, BorgChassisComponent componen
 
         if (module != null && CanInsertModule(uid, used, component, module, args.User))
         {
-            _container.Insert(used, component.ModuleContainer);
+            InsertModule((uid, component), used);
             _adminLog.Add(LogType.Action, LogImpact.Low,
                 $"{ToPrettyString(args.User):player} installed module {ToPrettyString(used)} into borg {ToPrettyString(uid)}");
             args.Handled = true;
@@ -137,6 +137,19 @@ private void OnChassisInteractUsing(EntityUid uid, BorgChassisComponent componen
         }
     }
 
+    /// <summary>
+    /// Inserts a new module into a borg, the same as if a player inserted it manually.
+    /// </summary>
+    /// <para>
+    /// This does not run checks to see if the borg is actually allowed to be inserted, such as whitelists.
+    /// </para>
+    /// <param name="ent">The borg to insert into.</param>
+    /// <param name="module">The module to insert.</param>
+    public void InsertModule(Entity<BorgChassisComponent> ent, EntityUid module)
+    {
+        _container.Insert(module, ent.Comp.ModuleContainer);
+    }
+
     // todo: consider transferring over the ghost role? managing that might suck.
     protected override void OnInserted(EntityUid uid, BorgChassisComponent component, EntInsertedIntoContainerMessage args)
     {
diff --git a/Content.Shared/Interaction/InteractionPopupSystem.cs b/Content.Shared/Interaction/InteractionPopupSystem.cs
index 20c079dfd8c..8df0035fc98 100644
--- a/Content.Shared/Interaction/InteractionPopupSystem.cs
+++ b/Content.Shared/Interaction/InteractionPopupSystem.cs
@@ -159,4 +159,26 @@ private void SharedInteract(
             _audio.PlayEntity(sfx, Filter.Empty().FromEntities(target), target, false);
         }
     }
+
+    /// <summary>
+    /// Sets <see cref="InteractionPopupComponent.InteractSuccessString"/>.
+    /// </summary>
+    /// <para>
+    /// This field is not networked automatically, so this method must be called on both sides of the network.
+    /// </para>
+    public void SetInteractSuccessString(Entity<InteractionPopupComponent> ent, string str)
+    {
+        ent.Comp.InteractSuccessString = str;
+    }
+
+    /// <summary>
+    /// Sets <see cref="InteractionPopupComponent.InteractFailureString"/>.
+    /// </summary>
+    /// <para>
+    /// This field is not networked automatically, so this method must be called on both sides of the network.
+    /// </para>
+    public void SetInteractFailureString(Entity<InteractionPopupComponent> ent, string str)
+    {
+        ent.Comp.InteractFailureString = str;
+    }
 }
diff --git a/Content.Shared/Inventory/InventoryComponent.cs b/Content.Shared/Inventory/InventoryComponent.cs
index 629cf1169c4..61e0114ff24 100644
--- a/Content.Shared/Inventory/InventoryComponent.cs
+++ b/Content.Shared/Inventory/InventoryComponent.cs
@@ -7,10 +7,12 @@ namespace Content.Shared.Inventory;
 
 [RegisterComponent, NetworkedComponent]
 [Access(typeof(InventorySystem))]
+[AutoGenerateComponentState(true)]
 public sealed partial class InventoryComponent : Component
 {
     [DataField("templateId", customTypeSerializer: typeof(PrototypeIdSerializer<InventoryTemplatePrototype>))]
-    public string TemplateId { get; private set; } = "human";
+    [AutoNetworkedField]
+    public string TemplateId { get; set; } = "human";
 
     [DataField("speciesId")] public string? SpeciesId { get; set; }
 
@@ -32,3 +34,9 @@ public sealed partial class InventoryComponent : Component
     [DataField]
     public Dictionary<string, DisplacementData> MaleDisplacements = new();
 }
+
+/// <summary>
+/// Raised if the <see cref="InventoryComponent.TemplateId"/> of an inventory changed.
+/// </summary>
+[ByRefEvent]
+public struct InventoryTemplateUpdated;
diff --git a/Content.Shared/Inventory/InventorySystem.Slots.cs b/Content.Shared/Inventory/InventorySystem.Slots.cs
index 2522dd5d0a3..04d58c1cd52 100644
--- a/Content.Shared/Inventory/InventorySystem.Slots.cs
+++ b/Content.Shared/Inventory/InventorySystem.Slots.cs
@@ -1,4 +1,5 @@
 using System.Diagnostics.CodeAnalysis;
+using System.Linq;
 using Content.Shared.Inventory.Events;
 using Content.Shared.Storage;
 using Robust.Shared.Containers;
@@ -19,6 +20,8 @@ private void InitializeSlots()
 
         _vvm.GetTypeHandler<InventoryComponent>()
             .AddHandler(HandleViewVariablesSlots, ListViewVariablesSlots);
+
+        SubscribeLocalEvent<InventoryComponent, AfterAutoHandleStateEvent>(AfterAutoState);
     }
 
     private void ShutdownSlots()
@@ -68,6 +71,27 @@ protected virtual void OnInit(EntityUid uid, InventoryComponent component, Compo
         }
     }
 
+    private void AfterAutoState(Entity<InventoryComponent> ent, ref AfterAutoHandleStateEvent args)
+    {
+        UpdateInventoryTemplate(ent);
+    }
+
+    protected virtual void UpdateInventoryTemplate(Entity<InventoryComponent> ent)
+    {
+        if (ent.Comp.LifeStage < ComponentLifeStage.Initialized)
+            return;
+
+        if (!_prototypeManager.TryIndex(ent.Comp.TemplateId, out InventoryTemplatePrototype? invTemplate))
+            return;
+
+        DebugTools.Assert(ent.Comp.Slots.Length == invTemplate.Slots.Length);
+
+        ent.Comp.Slots = invTemplate.Slots;
+
+        var ev = new InventoryTemplateUpdated();
+        RaiseLocalEvent(ent, ref ev);
+    }
+
     private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args)
     {
         if (args.SenderSession.AttachedEntity is not { Valid: true } uid)
@@ -170,6 +194,31 @@ private IEnumerable<string> ListViewVariablesSlots(EntityUid uid, InventoryCompo
         }
     }
 
+    /// <summary>
+    /// Change the inventory template ID an entity is using. The new template must be compatible.
+    /// </summary>
+    /// <remarks>
+    /// <para>
+    /// For an inventory template to be compatible with another, it must have exactly the same slot names.
+    /// All other changes are rejected.
+    /// </para>
+    /// </remarks>
+    /// <param name="ent">The entity to update.</param>
+    /// <param name="newTemplate">The ID of the new inventory template prototype.</param>
+    /// <exception cref="ArgumentException">
+    /// Thrown if the new template is not compatible with the existing one.
+    /// </exception>
+    public void SetTemplateId(Entity<InventoryComponent> ent, ProtoId<InventoryTemplatePrototype> newTemplate)
+    {
+        var newPrototype = _prototypeManager.Index(newTemplate);
+
+        if (!newPrototype.Slots.Select(x => x.Name).SequenceEqual(ent.Comp.Slots.Select(x => x.Name)))
+            throw new ArgumentException("Incompatible inventory template!");
+
+        ent.Comp.TemplateId = newTemplate;
+        Dirty(ent);
+    }
+
     /// <summary>
     /// Enumerator for iterating over an inventory's slot containers. Also has methods that skip empty containers.
     /// It should be safe to add or remove items while enumerating.
diff --git a/Content.Shared/Overlays/ShowHealthBarsComponent.cs b/Content.Shared/Overlays/ShowHealthBarsComponent.cs
index cb4f0fe7dd4..3f27885db18 100644
--- a/Content.Shared/Overlays/ShowHealthBarsComponent.cs
+++ b/Content.Shared/Overlays/ShowHealthBarsComponent.cs
@@ -9,12 +9,14 @@ namespace Content.Shared.Overlays;
 /// This component allows you to see health bars above damageable mobs.
 /// </summary>
 [RegisterComponent, NetworkedComponent]
+[AutoGenerateComponentState(true)]
 public sealed partial class ShowHealthBarsComponent : Component
 {
     /// <summary>
     /// Displays health bars of the damage containers.
     /// </summary>
     [DataField]
+    [AutoNetworkedField]
     public List<ProtoId<DamageContainerPrototype>> DamageContainers = new()
     {
         "Biological"
diff --git a/Content.Shared/Overlays/ShowHealthIconsComponent.cs b/Content.Shared/Overlays/ShowHealthIconsComponent.cs
index aa12c9887a8..bc8b5419d2a 100644
--- a/Content.Shared/Overlays/ShowHealthIconsComponent.cs
+++ b/Content.Shared/Overlays/ShowHealthIconsComponent.cs
@@ -8,12 +8,14 @@ namespace Content.Shared.Overlays;
 /// This component allows you to see health status icons above damageable mobs.
 /// </summary>
 [RegisterComponent, NetworkedComponent]
+[AutoGenerateComponentState(true)]
 public sealed partial class ShowHealthIconsComponent : Component
 {
     /// <summary>
     /// Displays health status icons of the damage containers.
     /// </summary>
     [DataField]
+    [AutoNetworkedField]
     public List<ProtoId<DamageContainerPrototype>> DamageContainers = new()
     {
         "Biological"
diff --git a/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs
new file mode 100644
index 00000000000..6154c127577
--- /dev/null
+++ b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs
@@ -0,0 +1,155 @@
+using Content.Shared.Interaction.Components;
+using Content.Shared.Inventory;
+using Content.Shared.Radio;
+using Content.Shared.Silicons.Borgs.Components;
+using Content.Shared.Whitelist;
+using Robust.Shared.Audio;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.Silicons.Borgs;
+
+/// <summary>
+/// Information for a borg type that can be selected by <see cref="BorgSwitchableTypeComponent"/>.
+/// </summary>
+/// <seealso cref="SharedBorgSwitchableTypeSystem"/>
+[Prototype]
+public sealed partial class BorgTypePrototype : IPrototype
+{
+    [ValidatePrototypeId<SoundCollectionPrototype>]
+    private static readonly ProtoId<SoundCollectionPrototype> DefaultFootsteps = new("FootstepBorg");
+
+    [IdDataField]
+    public required string ID { get; init; }
+
+    //
+    // Description info (name/desc) is configured via localization strings directly.
+    //
+
+    /// <summary>
+    /// The prototype displayed in the selection menu for this type.
+    /// </summary>
+    [DataField]
+    public required EntProtoId DummyPrototype { get; init; }
+
+    //
+    // Functional information
+    //
+
+    /// <summary>
+    /// The amount of free module slots this borg type has.
+    /// </summary>
+    /// <remarks>
+    /// This count is on top of the modules specified in <see cref="DefaultModules"/>.
+    /// </remarks>
+    /// <seealso cref="BorgChassisComponent.ModuleCount"/>
+    [DataField]
+    public int ExtraModuleCount { get; set; } = 0;
+
+    /// <summary>
+    /// The whitelist for borg modules that can be inserted into this borg type.
+    /// </summary>
+    /// <seealso cref="BorgChassisComponent.ModuleWhitelist"/>
+    [DataField]
+    public EntityWhitelist? ModuleWhitelist { get; set; }
+
+    /// <summary>
+    /// Inventory template used by this borg.
+    /// </summary>
+    /// <remarks>
+    /// This template must be compatible with the normal borg templates,
+    /// so in practice it can only be used to differentiate the visual position of the slots on the character sprites.
+    /// </remarks>
+    /// <seealso cref="InventorySystem.SetTemplateId"/>
+    [DataField]
+    public ProtoId<InventoryTemplatePrototype> InventoryTemplateId { get; set; } = "borgShort";
+
+    /// <summary>
+    /// Radio channels that this borg will gain access to from this module.
+    /// </summary>
+    /// <remarks>
+    /// These channels are provided on top of the ones specified in
+    /// <see cref="BorgSwitchableTypeComponent.InherentRadioChannels"/>.
+    /// </remarks>
+    [DataField]
+    public ProtoId<RadioChannelPrototype>[] RadioChannels = [];
+
+    /// <summary>
+    /// Borg module types that are always available to borgs of this type.
+    /// </summary>
+    /// <remarks>
+    /// These modules still work like modules, although they cannot be removed from the borg.
+    /// </remarks>
+    /// <seealso cref="BorgModuleComponent.DefaultModule"/>
+    [DataField]
+    public EntProtoId[] DefaultModules = [];
+
+    /// <summary>
+    /// Additional components to add to the borg entity when this type is selected.
+    /// </summary>
+    [DataField]
+    public ComponentRegistry? AddComponents { get; set; }
+
+    //
+    // Visual information
+    //
+
+    /// <summary>
+    /// The sprite state for the main borg body.
+    /// </summary>
+    [DataField]
+    public string SpriteBodyState { get; set; } = "robot";
+
+    /// <summary>
+    /// An optional movement sprite state for the main borg body.
+    /// </summary>
+    [DataField]
+    public string? SpriteBodyMovementState { get; set; }
+
+    /// <summary>
+    /// Sprite state used to indicate that the borg has a mind in it.
+    /// </summary>
+    /// <seealso cref="BorgChassisComponent.HasMindState"/>
+    [DataField]
+    public string SpriteHasMindState { get; set; } = "robot_e";
+
+    /// <summary>
+    /// Sprite state used to indicate that the borg has no mind in it.
+    /// </summary>
+    /// <seealso cref="BorgChassisComponent.NoMindState"/>
+    [DataField]
+    public string SpriteNoMindState { get; set; } = "robot_e_r";
+
+    /// <summary>
+    /// Sprite state used when the borg's flashlight is on.
+    /// </summary>
+    [DataField]
+    public string SpriteToggleLightState { get; set; } = "robot_l";
+
+    //
+    // Minor information
+    //
+
+    /// <summary>
+    /// String to use on petting success.
+    /// </summary>
+    /// <seealso cref="InteractionPopupComponent"/>
+    [DataField]
+    public string PetSuccessString { get; set; } = "petting-success-generic-cyborg";
+
+    /// <summary>
+    /// String to use on petting failure.
+    /// </summary>
+    /// <seealso cref="InteractionPopupComponent"/>
+    [DataField]
+    public string PetFailureString { get; set; } = "petting-failure-generic-cyborg";
+
+    //
+    // Sounds
+    //
+
+    /// <summary>
+    /// Sound specifier for footstep sounds created by this borg.
+    /// </summary>
+    [DataField]
+    public SoundSpecifier FootstepCollection { get; set; } = new SoundCollectionSpecifier(DefaultFootsteps);
+}
diff --git a/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs b/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs
index de0fe0bce38..c2bf2b2801b 100644
--- a/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs
+++ b/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs
@@ -89,5 +89,18 @@ public enum BorgVisuals : byte
 [Serializable, NetSerializable]
 public enum BorgVisualLayers : byte
 {
-    Light
+    /// <summary>
+    /// Main borg body layer.
+    /// </summary>
+    Body,
+
+    /// <summary>
+    /// Layer for the borg's mind state.
+    /// </summary>
+    Light,
+
+    /// <summary>
+    /// Layer for the borg flashlight status.
+    /// </summary>
+    LightStatus,
 }
diff --git a/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs b/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs
index a7523c1ce70..e542a1e3e3e 100644
--- a/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs
+++ b/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs
@@ -7,6 +7,7 @@ namespace Content.Shared.Silicons.Borgs.Components;
 /// to give them unique abilities and attributes.
 /// </summary>
 [RegisterComponent, NetworkedComponent, Access(typeof(SharedBorgSystem))]
+[AutoGenerateComponentState]
 public sealed partial class BorgModuleComponent : Component
 {
     /// <summary>
@@ -16,6 +17,13 @@ public sealed partial class BorgModuleComponent : Component
     public EntityUid? InstalledEntity;
 
     public bool Installed => InstalledEntity != null;
+
+    /// <summary>
+    /// If true, this is a "default" module that cannot be removed from a borg.
+    /// </summary>
+    [DataField]
+    [AutoNetworkedField]
+    public bool DefaultModule;
 }
 
 /// <summary>
diff --git a/Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs b/Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs
new file mode 100644
index 00000000000..9a783d19aa7
--- /dev/null
+++ b/Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs
@@ -0,0 +1,72 @@
+using Content.Shared.Actions;
+using Content.Shared.Radio;
+using Robust.Shared.GameStates;
+using Robust.Shared.Prototypes;
+using Robust.Shared.Serialization;
+
+namespace Content.Shared.Silicons.Borgs.Components;
+
+/// <summary>
+/// Component for borgs that can switch their "type" after being created.
+/// </summary>
+/// <remarks>
+/// <para>
+/// This is used by all NT borgs, on construction and round-start spawn.
+/// Borgs are effectively useless until they have made their choice of type.
+/// Borg type selections are currently irreversible.
+/// </para>
+/// <para>
+/// Available types are specified in <see cref="BorgTypePrototype"/>s.
+/// </para>
+/// </remarks>
+/// <seealso cref="SharedBorgSwitchableTypeSystem"/>
+[RegisterComponent, NetworkedComponent]
+[AutoGenerateComponentState(raiseAfterAutoHandleState: true)]
+[Access(typeof(SharedBorgSwitchableTypeSystem))]
+public sealed partial class BorgSwitchableTypeComponent : Component
+{
+    /// <summary>
+    /// Action entity used by players to select their type.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public EntityUid? SelectTypeAction;
+
+    /// <summary>
+    /// The currently selected borg type, if any.
+    /// </summary>
+    /// <remarks>
+    /// This can be set in a prototype to immediately apply a borg type, and not have switching support.
+    /// </remarks>
+    [DataField, AutoNetworkedField]
+    public ProtoId<BorgTypePrototype>? SelectedBorgType;
+
+    /// <summary>
+    /// Radio channels that the borg will always have. These are added on top of the selected type's radio channels.
+    /// </summary>
+    [DataField]
+    public ProtoId<RadioChannelPrototype>[] InherentRadioChannels = [];
+}
+
+/// <summary>
+/// Action event used to open the selection menu of a <see cref="BorgSwitchableTypeComponent"/>.
+/// </summary>
+public sealed partial class BorgToggleSelectTypeEvent : InstantActionEvent;
+
+/// <summary>
+/// UI message used by a borg to select their type with <see cref="BorgSwitchableTypeComponent"/>.
+/// </summary>
+/// <param name="prototype">The borg type prototype that the user selected.</param>
+[Serializable, NetSerializable]
+public sealed class BorgSelectTypeMessage(ProtoId<BorgTypePrototype> prototype) : BoundUserInterfaceMessage
+{
+    public ProtoId<BorgTypePrototype> Prototype = prototype;
+}
+
+/// <summary>
+/// UI key used by the selection menu for <see cref="BorgSwitchableTypeComponent"/>.
+/// </summary>
+[NetSerializable, Serializable]
+public enum BorgSwitchableTypeUiKey : byte
+{
+    SelectBorgType,
+}
diff --git a/Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs b/Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs
new file mode 100644
index 00000000000..d9abeb2d326
--- /dev/null
+++ b/Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs
@@ -0,0 +1,125 @@
+using Content.Shared.Actions;
+using Content.Shared.Interaction;
+using Content.Shared.Interaction.Components;
+using Content.Shared.Movement.Components;
+using Content.Shared.Silicons.Borgs.Components;
+using Robust.Shared.Player;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.Silicons.Borgs;
+
+/// <summary>
+/// Implements borg type switching.
+/// </summary>
+/// <seealso cref="BorgSwitchableTypeComponent"/>
+public abstract class SharedBorgSwitchableTypeSystem : EntitySystem
+{
+    // TODO: Allow borgs to be reset to default configuration.
+
+    [Dependency] private readonly SharedActionsSystem _actionsSystem = default!;
+    [Dependency] private readonly SharedUserInterfaceSystem _userInterface = default!;
+    [Dependency] protected readonly IPrototypeManager Prototypes = default!;
+    [Dependency] private readonly InteractionPopupSystem _interactionPopup = default!;
+
+    [ValidatePrototypeId<EntityPrototype>]
+    public const string ActionId = "ActionSelectBorgType";
+
+    public override void Initialize()
+    {
+        base.Initialize();
+
+        SubscribeLocalEvent<BorgSwitchableTypeComponent, MapInitEvent>(OnMapInit);
+        SubscribeLocalEvent<BorgSwitchableTypeComponent, ComponentShutdown>(OnShutdown);
+        SubscribeLocalEvent<BorgSwitchableTypeComponent, BorgToggleSelectTypeEvent>(OnSelectBorgTypeAction);
+
+        Subs.BuiEvents<BorgSwitchableTypeComponent>(BorgSwitchableTypeUiKey.SelectBorgType,
+            sub =>
+            {
+                sub.Event<BorgSelectTypeMessage>(SelectTypeMessageHandler);
+            });
+    }
+
+    //
+    // UI-adjacent code
+    //
+
+    private void OnMapInit(Entity<BorgSwitchableTypeComponent> ent, ref MapInitEvent args)
+    {
+        _actionsSystem.AddAction(ent, ref ent.Comp.SelectTypeAction, ActionId);
+        Dirty(ent);
+
+        if (ent.Comp.SelectedBorgType != null)
+        {
+            SelectBorgModule(ent, ent.Comp.SelectedBorgType.Value);
+        }
+    }
+
+    private void OnShutdown(Entity<BorgSwitchableTypeComponent> ent, ref ComponentShutdown args)
+    {
+        _actionsSystem.RemoveAction(ent, ent.Comp.SelectTypeAction);
+    }
+
+    private void OnSelectBorgTypeAction(Entity<BorgSwitchableTypeComponent> ent, ref BorgToggleSelectTypeEvent args)
+    {
+        if (args.Handled || !TryComp<ActorComponent>(ent, out var actor))
+            return;
+
+        args.Handled = true;
+
+        _userInterface.TryToggleUi((ent.Owner, null), BorgSwitchableTypeUiKey.SelectBorgType, actor.PlayerSession);
+    }
+
+    private void SelectTypeMessageHandler(Entity<BorgSwitchableTypeComponent> ent, ref BorgSelectTypeMessage args)
+    {
+        if (ent.Comp.SelectedBorgType != null)
+            return;
+
+        if (!Prototypes.HasIndex(args.Prototype))
+            return;
+
+        SelectBorgModule(ent, args.Prototype);
+    }
+
+    //
+    // Implementation
+    //
+
+    protected virtual void SelectBorgModule(
+        Entity<BorgSwitchableTypeComponent> ent,
+        ProtoId<BorgTypePrototype> borgType)
+    {
+        ent.Comp.SelectedBorgType = borgType;
+
+        _actionsSystem.RemoveAction(ent, ent.Comp.SelectTypeAction);
+        ent.Comp.SelectTypeAction = null;
+        Dirty(ent);
+
+        _userInterface.CloseUi((ent.Owner, null), BorgSwitchableTypeUiKey.SelectBorgType);
+
+        UpdateEntityAppearance(ent);
+    }
+
+    protected void UpdateEntityAppearance(Entity<BorgSwitchableTypeComponent> entity)
+    {
+        if (!Prototypes.TryIndex(entity.Comp.SelectedBorgType, out var proto))
+            return;
+
+        UpdateEntityAppearance(entity, proto);
+    }
+
+    protected virtual void UpdateEntityAppearance(
+        Entity<BorgSwitchableTypeComponent> entity,
+        BorgTypePrototype prototype)
+    {
+        if (TryComp(entity, out InteractionPopupComponent? popup))
+        {
+            _interactionPopup.SetInteractSuccessString((entity.Owner, popup), prototype.PetSuccessString);
+            _interactionPopup.SetInteractFailureString((entity.Owner, popup), prototype.PetFailureString);
+        }
+
+        if (TryComp(entity, out FootstepModifierComponent? footstepModifier))
+        {
+            footstepModifier.FootstepSoundCollection = prototype.FootstepCollection;
+        }
+    }
+}
diff --git a/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs b/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs
index c62e63481d6..827bb351b07 100644
--- a/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs
+++ b/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs
@@ -124,4 +124,13 @@ private void OnRefreshMovementSpeedModifiers(EntityUid uid, BorgChassisComponent
         var sprintDif = movement.BaseWalkSpeed / movement.BaseSprintSpeed;
         args.ModifySpeed(1f, sprintDif);
     }
+
+    /// <summary>
+    /// Sets <see cref="BorgModuleComponent.DefaultModule"/>.
+    /// </summary>
+    public void SetBorgModuleDefault(Entity<BorgModuleComponent> ent, bool newDefault)
+    {
+        ent.Comp.DefaultModule = newDefault;
+        Dirty(ent);
+    }
 }
diff --git a/Resources/Locale/en-US/borg/borg.ftl b/Resources/Locale/en-US/borg/borg.ftl
index 6c495510b05..9c9dc71069a 100644
--- a/Resources/Locale/en-US/borg/borg.ftl
+++ b/Resources/Locale/en-US/borg/borg.ftl
@@ -25,3 +25,40 @@ borg-transponder-disabling-popup = Your transponder begins to lock you out of th
 borg-transponder-destroying-popup = The self destruct of {$name} starts beeping!
 borg-transponder-emagged-disabled-popup = Your transponder's lights go out!
 borg-transponder-emagged-destroyed-popup = Your transponder's fuse blows!
+
+## Borg type selection UI.
+borg-select-type-menu-title = Select Chassis Type
+borg-select-type-menu-bottom-text = Chassis selection is irreversible
+borg-select-type-menu-available = Available types
+borg-select-type-menu-information = Information
+borg-select-type-menu-select-type = Select type to view information
+borg-select-type-menu-confirm = Confirm selection
+borg-select-type-menu-guidebook = Guidebook
+
+## Borg type information
+
+borg-type-generic-name = Generic
+borg-type-generic-desc = Jack of all trades, master of none. Do various random station tasks, or maybe help out the science department that built you.
+borg-type-generic-transponder = generic cyborg
+
+borg-type-engineering-name = Engineering
+borg-type-engineering-desc = Assist the engineering team in station construction, repairing damage, or fixing electrical and atmospheric issues.
+borg-type-engineering-transponder = engineering cyborg
+
+borg-type-mining-name = Salvage
+borg-type-mining-desc = Join salvage and help them mine for materials, scavenge wrecks, and fight off hostile wildlife.
+borg-type-mining-transponder = salvage cyborg
+
+borg-type-janitor-name = Janitor
+borg-type-janitor-desc = Keep the station nice and tidy, clean up spills, collect and properly dispose of trash left around by lazy crewmembers.
+borg-type-janitor-transponder = janitor cyborg
+
+borg-type-medical-name = Medical
+borg-type-medical-desc = Provide medical attention to crew who need it, either in medbay or in hazardous areas conventional paramedics cannot reach.
+borg-type-medical-transponder = medical cyborg
+
+borg-type-service-name = Service
+borg-type-service-desc = Help out with a wide range of crew services, ranging from serving snacks and drinks to botany to entertainment.
+borg-type-service-transponder = service cyborg
+
+
diff --git a/Resources/Prototypes/Actions/borgs.yml b/Resources/Prototypes/Actions/borgs.yml
index a0168ef00fc..0f635ba3ec6 100644
--- a/Resources/Prototypes/Actions/borgs.yml
+++ b/Resources/Prototypes/Actions/borgs.yml
@@ -10,3 +10,15 @@
       state: state-laws
     event: !type:ToggleLawsScreenEvent
     useDelay: 0.5
+
+- type: entity
+  id: ActionSelectBorgType
+  name: Select Cyborg Type
+  components:
+  - type: InstantAction
+    itemIconStyle: NoItem
+    icon:
+      sprite: Interface/Actions/actions_borg.rsi
+      state: select-type
+    event: !type:BorgToggleSelectTypeEvent
+    useDelay: 0.5
diff --git a/Resources/Prototypes/Body/Parts/silicon.yml b/Resources/Prototypes/Body/Parts/silicon.yml
index 6b2b3f57d26..3b0f2540963 100644
--- a/Resources/Prototypes/Body/Parts/silicon.yml
+++ b/Resources/Prototypes/Body/Parts/silicon.yml
@@ -28,82 +28,105 @@
     - Robotics
 
 - type: entity
-  id: BaseBorgArmLeft
+  id: LeftArmBorg
   parent: PartSilicon
   name: cyborg left arm
-  abstract: true
   components:
   - type: BodyPart
     partType: Hand
     symmetry: Left
+  - type: Sprite
+    state: borg_l_arm
+  - type: Icon
+    state: borg_l_arm
   - type: Tag
     tags:
     - Trash
     - BorgArm
+    - BorgLArm
 
 - type: entity
-  id: BaseBorgArmRight
+  id: RightArmBorg
   parent: PartSilicon
   name: cyborg right arm
-  abstract: true
   components:
   - type: BodyPart
     partType: Hand
     symmetry: Right
+  - type: Sprite
+    state: borg_r_arm
+  - type: Icon
+    state: borg_r_arm
   - type: Tag
     tags:
     - Trash
     - BorgArm
+    - BorgRArm
 
 - type: entity
-  id: BaseBorgLegLeft
+  id: LeftLegBorg
   parent: PartSilicon
   name: cyborg left leg
-  abstract: true
   components:
   - type: BodyPart
     partType: Leg
     symmetry: Left
+  - type: Sprite
+    state: borg_l_leg
+  - type: Icon
+    state: borg_l_leg
   - type: Tag
     tags:
     - Trash
     - BorgLeg
+    - BorgLLeg
 
 - type: entity
-  id: BaseBorgLegRight
+  id: RightLegBorg
   parent: PartSilicon
   name: cyborg right leg
-  abstract: true
   components:
   - type: BodyPart
     partType: Leg
     symmetry: Right
+  - type: Sprite
+    state: borg_r_leg
+  - type: Icon
+    state: borg_r_leg
   - type: Tag
     tags:
     - Trash
     - BorgLeg
+    - BorgRLeg
 
 - type: entity
-  id: BaseBorgHead
+  id: LightHeadBorg
   parent: PartSilicon
   name: cyborg head
-  abstract: true
   components:
   - type: BodyPart
     partType: Head
+  - type: Sprite
+    state: borg_head
+  - type: Icon
+    state: borg_head
   - type: Tag
     tags:
     - Trash
     - BorgHead
 
 - type: entity
-  id: BaseBorgTorso
+  id: TorsoBorg
   parent: PartSilicon
   name: cyborg torso
-  abstract: true
   components:
   - type: BodyPart
     partType: Torso
+  - type: Sprite
+    state: borg_chest
+  - type: Icon
+    state: borg_chest
   - type: Tag
     tags:
     - Trash
+    - BorgTorso
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
index 0db92ac941d..9303bd42dd5 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml
@@ -69,6 +69,9 @@
         type: BorgBoundUserInterface
       enum.StrippingUiKey.Key:
         type: StrippableBoundUserInterface
+      # Only used for NT borgs that can switch type, defined here to avoid copy-pasting the rest of this component.
+      enum.BorgSwitchableTypeUiKey.SelectBorgType:
+        type: BorgSelectTypeUserInterface
   - type: ActivatableUI
     key: enum.BorgUiKey.Key
   - type: SiliconLawBound
@@ -157,6 +160,7 @@
       collection: FootstepBorg
   - type: Construction
     graph: Cyborg
+    node: cyborg
     containers:
     - part-container
     - cell_slot
@@ -285,6 +289,9 @@
   - type: AccessReader
     access: [["Command"], ["Research"]]
   - type: ShowJobIcons
+  - type: InteractionPopup
+    interactSuccessSound:
+      path: /Audio/Ambience/Objects/periodic_beep.ogg
 
 - type: entity
   id: BaseBorgChassisSyndicate
diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
index 6a8f1e5abb0..fa324c0124f 100644
--- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
+++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml
@@ -1,23 +1,22 @@
 - type: entity
-  id: BorgChassisGeneric
+  id: BorgChassisSelectable
   parent: BaseBorgChassisNT
   components:
   - type: Sprite
     layers:
     - state: robot
+      map: ["enum.BorgVisualLayers.Body", "movement"]
     - state: robot_e_r
       map: ["enum.BorgVisualLayers.Light"]
       shader: unshaded
       visible: false
     - state: robot_l
       shader: unshaded
-      map: ["light"]
+      map: ["light","enum.BorgVisualLayers.LightStatus"]
       visible: false
   - type: BorgChassis
-    maxModules: 6
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
+    # Default borg can take no modules until selected type.
+    maxModules: 0
     hasMindState: robot_e
     noMindState: robot_e_r
   - type: BorgTransponder
@@ -25,308 +24,62 @@
       sprite: Mobs/Silicon/chassis.rsi
       state: robot
     name: cyborg
-  - type: Construction
-    node: cyborg
-  - type: Speech
-    speechVerb: Robotic
   - type: InteractionPopup
     interactSuccessString: petting-success-generic-cyborg
     interactFailureString: petting-failure-generic-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
+  - type: BorgSwitchableType
+    inherentRadioChannels:
+    - Common
+    - Binary
+
+- type: entity
+  id: BorgChassisGeneric
+  parent: BorgChassisSelectable
+  name: generic cyborg
+  suffix: type picked
+  components:
+  - type: BorgSwitchableType
+    selectedBorgType: generic
 
 - type: entity
   id: BorgChassisMining
-  parent: BaseBorgChassisNT
+  parent: BorgChassisSelectable
   name: salvage cyborg
   components:
-  - type: Sprite
-    layers:
-    - state: miner
-      map: ["movement"]
-    - state: miner_e_r
-      map: ["enum.BorgVisualLayers.Light"]
-      shader: unshaded
-      visible: false
-    - state: miner_l
-      shader: unshaded
-      map: ["light"]
-      visible: false
-  - type: SpriteMovement
-    movementLayers:
-      movement:
-        state: miner_moving
-    noMovementLayers:
-      movement:
-        state: miner
-  - type: BorgChassis
-    maxModules: 4
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
-      - BorgModuleCargo
-    hasMindState: miner_e
-    noMindState: miner_e_r
-  - type: BorgTransponder
-    sprite:
-      sprite: Mobs/Silicon/chassis.rsi
-      state: miner
-    name: salvage cyborg
-  - type: Construction
-    node: mining
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Supply
-    - Binary
-    - Common
-    - Science
-  - type: ActiveRadio
-    channels:
-    - Supply
-    - Binary
-    - Common
-    - Science
-  - type: AccessReader
-    access: [["Cargo"], ["Salvage"], ["Command"], ["Research"]]
-  - type: Inventory
-    templateId: borgTall
-  - type: InteractionPopup
-    interactSuccessString: petting-success-salvage-cyborg
-    interactFailureString: petting-failure-salvage-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
+  - type: BorgSwitchableType
+    selectedBorgType: mining
 
 - type: entity
   id: BorgChassisEngineer
-  parent: BaseBorgChassisNT
+  parent: BorgChassisSelectable
   name: engineer cyborg
   components:
-  - type: Sprite
-    layers:
-    - state: engineer
-    - state: engineer_e_r
-      map: ["enum.BorgVisualLayers.Light"]
-      shader: unshaded
-      visible: false
-    - state: engineer_l
-      shader: unshaded
-      map: ["light"]
-      visible: false
-  - type: BorgChassis
-    maxModules: 4
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
-      - BorgModuleEngineering
-    hasMindState: engineer_e
-    noMindState: engineer_e_r
-  - type: BorgTransponder
-    sprite:
-      sprite: Mobs/Silicon/chassis.rsi
-      state: engineer
-    name: engineer cyborg
-  - type: Construction
-    node: engineer
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Engineering
-    - Binary
-    - Common
-    - Science
-  - type: ActiveRadio
-    channels:
-    - Engineering
-    - Binary
-    - Common
-    - Science
-  - type: AccessReader
-    access: [["Engineering"], ["Command"], ["Research"]]
-  - type: Inventory
-    templateId: borgShort
-  - type: InteractionPopup
-    interactSuccessString: petting-success-engineer-cyborg
-    interactFailureString: petting-failure-engineer-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
+  - type: BorgSwitchableType
+    selectedBorgType: engineering
 
 - type: entity
   id: BorgChassisJanitor
-  parent: BaseBorgChassisNT
+  parent: BorgChassisSelectable
   name: janitor cyborg
   components:
-  - type: Sprite
-    layers:
-    - state: janitor
-      map: ["movement"]
-    - state: janitor_e_r
-      map: ["enum.BorgVisualLayers.Light"]
-      shader: unshaded
-      visible: false
-    - state: janitor_l
-      shader: unshaded
-      map: ["light"]
-      visible: false
-  - type: SpriteMovement
-    movementLayers:
-      movement:
-        state: janitor_moving
-    noMovementLayers:
-      movement:
-        state: janitor
-  - type: BorgChassis
-    maxModules: 4
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
-      - BorgModuleJanitor
-    hasMindState: janitor_e
-    noMindState: janitor_e_r
-  - type: BorgTransponder
-    sprite:
-      sprite: Mobs/Silicon/chassis.rsi
-      state: janitor
-    name: janitor cyborg
-  - type: Construction
-    node: janitor
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Service
-    - Binary
-    - Common
-    - Science
-  - type: ActiveRadio
-    channels:
-    - Service
-    - Binary
-    - Common
-    - Science
-  - type: AccessReader
-    access: [["Service"], ["Command"], ["Research"]]
-  - type: Inventory
-    templateId: borgShort
-  - type: InteractionPopup
-    interactSuccessString: petting-success-janitor-cyborg
-    interactFailureString: petting-failure-janitor-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
+  - type: BorgSwitchableType
+    selectedBorgType: janitor
 
 - type: entity
   id: BorgChassisMedical
-  parent: [BaseBorgChassisNT, ShowMedicalIcons]
+  parent: BorgChassisSelectable
   name: medical cyborg
   components:
-  - type: Sprite
-    layers:
-    - state: medical
-      map: ["movement"]
-    - state: medical_e_r
-      map: ["enum.BorgVisualLayers.Light"]
-      shader: unshaded
-      visible: false
-    - state: medical_l
-      shader: unshaded
-      map: ["light"]
-      visible: false
-  - type: SpriteMovement
-    movementLayers:
-      movement:
-        state: medical_moving
-    noMovementLayers:
-      movement:
-        state: medical
-  - type: BorgChassis
-    maxModules: 4
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
-      - BorgModuleMedical
-    hasMindState: medical_e
-    noMindState: medical_e_r
-  - type: BorgTransponder
-    sprite:
-      sprite: Mobs/Silicon/chassis.rsi
-      state: medical
-    name: medical cyborg
-  - type: Construction
-    node: medical
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Medical
-    - Binary
-    - Common
-    - Science
-  - type: ActiveRadio
-    channels:
-    - Medical
-    - Binary
-    - Common
-    - Science
-  - type: AccessReader
-    access: [["Medical"], ["Command"], ["Research"]]
-  - type: Inventory
-    templateId: borgDutch
-  - type: FootstepModifier
-    footstepSoundCollection:
-      collection: FootstepHoverBorg
-  - type: SolutionScanner
-  - type: InteractionPopup
-    interactSuccessString: petting-success-medical-cyborg
-    interactFailureString: petting-failure-medical-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
+  - type: BorgSwitchableType
+    selectedBorgType: medical
 
 - type: entity
   id: BorgChassisService
-  parent: BaseBorgChassisNT
+  parent: BorgChassisSelectable
   name: service cyborg
   components:
-  - type: Sprite
-    layers:
-    - state: service
-    - state: service_e_r
-      map: ["enum.BorgVisualLayers.Light"]
-      shader: unshaded
-      visible: false
-    - state: service_l
-      shader: unshaded
-      map: ["light"]
-      visible: false
-  - type: BorgChassis
-    maxModules: 4
-    moduleWhitelist:
-      tags:
-      - BorgModuleGeneric
-      - BorgModuleService
-    hasMindState: service_e
-    noMindState: service_e_r
-  - type: BorgTransponder
-    sprite:
-      sprite: Mobs/Silicon/chassis.rsi
-      state: service
-    name: service cyborg
-  - type: Construction
-    node: service
-  - type: IntrinsicRadioTransmitter
-    channels:
-    - Service
-    - Binary
-    - Common
-    - Science
-  - type: ActiveRadio
-    channels:
-    - Service
-    - Binary
-    - Common
-    - Science
-  - type: AccessReader
-    access: [["Service"], ["Command"], ["Research"]]
-  - type: Inventory
-    templateId: borgTall
-  - type: InteractionPopup
-    interactSuccessString: petting-success-service-cyborg
-    interactFailureString: petting-failure-service-cyborg
-    interactSuccessSound:
-      path: /Audio/Ambience/Objects/periodic_beep.ogg
+  - type: BorgSwitchableType
+    selectedBorgType: service
 
 - type: entity
   id: BorgChassisSyndicateAssault
@@ -354,8 +107,6 @@
           - BorgModuleSyndicateAssault
       hasMindState: synd_sec_e
       noMindState: synd_sec
-    - type: Construction
-      node: syndicateassault
     - type: InteractionPopup
       interactSuccessString: petting-success-syndicate-cyborg
       interactFailureString: petting-failure-syndicate-cyborg
@@ -388,8 +139,6 @@
           - BorgModuleSyndicate
       hasMindState: synd_medical_e
       noMindState: synd_medical
-    - type: Construction
-      node: syndicatemedical
     - type: ShowHealthBars
     - type: InteractionPopup
       interactSuccessString: petting-success-syndicate-cyborg
@@ -429,8 +178,6 @@
           - BorgModuleSyndicate
       hasMindState: synd_engi_e
       noMindState: synd_engi
-    - type: Construction
-      node: syndicatesaboteur
     - type: ShowHealthBars
       damageContainers:
       - Inorganic
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index e787ef59f00..bcac46ed842 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -429,28 +429,9 @@
       map: ["base"]
 
 # Borgs
-- type: entity
-  id: PlayerBorgGeneric
-  parent: BorgChassisGeneric
-  suffix: Battery, Tools
-  components:
-  - type: ContainerFill
-    containers:
-      borg_brain:
-        - PositronicBrain
-      borg_module:
-        - BorgModuleTool
-  - type: ItemSlots
-    slots:
-      cell_slot:
-        name: power-cell-slot-component-slot-name-default
-        startingItem: PowerCellMedium
-  - type: RandomMetadata
-    nameSegments: [names_borg]
-
 - type: entity
   id: PlayerBorgBattery
-  parent: BorgChassisGeneric
+  parent: BorgChassisSelectable
   suffix: Battery
   components:
   - type: ContainerFill
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml
deleted file mode 100644
index 6df0488e28f..00000000000
--- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml
+++ /dev/null
@@ -1,503 +0,0 @@
-# generic parts
-- type: entity
-  id: LeftArmBorg
-  parent: BaseBorgArmLeft
-  components:
-  - type: Sprite
-    state: borg_l_arm
-  - type: Icon
-    state: borg_l_arm
-  - type: Tag
-    tags:
-    - Trash
-    - BorgArm
-    - BorgGenericLArm
-
-- type: entity
-  id: RightArmBorg
-  parent: BaseBorgArmRight
-  components:
-  - type: Sprite
-    state: borg_r_arm
-  - type: Icon
-    state: borg_r_arm
-  - type: Tag
-    tags:
-    - Trash
-    - BorgArm
-    - BorgGenericRArm
-
-- type: entity
-  id: LeftLegBorg
-  parent: BaseBorgLegLeft
-  components:
-  - type: Sprite
-    state: borg_l_leg
-  - type: Icon
-    state: borg_l_leg
-  - type: Tag
-    tags:
-    - Trash
-    - BorgLeg
-    - BorgGenericLLeg
-
-- type: entity
-  id: RightLegBorg
-  parent: BaseBorgLegRight
-  components:
-  - type: Sprite
-    state: borg_r_leg
-  - type: Icon
-    state: borg_r_leg
-  - type: Tag
-    tags:
-    - Trash
-    - BorgLeg
-    - BorgGenericRLeg
-
-- type: entity
-  id: LightHeadBorg
-  parent: BaseBorgHead
-  components:
-  - type: Sprite
-    state: borg_head
-  - type: Icon
-    state: borg_head
-  - type: Tag
-    tags:
-    - Trash
-    - BorgHead
-    - BorgGenericHead
-
-- type: entity
-  id: TorsoBorg
-  parent: BaseBorgTorso
-  components:
-  - type: Sprite
-    state: borg_chest
-  - type: Icon
-    state: borg_chest
-  - type: Tag
-    tags:
-    - Trash
-    - BorgGenericTorso
-
-# engineer parts
-- type: entity
-  id: LeftArmBorgEngineer
-  parent: BaseBorgArmLeft
-  name: engineer cyborg left arm
-  components:
-  - type: Sprite
-    state: engineer_l_arm
-  - type: Icon
-    state: engineer_l_arm
-  - type: Tag
-    tags:
-    - Trash
-    - BorgArm
-    - BorgEngineerLArm
-
-- type: entity
-  id: RightArmBorgEngineer
-  parent: BaseBorgArmRight
-  name: engineer cyborg right arm
-  components:
-  - type: Sprite
-    state: engineer_r_arm
-  - type: Icon
-    state: engineer_r_arm
-  - type: Tag
-    tags:
-    - Trash
-    - BorgArm
-    - BorgEngineerRArm
-
-- type: entity
-  id: LeftLegBorgEngineer
-  parent: BaseBorgLegLeft
-  name: engineer cyborg left leg
-  components:
-  - type: Sprite
-    state: engineer_l_leg
-  - type: Icon
-    state: engineer_l_leg
-  - type: Tag
-    tags:
-    - Trash
-    - BorgLeg
-    - BorgEngineerLLeg
-
-- type: entity
-  id: RightLegBorgEngineer
-  parent: BaseBorgLegRight
-  name: engineer cyborg right leg
-  components:
-  - type: Sprite
-    state: engineer_r_leg
-  - type: Icon
-    state: engineer_r_leg
-  - type: Tag
-    tags:
-    - Trash
-    - BorgLeg
-    - BorgEngineerRLeg
-
-- type: entity
-  id: HeadBorgEngineer
-  parent: BaseBorgHead
-  name: engineer cyborg head
-  components:
-  - type: Sprite
-    state: engineer_head
-  - type: Icon
-    state: engineer_head
-  - type: Tag
-    tags:
-    - Trash
-    - BorgHead
-    - BorgEngineerHead
-
-- type: entity
-  id: TorsoBorgEngineer
-  parent: BaseBorgTorso
-  name: engineer cyborg torso
-  components:
-  - type: Sprite
-    state: engineer_chest
-  - type: Icon
-    state: engineer_chest
-  - type: Tag
-    tags:
-    - Trash
-    - BorgEngineerTorso
-
-# janitor parts
-- type: entity
-  id: LeftLegBorgJanitor
-  parent: BaseBorgLegLeft
-  name: janitor cyborg left leg
-  components:
-    - type: Sprite
-      state: janitor_l_leg
-    - type: Icon
-      state: janitor_l_leg
-    - type: Tag
-      tags:
-        - Trash
-        - BorgLeg
-        - BorgJanitorLLeg
-
-- type: entity
-  id: RightLegBorgJanitor
-  parent: BaseBorgLegRight
-  name: janitor cyborg right leg
-  components:
-    - type: Sprite
-      state: janitor_r_leg
-    - type: Icon
-      state: janitor_r_leg
-    - type: Tag
-      tags:
-        - Trash
-        - BorgLeg
-        - BorgJanitorRLeg
-
-- type: entity
-  id: HeadBorgJanitor
-  parent: BaseBorgHead
-  name: janitor cyborg head
-  components:
-    - type: Sprite
-      state: janitor_head
-    - type: Icon
-      state: janitor_head
-    - type: Tag
-      tags:
-        - Trash
-        - BorgHead
-        - BorgJanitorHead
-
-- type: entity
-  id: TorsoBorgJanitor
-  parent: BaseBorgTorso
-  name: janitor cyborg torso
-  components:
-    - type: Sprite
-      state: janitor_chest
-    - type: Icon
-      state: janitor_chest
-    - type: Tag
-      tags:
-        - Trash
-        - BorgJanitorTorso
-
-# medical parts
-- type: entity
-  id: LeftArmBorgMedical
-  parent: BaseBorgArmLeft
-  name: medical cyborg left arm
-  components:
-    - type: Sprite
-      state: medical_l_arm
-    - type: Icon
-      state: medical_l_arm
-    - type: Tag
-      tags:
-        - Trash
-        - BorgArm
-        - BorgMedicalLArm
-
-- type: entity
-  id: RightArmBorgMedical
-  parent: BaseBorgArmRight
-  name: medical cyborg right arm
-  components:
-    - type: Sprite
-      state: medical_r_arm
-    - type: Icon
-      state: medical_r_arm
-    - type: Tag
-      tags:
-        - Trash
-        - BorgArm
-        - BorgMedicalRArm
-
-- type: entity
-  id: LeftLegBorgMedical
-  parent: BaseBorgLegLeft
-  name: medical cyborg left leg
-  components:
-    - type: Sprite
-      state: medical_l_leg
-    - type: Icon
-      state: medical_l_leg
-    - type: Tag
-      tags:
-        - Trash
-        - BorgLeg
-        - BorgMedicalLLeg
-
-- type: entity
-  id: RightLegBorgMedical
-  parent: BaseBorgLegRight
-  name: medical cyborg right leg
-  components:
-    - type: Sprite
-      state: medical_r_leg
-    - type: Icon
-      state: medical_r_leg
-    - type: Tag
-      tags:
-        - Trash
-        - BorgLeg
-        - BorgMedicalRLeg
-
-- type: entity
-  id: HeadBorgMedical
-  parent: BaseBorgHead
-  name: medical cyborg head
-  components:
-    - type: Sprite
-      state: medical_head
-    - type: Icon
-      state: medical_head
-    - type: Tag
-      tags:
-        - Trash
-        - BorgHead
-        - BorgMedicalHead
-
-- type: entity
-  id: TorsoBorgMedical
-  parent: BaseBorgTorso
-  name: medical cyborg torso
-  components:
-    - type: Sprite
-      state: medical_chest
-    - type: Icon
-      state: medical_chest
-    - type: Tag
-      tags:
-        - Trash
-        - BorgMedicalTorso
-
-# mining parts
-- type: entity
-  id: LeftArmBorgMining
-  parent: BaseBorgArmLeft
-  name: mining cyborg left arm
-  components:
-    - type: Sprite
-      state: mining_l_arm
-    - type: Icon
-      state: mining_l_arm
-    - type: Tag
-      tags:
-        - Trash
-        - BorgArm
-        - BorgMiningLArm
-
-- type: entity
-  id: RightArmBorgMining
-  parent: BaseBorgArmRight
-  name: mining cyborg right arm
-  components:
-    - type: Sprite
-      state: mining_r_arm
-    - type: Icon
-      state: mining_r_arm
-    - type: Tag
-      tags:
-        - Trash
-        - BorgArm
-        - BorgMiningRArm
-
-- type: entity
-  id: LeftLegBorgMining
-  parent: BaseBorgLegLeft
-  name: mining cyborg left leg
-  components:
-    - type: Sprite
-      state: mining_l_leg
-    - type: Icon
-      state: mining_l_leg
-    - type: Tag
-      tags:
-        - Trash
-        - BorgLeg
-        - BorgMiningLLeg
-
-- type: entity
-  id: RightLegBorgMining
-  parent: BaseBorgLegRight
-  name: mining cyborg right leg
-  components:
-    - type: Sprite
-      state: mining_r_leg
-    - type: Icon
-      state: mining_r_leg
-    - type: Tag
-      tags:
-        - Trash
-        - BorgLeg
-        - BorgMiningRLeg
-
-- type: entity
-  id: HeadBorgMining
-  parent: BaseBorgHead
-  name: mining cyborg head
-  components:
-    - type: Sprite
-      state: mining_head
-    - type: Icon
-      state: mining_head
-    - type: Tag
-      tags:
-        - Trash
-        - BorgHead
-        - BorgMiningHead
-
-- type: entity
-  id: TorsoBorgMining
-  parent: BaseBorgTorso
-  name: mining cyborg torso
-  components:
-    - type: Sprite
-      state: mining_chest
-    - type: Icon
-      state: mining_chest
-    - type: Tag
-      tags:
-        - Trash
-        - BorgMiningTorso
-
-# service parts
-- type: entity
-  id: LeftArmBorgService
-  parent: BaseBorgArmLeft
-  name: service cyborg left arm
-  components:
-  - type: Sprite
-    state: service_l_arm
-  - type: Icon
-    state: service_l_arm
-  - type: Tag
-    tags:
-    - Trash
-    - BorgArm
-    - BorgServiceLArm
-
-- type: entity
-  id: RightArmBorgService
-  parent: BaseBorgArmRight
-  name: service cyborg right arm
-  components:
-  - type: Sprite
-    state: service_r_arm
-  - type: Icon
-    state: service_r_arm
-  - type: Tag
-    tags:
-    - Trash
-    - BorgArm
-    - BorgServiceRArm
-
-- type: entity
-  id: LeftLegBorgService
-  parent: BaseBorgLegLeft
-  name: service cyborg left leg
-  components:
-  - type: Sprite
-    state: service_l_leg
-  - type: Icon
-    state: service_l_leg
-  - type: Tag
-    tags:
-    - Trash
-    - BorgLeg
-    - BorgServiceLLeg
-
-- type: entity
-  id: RightLegBorgService
-  parent: BaseBorgLegRight
-  name: service cyborg right leg
-  components:
-  - type: Sprite
-    state: service_r_leg
-  - type: Icon
-    state: service_r_leg
-  - type: Tag
-    tags:
-    - Trash
-    - BorgLeg
-    - BorgServiceRLeg
-
-- type: entity
-  id: HeadBorgService
-  parent: BaseBorgHead
-  name: service cyborg head
-  components:
-  - type: Sprite
-    state: service_head
-  - type: Icon
-    state: service_head
-  - type: Tag
-    tags:
-    - Trash
-    - BorgHead
-    - BorgServiceHead
-
-- type: entity
-  id: TorsoBorgService
-  parent: BaseBorgTorso
-  name: service cyborg torso
-  components:
-  - type: Sprite
-    state: service_chest
-  - type: Icon
-    state: service_chest
-  - type: Tag
-    tags:
-    - Trash
-    - BorgServiceTorso
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml
index 9261e06ea2a..6afc06a7967 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml
@@ -33,139 +33,27 @@
       borg_l_arm+o:
         whitelist:
           tags:
-          - BorgGenericLArm
+          - BorgLArm
       borg_r_arm+o:
         whitelist:
           tags:
-          - BorgGenericRArm
+          - BorgRArm
       borg_l_leg+o:
         whitelist:
           tags:
-          - BorgGenericLLeg
+          - BorgLLeg
       borg_r_leg+o:
         whitelist:
           tags:
-          - BorgGenericRLeg
+          - BorgRLeg
       borg_head+o:
         whitelist:
           tags:
-          - BorgGenericHead
+          - BorgHead
       borg_chest+o:
         whitelist:
           tags:
-          - BorgGenericTorso
-      service_l_arm+o:
-        whitelist:
-          tags:
-          - BorgServiceLArm
-      service_r_arm+o:
-        whitelist:
-          tags:
-          - BorgServiceRArm
-      service_l_leg+o:
-        whitelist:
-          tags:
-          - BorgServiceLLeg
-      service_r_leg+o:
-        whitelist:
-          tags:
-          - BorgServiceRLeg
-      service_head+o:
-        whitelist:
-          tags:
-          - BorgServiceHead
-      service_chest+o:
-        whitelist:
-          tags:
-          - BorgServiceTorso
-      engineer_l_arm+o:
-        whitelist:
-          tags:
-          - BorgEngineerLArm
-      engineer_r_arm+o:
-        whitelist:
-          tags:
-          - BorgEngineerRArm
-      engineer_l_leg+o:
-        whitelist:
-          tags:
-          - BorgEngineerLLeg
-      engineer_r_leg+o:
-        whitelist:
-          tags:
-          - BorgEngineerRLeg
-      engineer_head+o:
-        whitelist:
-          tags:
-          - BorgEngineerHead
-      engineer_chest+o:
-        whitelist:
-          tags:
-          - BorgEngineerTorso
-      mining_l_arm+o:
-        whitelist:
-          tags:
-            - BorgMiningLArm
-      mining_r_arm+o:
-        whitelist:
-          tags:
-            - BorgMiningRArm
-      mining_l_leg+o:
-        whitelist:
-          tags:
-            - BorgMiningLLeg
-      mining_r_leg+o:
-        whitelist:
-          tags:
-            - BorgMiningRLeg
-      mining_head+o:
-        whitelist:
-          tags:
-            - BorgMiningHead
-      mining_chest+o:
-        whitelist:
-          tags:
-            - BorgMiningTorso
-      medical_l_arm+o:
-        whitelist:
-          tags:
-            - BorgMedicalLArm
-      medical_r_arm+o:
-        whitelist:
-          tags:
-            - BorgMedicalRArm
-      medical_l_leg+o:
-        whitelist:
-          tags:
-            - BorgMedicalLLeg
-      medical_r_leg+o:
-        whitelist:
-          tags:
-            - BorgMedicalRLeg
-      medical_head+o:
-        whitelist:
-          tags:
-            - BorgMedicalHead
-      medical_chest+o:
-        whitelist:
-          tags:
-            - BorgMedicalTorso
-      janitor_l_leg+o:
-        whitelist:
-          tags:
-            - BorgJanitorLLeg
-      janitor_r_leg+o:
-        whitelist:
-          tags:
-            - BorgJanitorRLeg
-      janitor_head+o:
-        whitelist:
-          tags:
-            - BorgJanitorHead
-      janitor_chest+o:
-        whitelist:
-          tags:
-            - BorgJanitorTorso
+          - BorgTorso
   - type: ContainerContainer
     containers:
       part-container: !type:Container
@@ -173,45 +61,12 @@
   - type: PartAssembly
     parts:
       generic:
-      - BorgGenericLArm
-      - BorgGenericRArm
-      - BorgGenericLLeg
-      - BorgGenericRLeg
-      - BorgGenericHead
-      - BorgGenericTorso
-      service:
-      - BorgServiceLArm
-      - BorgServiceRArm
-      - BorgServiceLLeg
-      - BorgServiceRLeg
-      - BorgServiceHead
-      - BorgServiceTorso
-      engineer:
-      - BorgEngineerLArm
-      - BorgEngineerRArm
-      - BorgEngineerLLeg
-      - BorgEngineerRLeg
-      - BorgEngineerHead
-      - BorgEngineerTorso
-      medical:
-      - BorgMedicalLArm
-      - BorgMedicalRArm
-      - BorgMedicalLLeg
-      - BorgMedicalRLeg
-      - BorgMedicalHead
-      - BorgMedicalTorso
-      janitor:
-      - BorgJanitorLLeg
-      - BorgJanitorRLeg
-      - BorgJanitorHead
-      - BorgJanitorTorso
-      mining:
-      - BorgMiningLArm
-      - BorgMiningRArm
-      - BorgMiningLLeg
-      - BorgMiningRLeg
-      - BorgMiningHead
-      - BorgMiningTorso
+      - BorgLArm
+      - BorgRArm
+      - BorgLLeg
+      - BorgRLeg
+      - BorgHead
+      - BorgTorso
   - type: Construction
     graph: Cyborg
     node: start
diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
index 020566ad1a7..6a94891d127 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
@@ -572,11 +572,6 @@
     - BorgModuleFireExtinguisher
     - BorgModuleRadiationDetection
     - BorgModuleTool
-    - BorgModuleAppraisal
-    - BorgModuleConstruction
-    - BorgModuleService
-    - BorgModuleTreatment
-    - BorgModuleCleaning
     - CyborgEndoskeleton
     - LeftArmBorg
     - RightArmBorg
@@ -584,50 +579,15 @@
     - RightLegBorg
     - LightHeadBorg
     - TorsoBorg
-    - LeftArmBorgEngineer
-    - RightArmBorgEngineer
-    - LeftLegBorgEngineer
-    - RightLegBorgEngineer
-    - HeadBorgEngineer
-    - TorsoBorgEngineer
-    - LeftLegBorgJanitor
-    - RightLegBorgJanitor
-    - HeadBorgJanitor
-    - TorsoBorgJanitor
-    - LeftArmBorgMedical
-    - RightArmBorgMedical
-    - LeftLegBorgMedical
-    - RightLegBorgMedical
-    - HeadBorgMedical
-    - TorsoBorgMedical
-    - LeftArmBorgMining
-    - RightArmBorgMining
-    - LeftLegBorgMining
-    - RightLegBorgMining
-    - HeadBorgMining
-    - TorsoBorgMining
-    - LeftArmBorgService
-    - RightArmBorgService
-    - LeftLegBorgService
-    - RightLegBorgService
-    - HeadBorgService
-    - TorsoBorgService
     dynamicRecipes:
     - ProximitySensor
-    - BorgModuleLightReplacer
     - BorgModuleAdvancedCleaning
-    - BorgModuleMining
-    - BorgModuleGrapplingGun
     - BorgModuleAdvancedTool
     - BorgModuleGPS
-    - BorgModuleRCD
     - BorgModuleArtifact
     - BorgModuleAnomaly
     - BorgModuleGardening
     - BorgModuleHarvesting
-    - BorgModuleMusique
-    - BorgModuleClowning
-    - BorgModuleDiagnosis
     - BorgModuleDefibrillator
     - BorgModuleAdvancedTreatment
     - RipleyHarness
diff --git a/Resources/Prototypes/InventoryTemplates/borg.yml b/Resources/Prototypes/InventoryTemplates/borg.yml
index d43519f61cf..3d3ef29eb03 100644
--- a/Resources/Prototypes/InventoryTemplates/borg.yml
+++ b/Resources/Prototypes/InventoryTemplates/borg.yml
@@ -26,8 +26,7 @@
   - name: head
     slotTexture: head
     slotFlags: HEAD
-    slotGroup: MainHotbar
-    uiWindowPos: 0,0
+    uiWindowPos: 1,0
     strippingWindowPos: 0,0
     displayName: Head
     offset: 0.015625, 0
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
index 0f012cefc98..4ebc43667c5 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml
@@ -5,18 +5,6 @@
   - node: start
     entity: CyborgEndoskeleton
     edges:
-
-    # empty the parts via prying
-    - to: start
-      conditions:
-      - !type:ContainerNotEmpty
-        container: part-container
-      steps:
-      - tool: Prying
-        doAfter: 0.5
-        completed:
-          - !type:EmptyAllContainers
-
     - to: cyborg
       steps:
       - assemblyId: generic
@@ -43,165 +31,6 @@
 
       - tool: Screwing
         doAfter: 0.5
-    
-    - to: engineer
-      steps:
-      - assemblyId: engineer
-        guideString: borg-construction-guide-string
-
-      - material: Cable
-        amount: 1
-        doAfter: 1
-        store: part-container
-
-      - component: Flash
-        name: flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - component: Flash
-        name: second flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - tool: Screwing
-        doAfter: 0.5
-
-    - to: janitor
-      steps:
-      - assemblyId: janitor
-        guideString: borg-construction-guide-string
-
-      - material: Cable
-        amount: 1
-        doAfter: 1
-        store: part-container
-
-      - component: Flash
-        name: flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - component: Flash
-        name: second flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - tool: Screwing
-        doAfter: 0.5
-
-    - to: medical
-      steps:
-      - assemblyId: medical
-        guideString: borg-construction-guide-string
-
-      - material: Cable
-        amount: 1
-        doAfter: 1
-        store: part-container
-
-      - component: Flash
-        name: flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - component: Flash
-        name: second flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - tool: Screwing
-        doAfter: 0.5
-
-    - to: mining
-      steps:
-      - assemblyId: mining
-        guideString: borg-construction-guide-string
-
-      - material: Cable
-        amount: 1
-        doAfter: 1
-        store: part-container
-
-      - component: Flash
-        name: flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - component: Flash
-        name: second flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - tool: Screwing
-        doAfter: 0.5
-
-    - to: service
-      steps:
-      - assemblyId: service
-        guideString: borg-construction-guide-string
-
-      - material: Cable
-        amount: 1
-        doAfter: 1
-        store: part-container
-
-      - component: Flash
-        name: flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - component: Flash
-        name: second flash
-        store: part-container
-        icon:
-          sprite: Objects/Weapons/Melee/flash.rsi
-          state: flash
-
-      - tool: Screwing
-        doAfter: 0.5
 
   - node: cyborg
-    entity: BorgChassisGeneric
-
-  - node: engineer
-    entity: BorgChassisEngineer
-
-  - node: janitor
-    entity: BorgChassisJanitor
-
-  - node: mining
-    entity: BorgChassisMining
-
-  - node: medical
-    entity: BorgChassisMedical
-
-  - node: service
-    entity: BorgChassisService
-
-  - node: syndicateassault
-    entity: BorgChassisSyndicateAssault
-
-  - node: syndicatemedical
-    entity: BorgChassisSyndicateMedical
-
-  - node: syndicatesaboteur
-    entity: BorgChassisSyndicateSaboteur
+    entity: BorgChassisSelectable
diff --git a/Resources/Prototypes/Recipes/Lathes/robotics.yml b/Resources/Prototypes/Recipes/Lathes/robotics.yml
index bf8deba9840..a4413e01ebe 100644
--- a/Resources/Prototypes/Recipes/Lathes/robotics.yml
+++ b/Resources/Prototypes/Recipes/Lathes/robotics.yml
@@ -61,8 +61,6 @@
   materials:
     Steel: 1500
 
-# Generic
-
 - type: latheRecipe
   parent: BaseBorgLimbRecipe
   id: LeftArmBorg
@@ -93,162 +91,6 @@
   id: TorsoBorg
   result: TorsoBorg
 
-# Engineer
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftArmBorgEngineer
-  result: LeftArmBorgEngineer
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightArmBorgEngineer
-  result: RightArmBorgEngineer
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftLegBorgEngineer
-  result: LeftLegBorgEngineer
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightLegBorgEngineer
-  result: RightLegBorgEngineer
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: HeadBorgEngineer
-  result: HeadBorgEngineer
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: TorsoBorgEngineer
-  result: TorsoBorgEngineer
-
-# Medical
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftArmBorgMedical
-  result: LeftArmBorgMedical
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightArmBorgMedical
-  result: RightArmBorgMedical
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftLegBorgMedical
-  result: LeftLegBorgMedical
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightLegBorgMedical
-  result: RightLegBorgMedical
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: HeadBorgMedical
-  result: HeadBorgMedical
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: TorsoBorgMedical
-  result: TorsoBorgMedical
-
-# Mining
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftArmBorgMining
-  result: LeftArmBorgMining
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightArmBorgMining
-  result: RightArmBorgMining
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftLegBorgMining
-  result: LeftLegBorgMining
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightLegBorgMining
-  result: RightLegBorgMining
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: HeadBorgMining
-  result: HeadBorgMining
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: TorsoBorgMining
-  result: TorsoBorgMining
-
-# Service
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftArmBorgService
-  result: LeftArmBorgService
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightArmBorgService
-  result: RightArmBorgService
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftLegBorgService
-  result: LeftLegBorgService
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightLegBorgService
-  result: RightLegBorgService
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: HeadBorgService
-  result: HeadBorgService
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: TorsoBorgService
-  result: TorsoBorgService
-
-# Janitor
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: LeftLegBorgJanitor
-  result: LeftLegBorgJanitor
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: RightLegBorgJanitor
-  result: RightLegBorgJanitor
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: HeadBorgJanitor
-  result: HeadBorgJanitor
-  materials:
-    Steel: 500
-    Glass: 200
-
-- type: latheRecipe
-  parent: BaseBorgLimbRecipe
-  id: TorsoBorgJanitor
-  result: TorsoBorgJanitor
-  materials:
-    Steel: 500
-    Glass: 200
-
 # Parts
 
 - type: latheRecipe
@@ -304,23 +146,6 @@
   id: BorgModuleTool
   result: BorgModuleTool
 
-# Mining Modules
-
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleAppraisal
-  result: BorgModuleAppraisal
-
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleMining
-  result: BorgModuleMining
-
-- type: latheRecipe
-  parent: BaseGoldBorgModuleRecipe
-  id: BorgModuleGrapplingGun
-  result: BorgModuleGrapplingGun
-
 # Engineering Modules
 
 - type: latheRecipe
@@ -328,28 +153,8 @@
   id: BorgModuleAdvancedTool
   result: BorgModuleAdvancedTool
 
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleConstruction
-  result: BorgModuleConstruction
-
-- type: latheRecipe
-  parent: BaseGoldBorgModuleRecipe
-  id: BorgModuleRCD
-  result: BorgModuleRCD
-
 # Janitor Modules
 
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleLightReplacer
-  result: BorgModuleLightReplacer
-
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleCleaning
-  result: BorgModuleCleaning
-
 - type: latheRecipe
   parent: BaseGoldBorgModuleRecipe
   id: BorgModuleAdvancedCleaning
@@ -357,16 +162,6 @@
 
 # Medical Modules
 
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleDiagnosis
-  result: BorgModuleDiagnosis
-
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleTreatment
-  result: BorgModuleTreatment
-
 - type: latheRecipe
   parent: BaseGoldBorgModuleRecipe
   id: BorgModuleAdvancedTreatment
@@ -391,16 +186,6 @@
 
 # Service Modules
 
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleService
-  result: BorgModuleService
-
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleMusique
-  result: BorgModuleMusique
-
 - type: latheRecipe
   parent: BaseBorgModuleRecipe
   id: BorgModuleGardening
@@ -410,8 +195,3 @@
   parent: BaseBorgModuleRecipe
   id: BorgModuleHarvesting
   result: BorgModuleHarvesting
-
-- type: latheRecipe
-  parent: BaseBorgModuleRecipe
-  id: BorgModuleClowning
-  result: BorgModuleClowning
diff --git a/Resources/Prototypes/Research/civilianservices.yml b/Resources/Prototypes/Research/civilianservices.yml
index b990eb6ae40..9430c391a99 100644
--- a/Resources/Prototypes/Research/civilianservices.yml
+++ b/Resources/Prototypes/Research/civilianservices.yml
@@ -66,8 +66,6 @@
   recipeUnlocks:
     - ComputerTelevisionCircuitboard
     - SynthesizerInstrument
-    - BorgModuleMusique
-    - BorgModuleClowning
     - DawInstrumentMachineCircuitboard
     - MassMediaCircuitboard
     - JukeboxCircuitBoard
@@ -82,7 +80,6 @@
   tier: 1
   cost: 5000
   recipeUnlocks:
-  - BorgModuleLightReplacer
   - BorgModuleAdvancedCleaning
 
 - type: technology
diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml
index e65c734ffda..817e50834b7 100644
--- a/Resources/Prototypes/Research/industrial.yml
+++ b/Resources/Prototypes/Research/industrial.yml
@@ -12,8 +12,6 @@
   recipeUnlocks:
   - MiningDrill
   - MineralScannerEmpty
-  - BorgModuleMining
-  - BorgModuleGrapplingGun
   - OreProcessorIndustrialMachineCircuitboard
   - ClothingMaskWeldingGas
 
@@ -168,7 +166,6 @@
     - PowerDrill
     - JawsOfLife
     - BorgModuleAdvancedTool
-    - BorgModuleRCD
 
 - type: technology
   id: MassExcavation
diff --git a/Resources/Prototypes/Roles/Jobs/Science/borg.yml b/Resources/Prototypes/Roles/Jobs/Science/borg.yml
index 4cbede17ca2..c62482d286e 100644
--- a/Resources/Prototypes/Roles/Jobs/Science/borg.yml
+++ b/Resources/Prototypes/Roles/Jobs/Science/borg.yml
@@ -25,5 +25,5 @@
   canBeAntag: false
   icon: JobIconBorg
   supervisors: job-supervisors-rd
-  jobEntity: PlayerBorgGeneric
+  jobEntity: PlayerBorgBattery
   applyTraits: false
diff --git a/Resources/Prototypes/borg_types.yml b/Resources/Prototypes/borg_types.yml
new file mode 100644
index 00000000000..f6294be68e3
--- /dev/null
+++ b/Resources/Prototypes/borg_types.yml
@@ -0,0 +1,218 @@
+# Generic borg
+- type: borgType
+  id: generic
+
+  # Description
+  dummyPrototype: BorgChassisGeneric
+
+  # Functional
+  extraModuleCount: 5
+  moduleWhitelist:
+    tags:
+    - BorgModuleGeneric
+
+  defaultModules:
+  - BorgModuleTool
+
+  radioChannels:
+  - Science
+
+  # Visual
+  inventoryTemplateId: borgShort
+  spriteBodyState: robot
+  spriteHasMindState: robot_e
+  spriteNoMindState: robot_e_r
+  spriteToggleLightState: robot_l
+
+  # Pet
+  petSuccessString: petting-success-generic-cyborg
+  petFailureString: petting-failure-generic-cyborg
+
+
+# Engineering borg
+- type: borgType
+  id: engineering
+
+  # Description
+  dummyPrototype: BorgChassisEngineer
+
+  # Functional
+  extraModuleCount: 3
+  moduleWhitelist:
+    tags:
+    - BorgModuleGeneric
+    - BorgModuleEngineering
+
+  defaultModules:
+  - BorgModuleTool
+  - BorgModuleConstruction
+  - BorgModuleRCD
+  - BorgModuleCable
+
+  radioChannels:
+  - Engineering
+  - Science
+
+  # Visual
+  inventoryTemplateId: borgShort
+  spriteBodyState: engineer
+  spriteHasMindState: engineer_e
+  spriteNoMindState: engineer_e_r
+  spriteToggleLightState: engineer_l
+
+  # Pet
+  petSuccessString: petting-success-engineer-cyborg
+  petFailureString: petting-failure-engineer-cyborg
+
+
+# Salvage borg
+- type: borgType
+  id: mining
+
+  # Description
+  dummyPrototype: BorgChassisMining
+
+  # Functional
+  extraModuleCount: 3
+  moduleWhitelist:
+    tags:
+    - BorgModuleGeneric
+    - BorgModuleCargo
+
+  defaultModules:
+  - BorgModuleGrapplingGun
+  - BorgModuleMining
+  - BorgModuleAppraisal
+
+  radioChannels:
+  - Supply
+  - Science
+
+  # Visual
+  inventoryTemplateId: borgTall
+  spriteBodyState: miner
+  spriteBodyMovementState: miner_moving
+  spriteHasMindState: miner_e
+  spriteNoMindState: miner_e_r
+  spriteToggleLightState: miner_l
+
+  # Pet
+  petSuccessString: petting-success-salvage-cyborg
+  petFailureString: petting-failure-salvage-cyborg
+
+
+# Janitor borg
+- type: borgType
+  id: janitor
+
+  # Description
+  dummyPrototype: BorgChassisJanitor
+
+  # Functional
+  extraModuleCount: 3
+  moduleWhitelist:
+    tags:
+    - BorgModuleGeneric
+    - BorgModuleJanitor
+
+  defaultModules:
+  - BorgModuleLightReplacer
+  - BorgModuleCleaning
+
+  radioChannels:
+  - Science
+  - Service
+
+  # Visual
+  inventoryTemplateId: borgShort
+  spriteBodyState: janitor
+  spriteBodyMovementState: janitor_moving
+  spriteHasMindState: janitor_e
+  spriteNoMindState: janitor_e_r
+  spriteToggleLightState: janitor_l
+
+  # Pet
+  petSuccessString: petting-success-janitor-cyborg
+  petFailureString: petting-failure-janitor-cyborg
+
+
+# Medical borg
+- type: borgType
+  id: medical
+
+  # Description
+  dummyPrototype: BorgChassisMedical
+
+  # Functional
+  extraModuleCount: 3
+  moduleWhitelist:
+    tags:
+    - BorgModuleGeneric
+    - BorgModuleMedical
+
+  defaultModules:
+  - BorgModuleTreatment
+
+  radioChannels:
+  - Science
+  - Medical
+
+  addComponents:
+  - type: SolutionScanner
+  - type: ShowHealthBars
+    damageContainers:
+    - Biological
+  - type: ShowHealthIcons
+    damageContainers:
+    - Biological
+
+  # Visual
+  inventoryTemplateId: borgDutch
+  spriteBodyState: medical
+  spriteBodyMovementState: medical_moving
+  spriteHasMindState: medical_e
+  spriteNoMindState: medical_e_r
+  spriteToggleLightState: medical_l
+
+  # Pet
+  petSuccessString: petting-success-medical-cyborg
+  petFailureString: petting-failure-medical-cyborg
+
+  # Sounds
+  footstepCollection:
+    collection: FootstepHoverBorg
+
+
+# Service borg
+- type: borgType
+  id: service
+
+  # Description
+  dummyPrototype: BorgChassisService
+
+  # Functional
+  extraModuleCount: 3
+  moduleWhitelist:
+    tags:
+    - BorgModuleGeneric
+    - BorgModuleService
+
+  defaultModules:
+  - BorgModuleMusique
+  - BorgModuleService
+  - BorgModuleClowning
+
+  radioChannels:
+  - Science
+  - Service
+
+  # Visual
+  inventoryTemplateId: borgTall
+  spriteBodyState: service
+  spriteHasMindState: service_e
+  spriteNoMindState: service_e_r
+  spriteToggleLightState: service_l
+
+  # Pet
+  petSuccessString: petting-success-service-cyborg
+  petFailureString: petting-failure-service-cyborg
diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml
index be9c90ce93d..6112f93c164 100644
--- a/Resources/Prototypes/tags.yml
+++ b/Resources/Prototypes/tags.yml
@@ -75,95 +75,26 @@
 - type: Tag
   id: BorgArm
 
-- type: Tag
-  id: BorgEngineerHead
-
-- type: Tag
-  id: BorgEngineerLArm
-
-- type: Tag
-  id: BorgEngineerLLeg
-
-- type: Tag
-  id: BorgEngineerRArm
-
-- type: Tag
-  id: BorgEngineerRLeg
-
-- type: Tag
-  id: BorgEngineerTorso
-
-- type: Tag
-  id: BorgGenericHead
-
-- type: Tag
-  id: BorgGenericLArm
-
-- type: Tag
-  id: BorgGenericLLeg
-
-- type: Tag
-  id: BorgGenericRArm
-
-- type: Tag
-  id: BorgGenericRLeg
-
-- type: Tag
-  id: BorgGenericTorso
-
 - type: Tag
   id: BorgHead
 
 - type: Tag
-  id: BorgJanitorHead
-
-- type: Tag
-  id: BorgJanitorLLeg
-
-- type: Tag
-  id: BorgJanitorRLeg
-
-- type: Tag
-  id: BorgJanitorTorso
+  id: BorgLArm
 
 - type: Tag
-  id: BorgLeg
-
-- type: Tag
-  id: BorgMedicalHead
-
-- type: Tag
-  id: BorgMedicalLArm
-
-- type: Tag
-  id: BorgMedicalLLeg
-
-- type: Tag
-  id: BorgMedicalRArm
-
-- type: Tag
-  id: BorgMedicalRLeg
-
-- type: Tag
-  id: BorgMedicalTorso
-
-- type: Tag
-  id: BorgMiningHead
+  id: BorgLLeg
 
 - type: Tag
-  id: BorgMiningLArm
+  id: BorgRArm
 
 - type: Tag
-  id: BorgMiningLLeg
+  id: BorgRLeg
 
 - type: Tag
-  id: BorgMiningRArm
+  id: BorgTorso
 
 - type: Tag
-  id: BorgMiningRLeg
-
-- type: Tag
-  id: BorgMiningTorso
+  id: BorgLeg
 
 - type: Tag
   id: BorgModuleCargo
@@ -189,24 +120,6 @@
 - type: Tag
   id: BorgModuleSyndicateAssault
 
-- type: Tag
-  id: BorgServiceHead
-
-- type: Tag
-  id: BorgServiceLArm
-
-- type: Tag
-  id: BorgServiceLLeg
-
-- type: Tag
-  id: BorgServiceRArm
-
-- type: Tag
-  id: BorgServiceRLeg
-
-- type: Tag
-  id: BorgServiceTorso
-
 - type: Tag
   id: Bot
 
diff --git a/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml b/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml
index 2b8defb0705..c1507ca5396 100644
--- a/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml
+++ b/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml
@@ -18,28 +18,28 @@
   </Box>
   Both brains can be fabricated without requiring any additional research.
 
-  ## Chassis
-  While all cyborgs share the same endoskeleton, not all share the same chassis. The chassis determines what modules the cyborg can have, along with the [color=#a4885c]departmental radio channel[/color] they correspond to. By default, they will always have access to [color=#D381C9]Science[/color] and [color=green]station-wide[/color] frequencies, along with having [color=#a4885c]all-access[/color].
+  ## Cyborg types
+  Once created, a cyborg needs to specialize its chassis to a duty on the station. This determines what modules it starts with, which additional modules can be installed, and what [color=#a4885c]departmental radio channel[/color] it has access to. All cyborgs have access to the [color=#D381C9]Science[/color] and [color=green]station-wide[/color] radio channels. All cyborg types have [color=#a4885c]all-access[/color].
   <Box>
     <GuideEntityEmbed Entity="BorgChassisGeneric" Caption="Generic"/>
     <GuideEntityEmbed Entity="BorgChassisEngineer" Caption="Engineering"/>
-    <GuideEntityEmbed Entity="BorgChassisMining" Caption="Mining"/>
+    <GuideEntityEmbed Entity="BorgChassisMining" Caption="Salvage"/>
     <GuideEntityEmbed Entity="BorgChassisJanitor" Caption="Janitor"/>
     <GuideEntityEmbed Entity="BorgChassisService" Caption="Service"/>
     <GuideEntityEmbed Entity="BorgChassisMedical" Caption="Medical"/>
   </Box>
   <Box>
-    [italic]Examples of various cyborg chassis[/italic]
+    [italic]Examples of various cyborg types[/italic]
   </Box>
-  If you wish to change the chassis of an already existing cyborg, you have to construct a whole new one, limbs and frame included. The brain, power cell and modules [italic](if it can fit in the new chassis,)[/italic] can be carried over from the old chassis, if desired.
+  Once a cyborg chassis has been specialized, it cannot be changed. To change types, a new chassis must be constructed. The brain, power cell, and any modules [italic](if they are compatible with the new chassis)[/italic] can be carried over from the old chassis if desired.
 
   ## Modules
   <Box>
     <GuideEntityEmbed Entity="BorgModuleTool" Caption="Tool Cyborg Module"/>
   </Box>
-  A cyborg isn't able to do much without [color=#a4885c]modules[/color]. These printed circuit boards are specific to cyborgs and grant additional functionality to them. They are printed at the [color=#a4885c]Exosuit Fabricator[/color].
+  Cyborgs do not have hands, and therefore cannot pick things up like most other players. Instead, their equipment is provided by various [color=#a4885c]modules[/color]. Every cyborg type starts with its own specific set of modules, but additional modules can be inserted as upgrades. These additional modules can be printed at the [color=#a4885c]Exosuit Fabricator[/color].
 
-  [color=#a4885c]Generic[/color] modules add versatility. They can be fitted into any chassis, granting useful tools such as crowbars, GPS, and the ability to interact with cables. [bold]The generic borg chassis can fit up to 6 modules in total.[/bold]
+  [color=#a4885c]Generic[/color] modules add versatility. They can be fitted into any chassis, granting useful tools such as crowbars, GPS, and the ability to interact with cables. [bold]The generic cyborg chassis can fit up to five additional modules.[/bold]
   <Box>
     <GuideEntityEmbed Entity="BorgModuleCable" Caption="Cable"/>
     <GuideEntityEmbed Entity="BorgModuleGPS" Caption="GPS"/>
@@ -49,7 +49,7 @@
     [italic]Examples of generic modules[/italic]
   </Box>
 
-  For more specific needs, [color=#a4885c]specialized[/color] modules are available, granting capabilities like scanning anomalies, constructing walls, reviving crew mates, or cleaning a space lube spill. These modules are typically colored with the same palette as the department [italic](or occupation)[/italic] they relate to. These modules [italic](with exception to [color=#D381C9]science[/color] modules, which can fit any chassis,)[/italic] can only be fitted in their associated borg chassis. [bold]The specialized borg chassis, being the engineering, janitorial, service, medical, and mining chassis, can fit up to 4 modules.[/bold]
+  For more specific needs, [color=#a4885c]specialized[/color] modules are available, granting capabilities like scanning anomalies, constructing walls, reviving crew mates, or cleaning a space lube spill. These modules are typically colored with the same palette as the department [italic](or occupation)[/italic] they relate to. These modules [italic](with exception to [color=#D381C9]science[/color] modules, which can fit any chassis,)[/italic] can only be fitted in their associated borg chassis. [bold]The specialized borg chassis, being the engineering, janitorial, service, medical, and mining chassis, can fit up to three additional modules.[/bold]
   <Box>
     <GuideEntityEmbed Entity="BorgModuleAnomaly" Caption="Anomaly"/>
     <GuideEntityEmbed Entity="BorgModuleRCD" Caption="RCD"/>
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
index dc8a6fcf9c6..2ebb6eddcf5 100644
--- a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
+++ b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
@@ -48,7 +48,7 @@
         },
         {
             "name":"light-replacer-module"
-        }, 
+        },
         {
             "name":"cleaning-module"
         },
@@ -102,6 +102,9 @@
         },
         {
             "name":"syndicate-martyr-module"
+        },
+        {
+            "name": "select-type"
         }
     ]
 }
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/select-type.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/select-type.png
new file mode 100644
index 0000000000000000000000000000000000000000..766fd71abd0d865e7e4fe89a8137ebafc0c7e5ee
GIT binary patch
literal 408
zcmV;J0cZY+P)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F800001b5ch_0Itp)
z=>Px$Qb|NXR9J=WS22%+AQXO(nnJGeEyctxoo?;a|Nlpt4qeVfbRe<8$=rm82<>^1
z)4^}zJ%sP$6VOKh0J7}Vzyc`Cufs0OPK^-x68r!F&CZUbEZBdr3X!*_-3ySiU}>7d
z@tC##VL#})ZV*#Se@$LhC6lsXM#R8@B-yu0sS&|kpp-(A>{|fnogN54#AxKUh`N@2
zJP;6b^|k;Tn*-}~;PJS9#2`PPKc9;_fQZZP0j1Pv4-6ti1Vrp(t#xoRt##jT+IH-N
zJ3qi12RP@TwFb`lh}_M&u@93Sutm6VbG8E^Om@Ib99pg2_g4pAo&q1a$-AU(&iBmZ
zQxIC!yZ0X&H`#%?vC4bE>%ir5eZ~^8eGNAU*6#qo_`iQ{@}L9v`;CPPlPRKJ6)II#
zGD65$fDm~rWx?uNMlH_>A^y_Lh=@t<6$G$sdHxMyApx5dNM}g^0000<MNUMnLSTY8
C>bR8v

literal 0
HcmV?d00001

diff --git a/Resources/migration.yml b/Resources/migration.yml
index 3ed618dcfd7..8940df2b65e 100644
--- a/Resources/migration.yml
+++ b/Resources/migration.yml
@@ -440,3 +440,38 @@ BlueprintFlare: null
 
 # 2024-10-04
 BaseAdvancedPen: Pen
+
+# 2024-10-09
+# Removal of separate borg chassis parts, replace them with generic borg parts.
+LeftArmBorgEngineer: LeftArmBorg
+RightArmBorgEngineer: RightArmBorg
+LeftLegBorgEngineer: LeftLegBorg
+RightLegBorgEngineer: RightLegBorg
+HeadBorgEngineer: LightHeadBorg
+TorsoBorgEngineer: TorsoBorg
+
+LeftArmBorgMedical: LeftArmBorg
+RightArmBorgMedical: RightArmBorg
+LeftLegBorgMedical: LeftLegBorg
+RightLegBorgMedical: RightLegBorg
+HeadBorgMedical: LightHeadBorg
+TorsoBorgMedical: TorsoBorg
+
+LeftArmBorgMining: LeftArmBorg
+RightArmBorgMining: RightArmBorg
+LeftLegBorgMining: LeftLegBorg
+RightLegBorgMining: RightLegBorg
+HeadBorgMining: LightHeadBorg
+TorsoBorgMining: TorsoBorg
+
+LeftArmBorgService: LeftArmBorg
+RightArmBorgService: RightArmBorg
+LeftLegBorgService: LeftLegBorg
+RightLegBorgService: RightLegBorg
+HeadBorgService: LightHeadBorg
+TorsoBorgService: TorsoBorg
+
+LeftLegBorgJanitor: LeftLegBorg
+RightLegBorgJanitor: RightLegBorg
+HeadBorgJanitor: LightHeadBorg
+TorsoBorgJanitor: TorsoBorg

From 0437ec6d56e764458ff0c9a74fbe4ed3e7280007 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Thu, 14 Nov 2024 17:09:42 +0000
Subject: [PATCH 087/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 32 +++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index eb3f7268008..ce0be691a4a 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,18 +1,4 @@
 Entries:
-- author: TheShuEd
-  changes:
-  - message: added morbilliard variants of procedural tacos and kebabs
-    type: Add
-  - message: removed all microwave taco and kebabs recipes (except for the taco shell
-      itself)
-    type: Remove
-  - message: you can fight with a skewer (even if it has food on it)
-    type: Tweak
-  - message: now you can't put more than 10 layers on a burger. (20 before)
-    type: Tweak
-  id: 7109
-  time: '2024-08-14T13:04:00.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30905
 - author: themias
   changes:
   - message: Fixed lizards being unable to eat custom burgers
@@ -3941,3 +3927,21 @@
   id: 7608
   time: '2024-11-14T16:56:22.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33303
+- author: PJB3005
+  changes:
+  - message: Borgs can now select their chassis type upon creation (construction or
+      job spawn), immediately giving borgs access to all chassis types.
+    type: Add
+  - message: Borg chassis types now come with built-in modules depending on the type,
+      so you can immediately do your job without help from science. Some upgrade modules
+      must still be installed later however.
+    type: Add
+  - message: Specialized chassis types have been removed from construction, as they
+      are no longer necessary.
+    type: Remove
+  - message: Borg unlock access is no longer determined by their chassis, it's always
+      science or command. This means the janitor can't unlock jani borgs anymore.
+    type: Remove
+  id: 7609
+  time: '2024-11-14T17:08:35.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32586

From 53ce8123569ac7132ddffe0a5c2a4e236e73d81a Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 18:18:39 +0100
Subject: [PATCH 088/187] slash

---
 Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index f8bc8ca8c31..7587dc41552 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -60,7 +60,7 @@ public sealed class IonStormSystem : EntitySystem
     private const string Foods = "IonStormFoods";
 
     /// <summary>
-    //Randomly alters the laws of an individual silicon.
+    /// Randomly alters the laws of an individual silicon.
     /// </summary>
     public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetComponent> ent, bool adminlog = true)
     {

From 9a5c49b961cd7376e2b9ea4ffcbad78661188149 Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 18:31:50 +0100
Subject: [PATCH 089/187] epic empty commit

---
 Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 7587dc41552..97ad2d8f9ef 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -60,7 +60,7 @@ public sealed class IonStormSystem : EntitySystem
     private const string Foods = "IonStormFoods";
 
     /// <summary>
-    /// Randomly alters the laws of an individual silicon.
+    /// Randomly alters the laws of an individual silicon. Epic test fail
     /// </summary>
     public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetComponent> ent, bool adminlog = true)
     {

From 3b9365160c5bdb98899821f1f79a353fbcd4f6a3 Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Thu, 14 Nov 2024 18:32:02 +0100
Subject: [PATCH 090/187] or was it

---
 Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 97ad2d8f9ef..7587dc41552 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -60,7 +60,7 @@ public sealed class IonStormSystem : EntitySystem
     private const string Foods = "IonStormFoods";
 
     /// <summary>
-    /// Randomly alters the laws of an individual silicon. Epic test fail
+    /// Randomly alters the laws of an individual silicon.
     /// </summary>
     public void IonStormTarget(Entity<SiliconLawBoundComponent, IonStormTargetComponent> ent, bool adminlog = true)
     {

From 2c9f2279d63d7515c1ce2c46054965902ebcd840 Mon Sep 17 00:00:00 2001
From: scrivoy <179060466+scrivoy@users.noreply.github.com>
Date: Thu, 14 Nov 2024 22:30:16 +0100
Subject: [PATCH 091/187] Marathon Station: Added air alarms to CMO, Surgery,
 Security Checkpoint (#33213)

* add air alarms to sec checkpoint, cmo and western surgery

* decals and cleanup
---
 Resources/Maps/marathon.yml | 135 ++++++++++++++++++++++++++++++------
 1 file changed, 112 insertions(+), 23 deletions(-)

diff --git a/Resources/Maps/marathon.yml b/Resources/Maps/marathon.yml
index 00287937989..1f1632004b7 100644
--- a/Resources/Maps/marathon.yml
+++ b/Resources/Maps/marathon.yml
@@ -586,7 +586,6 @@ entities:
             2445: -41,19
             2646: -33,-12
             2665: -28,-14
-            2666: -23,-15
             2667: -19,-23
             2740: -20,-5
             2794: 18,16
@@ -608,6 +607,7 @@ entities:
             2979: -3,-48
             3010: 12,14
             3015: 2,-51
+            3114: -21,-15
         - node:
             angle: 1.5707963267948966 rad
             color: '#FFFFFFFF'
@@ -1039,11 +1039,11 @@ entities:
             color: '#52B4E996'
             id: BrickTileWhiteCornerNw
           decals:
-            2536: -23,-15
             2544: -15,-15
             2602: -19,-19
             2630: -31,-16
             2673: -16,-9
+            3119: -23,-15
         - node:
             color: '#DE3A3A96'
             id: BrickTileWhiteCornerNw
@@ -1068,8 +1068,8 @@ entities:
             color: '#FFFFFFFF'
             id: BrickTileWhiteCornerNw
           decals:
-            2533: -23,-15
             2573: -19,-19
+            3118: -23,-15
         - node:
             color: '#52B4E996'
             id: BrickTileWhiteCornerSe
@@ -4510,9 +4510,9 @@ entities:
             color: '#52B4E996'
             id: WarnLineGreyscaleN
           decals:
-            2537: -22,-15
             2605: -14,-19
             2608: -14,-15
+            3115: -22,-15
         - node:
             color: '#D381C996'
             id: WarnLineGreyscaleN
@@ -7544,6 +7544,16 @@ entities:
       parent: 30
 - proto: AirAlarm
   entities:
+  - uid: 3167
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -23.5,-15.5
+      parent: 30
+    - type: DeviceList
+      devices:
+      - 9046
+      - 9049
   - uid: 6224
     components:
     - type: Transform
@@ -7765,6 +7775,27 @@ entities:
       - 18435
       - 18436
       - 18437
+  - uid: 18082
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -38.5,8.5
+      parent: 30
+    - type: DeviceList
+      devices:
+      - 3077
+      - 3076
+  - uid: 19145
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -35.5,-18.5
+      parent: 30
+    - type: DeviceList
+      devices:
+      - 6935
+      - 6920
+      - 22554
   - uid: 19570
     components:
     - type: Transform
@@ -8808,6 +8839,26 @@ entities:
       - 22084
       - 3484
       - 3481
+  - uid: 22553
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -23.5,-23.5
+      parent: 30
+    - type: DeviceList
+      devices:
+      - 6834
+      - 9713
+  - uid: 22555
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -31.5,-22.5
+      parent: 30
+    - type: DeviceList
+      devices:
+      - 7115
+      - 7119
 - proto: AirAlarmElectronics
   entities:
   - uid: 15214
@@ -11906,6 +11957,14 @@ entities:
     - type: Transform
       pos: -2.5,8.5
       parent: 30
+  - uid: 22554
+    components:
+    - type: Transform
+      pos: -34.5,-23.5
+      parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 19145
 - proto: AltarConvertRed
   entities:
   - uid: 17468
@@ -54920,11 +54979,11 @@ entities:
       parent: 30
 - proto: DefibrillatorCabinetFilled
   entities:
-  - uid: 3167
+  - uid: 6956
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -23.5,-15.5
+      pos: -23.5,-14.5
       parent: 30
   - uid: 6970
     components:
@@ -55583,6 +55642,12 @@ entities:
     - type: Transform
       pos: -19.5,-5.5
       parent: 30
+  - uid: 6953
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -21.5,-14.5
+      parent: 30
   - uid: 7412
     components:
     - type: Transform
@@ -55677,12 +55742,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -19.5,-9.5
       parent: 30
-  - uid: 7354
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -21.5,-14.5
-      parent: 30
   - uid: 12233
     components:
     - type: Transform
@@ -59804,12 +59863,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -18.5,-22.5
       parent: 30
-  - uid: 6956
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -22.5,-14.5
-      parent: 30
   - uid: 6962
     components:
     - type: Transform
@@ -59821,6 +59874,12 @@ entities:
     - type: Transform
       pos: -19.5,-4.5
       parent: 30
+  - uid: 7354
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -20.5,-14.5
+      parent: 30
   - uid: 9753
     components:
     - type: Transform
@@ -60216,11 +60275,6 @@ entities:
     - type: Transform
       pos: -19.5,-4.5
       parent: 30
-  - uid: 6953
-    components:
-    - type: Transform
-      pos: -22.5,-14.5
-      parent: 30
   - uid: 6954
     components:
     - type: Transform
@@ -60296,6 +60350,11 @@ entities:
     - type: Transform
       pos: 14.5,-17.5
       parent: 30
+  - uid: 19150
+    components:
+    - type: Transform
+      pos: -20.5,-14.5
+      parent: 30
   - uid: 19407
     components:
     - type: Transform
@@ -86755,6 +86814,9 @@ entities:
     - type: Transform
       pos: -40.5,10.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 18082
     - type: AtmosPipeColor
       color: '#0000FFFF'
   - uid: 3099
@@ -87044,6 +87106,9 @@ entities:
       rot: 3.141592653589793 rad
       pos: -25.5,-22.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 22553
     - type: AtmosPipeColor
       color: '#0000FFFF'
   - uid: 6900
@@ -87060,6 +87125,9 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -33.5,-16.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 19145
     - type: AtmosPipeColor
       color: '#0000FFFF'
   - uid: 6939
@@ -87086,6 +87154,9 @@ entities:
     - type: Transform
       pos: -28.5,-20.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 22555
     - type: AtmosPipeColor
       color: '#0000FFFF'
   - uid: 7136
@@ -87232,6 +87303,9 @@ entities:
     - type: Transform
       pos: -25.5,-15.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 3167
     - type: AtmosPipeColor
       color: '#0000FFFF'
   - uid: 9686
@@ -88266,6 +88340,9 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -39.5,10.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 18082
     - type: AtmosPipeColor
       color: '#FF0000FF'
   - uid: 3100
@@ -88548,6 +88625,9 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -33.5,-18.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 19145
     - type: AtmosPipeColor
       color: '#FF0000FF'
   - uid: 7098
@@ -88577,6 +88657,9 @@ entities:
       rot: 3.141592653589793 rad
       pos: -28.5,-18.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 22555
     - type: AtmosPipeColor
       color: '#FF0000FF'
   - uid: 7130
@@ -88714,6 +88797,9 @@ entities:
     - type: Transform
       pos: -25.5,-16.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 3167
     - type: AtmosPipeColor
       color: '#FF0000FF'
   - uid: 9713
@@ -88722,6 +88808,9 @@ entities:
       rot: 3.141592653589793 rad
       pos: -25.5,-23.5
       parent: 30
+    - type: DeviceNetwork
+      deviceLists:
+      - 22553
     - type: AtmosPipeColor
       color: '#FF0000FF'
   - uid: 9793

From d205d17ba3d0bee79752915e6e57e7f2f539e0ec Mon Sep 17 00:00:00 2001
From: scrivoy <179060466+scrivoy@users.noreply.github.com>
Date: Fri, 15 Nov 2024 02:04:14 +0100
Subject: [PATCH 092/187] Meta Station: Add a fully functional TEG room
 (#32941)

* initial commit

* delete WIP-marker.md

* add TEG room, move gas chambers up

* remove outside burn chamber button, add naming to APC, SMES, Substation

* add HV below TEG Substation

* removed invalids
---
 Resources/Maps/meta.yml | 5813 +++++++++++++++++++++++++++++----------
 1 file changed, 4385 insertions(+), 1428 deletions(-)

diff --git a/Resources/Maps/meta.yml b/Resources/Maps/meta.yml
index 93a6bc31c42..be14ee8855a 100644
--- a/Resources/Maps/meta.yml
+++ b/Resources/Maps/meta.yml
@@ -284,15 +284,15 @@ entities:
           version: 6
         4,-1:
           ind: 4,-1
-          tiles: eQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA
+          tiles: eQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA
           version: 6
         4,-2:
           ind: 4,-2
-          tiles: eAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAA
+          tiles: eAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAYAAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAWQAAAAAAWQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAWQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAYAAAAAAAWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAA
           version: 6
         3,-3:
           ind: 3,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAATQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAATQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA
           version: 6
         5,0:
           ind: 5,0
@@ -300,7 +300,7 @@ entities:
           version: 6
         4,-3:
           ind: 4,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAA
+          tiles: eAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAA
           version: 6
         2,-3:
           ind: 2,-3
@@ -448,7 +448,23 @@ entities:
           version: 6
         5,-2:
           ind: 5,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAA
+          tiles: eAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAA
+          version: 6
+        5,-3:
+          ind: 5,-3
+          tiles: eAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          version: 6
+        3,-4:
+          ind: 3,-4
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAA
+          version: 6
+        4,-4:
+          ind: 4,-4
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAA
+          version: 6
+        5,-4:
+          ind: 5,-4
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
     - type: Broadphase
     - type: Physics
@@ -708,6 +724,12 @@ entities:
             3190: 64,26
             3191: 64,14
             3192: 76,14
+            3529: 76,-33
+            3530: 76,-34
+            3531: 76,-35
+            3532: 76,-36
+            3533: 76,-37
+            3566: 70,-39
         - node:
             color: '#FFFFFFFF'
             id: BoxGreyscale
@@ -980,6 +1002,11 @@ entities:
             id: BrickTileWhiteCornerSe
           decals:
             3099: 6,-26
+        - node:
+            color: '#3EB38896'
+            id: BrickTileWhiteCornerSw
+          decals:
+            3569: 66,-32
         - node:
             color: '#52B4E996'
             id: BrickTileWhiteCornerSw
@@ -1008,6 +1035,11 @@ entities:
             id: BrickTileWhiteEndN
           decals:
             2748: -26,-26
+        - node:
+            color: '#3EB38896'
+            id: BrickTileWhiteInnerNe
+          decals:
+            3594: 67,-30
         - node:
             color: '#D381C996'
             id: BrickTileWhiteInnerNe
@@ -1051,6 +1083,13 @@ entities:
           decals:
             2544: 20,-30
             2567: 14,-43
+        - node:
+            color: '#3EB38896'
+            id: BrickTileWhiteLineE
+          decals:
+            3574: 67,-28
+            3575: 67,-29
+            3609: 67,-25
         - node:
             color: '#52B4E996'
             id: BrickTileWhiteLineE
@@ -1135,6 +1174,16 @@ entities:
             3236: 60,21
             3237: 60,20
             3238: 60,19
+        - node:
+            color: '#3EB38896'
+            id: BrickTileWhiteLineN
+          decals:
+            3589: 72,-30
+            3590: 71,-30
+            3591: 70,-30
+            3592: 69,-30
+            3612: 73,-30
+            3613: 68,-30
         - node:
             color: '#52B4E996'
             id: BrickTileWhiteLineN
@@ -1197,6 +1246,17 @@ entities:
             3102: 3,-25
             3103: 4,-25
             3104: 5,-25
+        - node:
+            color: '#3EB38896'
+            id: BrickTileWhiteLineS
+          decals:
+            3583: 67,-32
+            3584: 68,-32
+            3585: 69,-32
+            3586: 70,-32
+            3587: 71,-32
+            3588: 72,-32
+            3611: 73,-32
         - node:
             color: '#52B4E996'
             id: BrickTileWhiteLineS
@@ -1259,6 +1319,15 @@ entities:
             id: BrickTileWhiteLineW
           decals:
             2495: 104,-14
+        - node:
+            color: '#3EB38896'
+            id: BrickTileWhiteLineW
+          decals:
+            3578: 66,-27
+            3579: 66,-28
+            3580: 66,-29
+            3581: 66,-30
+            3582: 66,-31
         - node:
             color: '#52B4E996'
             id: BrickTileWhiteLineW
@@ -4651,6 +4720,7 @@ entities:
             3109: 28,-63
             3250: 56,17
             3251: 56,23
+            3608: 66.50142,-31.75576
         - node:
             color: '#334E6DC8'
             id: ThreeQuarterTileOverlayGreyscale
@@ -4934,6 +5004,11 @@ entities:
             id: WarnBox
           decals:
             2504: -64,-14
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnCornerNE
+          decals:
+            3544: 74,-33
         - node:
             color: '#FFFFFFFF'
             id: WarnCornerSE
@@ -4951,6 +5026,7 @@ entities:
             900: -13,10
             1625: 0,-29
             3276: 42,15
+            3557: 74,-38
         - node:
             color: '#FFFFFFFF'
             id: WarnCornerSmallNW
@@ -5042,6 +5118,17 @@ entities:
             3269: 42,16
             3270: 42,17
             3271: 42,18
+            3540: 74,-37
+            3542: 74,-35
+            3543: 74,-34
+            3558: 74,-36
+            3617: 67,-26
+        - node:
+            color: '#3EB38896'
+            id: WarnLineGreyscaleE
+          decals:
+            3598: 67,-27
+            3610: 67,-24
         - node:
             color: '#52B4E996'
             id: WarnLineGreyscaleE
@@ -5160,6 +5247,12 @@ entities:
             1694: 12,-41
             1695: 11,-41
             1696: 10,-41
+        - node:
+            color: '#3EB38896'
+            id: WarnLineGreyscaleW
+          decals:
+            3595: 66,-25
+            3607: 66,-24
         - node:
             color: '#52B4E996'
             id: WarnLineGreyscaleW
@@ -5315,6 +5408,7 @@ entities:
             3516: 33,6
             3517: 33,7
             3518: 33,8
+            3616: 66,-26
         - node:
             color: '#DE3A3A96'
             id: WarnLineW
@@ -5381,6 +5475,16 @@ entities:
             3178: -3,-39
             3179: -4,-39
             3255: 43,15
+            3545: 73,-33
+            3546: 72,-33
+            3547: 71,-33
+            3548: 70,-33
+            3549: 69,-33
+            3555: 75,-38
+            3556: 76,-38
+            3562: 66,-33
+            3563: 67,-33
+            3564: 68,-33
         - node:
             angle: -3.141592653589793 rad
             color: '#FFFFFFFF'
@@ -6511,11 +6615,14 @@ entities:
           15,-4:
             0: 65535
           16,-8:
-            1: 58115
-            0: 236
+            1: 4369
+            0: 52428
           16,-7:
-            1: 242
-            0: 61440
+            1: 17
+            0: 64716
+          16,-6:
+            0: 15
+            1: 11776
           13,-3:
             0: 62719
           13,-2:
@@ -6542,7 +6649,7 @@ entities:
             0: 119
           16,-1:
             0: 240
-            1: 13058
+            1: 62222
           12,1:
             0: 58606
           12,2:
@@ -6576,7 +6683,7 @@ entities:
             0: 4354
             1: 34952
           16,0:
-            1: 127
+            1: 255
             0: 3840
           16,1:
             0: 54272
@@ -6849,19 +6956,21 @@ entities:
           -5,14:
             1: 17652
           -4,15:
-            1: 15
+            1: 9999
           -5,15:
             1: 12
+          -4,16:
+            1: 14
           -3,13:
             0: 65521
           -3,14:
             0: 33023
             1: 4096
           -3,15:
-            1: 25123
+            1: 25091
             0: 136
           -3,16:
-            1: 196
+            1: 243
           -2,13:
             0: 65521
           -2,14:
@@ -6875,15 +6984,17 @@ entities:
             0: 16435
             1: 10240
           -1,15:
-            1: 12834
+            1: 14862
           -1,16:
-            1: 17
+            1: 54
           0,13:
             0: 51
             1: 45056
           0,14:
             1: 2816
             0: 16384
+          0,15:
+            1: 288
           -9,12:
             1: 36761
           -8,13:
@@ -7103,22 +7214,22 @@ entities:
           12,12:
             1: 61441
           17,0:
-            1: 15
+            1: 223
             0: 57376
           17,2:
             0: 65295
           17,3:
             0: 15
             1: 20288
-          17,1:
-            0: 61166
           17,-1:
+            1: 53389
             0: 11826
-            1: 136
+          17,1:
+            0: 61166
           17,4:
             1: 17487
           18,0:
-            1: 15
+            1: 255
             0: 61440
           18,1:
             0: 65535
@@ -7127,8 +7238,11 @@ entities:
           18,3:
             0: 15
             1: 3840
+          18,-1:
+            1: 61610
+            0: 3840
           19,0:
-            1: 31
+            1: 255
             0: 7168
           19,1:
             0: 4369
@@ -7139,19 +7253,19 @@ entities:
             0: 1011
             1: 8192
           19,-1:
-            1: 4130
+            1: 61474
             0: 3840
           19,4:
             1: 8738
             0: 51328
           20,0:
-            1: 143
+            1: 255
             0: 3840
           20,2:
             1: 7951
           20,3:
-            1: 341
-            0: 46080
+            1: 261
+            0: 46320
           -11,9:
             0: 34827
             1: 12800
@@ -7309,105 +7423,98 @@ entities:
             1: 257
           16,-4:
             1: 8738
-            5: 136
-            6: 32768
+            5: 2184
           16,-3:
             1: 8738
-            6: 32904
+            6: 2184
           16,-2:
-            1: 57890
-            6: 136
+            1: 8738
+            6: 2184
           16,-5:
             1: 8738
-            5: 32768
-            6: 136
+            6: 2184
           17,-4:
-            5: 51
-            6: 12288
-            0: 128
-            1: 34816
+            5: 819
+            0: 2176
+            1: 32768
           17,-3:
-            6: 12339
+            6: 819
             1: 34952
           17,-2:
-            6: 51
-            1: 55432
-            0: 8192
+            6: 819
+            1: 34952
           17,-5:
-            5: 12288
-            0: 32768
-            6: 51
-            1: 2184
+            0: 34816
+            6: 819
+            1: 136
           18,-4:
-            0: 135
-            1: 43552
+            0: 3975
+            1: 40992
           18,-3:
             1: 43770
-          18,-1:
-            0: 3840
-            1: 170
           18,-5:
-            1: 12202
-            0: 32768
+            1: 8362
+            0: 36608
           18,-2:
             1: 43690
           19,-4:
-            0: 135
-            1: 43552
+            0: 3975
+            1: 40992
           19,-3:
             1: 57906
           19,-5:
-            1: 11170
-            0: 32768
+            1: 8354
+            0: 36608
           19,-2:
             1: 8930
           20,-4:
-            0: 135
-            1: 34816
+            0: 3975
+            1: 32768
           20,-3:
             1: 61440
           20,-2:
             1: 240
           20,-1:
             0: 3840
-            1: 32768
-          16,-6:
-            1: 8928
-            6: 32768
+            1: 61440
           16,-9:
-            0: 61166
-            1: 1
+            1: 4369
+            0: 52428
           17,-8:
-            0: 31487
-            1: 32768
+            0: 4095
           17,-7:
-            1: 3536
-            0: 61991
+            0: 1654
           17,-6:
-            1: 35037
-            6: 12288
-            0: 34
+            0: 15
+            1: 36608
           17,-9:
             0: 65535
           18,-8:
-            0: 153
-            1: 12898
+            0: 819
+            1: 34944
           18,-7:
-            1: 47858
+            1: 48127
           18,-6:
-            1: 43770
+            1: 43771
           18,-9:
-            0: 48027
-            1: 96
+            0: 65535
           19,-8:
-            0: 51
+            1: 64248
           19,-7:
-            1: 8448
+            1: 8696
             0: 512
           19,-6:
             1: 8754
           19,-9:
-            0: 13107
+            0: 4369
+            1: 52424
+          20,-8:
+            1: 30039
+          20,-7:
+            1: 117
+          20,-5:
+            0: 36608
+            1: 128
           12,-10:
             1: 61696
           11,-10:
@@ -7417,25 +7524,42 @@ entities:
           14,-10:
             1: 64000
           15,-10:
-            1: 61952
+            1: 65503
+          15,-12:
+            1: 57311
+          15,-13:
+            1: 40704
+          15,-11:
+            1: 56829
+          16,-12:
+            1: 65023
+          16,-11:
+            1: 4353
+            6: 52416
+          16,-10:
+            1: 4353
+            0: 52416
           20,4:
-            1: 5457
-            0: 4
+            1: 5377
+            0: 244
           21,0:
-            1: 32783
+            1: 33023
             0: 3840
           21,2:
             1: 3887
           21,3:
-            0: 46080
-            1: 68
+            0: 46320
+            1: 4
+          21,-1:
+            1: 61440
+            0: 3840
           21,1:
             1: 17608
           21,4:
-            0: 4
-            1: 1088
+            0: 244
+            1: 1024
           22,0:
-            1: 2151
+            1: 2167
             0: 58248
           22,1:
             1: 3634
@@ -7443,13 +7567,13 @@ entities:
           22,2:
             1: 3855
           22,3:
-            0: 46080
-            1: 68
+            0: 46320
+            1: 4
           22,-1:
-            1: 24608
+            1: 28704
             0: 36608
           22,4:
-            0: 4
+            0: 180
             1: 1088
           23,0:
             0: 25855
@@ -7461,13 +7585,14 @@ entities:
             1: 26471
             0: 34952
           23,3:
-            0: 61576
-            1: 3686
+            0: 61688
+            1: 3590
           23,-1:
             0: 63044
             1: 2235
           23,4:
-            1: 19660
+            1: 19468
+            0: 240
           24,0:
             0: 3295
             1: 256
@@ -7478,12 +7603,44 @@ entities:
           24,3:
             1: 609
             0: 63760
-          16,-10:
-            0: 60608
+          16,-13:
+            1: 12032
+          17,-12:
+            1: 65023
+          17,-11:
+            6: 13104
+            1: 34952
           17,-10:
             0: 65520
+          17,-13:
+            1: 12032
+          18,-12:
+            1: 64767
+          18,-11:
+            1: 30591
+            0: 2048
           18,-10:
-            0: 13072
+            0: 65520
+          18,-13:
+            1: 40704
+          19,-12:
+            1: 64255
+          19,-11:
+            1: 35983
+            0: 4352
+          19,-10:
+            0: 4369
+            1: 52428
+          19,-13:
+            1: 36608
+          20,-12:
+            1: 22357
+          20,-11:
+            1: 21847
+          20,-10:
+            1: 30039
+          20,-9:
+            1: 21877
           8,-13:
             0: 6004
           9,-12:
@@ -8143,37 +8300,33 @@ entities:
             1: 13056
           7,-19:
             1: 34952
-          20,-5:
-            0: 32768
-            1: 2176
           21,-4:
-            0: 135
-            1: 34816
+            0: 3975
+            1: 32768
           21,-3:
             1: 61440
           21,-2:
             1: 240
-          21,-1:
-            0: 3840
           21,-5:
-            0: 32768
-            1: 2176
+            0: 36608
+            1: 128
           22,-4:
-            0: 15
+            0: 3855
           22,-3:
             1: 61440
           22,-2:
             1: 240
           23,-4:
-            0: 15
-            1: 52416
+            0: 3855
+            1: 49344
           23,-3:
             1: 64716
           23,-2:
             1: 15868
             0: 49152
           23,-5:
-            1: 52420
+            1: 49348
+            0: 3840
           24,-4:
             0: 4511
             1: 8736
@@ -8328,6 +8481,10 @@ entities:
           26,-6:
             1: 34800
             0: 28672
+          22,-5:
+            0: 3840
+          20,-13:
+            1: 22272
         uniqueMixes:
         - volume: 2500
           temperature: 293.15
@@ -8497,6 +8654,18 @@ entities:
       parent: 5350
 - proto: AirAlarm
   entities:
+  - uid: 11752
+    components:
+    - type: Transform
+      pos: 71.5,-28.5
+      parent: 5350
+    - type: DeviceList
+      devices:
+      - 27078
+      - 27210
+      - 27212
+      - 26995
+      - 26996
   - uid: 14304
     components:
     - type: Transform
@@ -9460,7 +9629,7 @@ entities:
       parent: 5350
     - type: DeviceList
       devices:
-      - 24516
+      - 10990
   - uid: 24517
     components:
     - type: Transform
@@ -9960,6 +10129,15 @@ entities:
       - 19501
       - 19500
       - 19499
+  - uid: 27108
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 70.5,-39.5
+      parent: 5350
+    - type: DeviceList
+      devices:
+      - 27127
 - proto: AirCanister
   entities:
   - uid: 2431
@@ -10175,11 +10353,22 @@ entities:
     - type: Transform
       pos: 56.5,-7.5
       parent: 5350
-  - uid: 11498
+  - uid: 10820
     components:
     - type: Transform
-      pos: 69.5,-29.5
+      pos: 65.5,-24.5
+      parent: 5350
+    - type: AccessReader
+      access:
+      - - Atmospherics
+  - uid: 10821
+    components:
+    - type: Transform
+      pos: 65.5,-23.5
       parent: 5350
+    - type: AccessReader
+      access:
+      - - Atmospherics
 - proto: AirlockAtmosphericsLocked
   entities:
   - uid: 9008
@@ -10706,6 +10895,14 @@ entities:
     - type: Transform
       pos: 38.5,-57.5
       parent: 5350
+  - uid: 26788
+    components:
+    - type: Transform
+      pos: 68.5,-26.5
+      parent: 5350
+    - type: AccessReader
+      access:
+      - - Engineering
 - proto: AirlockExternal
   entities:
   - uid: 16847
@@ -10713,6 +10910,31 @@ entities:
     - type: Transform
       pos: -62.5,-40.5
       parent: 5350
+- proto: AirlockExternalAtmosphericsLocked
+  entities:
+  - uid: 11254
+    components:
+    - type: Transform
+      pos: 75.5,-41.5
+      parent: 5350
+    - type: DeviceLinkSink
+      invokeCounter: 1
+    - type: DeviceLinkSource
+      linkedPorts:
+        11257:
+        - DoorStatus: DoorBolt
+  - uid: 27016
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 71.5,-23.5
+      parent: 5350
+    - type: DeviceLinkSink
+      invokeCounter: 1
+    - type: DeviceLinkSource
+      linkedPorts:
+        27248:
+        - DoorStatus: DoorBolt
 - proto: AirlockExternalEngineeringLocked
   entities:
   - uid: 12540
@@ -10823,16 +11045,29 @@ entities:
       parent: 5350
 - proto: AirlockExternalGlassAtmosphericsLocked
   entities:
-  - uid: 11284
+  - uid: 11257
     components:
     - type: Transform
-      pos: 64.5,-24.5
+      pos: 76.5,-39.5
       parent: 5350
-  - uid: 11285
+    - type: DeviceLinkSink
+      invokeCounter: 1
+    - type: DeviceLinkSource
+      linkedPorts:
+        11254:
+        - DoorStatus: DoorBolt
+  - uid: 27248
     components:
     - type: Transform
-      pos: 67.5,-24.5
+      rot: -1.5707963267948966 rad
+      pos: 68.5,-23.5
       parent: 5350
+    - type: DeviceLinkSink
+      invokeCounter: 1
+    - type: DeviceLinkSource
+      linkedPorts:
+        27016:
+        - DoorStatus: DoorBolt
 - proto: AirlockExternalGlassCargoLocked
   entities:
   - uid: 3441
@@ -10880,7 +11115,7 @@ entities:
       pos: -42.5,29.5
       parent: 5350
     - type: Door
-      secondsUntilStateChange: -5834.8745
+      secondsUntilStateChange: -25306.475
       state: Opening
     - type: DeviceLinkSink
       invokeCounter: 2
@@ -12829,6 +13064,14 @@ entities:
       parent: 5350
 - proto: AirSensor
   entities:
+  - uid: 10990
+    components:
+    - type: Transform
+      pos: 68.5,-6.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 24515
   - uid: 14424
     components:
     - type: Transform
@@ -13213,11 +13456,6 @@ entities:
     - type: Transform
       pos: 53.5,-18.5
       parent: 5350
-  - uid: 24516
-    components:
-    - type: Transform
-      pos: 68.5,-7.5
-      parent: 5350
   - uid: 24521
     components:
     - type: Transform
@@ -13423,6 +13661,23 @@ entities:
     - type: Transform
       pos: -11.5,-32.5
       parent: 5350
+  - uid: 27078
+    components:
+    - type: Transform
+      pos: 70.5,-32.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 11752
+      - 26994
+  - uid: 27127
+    components:
+    - type: Transform
+      pos: 68.5,-41.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 27108
 - proto: AltarConvertMaint
   entities:
   - uid: 22866
@@ -13680,6 +13935,13 @@ entities:
     - type: Transform
       pos: -34.5,32.5
       parent: 5350
+  - uid: 10831
+    components:
+    - type: MetaData
+      name: TEG APC
+    - type: Transform
+      pos: 69.5,-28.5
+      parent: 5350
   - uid: 11513
     components:
     - type: MetaData
@@ -14179,10 +14441,40 @@ entities:
       parent: 5350
 - proto: AtmosFixBlockerMarker
   entities:
-  - uid: 11609
+  - uid: 10913
     components:
     - type: Transform
-      pos: 67.5,-20.5
+      pos: 67.5,-17.5
+      parent: 5350
+  - uid: 11200
+    components:
+    - type: Transform
+      pos: 67.5,-5.5
+      parent: 5350
+  - uid: 11307
+    components:
+    - type: Transform
+      pos: 68.5,-5.5
+      parent: 5350
+  - uid: 11308
+    components:
+    - type: Transform
+      pos: 69.5,-5.5
+      parent: 5350
+  - uid: 11345
+    components:
+    - type: Transform
+      pos: 68.5,-17.5
+      parent: 5350
+  - uid: 11347
+    components:
+    - type: Transform
+      pos: 69.5,-11.5
+      parent: 5350
+  - uid: 11598
+    components:
+    - type: Transform
+      pos: 69.5,-17.5
       parent: 5350
   - uid: 11610
     components:
@@ -14194,11 +14486,6 @@ entities:
     - type: Transform
       pos: 67.5,-18.5
       parent: 5350
-  - uid: 11612
-    components:
-    - type: Transform
-      pos: 68.5,-20.5
-      parent: 5350
   - uid: 11613
     components:
     - type: Transform
@@ -14209,11 +14496,6 @@ entities:
     - type: Transform
       pos: 68.5,-18.5
       parent: 5350
-  - uid: 11615
-    components:
-    - type: Transform
-      pos: 69.5,-20.5
-      parent: 5350
   - uid: 11616
     components:
     - type: Transform
@@ -14224,31 +14506,16 @@ entities:
     - type: Transform
       pos: 69.5,-18.5
       parent: 5350
-  - uid: 11618
-    components:
-    - type: Transform
-      pos: 67.5,-8.5
-      parent: 5350
   - uid: 11619
     components:
     - type: Transform
       pos: 67.5,-7.5
       parent: 5350
-  - uid: 11620
-    components:
-    - type: Transform
-      pos: 68.5,-8.5
-      parent: 5350
   - uid: 11621
     components:
     - type: Transform
       pos: 68.5,-7.5
       parent: 5350
-  - uid: 11622
-    components:
-    - type: Transform
-      pos: 69.5,-8.5
-      parent: 5350
   - uid: 11623
     components:
     - type: Transform
@@ -14269,11 +14536,6 @@ entities:
     - type: Transform
       pos: 67.5,-6.5
       parent: 5350
-  - uid: 11628
-    components:
-    - type: Transform
-      pos: 67.5,-12.5
-      parent: 5350
   - uid: 11629
     components:
     - type: Transform
@@ -14287,7 +14549,7 @@ entities:
   - uid: 11631
     components:
     - type: Transform
-      pos: 68.5,-12.5
+      pos: 67.5,-9.5
       parent: 5350
   - uid: 11632
     components:
@@ -14299,20 +14561,20 @@ entities:
     - type: Transform
       pos: 68.5,-10.5
       parent: 5350
-  - uid: 11634
+  - uid: 11636
     components:
     - type: Transform
-      pos: 69.5,-12.5
+      pos: 69.5,-10.5
       parent: 5350
-  - uid: 11635
+  - uid: 11720
     components:
     - type: Transform
-      pos: 69.5,-11.5
+      pos: 68.5,-9.5
       parent: 5350
-  - uid: 11636
+  - uid: 11722
     components:
     - type: Transform
-      pos: 69.5,-10.5
+      pos: 69.5,-9.5
       parent: 5350
   - uid: 24185
     components:
@@ -14359,6 +14621,66 @@ entities:
     - type: Transform
       pos: 15.5,-55.5
       parent: 5350
+  - uid: 27423
+    components:
+    - type: Transform
+      pos: 66.5,-40.5
+      parent: 5350
+  - uid: 27424
+    components:
+    - type: Transform
+      pos: 67.5,-40.5
+      parent: 5350
+  - uid: 27425
+    components:
+    - type: Transform
+      pos: 68.5,-40.5
+      parent: 5350
+  - uid: 27426
+    components:
+    - type: Transform
+      pos: 69.5,-40.5
+      parent: 5350
+  - uid: 27427
+    components:
+    - type: Transform
+      pos: 66.5,-41.5
+      parent: 5350
+  - uid: 27428
+    components:
+    - type: Transform
+      pos: 66.5,-42.5
+      parent: 5350
+  - uid: 27429
+    components:
+    - type: Transform
+      pos: 67.5,-41.5
+      parent: 5350
+  - uid: 27430
+    components:
+    - type: Transform
+      pos: 67.5,-42.5
+      parent: 5350
+  - uid: 27431
+    components:
+    - type: Transform
+      pos: 68.5,-42.5
+      parent: 5350
+  - uid: 27432
+    components:
+    - type: Transform
+      pos: 68.5,-41.5
+      parent: 5350
+  - uid: 27433
+    components:
+    - type: Transform
+      pos: 69.5,-41.5
+      parent: 5350
+  - uid: 27434
+    components:
+    - type: Transform
+      pos: 69.5,-42.5
+      parent: 5350
 - proto: AtmosFixFreezerMarker
   entities:
   - uid: 10295
@@ -14547,10 +14869,20 @@ entities:
       parent: 5350
 - proto: AtmosFixPlasmaMarker
   entities:
-  - uid: 11600
+  - uid: 10828
     components:
     - type: Transform
-      pos: 67.5,-16.5
+      pos: 69.5,-13.5
+      parent: 5350
+  - uid: 10916
+    components:
+    - type: Transform
+      pos: 68.5,-13.5
+      parent: 5350
+  - uid: 10920
+    components:
+    - type: Transform
+      pos: 67.5,-13.5
       parent: 5350
   - uid: 11601
     components:
@@ -14562,11 +14894,6 @@ entities:
     - type: Transform
       pos: 67.5,-14.5
       parent: 5350
-  - uid: 11603
-    components:
-    - type: Transform
-      pos: 68.5,-16.5
-      parent: 5350
   - uid: 11604
     components:
     - type: Transform
@@ -14577,11 +14904,6 @@ entities:
     - type: Transform
       pos: 68.5,-14.5
       parent: 5350
-  - uid: 11606
-    components:
-    - type: Transform
-      pos: 69.5,-16.5
-      parent: 5350
   - uid: 11607
     components:
     - type: Transform
@@ -15097,10 +15419,10 @@ entities:
     - type: Transform
       pos: -40.5,43.5
       parent: 5350
-  - uid: 10293
+  - uid: 11015
     components:
     - type: Transform
-      pos: 68.5,-5.5
+      pos: 68.5,-4.5
       parent: 5350
   - uid: 11486
     components:
@@ -15172,6 +15494,20 @@ entities:
     - type: Transform
       pos: 48.5,23.5
       parent: 5350
+  - uid: 27135
+    components:
+    - type: Transform
+      pos: 67.5,-43.5
+      parent: 5350
+    - type: DeviceLinkSink
+      invokeCounter: 2
+  - uid: 27136
+    components:
+    - type: Transform
+      pos: 68.5,-43.5
+      parent: 5350
+    - type: DeviceLinkSink
+      invokeCounter: 2
 - proto: BlastDoorExterior1Open
   entities:
   - uid: 24634
@@ -19812,6 +20148,11 @@ entities:
     - type: Transform
       pos: -37.5,-0.5
       parent: 5350
+  - uid: 6164
+    components:
+    - type: Transform
+      pos: 66.5,-6.5
+      parent: 5350
   - uid: 6209
     components:
     - type: Transform
@@ -21377,11 +21718,21 @@ entities:
     - type: Transform
       pos: -16.5,27.5
       parent: 5350
+  - uid: 8889
+    components:
+    - type: Transform
+      pos: 67.5,-6.5
+      parent: 5350
   - uid: 8957
     components:
     - type: Transform
       pos: 40.5,0.5
       parent: 5350
+  - uid: 8983
+    components:
+    - type: Transform
+      pos: 68.5,-6.5
+      parent: 5350
   - uid: 9539
     components:
     - type: Transform
@@ -22707,11 +23058,196 @@ entities:
     - type: Transform
       pos: -29.5,30.5
       parent: 5350
+  - uid: 10908
+    components:
+    - type: Transform
+      pos: 60.5,-16.5
+      parent: 5350
+  - uid: 10909
+    components:
+    - type: Transform
+      pos: 67.5,-18.5
+      parent: 5350
+  - uid: 10911
+    components:
+    - type: Transform
+      pos: 68.5,-18.5
+      parent: 5350
+  - uid: 10912
+    components:
+    - type: Transform
+      pos: 66.5,-18.5
+      parent: 5350
+  - uid: 10929
+    components:
+    - type: Transform
+      pos: 66.5,-5.5
+      parent: 5350
+  - uid: 10935
+    components:
+    - type: Transform
+      pos: 63.5,-6.5
+      parent: 5350
+  - uid: 10936
+    components:
+    - type: Transform
+      pos: 58.5,-6.5
+      parent: 5350
+  - uid: 10937
+    components:
+    - type: Transform
+      pos: 59.5,-6.5
+      parent: 5350
+  - uid: 10938
+    components:
+    - type: Transform
+      pos: 60.5,-6.5
+      parent: 5350
+  - uid: 10939
+    components:
+    - type: Transform
+      pos: 61.5,-6.5
+      parent: 5350
+  - uid: 10940
+    components:
+    - type: Transform
+      pos: 62.5,-6.5
+      parent: 5350
+  - uid: 10941
+    components:
+    - type: Transform
+      pos: 68.5,-10.5
+      parent: 5350
+  - uid: 10942
+    components:
+    - type: Transform
+      pos: 67.5,-10.5
+      parent: 5350
+  - uid: 10986
+    components:
+    - type: Transform
+      pos: 66.5,-17.5
+      parent: 5350
+  - uid: 10987
+    components:
+    - type: Transform
+      pos: 64.5,-19.5
+      parent: 5350
+  - uid: 10988
+    components:
+    - type: Transform
+      pos: 68.5,-14.5
+      parent: 5350
+  - uid: 11044
+    components:
+    - type: Transform
+      pos: 62.5,-16.5
+      parent: 5350
+  - uid: 11045
+    components:
+    - type: Transform
+      pos: 63.5,-16.5
+      parent: 5350
+  - uid: 11046
+    components:
+    - type: Transform
+      pos: 65.5,-18.5
+      parent: 5350
+  - uid: 11056
+    components:
+    - type: Transform
+      pos: 66.5,-14.5
+      parent: 5350
+  - uid: 11138
+    components:
+    - type: Transform
+      pos: 66.5,-19.5
+      parent: 5350
+  - uid: 11162
+    components:
+    - type: Transform
+      pos: 67.5,-14.5
+      parent: 5350
+  - uid: 11241
+    components:
+    - type: Transform
+      pos: 63.5,-19.5
+      parent: 5350
+  - uid: 11258
+    components:
+    - type: Transform
+      pos: 68.5,-23.5
+      parent: 5350
+  - uid: 11259
+    components:
+    - type: Transform
+      pos: 70.5,-23.5
+      parent: 5350
+  - uid: 11260
+    components:
+    - type: Transform
+      pos: 67.5,-24.5
+      parent: 5350
+  - uid: 11263
+    components:
+    - type: Transform
+      pos: 69.5,-23.5
+      parent: 5350
+  - uid: 11279
+    components:
+    - type: Transform
+      pos: 69.5,-28.5
+      parent: 5350
+  - uid: 11300
+    components:
+    - type: Transform
+      pos: 61.5,-16.5
+      parent: 5350
+  - uid: 11313
+    components:
+    - type: Transform
+      pos: 65.5,-14.5
+      parent: 5350
+  - uid: 11314
+    components:
+    - type: Transform
+      pos: 66.5,-13.5
+      parent: 5350
+  - uid: 11315
+    components:
+    - type: Transform
+      pos: 66.5,-15.5
+      parent: 5350
+  - uid: 11341
+    components:
+    - type: Transform
+      pos: 64.5,-21.5
+      parent: 5350
+  - uid: 11348
+    components:
+    - type: Transform
+      pos: 64.5,-5.5
+      parent: 5350
   - uid: 11360
     components:
     - type: Transform
       pos: -30.5,-41.5
       parent: 5350
+  - uid: 11606
+    components:
+    - type: Transform
+      pos: 65.5,-6.5
+      parent: 5350
+  - uid: 11609
+    components:
+    - type: Transform
+      pos: 61.5,-10.5
+      parent: 5350
+  - uid: 11643
+    components:
+    - type: Transform
+      pos: 66.5,-10.5
+      parent: 5350
   - uid: 11646
     components:
     - type: Transform
@@ -22792,11 +23328,6 @@ entities:
     - type: Transform
       pos: 52.5,-23.5
       parent: 5350
-  - uid: 11662
-    components:
-    - type: Transform
-      pos: 52.5,-24.5
-      parent: 5350
   - uid: 11663
     components:
     - type: Transform
@@ -22947,16 +23478,6 @@ entities:
     - type: Transform
       pos: 52.5,-28.5
       parent: 5350
-  - uid: 11693
-    components:
-    - type: Transform
-      pos: 61.5,-24.5
-      parent: 5350
-  - uid: 11694
-    components:
-    - type: Transform
-      pos: 62.5,-24.5
-      parent: 5350
   - uid: 11695
     components:
     - type: Transform
@@ -22967,21 +23488,6 @@ entities:
     - type: Transform
       pos: 63.5,-23.5
       parent: 5350
-  - uid: 11697
-    components:
-    - type: Transform
-      pos: 64.5,-24.5
-      parent: 5350
-  - uid: 11698
-    components:
-    - type: Transform
-      pos: 65.5,-24.5
-      parent: 5350
-  - uid: 11699
-    components:
-    - type: Transform
-      pos: 66.5,-24.5
-      parent: 5350
   - uid: 11700
     components:
     - type: Transform
@@ -22995,17 +23501,17 @@ entities:
   - uid: 11702
     components:
     - type: Transform
-      pos: 63.5,-20.5
+      pos: 65.5,-10.5
       parent: 5350
   - uid: 11703
     components:
     - type: Transform
-      pos: 64.5,-20.5
+      pos: 66.5,-9.5
       parent: 5350
   - uid: 11704
     components:
     - type: Transform
-      pos: 64.5,-19.5
+      pos: 62.5,-24.5
       parent: 5350
   - uid: 11705
     components:
@@ -23075,122 +23581,47 @@ entities:
   - uid: 11718
     components:
     - type: Transform
-      pos: 65.5,-7.5
+      pos: 66.5,-11.5
       parent: 5350
   - uid: 11719
     components:
     - type: Transform
       pos: 66.5,-7.5
       parent: 5350
-  - uid: 11720
-    components:
-    - type: Transform
-      pos: 66.5,-8.5
-      parent: 5350
   - uid: 11721
     components:
     - type: Transform
       pos: 66.5,-6.5
       parent: 5350
-  - uid: 11722
-    components:
-    - type: Transform
-      pos: 65.5,-11.5
-      parent: 5350
-  - uid: 11723
-    components:
-    - type: Transform
-      pos: 66.5,-11.5
-      parent: 5350
-  - uid: 11724
-    components:
-    - type: Transform
-      pos: 66.5,-12.5
-      parent: 5350
-  - uid: 11725
-    components:
-    - type: Transform
-      pos: 66.5,-10.5
-      parent: 5350
-  - uid: 11726
-    components:
-    - type: Transform
-      pos: 65.5,-15.5
-      parent: 5350
-  - uid: 11727
-    components:
-    - type: Transform
-      pos: 66.5,-15.5
-      parent: 5350
-  - uid: 11728
-    components:
-    - type: Transform
-      pos: 66.5,-14.5
-      parent: 5350
-  - uid: 11729
-    components:
-    - type: Transform
-      pos: 66.5,-16.5
-      parent: 5350
-  - uid: 11730
-    components:
-    - type: Transform
-      pos: 65.5,-19.5
-      parent: 5350
   - uid: 11731
     components:
     - type: Transform
-      pos: 66.5,-19.5
+      pos: 63.5,-10.5
       parent: 5350
   - uid: 11732
     components:
     - type: Transform
-      pos: 66.5,-20.5
+      pos: 62.5,-10.5
       parent: 5350
   - uid: 11733
     components:
     - type: Transform
-      pos: 66.5,-18.5
-      parent: 5350
-  - uid: 11734
-    components:
-    - type: Transform
-      pos: 67.5,-19.5
-      parent: 5350
-  - uid: 11735
-    components:
-    - type: Transform
-      pos: 68.5,-19.5
-      parent: 5350
-  - uid: 11736
-    components:
-    - type: Transform
-      pos: 67.5,-15.5
+      pos: 63.5,-20.5
       parent: 5350
   - uid: 11737
     components:
     - type: Transform
-      pos: 68.5,-15.5
+      pos: 61.5,-24.5
       parent: 5350
   - uid: 11738
     components:
     - type: Transform
-      pos: 67.5,-11.5
+      pos: 67.5,-23.5
       parent: 5350
   - uid: 11739
     components:
     - type: Transform
-      pos: 68.5,-11.5
-      parent: 5350
-  - uid: 11740
-    components:
-    - type: Transform
-      pos: 67.5,-7.5
-      parent: 5350
-  - uid: 11741
-    components:
-    - type: Transform
-      pos: 68.5,-7.5
+      pos: 66.5,-23.5
       parent: 5350
   - uid: 11742
     components:
@@ -23232,81 +23663,16 @@ entities:
     - type: Transform
       pos: 60.5,-10.5
       parent: 5350
-  - uid: 11750
-    components:
-    - type: Transform
-      pos: 60.5,-11.5
-      parent: 5350
-  - uid: 11751
-    components:
-    - type: Transform
-      pos: 61.5,-11.5
-      parent: 5350
-  - uid: 11752
-    components:
-    - type: Transform
-      pos: 62.5,-11.5
-      parent: 5350
-  - uid: 11753
-    components:
-    - type: Transform
-      pos: 63.5,-11.5
-      parent: 5350
-  - uid: 11754
-    components:
-    - type: Transform
-      pos: 63.5,-7.5
-      parent: 5350
-  - uid: 11755
-    components:
-    - type: Transform
-      pos: 62.5,-7.5
-      parent: 5350
-  - uid: 11756
-    components:
-    - type: Transform
-      pos: 61.5,-7.5
-      parent: 5350
-  - uid: 11757
-    components:
-    - type: Transform
-      pos: 60.5,-7.5
-      parent: 5350
-  - uid: 11758
-    components:
-    - type: Transform
-      pos: 59.5,-7.5
-      parent: 5350
-  - uid: 11759
-    components:
-    - type: Transform
-      pos: 58.5,-7.5
-      parent: 5350
-  - uid: 11760
-    components:
-    - type: Transform
-      pos: 57.5,-7.5
-      parent: 5350
   - uid: 11761
     components:
     - type: Transform
       pos: 58.5,-6.5
       parent: 5350
-  - uid: 11762
-    components:
-    - type: Transform
-      pos: 58.5,-5.5
-      parent: 5350
   - uid: 11763
     components:
     - type: Transform
       pos: 61.5,-6.5
       parent: 5350
-  - uid: 11764
-    components:
-    - type: Transform
-      pos: 61.5,-5.5
-      parent: 5350
   - uid: 11765
     components:
     - type: Transform
@@ -23397,16 +23763,6 @@ entities:
     - type: Transform
       pos: 54.5,-20.5
       parent: 5350
-  - uid: 11784
-    components:
-    - type: Transform
-      pos: 63.5,-17.5
-      parent: 5350
-  - uid: 11785
-    components:
-    - type: Transform
-      pos: 62.5,-17.5
-      parent: 5350
   - uid: 11953
     components:
     - type: Transform
@@ -33367,6 +33723,11 @@ entities:
     - type: Transform
       pos: -15.5,-65.5
       parent: 5350
+  - uid: 24298
+    components:
+    - type: Transform
+      pos: 52.5,-24.5
+      parent: 5350
   - uid: 24473
     components:
     - type: Transform
@@ -34532,6 +34893,311 @@ entities:
     - type: Transform
       pos: 76.5,3.5
       parent: 5350
+  - uid: 27017
+    components:
+    - type: Transform
+      pos: 69.5,-29.5
+      parent: 5350
+  - uid: 27018
+    components:
+    - type: Transform
+      pos: 70.5,-29.5
+      parent: 5350
+  - uid: 27019
+    components:
+    - type: Transform
+      pos: 70.5,-30.5
+      parent: 5350
+  - uid: 27020
+    components:
+    - type: Transform
+      pos: 70.5,-31.5
+      parent: 5350
+  - uid: 27021
+    components:
+    - type: Transform
+      pos: 70.5,-32.5
+      parent: 5350
+  - uid: 27024
+    components:
+    - type: Transform
+      pos: 70.5,-32.5
+      parent: 5350
+  - uid: 27025
+    components:
+    - type: Transform
+      pos: 70.5,-33.5
+      parent: 5350
+  - uid: 27026
+    components:
+    - type: Transform
+      pos: 70.5,-34.5
+      parent: 5350
+  - uid: 27027
+    components:
+    - type: Transform
+      pos: 70.5,-35.5
+      parent: 5350
+  - uid: 27028
+    components:
+    - type: Transform
+      pos: 67.5,-25.5
+      parent: 5350
+  - uid: 27029
+    components:
+    - type: Transform
+      pos: 67.5,-27.5
+      parent: 5350
+  - uid: 27030
+    components:
+    - type: Transform
+      pos: 71.5,-29.5
+      parent: 5350
+  - uid: 27031
+    components:
+    - type: Transform
+      pos: 72.5,-29.5
+      parent: 5350
+  - uid: 27032
+    components:
+    - type: Transform
+      pos: 73.5,-29.5
+      parent: 5350
+  - uid: 27033
+    components:
+    - type: Transform
+      pos: 74.5,-29.5
+      parent: 5350
+  - uid: 27034
+    components:
+    - type: Transform
+      pos: 74.5,-30.5
+      parent: 5350
+  - uid: 27039
+    components:
+    - type: Transform
+      pos: 67.5,-26.5
+      parent: 5350
+  - uid: 27046
+    components:
+    - type: Transform
+      pos: 67.5,-28.5
+      parent: 5350
+  - uid: 27048
+    components:
+    - type: Transform
+      pos: 74.5,-32.5
+      parent: 5350
+  - uid: 27049
+    components:
+    - type: Transform
+      pos: 76.5,-41.5
+      parent: 5350
+  - uid: 27063
+    components:
+    - type: Transform
+      pos: 75.5,-32.5
+      parent: 5350
+  - uid: 27079
+    components:
+    - type: Transform
+      pos: 76.5,-36.5
+      parent: 5350
+  - uid: 27080
+    components:
+    - type: Transform
+      pos: 72.5,-32.5
+      parent: 5350
+  - uid: 27081
+    components:
+    - type: Transform
+      pos: 71.5,-32.5
+      parent: 5350
+  - uid: 27082
+    components:
+    - type: Transform
+      pos: 68.5,-29.5
+      parent: 5350
+  - uid: 27083
+    components:
+    - type: Transform
+      pos: 73.5,-32.5
+      parent: 5350
+  - uid: 27092
+    components:
+    - type: Transform
+      pos: 76.5,-34.5
+      parent: 5350
+  - uid: 27095
+    components:
+    - type: Transform
+      pos: 64.5,-25.5
+      parent: 5350
+  - uid: 27100
+    components:
+    - type: Transform
+      pos: 67.5,-29.5
+      parent: 5350
+  - uid: 27105
+    components:
+    - type: Transform
+      pos: 76.5,-35.5
+      parent: 5350
+  - uid: 27106
+    components:
+    - type: Transform
+      pos: 76.5,-33.5
+      parent: 5350
+  - uid: 27107
+    components:
+    - type: Transform
+      pos: 76.5,-32.5
+      parent: 5350
+  - uid: 27109
+    components:
+    - type: Transform
+      pos: 76.5,-38.5
+      parent: 5350
+  - uid: 27110
+    components:
+    - type: Transform
+      pos: 75.5,-38.5
+      parent: 5350
+  - uid: 27113
+    components:
+    - type: Transform
+      pos: 74.5,-39.5
+      parent: 5350
+  - uid: 27114
+    components:
+    - type: Transform
+      pos: 73.5,-39.5
+      parent: 5350
+  - uid: 27115
+    components:
+    - type: Transform
+      pos: 66.5,-37.5
+      parent: 5350
+  - uid: 27158
+    components:
+    - type: Transform
+      pos: 76.5,-39.5
+      parent: 5350
+  - uid: 27159
+    components:
+    - type: Transform
+      pos: 76.5,-37.5
+      parent: 5350
+  - uid: 27160
+    components:
+    - type: Transform
+      pos: 76.5,-40.5
+      parent: 5350
+  - uid: 27161
+    components:
+    - type: Transform
+      pos: 72.5,-39.5
+      parent: 5350
+  - uid: 27164
+    components:
+    - type: Transform
+      pos: 66.5,-38.5
+      parent: 5350
+  - uid: 27165
+    components:
+    - type: Transform
+      pos: 74.5,-38.5
+      parent: 5350
+  - uid: 27197
+    components:
+    - type: Transform
+      pos: 71.5,-39.5
+      parent: 5350
+  - uid: 27259
+    components:
+    - type: Transform
+      pos: 66.5,-29.5
+      parent: 5350
+  - uid: 27260
+    components:
+    - type: Transform
+      pos: 65.5,-29.5
+      parent: 5350
+  - uid: 27261
+    components:
+    - type: Transform
+      pos: 65.5,-30.5
+      parent: 5350
+  - uid: 27266
+    components:
+    - type: Transform
+      pos: 66.5,-36.5
+      parent: 5350
+  - uid: 27268
+    components:
+    - type: Transform
+      pos: 66.5,-22.5
+      parent: 5350
+  - uid: 27273
+    components:
+    - type: Transform
+      pos: 63.5,-25.5
+      parent: 5350
+  - uid: 27275
+    components:
+    - type: Transform
+      pos: 66.5,-35.5
+      parent: 5350
+  - uid: 27276
+    components:
+    - type: Transform
+      pos: 66.5,-34.5
+      parent: 5350
+  - uid: 27277
+    components:
+    - type: Transform
+      pos: 66.5,-33.5
+      parent: 5350
+  - uid: 27278
+    components:
+    - type: Transform
+      pos: 66.5,-32.5
+      parent: 5350
+  - uid: 27279
+    components:
+    - type: Transform
+      pos: 67.5,-32.5
+      parent: 5350
+  - uid: 27280
+    components:
+    - type: Transform
+      pos: 68.5,-32.5
+      parent: 5350
+  - uid: 27281
+    components:
+    - type: Transform
+      pos: 69.5,-32.5
+      parent: 5350
+  - uid: 27282
+    components:
+    - type: Transform
+      pos: 66.5,-39.5
+      parent: 5350
+  - uid: 27283
+    components:
+    - type: Transform
+      pos: 67.5,-39.5
+      parent: 5350
+  - uid: 27284
+    components:
+    - type: Transform
+      pos: 68.5,-39.5
+      parent: 5350
+  - uid: 27285
+    components:
+    - type: Transform
+      pos: 69.5,-39.5
+      parent: 5350
 - proto: CableApcStack
   entities:
   - uid: 1550
@@ -37556,30 +38222,25 @@ entities:
     - type: Transform
       pos: -32.5,49.5
       parent: 5350
-  - uid: 11245
-    components:
-    - type: Transform
-      pos: 67.5,-31.5
-      parent: 5350
-  - uid: 11272
+  - uid: 10832
     components:
     - type: Transform
-      pos: 69.5,-34.5
+      pos: 69.5,-26.5
       parent: 5350
-  - uid: 11274
+  - uid: 10834
     components:
     - type: Transform
-      pos: 69.5,-32.5
+      pos: 52.5,-24.5
       parent: 5350
-  - uid: 11278
+  - uid: 10836
     components:
     - type: Transform
-      pos: 69.5,-33.5
+      pos: 70.5,-26.5
       parent: 5350
-  - uid: 11279
+  - uid: 11266
     components:
     - type: Transform
-      pos: 69.5,-31.5
+      pos: 65.5,-24.5
       parent: 5350
   - uid: 11877
     components:
@@ -37776,6 +38437,26 @@ entities:
     - type: Transform
       pos: 42.5,-17.5
       parent: 5350
+  - uid: 12022
+    components:
+    - type: Transform
+      pos: 68.5,-26.5
+      parent: 5350
+  - uid: 12043
+    components:
+    - type: Transform
+      pos: 67.5,-26.5
+      parent: 5350
+  - uid: 12044
+    components:
+    - type: Transform
+      pos: 67.5,-25.5
+      parent: 5350
+  - uid: 12047
+    components:
+    - type: Transform
+      pos: 66.5,-24.5
+      parent: 5350
   - uid: 12076
     components:
     - type: Transform
@@ -43204,112 +43885,102 @@ entities:
   - uid: 24239
     components:
     - type: Transform
-      pos: 68.5,-31.5
+      pos: 64.5,-24.5
       parent: 5350
   - uid: 24240
     components:
     - type: Transform
-      pos: 66.5,-31.5
+      pos: 63.5,-24.5
       parent: 5350
   - uid: 24241
     components:
     - type: Transform
-      pos: 65.5,-31.5
+      pos: 62.5,-24.5
       parent: 5350
   - uid: 24243
     components:
     - type: Transform
-      pos: 64.5,-31.5
+      pos: 61.5,-24.5
       parent: 5350
   - uid: 24245
     components:
     - type: Transform
-      pos: 63.5,-31.5
+      pos: 59.5,-24.5
       parent: 5350
   - uid: 24246
     components:
     - type: Transform
-      pos: 63.5,-32.5
+      pos: 60.5,-24.5
       parent: 5350
   - uid: 24247
     components:
     - type: Transform
-      pos: 62.5,-32.5
+      pos: 58.5,-24.5
       parent: 5350
   - uid: 24249
     components:
     - type: Transform
-      pos: 61.5,-32.5
+      pos: 57.5,-24.5
       parent: 5350
   - uid: 24250
     components:
     - type: Transform
-      pos: 60.5,-32.5
+      pos: 56.5,-24.5
       parent: 5350
   - uid: 24251
     components:
     - type: Transform
-      pos: 59.5,-32.5
+      pos: 55.5,-24.5
       parent: 5350
   - uid: 24253
     components:
     - type: Transform
-      pos: 58.5,-32.5
+      pos: 54.5,-24.5
       parent: 5350
   - uid: 24254
     components:
     - type: Transform
-      pos: 57.5,-32.5
+      pos: 67.5,-24.5
       parent: 5350
   - uid: 24255
     components:
     - type: Transform
-      pos: 56.5,-32.5
+      pos: 53.5,-24.5
       parent: 5350
   - uid: 24257
     components:
     - type: Transform
-      pos: 55.5,-32.5
+      pos: 52.5,-23.5
       parent: 5350
   - uid: 24260
     components:
     - type: Transform
-      pos: 54.5,-32.5
+      pos: 52.5,-22.5
       parent: 5350
   - uid: 24261
     components:
     - type: Transform
-      pos: 53.5,-32.5
-      parent: 5350
-  - uid: 24298
-    components:
-    - type: Transform
-      pos: 52.5,-32.5
-      parent: 5350
-  - uid: 24299
-    components:
-    - type: Transform
-      pos: 51.5,-32.5
+      pos: 52.5,-21.5
       parent: 5350
   - uid: 24301
     components:
     - type: Transform
-      pos: 50.5,-32.5
+      pos: 70.5,-27.5
       parent: 5350
   - uid: 24302
     components:
     - type: Transform
-      pos: 49.5,-32.5
+      pos: 70.5,-28.5
       parent: 5350
   - uid: 24303
     components:
     - type: Transform
-      pos: 48.5,-32.5
+      pos: 70.5,-29.5
       parent: 5350
   - uid: 24304
     components:
     - type: Transform
-      pos: 47.5,-32.5
+      pos: 70.5,-30.5
       parent: 5350
   - uid: 24497
     components:
@@ -43361,6 +44032,11 @@ entities:
     - type: Transform
       pos: 47.5,-24.5
       parent: 5350
+  - uid: 24516
+    components:
+    - type: Transform
+      pos: 70.5,-31.5
+      parent: 5350
   - uid: 24519
     components:
     - type: Transform
@@ -43456,6 +44132,11 @@ entities:
     - type: Transform
       pos: 104.5,0.5
       parent: 5350
+  - uid: 26785
+    components:
+    - type: Transform
+      pos: 70.5,-32.5
+      parent: 5350
   - uid: 26811
     components:
     - type: Transform
@@ -43541,6 +44222,31 @@ entities:
     - type: Transform
       pos: 103.5,13.5
       parent: 5350
+  - uid: 27000
+    components:
+    - type: Transform
+      pos: 70.5,-33.5
+      parent: 5350
+  - uid: 27001
+    components:
+    - type: Transform
+      pos: 70.5,-34.5
+      parent: 5350
+  - uid: 27002
+    components:
+    - type: Transform
+      pos: 70.5,-35.5
+      parent: 5350
+  - uid: 27013
+    components:
+    - type: Transform
+      pos: 71.5,-31.5
+      parent: 5350
+  - uid: 27123
+    components:
+    - type: Transform
+      pos: 70.5,-25.5
+      parent: 5350
 - proto: CableHVStack
   entities:
   - uid: 1551
@@ -46950,6 +47656,31 @@ entities:
     - type: Transform
       pos: -34.5,32.5
       parent: 5350
+  - uid: 10840
+    components:
+    - type: Transform
+      pos: 69.5,-26.5
+      parent: 5350
+  - uid: 11261
+    components:
+    - type: Transform
+      pos: 69.5,-25.5
+      parent: 5350
+  - uid: 11270
+    components:
+    - type: Transform
+      pos: 69.5,-28.5
+      parent: 5350
+  - uid: 11272
+    components:
+    - type: Transform
+      pos: 70.5,-25.5
+      parent: 5350
+  - uid: 11274
+    components:
+    - type: Transform
+      pos: 69.5,-27.5
+      parent: 5350
   - uid: 11917
     components:
     - type: Transform
@@ -50755,6 +51486,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 38.5,-60.5
       parent: 5350
+  - uid: 24299
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 70.5,-27.5
+      parent: 5350
   - uid: 24518
     components:
     - type: Transform
@@ -50802,10 +51539,10 @@ entities:
       parent: 5350
 - proto: CarbonDioxideCanister
   entities:
-  - uid: 11597
+  - uid: 11615
     components:
     - type: Transform
-      pos: 69.5,-19.5
+      pos: 69.5,-18.5
       parent: 5350
   - uid: 11815
     components:
@@ -50822,6 +51559,11 @@ entities:
     - type: Transform
       pos: 25.5,-48.5
       parent: 5350
+  - uid: 27090
+    components:
+    - type: Transform
+      pos: 76.5,-36.5
+      parent: 5350
 - proto: Carpet
   entities:
   - uid: 1123
@@ -52900,6 +53642,11 @@ entities:
     - type: Transform
       pos: -43.5,35.5
       parent: 5350
+  - uid: 11282
+    components:
+    - type: Transform
+      pos: 72.5,-24.5
+      parent: 5350
   - uid: 11471
     components:
     - type: Transform
@@ -52945,6 +53692,16 @@ entities:
     - type: Transform
       pos: 48.5,-34.5
       parent: 5350
+  - uid: 11756
+    components:
+    - type: Transform
+      pos: 72.5,-23.5
+      parent: 5350
+  - uid: 11759
+    components:
+    - type: Transform
+      pos: 72.5,-22.5
+      parent: 5350
   - uid: 12119
     components:
     - type: Transform
@@ -55904,6 +56661,119 @@ entities:
     - type: Transform
       pos: 58.5,11.5
       parent: 5350
+  - uid: 27112
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 74.5,-42.5
+      parent: 5350
+  - uid: 27157
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 74.5,-41.5
+      parent: 5350
+  - uid: 27169
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 71.5,-43.5
+      parent: 5350
+  - uid: 27170
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 72.5,-43.5
+      parent: 5350
+  - uid: 27171
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-43.5
+      parent: 5350
+  - uid: 27172
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 74.5,-43.5
+      parent: 5350
+  - uid: 27173
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 75.5,-43.5
+      parent: 5350
+  - uid: 27174
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 76.5,-43.5
+      parent: 5350
+  - uid: 27175
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 77.5,-43.5
+      parent: 5350
+  - uid: 27176
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-44.5
+      parent: 5350
+  - uid: 27178
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-44.5
+      parent: 5350
+  - uid: 27179
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 68.5,-44.5
+      parent: 5350
+  - uid: 27180
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-44.5
+      parent: 5350
+  - uid: 27181
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 70.5,-44.5
+      parent: 5350
+  - uid: 27182
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 71.5,-44.5
+      parent: 5350
+  - uid: 27183
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 72.5,-44.5
+      parent: 5350
+  - uid: 27184
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-44.5
+      parent: 5350
+  - uid: 27254
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-44.5
+      parent: 5350
+  - uid: 27255
+    components:
+    - type: Transform
+      pos: 74.5,-44.5
+      parent: 5350
 - proto: Chair
   entities:
   - uid: 347
@@ -57477,6 +58347,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 106.5,4.5
       parent: 5350
+  - uid: 27118
+    components:
+    - type: Transform
+      pos: 71.5,-30.5
+      parent: 5350
 - proto: ChairOfficeLight
   entities:
   - uid: 5098
@@ -60889,6 +61764,15 @@ entities:
     - type: Transform
       pos: -40.532333,-25.270031
       parent: 5350
+- proto: ClothingHeadHelmetAtmosFire
+  entities:
+  - uid: 27091
+    components:
+    - type: Transform
+      parent: 27084
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
 - proto: ClothingHeadHelmetBasic
   entities:
   - uid: 10424
@@ -61059,6 +61943,13 @@ entities:
     - type: Transform
       pos: 45.489563,-8.468819
       parent: 5350
+  - uid: 27098
+    components:
+    - type: Transform
+      parent: 27084
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
 - proto: ClothingMaskGasExplorer
   entities:
   - uid: 3689
@@ -61426,6 +62317,15 @@ entities:
     - type: Transform
       pos: -18.5,29.5
       parent: 5350
+- proto: ClothingOuterSuitAtmosFire
+  entities:
+  - uid: 27097
+    components:
+    - type: Transform
+      parent: 27084
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
 - proto: ClothingOuterSuitMonkey
   entities:
   - uid: 24111
@@ -62444,6 +63344,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: 110.5,-0.5
       parent: 5350
+  - uid: 27043
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 71.5,-31.5
+      parent: 5350
 - proto: ComputerRadar
   entities:
   - uid: 1207
@@ -63178,6 +64084,13 @@ entities:
     - type: Transform
       pos: 38.5,-16.5
       parent: 5350
+- proto: CrateMaterialSteel
+  entities:
+  - uid: 27101
+    components:
+    - type: Transform
+      pos: 68.5,-31.5
+      parent: 5350
 - proto: CrateMedical
   entities:
   - uid: 15591
@@ -63826,6 +64739,13 @@ entities:
     - type: Transform
       pos: 36.5,7.5
       parent: 5350
+- proto: DefaultStationBeaconTEG
+  entities:
+  - uid: 27252
+    components:
+    - type: Transform
+      pos: 70.5,-30.5
+      parent: 5350
 - proto: DefaultStationBeaconTelecoms
   entities:
   - uid: 26708
@@ -71659,6 +72579,11 @@ entities:
     - type: Transform
       pos: -29.5,-42.5
       parent: 5350
+  - uid: 27096
+    components:
+    - type: Transform
+      pos: 74.5,-31.5
+      parent: 5350
 - proto: ExtinguisherCabinetOpen
   entities:
   - uid: 22178
@@ -72658,6 +73583,16 @@ entities:
       - 14208
       - 14209
       - 14210
+  - uid: 26994
+    components:
+    - type: Transform
+      pos: 68.5,-28.5
+      parent: 5350
+    - type: DeviceList
+      devices:
+      - 27078
+      - 26996
+      - 26995
 - proto: FireAxeCabinetFilled
   entities:
   - uid: 1096
@@ -73974,6 +74909,24 @@ entities:
     - type: Transform
       pos: -72.5,8.5
       parent: 5350
+  - uid: 26995
+    components:
+    - type: Transform
+      pos: 66.5,-25.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 11752
+      - 26994
+  - uid: 26996
+    components:
+    - type: Transform
+      pos: 67.5,-25.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 11752
+      - 26994
 - proto: Fireplace
   entities:
   - uid: 1054
@@ -74689,6 +75642,12 @@ entities:
     - type: Transform
       pos: -57.517693,-13.493662
       parent: 5350
+  - uid: 27104
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-30.5
+      parent: 5350
 - proto: GasFilterFlipped
   entities:
   - uid: 14354
@@ -74701,10 +75660,10 @@ entities:
       color: '#FF1212FF'
 - proto: GasMinerCarbonDioxide
   entities:
-  - uid: 11596
+  - uid: 11612
     components:
     - type: Transform
-      pos: 68.5,-19.5
+      pos: 68.5,-18.5
       parent: 5350
 - proto: GasMinerNitrogenStationLarge
   entities:
@@ -74746,35 +75705,19 @@ entities:
       parent: 5350
 - proto: GasOutletInjector
   entities:
-  - uid: 10990
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 67.5,-8.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 10991
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 67.5,-12.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 10992
+  - uid: 3186
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 67.5,-16.5
+      pos: 67.5,-19.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#27E312FF'
-  - uid: 10993
+  - uid: 10830
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 67.5,-20.5
+      pos: 67.5,-15.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#27E312FF'
@@ -74806,6 +75749,22 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 44.5,-34.5
       parent: 5350
+  - uid: 11570
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-7.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 11723
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-11.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
   - uid: 19390
     components:
     - type: Transform
@@ -74827,6 +75786,22 @@ entities:
       rot: 3.141592653589793 rad
       pos: 59.5,-28.5
       parent: 5350
+  - uid: 10829
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-13.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 10910
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-17.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
   - uid: 10981
     components:
     - type: Transform
@@ -74859,35 +75834,19 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#947507FF'
-  - uid: 10986
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 67.5,-18.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 10987
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 67.5,-14.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 10988
+  - uid: 11309
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 67.5,-10.5
+      pos: 67.5,-5.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 10989
+      color: '#B342F5FF'
+  - uid: 11310
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 67.5,-6.5
+      pos: 67.5,-9.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#B342F5FF'
@@ -74939,6 +75898,24 @@ entities:
       rot: 3.141592653589793 rad
       pos: 104.5,-16.5
       parent: 5350
+  - uid: 27069
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.5,-40.5
+      parent: 5350
+  - uid: 27073
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 66.5,-40.5
+      parent: 5350
+  - uid: 27111
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 74.5,-40.5
+      parent: 5350
 - proto: GasPipeBend
   entities:
   - uid: 510
@@ -75353,14 +76330,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 5314
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 57.5,-4.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#0055CCFF'
   - uid: 5489
     components:
     - type: Transform
@@ -75829,19 +76798,19 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 11002
+  - uid: 10993
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 62.5,-5.5
+      rot: -1.5707963267948966 rad
+      pos: 58.5,-5.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11004
+  - uid: 11002
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 57.5,-10.5
+      rot: 1.5707963267948966 rad
+      pos: 58.5,-4.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
@@ -75869,11 +76838,10 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 11118
+  - uid: 11116
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 57.5,-9.5
+      pos: 63.5,-4.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
@@ -75901,13 +76869,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11137
-    components:
-    - type: Transform
-      pos: 62.5,-4.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
   - uid: 11156
     components:
     - type: Transform
@@ -76826,6 +77787,85 @@ entities:
       rot: 3.141592653589793 rad
       pos: 108.5,-4.5
       parent: 5350
+  - uid: 26787
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 61.5,-20.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 26985
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-20.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 27185
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 71.5,-42.5
+      parent: 5350
+  - uid: 27186
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-42.5
+      parent: 5350
+  - uid: 27211
+    components:
+    - type: Transform
+      pos: 66.5,-21.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27213
+    components:
+    - type: Transform
+      pos: 69.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27214
+    components:
+    - type: Transform
+      pos: 63.5,-24.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27229
+    components:
+    - type: Transform
+      pos: 64.5,-23.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27230
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 63.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27231
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 64.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27233
+    components:
+    - type: Transform
+      pos: 72.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
 - proto: GasPipeFourway
   entities:
   - uid: 260
@@ -81507,6 +82547,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 2682
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-7.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
   - uid: 2685
     components:
     - type: Transform
@@ -84293,13 +85341,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 5315
-    components:
-    - type: Transform
-      pos: 57.5,-5.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#0055CCFF'
   - uid: 5459
     components:
     - type: Transform
@@ -88750,14 +89791,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 8889
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 58.5,-4.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#0055CCFF'
   - uid: 8978
     components:
     - type: Transform
@@ -88766,14 +89799,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 8983
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 59.5,-4.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#0055CCFF'
   - uid: 8987
     components:
     - type: Transform
@@ -88944,14 +89969,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 9027
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 60.5,-4.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#0055CCFF'
   - uid: 9039
     components:
     - type: Transform
@@ -88960,11 +89977,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 9069
-    components:
-    - type: Transform
-      pos: 68.5,-30.5
-      parent: 5350
   - uid: 9166
     components:
     - type: Transform
@@ -89631,6 +90643,62 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 10815
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-15.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10816
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-15.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10822
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-7.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10825
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-11.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10826
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-11.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10924
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-11.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10931
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-7.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
   - uid: 10952
     components:
     - type: Transform
@@ -89694,6 +90762,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 10972
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-15.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
   - uid: 10973
     components:
     - type: Transform
@@ -89725,6 +90801,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 10992
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 61.5,-10.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 11003
     components:
     - type: Transform
@@ -89733,6 +90817,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 11004
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 60.5,-10.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 11016
     components:
     - type: Transform
@@ -89775,78 +90867,22 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#27E312FF'
-  - uid: 11040
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 64.5,-20.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
   - uid: 11041
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 65.5,-20.5
+      pos: 57.5,-10.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#27E312FF'
+      color: '#03FCD3FF'
   - uid: 11042
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 66.5,-20.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11044
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 64.5,-16.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11045
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 65.5,-16.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11046
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 66.5,-16.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11054
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 64.5,-12.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11055
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 65.5,-12.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11056
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 66.5,-12.5
+      pos: 58.5,-10.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#27E312FF'
+      color: '#03FCD3FF'
   - uid: 11058
     components:
     - type: Transform
@@ -90058,42 +91094,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11098
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 62.5,-24.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11099
-    components:
-    - type: Transform
-      pos: 63.5,-23.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11100
-    components:
-    - type: Transform
-      pos: 63.5,-22.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11101
-    components:
-    - type: Transform
-      pos: 63.5,-21.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11102
-    components:
-    - type: Transform
-      pos: 63.5,-20.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
   - uid: 11103
     components:
     - type: Transform
@@ -90157,50 +91157,19 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11112
-    components:
-    - type: Transform
-      pos: 63.5,-10.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11113
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 62.5,-9.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11114
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 61.5,-9.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11115
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 60.5,-9.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11116
+  - uid: 11117
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 59.5,-9.5
+      rot: 1.5707963267948966 rad
+      pos: 62.5,-4.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11117
+  - uid: 11118
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 58.5,-9.5
+      rot: 1.5707963267948966 rad
+      pos: 61.5,-4.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
@@ -90228,6 +91197,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
+  - uid: 11130
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 60.5,-4.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 11131
     components:
     - type: Transform
@@ -90252,6 +91229,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
+  - uid: 11134
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 59.5,-4.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 11139
     components:
     - type: Transform
@@ -90332,14 +91317,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 11151
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 57.5,-6.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#0055CCFF'
   - uid: 11152
     components:
     - type: Transform
@@ -90380,78 +91357,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 11161
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 66.5,-18.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11162
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 65.5,-18.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11163
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 64.5,-18.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11166
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 66.5,-14.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
   - uid: 11167
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 65.5,-14.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11168
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 64.5,-14.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11171
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 66.5,-10.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11172
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 65.5,-10.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 11173
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 64.5,-10.5
+      pos: 64.5,-9.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#947507FF'
+      color: '#B342F5FF'
   - uid: 11196
     components:
     - type: Transform
@@ -90476,54 +91389,21 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 11200
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 64.5,-8.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11201
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 65.5,-8.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11202
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 66.5,-8.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#27E312FF'
-  - uid: 11204
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 66.5,-6.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#B342F5FF'
   - uid: 11205
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 65.5,-6.5
+      pos: 63.5,-5.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#B342F5FF'
+      color: '#03FCD3FF'
   - uid: 11206
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 64.5,-6.5
+      pos: 62.5,-10.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#B342F5FF'
+      color: '#03FCD3FF'
   - uid: 11227
     components:
     - type: Transform
@@ -90572,63 +91452,93 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#000000FF'
-  - uid: 11237
+  - uid: 11297
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 64.5,-24.5
+      pos: 63.5,-9.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11238
+  - uid: 11306
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 65.5,-24.5
+      pos: 59.5,-10.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11239
+  - uid: 11316
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 66.5,-24.5
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-17.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11240
+      color: '#B342F5FF'
+  - uid: 11317
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 67.5,-24.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-17.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11241
+      color: '#B342F5FF'
+  - uid: 11318
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 68.5,-24.5
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-17.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11246
+      color: '#B342F5FF'
+  - uid: 11349
     components:
     - type: Transform
-      pos: 70.5,-30.5
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-19.5
       parent: 5350
-  - uid: 11247
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 11350
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 68.5,-29.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-19.5
       parent: 5350
-  - uid: 11248
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 11351
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 70.5,-29.5
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-19.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 11352
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-13.5
       parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11353
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-13.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11354
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-13.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
   - uid: 11362
     components:
     - type: Transform
@@ -90877,6 +91787,77 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 11572
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-5.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11635
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-5.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11642
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-5.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11724
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-9.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11730
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-9.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11754
+    components:
+    - type: Transform
+      pos: 61.5,-22.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 11758
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 62.5,-20.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 11760
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-21.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 11762
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 61.5,-23.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 11779
     components:
     - type: Transform
@@ -101136,6 +102117,326 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 26786
+    components:
+    - type: Transform
+      pos: 61.5,-21.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 27070
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.5,-39.5
+      parent: 5350
+  - uid: 27074
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 66.5,-39.5
+      parent: 5350
+  - uid: 27156
+    components:
+    - type: Transform
+      pos: 74.5,-39.5
+      parent: 5350
+  - uid: 27191
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 71.5,-39.5
+      parent: 5350
+  - uid: 27192
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 73.5,-39.5
+      parent: 5350
+  - uid: 27194
+    components:
+    - type: Transform
+      pos: 73.5,-38.5
+      parent: 5350
+  - uid: 27196
+    components:
+    - type: Transform
+      pos: 71.5,-38.5
+      parent: 5350
+  - uid: 27201
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 64.5,-21.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27202
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 65.5,-21.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27203
+    components:
+    - type: Transform
+      pos: 66.5,-22.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27204
+    components:
+    - type: Transform
+      pos: 66.5,-23.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27205
+    components:
+    - type: Transform
+      pos: 66.5,-24.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27206
+    components:
+    - type: Transform
+      pos: 66.5,-25.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27207
+    components:
+    - type: Transform
+      pos: 66.5,-26.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27208
+    components:
+    - type: Transform
+      pos: 66.5,-27.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27209
+    components:
+    - type: Transform
+      pos: 66.5,-28.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27215
+    components:
+    - type: Transform
+      pos: 63.5,-25.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27216
+    components:
+    - type: Transform
+      pos: 63.5,-26.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27217
+    components:
+    - type: Transform
+      pos: 63.5,-27.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27218
+    components:
+    - type: Transform
+      pos: 63.5,-28.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27219
+    components:
+    - type: Transform
+      pos: 63.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27220
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27221
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 67.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27222
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 68.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27223
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 68.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27224
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 66.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27225
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 67.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27226
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27227
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 66.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27228
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 64.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
+  - uid: 27232
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27234
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 70.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27235
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 71.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27236
+    components:
+    - type: Transform
+      pos: 72.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27237
+    components:
+    - type: Transform
+      pos: 66.5,-29.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27238
+    components:
+    - type: Transform
+      pos: 66.5,-30.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27239
+    components:
+    - type: Transform
+      pos: 66.5,-31.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 27240
+    components:
+    - type: Transform
+      pos: 64.5,-28.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27241
+    components:
+    - type: Transform
+      pos: 64.5,-27.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27242
+    components:
+    - type: Transform
+      pos: 64.5,-26.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27243
+    components:
+    - type: Transform
+      pos: 64.5,-25.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27244
+    components:
+    - type: Transform
+      pos: 64.5,-24.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27245
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-23.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 27256
+    components:
+    - type: Transform
+      pos: 66.5,-32.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#947507FF'
 - proto: GasPipeTJunction
   entities:
   - uid: 265
@@ -103313,6 +104614,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 10933
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 57.5,-5.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 10950
     components:
     - type: Transform
@@ -103399,27 +104708,11 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11097
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 63.5,-24.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11130
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 63.5,-9.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
-  - uid: 11134
+  - uid: 11115
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 63.5,-5.5
+      pos: 63.5,-10.5
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
@@ -104685,6 +105978,30 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 27187
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 71.5,-41.5
+      parent: 5350
+  - uid: 27188
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-41.5
+      parent: 5350
+  - uid: 27189
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 71.5,-40.5
+      parent: 5350
+  - uid: 27190
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-40.5
+      parent: 5350
 - proto: GasPort
   entities:
   - uid: 8245
@@ -104717,11 +106034,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 9029
-    components:
-    - type: Transform
-      pos: 63.5,-4.5
-      parent: 5350
   - uid: 10163
     components:
     - type: Transform
@@ -104752,6 +106064,13 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 10932
+    components:
+    - type: Transform
+      pos: 57.5,-4.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
   - uid: 10946
     components:
     - type: Transform
@@ -104784,16 +106103,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11243
-    components:
-    - type: Transform
-      pos: 68.5,-27.5
-      parent: 5350
-  - uid: 11244
-    components:
-    - type: Transform
-      pos: 70.5,-27.5
-      parent: 5350
   - uid: 11438
     components:
     - type: Transform
@@ -104940,12 +106249,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 2682
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 63.5,-12.5
-      parent: 5350
   - uid: 3130
     components:
     - type: Transform
@@ -104954,12 +106257,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 3186
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 63.5,-6.5
-      parent: 5350
   - uid: 10543
     components:
     - type: Transform
@@ -104972,50 +106269,51 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 10966
+  - uid: 10817
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 63.5,-20.5
-      parent: 5350
-  - uid: 10967
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 54.5,-20.5
+      pos: 63.5,-15.5
       parent: 5350
-  - uid: 10968
+    - type: AtmosPipeColor
+      color: '#27E312FF'
+  - uid: 10824
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 51.5,-21.5
+      pos: 63.5,-9.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#FF1212FF'
-  - uid: 10969
+      color: '#B342F5FF'
+  - uid: 10934
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 63.5,-16.5
+      pos: 57.5,-6.5
       parent: 5350
-  - uid: 10970
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 10967
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 63.5,-10.5
+      pos: 54.5,-20.5
       parent: 5350
-  - uid: 10971
+  - uid: 10968
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 63.5,-14.5
+      pos: 51.5,-21.5
       parent: 5350
-  - uid: 10972
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 10991
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 63.5,-18.5
+      rot: 1.5707963267948966 rad
+      pos: 63.5,-7.5
       parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
   - uid: 11006
     components:
     - type: Transform
@@ -105029,12 +106327,14 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 11015
+  - uid: 11040
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 63.5,-8.5
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-5.5
       parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
   - uid: 11124
     components:
     - type: Transform
@@ -105043,25 +106343,38 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 11138
+  - uid: 11161
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 61.5,-4.5
+      rot: 1.5707963267948966 rad
+      pos: 63.5,-19.5
       parent: 5350
     - type: AtmosPipeColor
-      color: '#0055CCFF'
-  - uid: 11249
+      color: '#27E312FF'
+  - uid: 11280
     components:
     - type: Transform
-      pos: 68.5,-28.5
+      rot: 1.5707963267948966 rad
+      pos: 62.5,-24.5
       parent: 5350
-  - uid: 11250
+    - type: AtmosPipeColor
+      color: '#03FCD3FF'
+  - uid: 11304
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 70.5,-28.5
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-17.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
+  - uid: 11355
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 63.5,-11.5
       parent: 5350
+    - type: AtmosPipeColor
+      color: '#27E312FF'
   - uid: 11428
     components:
     - type: Transform
@@ -105085,6 +106398,14 @@ entities:
     - type: Transform
       pos: 43.5,-28.5
       parent: 5350
+  - uid: 11600
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-13.5
+      parent: 5350
+    - type: AtmosPipeColor
+      color: '#B342F5FF'
   - uid: 13461
     components:
     - type: Transform
@@ -105141,6 +106462,22 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 27071
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.5,-38.5
+      parent: 5350
+  - uid: 27128
+    components:
+    - type: Transform
+      pos: 66.5,-38.5
+      parent: 5350
+  - uid: 27193
+    components:
+    - type: Transform
+      pos: 74.5,-38.5
+      parent: 5350
 - proto: GasThermoMachineFreezer
   entities:
   - uid: 2630
@@ -105183,6 +106520,12 @@ entities:
     - type: Transform
       pos: 29.5,-38.5
       parent: 5350
+  - uid: 27195
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 72.5,-38.5
+      parent: 5350
 - proto: GasThermoMachineHeater
   entities:
   - uid: 11366
@@ -105941,14 +107284,6 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 11242
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 69.5,-24.5
-      parent: 5350
-    - type: AtmosPipeColor
-      color: '#03FCD3FF'
   - uid: 11867
     components:
     - type: Transform
@@ -106865,6 +108200,17 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 27210
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.5,-31.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 11752
+    - type: AtmosPipeColor
+      color: '#0055CCFF'
 - proto: GasVentScrubber
   entities:
   - uid: 755
@@ -108252,6 +109598,17 @@ entities:
       parent: 5350
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 27212
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 72.5,-31.5
+      parent: 5350
+    - type: DeviceNetwork
+      deviceLists:
+      - 11752
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
 - proto: GasVolumePump
   entities:
   - uid: 10948
@@ -110751,6 +112108,36 @@ entities:
     - type: Transform
       pos: -4.5,16.5
       parent: 5350
+  - uid: 10823
+    components:
+    - type: Transform
+      pos: 66.5,-19.5
+      parent: 5350
+  - uid: 10827
+    components:
+    - type: Transform
+      pos: 66.5,-18.5
+      parent: 5350
+  - uid: 10835
+    components:
+    - type: Transform
+      pos: 70.5,-28.5
+      parent: 5350
+  - uid: 10843
+    components:
+    - type: Transform
+      pos: 64.5,-25.5
+      parent: 5350
+  - uid: 10844
+    components:
+    - type: Transform
+      pos: 61.5,-25.5
+      parent: 5350
+  - uid: 10944
+    components:
+    - type: Transform
+      pos: 66.5,-17.5
+      parent: 5350
   - uid: 11034
     components:
     - type: Transform
@@ -110771,65 +112158,95 @@ entities:
     - type: Transform
       pos: 63.5,1.5
       parent: 5350
-  - uid: 11309
+  - uid: 11168
     components:
     - type: Transform
-      pos: 66.5,-8.5
+      pos: 66.5,-9.5
       parent: 5350
-  - uid: 11310
+  - uid: 11171
     components:
     - type: Transform
-      pos: 66.5,-7.5
+      pos: 66.5,-10.5
       parent: 5350
-  - uid: 11311
+  - uid: 11242
     components:
     - type: Transform
-      pos: 66.5,-6.5
+      pos: 64.5,-18.5
       parent: 5350
-  - uid: 11312
+  - uid: 11243
     components:
     - type: Transform
-      pos: 66.5,-12.5
+      pos: 64.5,-6.5
       parent: 5350
-  - uid: 11313
+  - uid: 11244
     components:
     - type: Transform
-      pos: 66.5,-11.5
+      pos: 64.5,-16.5
       parent: 5350
-  - uid: 11314
+  - uid: 11245
     components:
     - type: Transform
-      pos: 66.5,-10.5
+      pos: 64.5,-15.5
       parent: 5350
-  - uid: 11315
+  - uid: 11246
     components:
     - type: Transform
-      pos: 66.5,-16.5
+      pos: 64.5,-14.5
       parent: 5350
-  - uid: 11316
+  - uid: 11247
     components:
     - type: Transform
-      pos: 66.5,-15.5
+      pos: 64.5,-13.5
       parent: 5350
-  - uid: 11317
+  - uid: 11248
     components:
     - type: Transform
-      pos: 66.5,-14.5
+      pos: 64.5,-12.5
       parent: 5350
-  - uid: 11318
+  - uid: 11249
     components:
     - type: Transform
-      pos: 66.5,-20.5
+      pos: 64.5,-11.5
       parent: 5350
-  - uid: 11319
+  - uid: 11250
     components:
     - type: Transform
-      pos: 66.5,-19.5
+      pos: 64.5,-10.5
       parent: 5350
-  - uid: 11320
+  - uid: 11251
     components:
     - type: Transform
-      pos: 66.5,-18.5
+      pos: 64.5,-9.5
+      parent: 5350
+  - uid: 11252
+    components:
+    - type: Transform
+      pos: 64.5,-7.5
+      parent: 5350
+  - uid: 11253
+    components:
+    - type: Transform
+      pos: 64.5,-8.5
+      parent: 5350
+  - uid: 11255
+    components:
+    - type: Transform
+      pos: 64.5,-5.5
+      parent: 5350
+  - uid: 11269
+    components:
+    - type: Transform
+      pos: 64.5,-17.5
+      parent: 5350
+  - uid: 11302
+    components:
+    - type: Transform
+      pos: 66.5,-11.5
+      parent: 5350
+  - uid: 11311
+    components:
+    - type: Transform
+      pos: 66.5,-6.5
       parent: 5350
   - uid: 11321
     components:
@@ -110931,110 +112348,65 @@ entities:
     - type: Transform
       pos: 60.5,-25.5
       parent: 5350
-  - uid: 11341
-    components:
-    - type: Transform
-      pos: 61.5,-25.5
-      parent: 5350
-  - uid: 11342
-    components:
-    - type: Transform
-      pos: 64.5,-20.5
-      parent: 5350
   - uid: 11343
     components:
     - type: Transform
-      pos: 64.5,-19.5
+      pos: 66.5,-5.5
       parent: 5350
   - uid: 11344
     components:
     - type: Transform
-      pos: 64.5,-18.5
-      parent: 5350
-  - uid: 11345
-    components:
-    - type: Transform
-      pos: 64.5,-17.5
-      parent: 5350
-  - uid: 11346
-    components:
-    - type: Transform
-      pos: 64.5,-16.5
-      parent: 5350
-  - uid: 11347
-    components:
-    - type: Transform
-      pos: 64.5,-15.5
-      parent: 5350
-  - uid: 11348
-    components:
-    - type: Transform
-      pos: 64.5,-14.5
-      parent: 5350
-  - uid: 11349
-    components:
-    - type: Transform
-      pos: 64.5,-13.5
-      parent: 5350
-  - uid: 11350
-    components:
-    - type: Transform
-      pos: 64.5,-12.5
-      parent: 5350
-  - uid: 11351
-    components:
-    - type: Transform
-      pos: 64.5,-11.5
+      pos: 66.5,-13.5
       parent: 5350
-  - uid: 11352
+  - uid: 11356
     components:
     - type: Transform
-      pos: 64.5,-10.5
+      pos: 66.5,-7.5
       parent: 5350
-  - uid: 11353
+  - uid: 11357
     components:
     - type: Transform
-      pos: 64.5,-9.5
+      pos: 53.5,-9.5
       parent: 5350
-  - uid: 11354
+  - uid: 11358
     components:
     - type: Transform
-      pos: 64.5,-8.5
+      pos: 55.5,-9.5
       parent: 5350
-  - uid: 11355
+  - uid: 11359
     components:
     - type: Transform
-      pos: 64.5,-7.5
+      pos: 56.5,-9.5
       parent: 5350
-  - uid: 11356
+  - uid: 11501
     components:
     - type: Transform
-      pos: 64.5,-6.5
+      pos: 43.5,-29.5
       parent: 5350
-  - uid: 11357
+  - uid: 11502
     components:
     - type: Transform
-      pos: 53.5,-9.5
+      pos: 48.5,-26.5
       parent: 5350
-  - uid: 11358
+  - uid: 11628
     components:
     - type: Transform
-      pos: 55.5,-9.5
+      pos: 66.5,-14.5
       parent: 5350
-  - uid: 11359
+  - uid: 11693
     components:
     - type: Transform
-      pos: 56.5,-9.5
+      pos: 64.5,-21.5
       parent: 5350
-  - uid: 11501
+  - uid: 11725
     components:
     - type: Transform
-      pos: 43.5,-29.5
+      pos: 66.5,-15.5
       parent: 5350
-  - uid: 11502
+  - uid: 11736
     components:
     - type: Transform
-      pos: 48.5,-26.5
+      pos: 64.5,-19.5
       parent: 5350
   - uid: 12099
     components:
@@ -115266,6 +116638,681 @@ entities:
     - type: Transform
       pos: -13.5,63.5
       parent: 26973
+  - uid: 27035
+    components:
+    - type: Transform
+      pos: 74.5,-29.5
+      parent: 5350
+  - uid: 27036
+    components:
+    - type: Transform
+      pos: 74.5,-30.5
+      parent: 5350
+  - uid: 27064
+    components:
+    - type: Transform
+      pos: 67.5,-39.5
+      parent: 5350
+  - uid: 27116
+    components:
+    - type: Transform
+      pos: 66.5,-39.5
+      parent: 5350
+  - uid: 27129
+    components:
+    - type: Transform
+      pos: 68.5,-39.5
+      parent: 5350
+  - uid: 27130
+    components:
+    - type: Transform
+      pos: 69.5,-39.5
+      parent: 5350
+  - uid: 27137
+    components:
+    - type: Transform
+      pos: 73.5,-39.5
+      parent: 5350
+  - uid: 27138
+    components:
+    - type: Transform
+      pos: 65.5,-30.5
+      parent: 5350
+  - uid: 27142
+    components:
+    - type: Transform
+      pos: 65.5,-29.5
+      parent: 5350
+  - uid: 27151
+    components:
+    - type: Transform
+      pos: 74.5,-39.5
+      parent: 5350
+  - uid: 27162
+    components:
+    - type: Transform
+      pos: 71.5,-39.5
+      parent: 5350
+  - uid: 27163
+    components:
+    - type: Transform
+      pos: 72.5,-39.5
+      parent: 5350
+  - uid: 27177
+    components:
+    - type: Transform
+      pos: 63.5,-25.5
+      parent: 5350
+  - uid: 27251
+    components:
+    - type: Transform
+      pos: 82.5,-27.5
+      parent: 5350
+  - uid: 27264
+    components:
+    - type: Transform
+      pos: 66.5,-22.5
+      parent: 5350
+  - uid: 27286
+    components:
+    - type: Transform
+      pos: 82.5,-26.5
+      parent: 5350
+  - uid: 27287
+    components:
+    - type: Transform
+      pos: 81.5,-26.5
+      parent: 5350
+  - uid: 27289
+    components:
+    - type: Transform
+      pos: 82.5,-28.5
+      parent: 5350
+  - uid: 27291
+    components:
+    - type: Transform
+      pos: 82.5,-30.5
+      parent: 5350
+  - uid: 27292
+    components:
+    - type: Transform
+      pos: 82.5,-32.5
+      parent: 5350
+  - uid: 27293
+    components:
+    - type: Transform
+      pos: 82.5,-33.5
+      parent: 5350
+  - uid: 27294
+    components:
+    - type: Transform
+      pos: 82.5,-31.5
+      parent: 5350
+  - uid: 27295
+    components:
+    - type: Transform
+      pos: 82.5,-34.5
+      parent: 5350
+  - uid: 27297
+    components:
+    - type: Transform
+      pos: 82.5,-37.5
+      parent: 5350
+  - uid: 27298
+    components:
+    - type: Transform
+      pos: 82.5,-35.5
+      parent: 5350
+  - uid: 27299
+    components:
+    - type: Transform
+      pos: 82.5,-38.5
+      parent: 5350
+  - uid: 27301
+    components:
+    - type: Transform
+      pos: 82.5,-39.5
+      parent: 5350
+  - uid: 27302
+    components:
+    - type: Transform
+      pos: 82.5,-41.5
+      parent: 5350
+  - uid: 27303
+    components:
+    - type: Transform
+      pos: 82.5,-42.5
+      parent: 5350
+  - uid: 27304
+    components:
+    - type: Transform
+      pos: 82.5,-43.5
+      parent: 5350
+  - uid: 27306
+    components:
+    - type: Transform
+      pos: 82.5,-45.5
+      parent: 5350
+  - uid: 27307
+    components:
+    - type: Transform
+      pos: 82.5,-46.5
+      parent: 5350
+  - uid: 27308
+    components:
+    - type: Transform
+      pos: 82.5,-47.5
+      parent: 5350
+  - uid: 27309
+    components:
+    - type: Transform
+      pos: 82.5,-49.5
+      parent: 5350
+  - uid: 27310
+    components:
+    - type: Transform
+      pos: 82.5,-48.5
+      parent: 5350
+  - uid: 27311
+    components:
+    - type: Transform
+      pos: 81.5,-49.5
+      parent: 5350
+  - uid: 27313
+    components:
+    - type: Transform
+      pos: 78.5,-49.5
+      parent: 5350
+  - uid: 27314
+    components:
+    - type: Transform
+      pos: 80.5,-49.5
+      parent: 5350
+  - uid: 27315
+    components:
+    - type: Transform
+      pos: 76.5,-49.5
+      parent: 5350
+  - uid: 27316
+    components:
+    - type: Transform
+      pos: 77.5,-49.5
+      parent: 5350
+  - uid: 27317
+    components:
+    - type: Transform
+      pos: 75.5,-49.5
+      parent: 5350
+  - uid: 27319
+    components:
+    - type: Transform
+      pos: 73.5,-49.5
+      parent: 5350
+  - uid: 27320
+    components:
+    - type: Transform
+      pos: 72.5,-49.5
+      parent: 5350
+  - uid: 27322
+    components:
+    - type: Transform
+      pos: 70.5,-49.5
+      parent: 5350
+  - uid: 27323
+    components:
+    - type: Transform
+      pos: 69.5,-49.5
+      parent: 5350
+  - uid: 27324
+    components:
+    - type: Transform
+      pos: 68.5,-49.5
+      parent: 5350
+  - uid: 27325
+    components:
+    - type: Transform
+      pos: 67.5,-49.5
+      parent: 5350
+  - uid: 27326
+    components:
+    - type: Transform
+      pos: 66.5,-49.5
+      parent: 5350
+  - uid: 27328
+    components:
+    - type: Transform
+      pos: 64.5,-49.5
+      parent: 5350
+  - uid: 27329
+    components:
+    - type: Transform
+      pos: 63.5,-49.5
+      parent: 5350
+  - uid: 27330
+    components:
+    - type: Transform
+      pos: 62.5,-49.5
+      parent: 5350
+  - uid: 27331
+    components:
+    - type: Transform
+      pos: 61.5,-49.5
+      parent: 5350
+  - uid: 27332
+    components:
+    - type: Transform
+      pos: 60.5,-49.5
+      parent: 5350
+  - uid: 27333
+    components:
+    - type: Transform
+      pos: 60.5,-48.5
+      parent: 5350
+  - uid: 27335
+    components:
+    - type: Transform
+      pos: 60.5,-46.5
+      parent: 5350
+  - uid: 27336
+    components:
+    - type: Transform
+      pos: 60.5,-45.5
+      parent: 5350
+  - uid: 27337
+    components:
+    - type: Transform
+      pos: 60.5,-44.5
+      parent: 5350
+  - uid: 27339
+    components:
+    - type: Transform
+      pos: 60.5,-42.5
+      parent: 5350
+  - uid: 27340
+    components:
+    - type: Transform
+      pos: 60.5,-41.5
+      parent: 5350
+  - uid: 27341
+    components:
+    - type: Transform
+      pos: 60.5,-40.5
+      parent: 5350
+  - uid: 27342
+    components:
+    - type: Transform
+      pos: 60.5,-39.5
+      parent: 5350
+  - uid: 27344
+    components:
+    - type: Transform
+      pos: 60.5,-37.5
+      parent: 5350
+  - uid: 27345
+    components:
+    - type: Transform
+      pos: 60.5,-36.5
+      parent: 5350
+  - uid: 27346
+    components:
+    - type: Transform
+      pos: 50.5,-34.5
+      parent: 5350
+  - uid: 27347
+    components:
+    - type: Transform
+      pos: 51.5,-34.5
+      parent: 5350
+  - uid: 27348
+    components:
+    - type: Transform
+      pos: 52.5,-34.5
+      parent: 5350
+  - uid: 27350
+    components:
+    - type: Transform
+      pos: 54.5,-34.5
+      parent: 5350
+  - uid: 27351
+    components:
+    - type: Transform
+      pos: 55.5,-34.5
+      parent: 5350
+  - uid: 27353
+    components:
+    - type: Transform
+      pos: 57.5,-34.5
+      parent: 5350
+  - uid: 27355
+    components:
+    - type: Transform
+      pos: 59.5,-34.5
+      parent: 5350
+  - uid: 27356
+    components:
+    - type: Transform
+      pos: 60.5,-34.5
+      parent: 5350
+  - uid: 27357
+    components:
+    - type: Transform
+      pos: 61.5,-34.5
+      parent: 5350
+  - uid: 27358
+    components:
+    - type: Transform
+      pos: 62.5,-34.5
+      parent: 5350
+  - uid: 27359
+    components:
+    - type: Transform
+      pos: 50.5,-36.5
+      parent: 5350
+  - uid: 27360
+    components:
+    - type: Transform
+      pos: 51.5,-36.5
+      parent: 5350
+  - uid: 27362
+    components:
+    - type: Transform
+      pos: 53.5,-36.5
+      parent: 5350
+  - uid: 27363
+    components:
+    - type: Transform
+      pos: 54.5,-36.5
+      parent: 5350
+  - uid: 27364
+    components:
+    - type: Transform
+      pos: 55.5,-36.5
+      parent: 5350
+  - uid: 27366
+    components:
+    - type: Transform
+      pos: 57.5,-36.5
+      parent: 5350
+  - uid: 27367
+    components:
+    - type: Transform
+      pos: 58.5,-36.5
+      parent: 5350
+  - uid: 27368
+    components:
+    - type: Transform
+      pos: 59.5,-36.5
+      parent: 5350
+  - uid: 27369
+    components:
+    - type: Transform
+      pos: 79.5,-28.5
+      parent: 5350
+  - uid: 27370
+    components:
+    - type: Transform
+      pos: 62.5,-36.5
+      parent: 5350
+  - uid: 27371
+    components:
+    - type: Transform
+      pos: 62.5,-37.5
+      parent: 5350
+  - uid: 27372
+    components:
+    - type: Transform
+      pos: 62.5,-38.5
+      parent: 5350
+  - uid: 27374
+    components:
+    - type: Transform
+      pos: 62.5,-40.5
+      parent: 5350
+  - uid: 27375
+    components:
+    - type: Transform
+      pos: 62.5,-41.5
+      parent: 5350
+  - uid: 27376
+    components:
+    - type: Transform
+      pos: 62.5,-42.5
+      parent: 5350
+  - uid: 27378
+    components:
+    - type: Transform
+      pos: 62.5,-44.5
+      parent: 5350
+  - uid: 27379
+    components:
+    - type: Transform
+      pos: 62.5,-45.5
+      parent: 5350
+  - uid: 27381
+    components:
+    - type: Transform
+      pos: 62.5,-47.5
+      parent: 5350
+  - uid: 27382
+    components:
+    - type: Transform
+      pos: 63.5,-47.5
+      parent: 5350
+  - uid: 27383
+    components:
+    - type: Transform
+      pos: 79.5,-39.5
+      parent: 5350
+  - uid: 27384
+    components:
+    - type: Transform
+      pos: 65.5,-47.5
+      parent: 5350
+  - uid: 27385
+    components:
+    - type: Transform
+      pos: 66.5,-47.5
+      parent: 5350
+  - uid: 27387
+    components:
+    - type: Transform
+      pos: 68.5,-47.5
+      parent: 5350
+  - uid: 27388
+    components:
+    - type: Transform
+      pos: 69.5,-47.5
+      parent: 5350
+  - uid: 27390
+    components:
+    - type: Transform
+      pos: 72.5,-47.5
+      parent: 5350
+  - uid: 27391
+    components:
+    - type: Transform
+      pos: 71.5,-47.5
+      parent: 5350
+  - uid: 27392
+    components:
+    - type: Transform
+      pos: 73.5,-47.5
+      parent: 5350
+  - uid: 27393
+    components:
+    - type: Transform
+      pos: 74.5,-47.5
+      parent: 5350
+  - uid: 27394
+    components:
+    - type: Transform
+      pos: 75.5,-47.5
+      parent: 5350
+  - uid: 27395
+    components:
+    - type: Transform
+      pos: 76.5,-47.5
+      parent: 5350
+  - uid: 27396
+    components:
+    - type: Transform
+      pos: 77.5,-47.5
+      parent: 5350
+  - uid: 27398
+    components:
+    - type: Transform
+      pos: 79.5,-47.5
+      parent: 5350
+  - uid: 27399
+    components:
+    - type: Transform
+      pos: 80.5,-47.5
+      parent: 5350
+  - uid: 27400
+    components:
+    - type: Transform
+      pos: 80.5,-31.5
+      parent: 5350
+  - uid: 27401
+    components:
+    - type: Transform
+      pos: 80.5,-30.5
+      parent: 5350
+  - uid: 27402
+    components:
+    - type: Transform
+      pos: 80.5,-29.5
+      parent: 5350
+  - uid: 27404
+    components:
+    - type: Transform
+      pos: 80.5,-46.5
+      parent: 5350
+  - uid: 27406
+    components:
+    - type: Transform
+      pos: 80.5,-43.5
+      parent: 5350
+  - uid: 27407
+    components:
+    - type: Transform
+      pos: 80.5,-45.5
+      parent: 5350
+  - uid: 27408
+    components:
+    - type: Transform
+      pos: 80.5,-42.5
+      parent: 5350
+  - uid: 27409
+    components:
+    - type: Transform
+      pos: 80.5,-41.5
+      parent: 5350
+  - uid: 27410
+    components:
+    - type: Transform
+      pos: 80.5,-40.5
+      parent: 5350
+  - uid: 27412
+    components:
+    - type: Transform
+      pos: 80.5,-38.5
+      parent: 5350
+  - uid: 27413
+    components:
+    - type: Transform
+      pos: 80.5,-37.5
+      parent: 5350
+  - uid: 27414
+    components:
+    - type: Transform
+      pos: 80.5,-36.5
+      parent: 5350
+  - uid: 27415
+    components:
+    - type: Transform
+      pos: 80.5,-35.5
+      parent: 5350
+  - uid: 27416
+    components:
+    - type: Transform
+      pos: 80.5,-34.5
+      parent: 5350
+  - uid: 27418
+    components:
+    - type: Transform
+      pos: 80.5,-32.5
+      parent: 5350
+  - uid: 27419
+    components:
+    - type: Transform
+      pos: 78.5,-28.5
+      parent: 5350
+  - uid: 27420
+    components:
+    - type: Transform
+      pos: 77.5,-28.5
+      parent: 5350
+  - uid: 27421
+    components:
+    - type: Transform
+      pos: 79.5,-26.5
+      parent: 5350
+  - uid: 27422
+    components:
+    - type: Transform
+      pos: 79.5,-44.5
+      parent: 5350
+  - uid: 27441
+    components:
+    - type: Transform
+      pos: 79.5,-33.5
+      parent: 5350
+  - uid: 27460
+    components:
+    - type: Transform
+      pos: 79.5,-36.5
+      parent: 5350
+  - uid: 27470
+    components:
+    - type: Transform
+      pos: 78.5,-46.5
+      parent: 5350
+  - uid: 27471
+    components:
+    - type: Transform
+      pos: 75.5,-46.5
+      parent: 5350
+  - uid: 27472
+    components:
+    - type: Transform
+      pos: 70.5,-46.5
+      parent: 5350
+  - uid: 27473
+    components:
+    - type: Transform
+      pos: 67.5,-46.5
+      parent: 5350
+  - uid: 27474
+    components:
+    - type: Transform
+      pos: 64.5,-46.5
+      parent: 5350
+  - uid: 27475
+    components:
+    - type: Transform
+      pos: 63.5,-43.5
+      parent: 5350
+  - uid: 27476
+    components:
+    - type: Transform
+      pos: 63.5,-39.5
+      parent: 5350
+  - uid: 27477
+    components:
+    - type: Transform
+      pos: 63.5,-35.5
+      parent: 5350
 - proto: GrilleBroken
   entities:
   - uid: 2073
@@ -115575,6 +117622,161 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 41.5,60.5
       parent: 5350
+  - uid: 27288
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 60.5,-47.5
+      parent: 5350
+  - uid: 27290
+    components:
+    - type: Transform
+      pos: 60.5,-38.5
+      parent: 5350
+  - uid: 27296
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 74.5,-49.5
+      parent: 5350
+  - uid: 27300
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 79.5,-49.5
+      parent: 5350
+  - uid: 27305
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 82.5,-44.5
+      parent: 5350
+  - uid: 27312
+    components:
+    - type: Transform
+      pos: 82.5,-36.5
+      parent: 5350
+  - uid: 27318
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 80.5,-28.5
+      parent: 5350
+  - uid: 27321
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 80.5,-26.5
+      parent: 5350
+  - uid: 27327
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 80.5,-39.5
+      parent: 5350
+  - uid: 27334
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 67.5,-47.5
+      parent: 5350
+  - uid: 27338
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 56.5,-34.5
+      parent: 5350
+  - uid: 27343
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 62.5,-43.5
+      parent: 5350
+  - uid: 27349
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 52.5,-36.5
+      parent: 5350
+  - uid: 27352
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 56.5,-36.5
+      parent: 5350
+  - uid: 27354
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 53.5,-34.5
+      parent: 5350
+  - uid: 27361
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 58.5,-34.5
+      parent: 5350
+  - uid: 27365
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 82.5,-29.5
+      parent: 5350
+  - uid: 27373
+    components:
+    - type: Transform
+      pos: 62.5,-46.5
+      parent: 5350
+  - uid: 27377
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 70.5,-47.5
+      parent: 5350
+  - uid: 27380
+    components:
+    - type: Transform
+      pos: 80.5,-44.5
+      parent: 5350
+  - uid: 27386
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 80.5,-33.5
+      parent: 5350
+  - uid: 27389
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 78.5,-47.5
+      parent: 5350
+  - uid: 27397
+    components:
+    - type: Transform
+      pos: 60.5,-43.5
+      parent: 5350
+  - uid: 27403
+    components:
+    - type: Transform
+      pos: 82.5,-40.5
+      parent: 5350
+  - uid: 27405
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 71.5,-49.5
+      parent: 5350
+  - uid: 27411
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 65.5,-49.5
+      parent: 5350
+  - uid: 27417
+    components:
+    - type: Transform
+      pos: 62.5,-39.5
+      parent: 5350
 - proto: GroundCannabis
   entities:
   - uid: 24640
@@ -115757,6 +117959,26 @@ entities:
     - type: Transform
       pos: 29.518621,-60.391666
       parent: 5350
+- proto: HeatExchanger
+  entities:
+  - uid: 27166
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 72.5,-40.5
+      parent: 5350
+  - uid: 27167
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 72.5,-41.5
+      parent: 5350
+  - uid: 27168
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 72.5,-42.5
+      parent: 5350
 - proto: HighSecCommandLocked
   entities:
   - uid: 1668
@@ -115800,6 +118022,12 @@ entities:
     - type: Transform
       pos: -34.462692,34.496433
       parent: 5350
+  - uid: 27051
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 72.83539,-31.5
+      parent: 5350
 - proto: HospitalCurtainsOpen
   entities:
   - uid: 7215
@@ -116304,6 +118532,11 @@ entities:
     - type: Transform
       pos: 100.5,10.5
       parent: 5350
+  - uid: 27015
+    components:
+    - type: Transform
+      pos: 72.5,-28.5
+      parent: 5350
 - proto: IntercomMedical
   entities:
   - uid: 14165
@@ -116985,6 +119218,28 @@ entities:
         - Pressed: Toggle
         14794:
         - Pressed: Toggle
+- proto: LockerAtmospherics
+  entities:
+  - uid: 27084
+    components:
+    - type: Transform
+      pos: 73.5,-29.5
+      parent: 5350
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 27085
+          - 27091
+          - 27097
+          - 27098
+          - 27099
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
 - proto: LockerAtmosphericsFilled
   entities:
   - uid: 9033
@@ -119628,6 +121883,11 @@ entities:
     - type: Transform
       pos: 41.5,31.5
       parent: 5350
+  - uid: 27088
+    components:
+    - type: Transform
+      pos: 76.5,-34.5
+      parent: 5350
 - proto: NitrogenTankFilled
   entities:
   - uid: 15569
@@ -119640,6 +121900,13 @@ entities:
     - type: Transform
       pos: -15.399836,-58.48665
       parent: 5350
+  - uid: 27085
+    components:
+    - type: Transform
+      parent: 27084
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
 - proto: NitrousOxideCanister
   entities:
   - uid: 11825
@@ -119827,6 +122094,11 @@ entities:
     - type: Transform
       pos: 55.5,24.5
       parent: 5350
+  - uid: 27087
+    components:
+    - type: Transform
+      pos: 76.5,-33.5
+      parent: 5350
 - proto: OxygenTankFilled
   entities:
   - uid: 1305
@@ -119854,6 +122126,13 @@ entities:
     - type: Transform
       pos: -43.374786,23.584633
       parent: 5350
+  - uid: 27099
+    components:
+    - type: Transform
+      parent: 27084
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
 - proto: PaintingAmogusTriptych
   entities:
   - uid: 24635
@@ -120320,11 +122599,6 @@ entities:
     - type: Transform
       pos: -42.7706,23.635101
       parent: 5350
-  - uid: 11275
-    components:
-    - type: Transform
-      pos: 67.42234,-30.577332
-      parent: 5350
   - uid: 11812
     components:
     - type: Transform
@@ -120600,10 +122874,15 @@ entities:
     - type: Transform
       pos: 47.5,20.5
       parent: 5350
-  - uid: 11598
+  - uid: 11166
     components:
     - type: Transform
-      pos: 69.5,-15.5
+      pos: 69.5,-14.5
+      parent: 5350
+  - uid: 27089
+    components:
+    - type: Transform
+      pos: 76.5,-35.5
       parent: 5350
 - proto: PlasmaReinforcedWindowDirectional
   entities:
@@ -122157,6 +124436,11 @@ entities:
     - type: Transform
       pos: 52.5,-3.5
       parent: 5350
+  - uid: 27077
+    components:
+    - type: Transform
+      pos: 73.5,-31.5
+      parent: 5350
 - proto: PowerCellSmall
   entities:
   - uid: 22275
@@ -123112,11 +125396,23 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 10928
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-8.5
+      parent: 5350
   - uid: 11029
     components:
     - type: Transform
       pos: 35.5,-18.5
       parent: 5350
+  - uid: 11256
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 63.5,-22.5
+      parent: 5350
   - uid: 11506
     components:
     - type: Transform
@@ -123124,6 +125420,12 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 11728
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-16.5
+      parent: 5350
   - uid: 12036
     components:
     - type: Transform
@@ -123171,22 +125473,6 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 12043
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 65.5,-9.5
-      parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
-  - uid: 12044
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 65.5,-17.5
-      parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 12045
     components:
     - type: Transform
@@ -123203,14 +125489,6 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 12047
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 63.5,-22.5
-      parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 12048
     components:
     - type: Transform
@@ -124741,8 +127019,42 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -25.5,-23.5
       parent: 5350
+  - uid: 27143
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 66.5,-27.5
+      parent: 5350
+  - uid: 27144
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 66.5,-35.5
+      parent: 5350
+  - uid: 27145
+    components:
+    - type: Transform
+      pos: 73.5,-29.5
+      parent: 5350
+  - uid: 27146
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 76.5,-37.5
+      parent: 5350
+  - uid: 27147
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 76.5,-33.5
+      parent: 5350
 - proto: PoweredlightExterior
   entities:
+  - uid: 11238
+    components:
+    - type: Transform
+      pos: 76.5,-43.5
+      parent: 5350
   - uid: 26352
     components:
     - type: Transform
@@ -124819,6 +127131,12 @@ entities:
     - type: Transform
       pos: 76.5,1.5
       parent: 5350
+  - uid: 27478
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 72.5,-24.5
+      parent: 5350
 - proto: PoweredlightSodium
   entities:
   - uid: 23878
@@ -125166,6 +127484,12 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 9029
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-10.5
+      parent: 5350
   - uid: 9969
     components:
     - type: Transform
@@ -125304,13 +127628,18 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 11286
+  - uid: 10970
     components:
     - type: Transform
-      pos: 65.5,-24.5
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-6.5
+      parent: 5350
+  - uid: 11303
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-14.5
       parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 11503
     components:
     - type: Transform
@@ -125359,38 +127688,12 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 11569
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 69.5,-19.5
-      parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
-  - uid: 11570
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 69.5,-15.5
-      parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
-  - uid: 11571
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 69.5,-11.5
-      parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
-  - uid: 11572
+  - uid: 11618
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 69.5,-7.5
+      pos: 69.5,-18.5
       parent: 5350
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 12024
     components:
     - type: Transform
@@ -126458,6 +128761,35 @@ entities:
       parent: 5350
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 26986
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-27.5
+      parent: 5350
+  - uid: 27125
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 66.5,-42.5
+      parent: 5350
+  - uid: 27126
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-42.5
+      parent: 5350
+  - uid: 27153
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 76.5,-41.5
+      parent: 5350
+  - uid: 27249
+    components:
+    - type: Transform
+      pos: 69.5,-23.5
+      parent: 5350
 - proto: Protolathe
   entities:
   - uid: 9805
@@ -127161,6 +129493,12 @@ entities:
     - type: Transform
       pos: -64.48487,-42.241108
       parent: 5350
+  - uid: 27103
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 73.5,-31
+      parent: 5350
 - proto: Railing
   entities:
   - uid: 2182
@@ -127298,6 +129636,48 @@ entities:
     - type: Transform
       pos: -5.5,-74.5
       parent: 5350
+  - uid: 26987
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 67.5,-31.5
+      parent: 5350
+  - uid: 26988
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 68.5,-32.5
+      parent: 5350
+  - uid: 26989
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.5,-32.5
+      parent: 5350
+  - uid: 26990
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 70.5,-32.5
+      parent: 5350
+  - uid: 26991
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 71.5,-32.5
+      parent: 5350
+  - uid: 26992
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 72.5,-32.5
+      parent: 5350
+  - uid: 27007
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 73.5,-32.5
+      parent: 5350
 - proto: RailingCorner
   entities:
   - uid: 11026
@@ -127353,6 +129733,23 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -66.5,-39.5
       parent: 5350
+  - uid: 26993
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-32.5
+      parent: 5350
+  - uid: 27006
+    components:
+    - type: Transform
+      pos: 74.5,-32.5
+      parent: 5350
+  - uid: 27012
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 67.5,-30.5
+      parent: 5350
 - proto: RandomArcade
   entities:
   - uid: 13625
@@ -128271,6 +130668,12 @@ entities:
     - type: Transform
       pos: 43.631737,8.657005
       parent: 5350
+  - uid: 27062
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.35516,-31.5
+      parent: 5350
 - proto: ReagentContainerFlour
   entities:
   - uid: 2240
@@ -128300,6 +130703,21 @@ entities:
       parent: 5350
 - proto: ReinforcedPlasmaWindow
   entities:
+  - uid: 10943
+    components:
+    - type: Transform
+      pos: 66.5,-17.5
+      parent: 5350
+  - uid: 11112
+    components:
+    - type: Transform
+      pos: 66.5,-10.5
+      parent: 5350
+  - uid: 11113
+    components:
+    - type: Transform
+      pos: 66.5,-9.5
+      parent: 5350
   - uid: 11288
     components:
     - type: Transform
@@ -128345,65 +130763,70 @@ entities:
     - type: Transform
       pos: 61.5,-27.5
       parent: 5350
-  - uid: 11297
+  - uid: 11298
     components:
     - type: Transform
-      pos: 66.5,-20.5
+      pos: 66.5,-11.5
       parent: 5350
-  - uid: 11298
+  - uid: 11312
+    components:
+    - type: Transform
+      pos: 66.5,-5.5
+      parent: 5350
+  - uid: 11319
     components:
     - type: Transform
       pos: 66.5,-19.5
       parent: 5350
-  - uid: 11299
+  - uid: 11320
     components:
     - type: Transform
       pos: 66.5,-18.5
       parent: 5350
-  - uid: 11300
+  - uid: 11569
     components:
     - type: Transform
-      pos: 66.5,-16.5
+      pos: 66.5,-6.5
       parent: 5350
-  - uid: 11301
+  - uid: 11634
     components:
     - type: Transform
-      pos: 66.5,-15.5
+      pos: 66.5,-7.5
       parent: 5350
-  - uid: 11302
+  - uid: 11726
     components:
     - type: Transform
-      pos: 66.5,-14.5
+      pos: 66.5,-13.5
       parent: 5350
-  - uid: 11303
+  - uid: 11727
     components:
     - type: Transform
-      pos: 66.5,-12.5
+      pos: 66.5,-14.5
       parent: 5350
-  - uid: 11304
+  - uid: 11729
     components:
     - type: Transform
-      pos: 66.5,-11.5
+      pos: 66.5,-15.5
       parent: 5350
-  - uid: 11305
+  - uid: 27131
     components:
     - type: Transform
-      pos: 66.5,-10.5
+      pos: 66.5,-39.5
       parent: 5350
-  - uid: 11306
+  - uid: 27132
     components:
     - type: Transform
-      pos: 66.5,-8.5
+      pos: 67.5,-39.5
       parent: 5350
-  - uid: 11307
+  - uid: 27133
     components:
     - type: Transform
-      pos: 66.5,-7.5
+      pos: 68.5,-39.5
       parent: 5350
-  - uid: 11308
+  - uid: 27134
     components:
     - type: Transform
-      pos: 66.5,-6.5
+      pos: 69.5,-39.5
       parent: 5350
 - proto: ReinforcedWindow
   entities:
@@ -130699,140 +133122,135 @@ entities:
     - type: Transform
       pos: 1.5,46.5
       parent: 5350
-  - uid: 10815
-    components:
-    - type: Transform
-      pos: 64.5,-6.5
-      parent: 5350
-  - uid: 10816
+  - uid: 10838
     components:
     - type: Transform
-      pos: 64.5,-7.5
+      pos: 64.5,-15.5
       parent: 5350
-  - uid: 10817
+  - uid: 10839
     components:
     - type: Transform
-      pos: 64.5,-8.5
+      pos: 64.5,-9.5
       parent: 5350
-  - uid: 10818
+  - uid: 10845
     components:
     - type: Transform
-      pos: 64.5,-9.5
+      pos: 59.5,-25.5
       parent: 5350
-  - uid: 10820
+  - uid: 10846
     components:
     - type: Transform
-      pos: 64.5,-10.5
+      pos: 58.5,-25.5
       parent: 5350
-  - uid: 10821
+  - uid: 10847
     components:
     - type: Transform
-      pos: 64.5,-11.5
+      pos: 57.5,-25.5
       parent: 5350
-  - uid: 10822
+  - uid: 10848
     components:
     - type: Transform
-      pos: 64.5,-12.5
+      pos: 56.5,-25.5
       parent: 5350
-  - uid: 10823
+  - uid: 10849
     components:
     - type: Transform
-      pos: 64.5,-13.5
+      pos: 55.5,-25.5
       parent: 5350
-  - uid: 10824
+  - uid: 10850
     components:
     - type: Transform
-      pos: 64.5,-14.5
+      pos: 54.5,-25.5
       parent: 5350
-  - uid: 10825
+  - uid: 10851
     components:
     - type: Transform
-      pos: 64.5,-15.5
+      pos: 53.5,-25.5
       parent: 5350
-  - uid: 10826
+  - uid: 10852
     components:
     - type: Transform
-      pos: 64.5,-16.5
+      pos: 52.5,-25.5
       parent: 5350
-  - uid: 10827
+  - uid: 10853
     components:
     - type: Transform
-      pos: 64.5,-17.5
+      pos: 51.5,-25.5
       parent: 5350
-  - uid: 10828
+  - uid: 10854
     components:
     - type: Transform
-      pos: 64.5,-18.5
+      pos: 50.5,-25.5
       parent: 5350
-  - uid: 10829
+  - uid: 11097
     components:
     - type: Transform
-      pos: 64.5,-19.5
+      pos: 64.5,-11.5
       parent: 5350
-  - uid: 10830
+  - uid: 11098
     components:
     - type: Transform
-      pos: 64.5,-20.5
+      pos: 64.5,-10.5
       parent: 5350
-  - uid: 10843
+  - uid: 11099
     components:
     - type: Transform
-      pos: 61.5,-25.5
+      pos: 64.5,-12.5
       parent: 5350
-  - uid: 10844
+  - uid: 11100
     components:
     - type: Transform
-      pos: 60.5,-25.5
+      pos: 64.5,-13.5
       parent: 5350
-  - uid: 10845
+  - uid: 11101
     components:
     - type: Transform
-      pos: 59.5,-25.5
+      pos: 64.5,-14.5
       parent: 5350
-  - uid: 10846
+  - uid: 11102
     components:
     - type: Transform
-      pos: 58.5,-25.5
+      pos: 64.5,-16.5
       parent: 5350
-  - uid: 10847
+  - uid: 11237
     components:
     - type: Transform
-      pos: 57.5,-25.5
+      pos: 64.5,-17.5
       parent: 5350
-  - uid: 10848
+  - uid: 11239
     components:
     - type: Transform
-      pos: 56.5,-25.5
+      pos: 63.5,-25.5
       parent: 5350
-  - uid: 10849
+  - uid: 11240
     components:
     - type: Transform
-      pos: 55.5,-25.5
+      pos: 64.5,-5.5
       parent: 5350
-  - uid: 10850
+  - uid: 11265
     components:
     - type: Transform
-      pos: 54.5,-25.5
+      pos: 64.5,-19.5
       parent: 5350
-  - uid: 10851
+  - uid: 11267
     components:
     - type: Transform
-      pos: 53.5,-25.5
+      pos: 61.5,-25.5
       parent: 5350
-  - uid: 10852
+  - uid: 11284
     components:
     - type: Transform
-      pos: 52.5,-25.5
+      pos: 64.5,-7.5
       parent: 5350
-  - uid: 10853
+  - uid: 11285
     components:
     - type: Transform
-      pos: 51.5,-25.5
+      pos: 64.5,-6.5
       parent: 5350
-  - uid: 10854
+  - uid: 11286
     components:
     - type: Transform
-      pos: 50.5,-25.5
+      pos: 64.5,-8.5
       parent: 5350
   - uid: 11378
     components:
@@ -130844,6 +133262,21 @@ entities:
     - type: Transform
       pos: 43.5,-29.5
       parent: 5350
+  - uid: 11694
+    components:
+    - type: Transform
+      pos: 64.5,-25.5
+      parent: 5350
+  - uid: 11734
+    components:
+    - type: Transform
+      pos: 60.5,-25.5
+      parent: 5350
+  - uid: 11753
+    components:
+    - type: Transform
+      pos: 70.5,-28.5
+      parent: 5350
   - uid: 12345
     components:
     - type: Transform
@@ -132044,11 +134477,66 @@ entities:
     - type: Transform
       pos: 104.5,10.5
       parent: 5350
+  - uid: 26789
+    components:
+    - type: Transform
+      pos: 64.5,-21.5
+      parent: 5350
   - uid: 26871
     components:
     - type: Transform
       pos: 32.5,-8.5
       parent: 5350
+  - uid: 27037
+    components:
+    - type: Transform
+      pos: 74.5,-29.5
+      parent: 5350
+  - uid: 27038
+    components:
+    - type: Transform
+      pos: 74.5,-30.5
+      parent: 5350
+  - uid: 27149
+    components:
+    - type: Transform
+      pos: 72.5,-39.5
+      parent: 5350
+  - uid: 27150
+    components:
+    - type: Transform
+      pos: 71.5,-39.5
+      parent: 5350
+  - uid: 27154
+    components:
+    - type: Transform
+      pos: 73.5,-39.5
+      parent: 5350
+  - uid: 27155
+    components:
+    - type: Transform
+      pos: 74.5,-39.5
+      parent: 5350
+  - uid: 27257
+    components:
+    - type: Transform
+      pos: 65.5,-29.5
+      parent: 5350
+  - uid: 27258
+    components:
+    - type: Transform
+      pos: 65.5,-30.5
+      parent: 5350
+  - uid: 27271
+    components:
+    - type: Transform
+      pos: 66.5,-22.5
+      parent: 5350
+  - uid: 27272
+    components:
+    - type: Transform
+      pos: 64.5,-18.5
+      parent: 5350
 - proto: RemoteSignaller
   entities:
   - uid: 1290
@@ -132467,6 +134955,11 @@ entities:
     - type: Transform
       pos: 108.52579,-0.4561236
       parent: 5350
+  - uid: 27047
+    components:
+    - type: Transform
+      pos: 70.58096,-31.5
+      parent: 5350
 - proto: SheetPlasma
   entities:
   - uid: 9204
@@ -132627,11 +135120,6 @@ entities:
     - type: Transform
       pos: 42.547264,-3.4866009
       parent: 5350
-  - uid: 11273
-    components:
-    - type: Transform
-      pos: 71.51609,-32.499207
-      parent: 5350
   - uid: 12277
     components:
     - type: Transform
@@ -133533,25 +136021,26 @@ entities:
         - Pressed: Toggle
         10483:
         - Pressed: Toggle
-  - uid: 12021
+  - uid: 11640
     components:
     - type: Transform
-      pos: 45.5,-29.5
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-4.5
       parent: 5350
     - type: DeviceLinkSource
       linkedPorts:
-        11487:
+        11015:
         - Pressed: Toggle
-        11486:
-        - Pressed: Toggle
-  - uid: 12022
+  - uid: 12021
     components:
     - type: Transform
-      pos: 64.5,-5.5
+      pos: 45.5,-29.5
       parent: 5350
     - type: DeviceLinkSource
       linkedPorts:
-        10293:
+        11487:
+        - Pressed: Toggle
+        11486:
         - Pressed: Toggle
   - uid: 15183
     components:
@@ -134492,6 +136981,11 @@ entities:
       parent: 5350
 - proto: SignEngine
   entities:
+  - uid: 11741
+    components:
+    - type: Transform
+      pos: 65.5,-22.5
+      parent: 5350
   - uid: 23813
     components:
     - type: Transform
@@ -134565,6 +137059,23 @@ entities:
     - type: Transform
       pos: 45.5,-35.5
       parent: 5350
+  - uid: 27262
+    components:
+    - type: Transform
+      pos: 65.5,-39.5
+      parent: 5350
+- proto: SignFlammableMed
+  entities:
+  - uid: 27094
+    components:
+    - type: Transform
+      pos: 75.5,-31.5
+      parent: 5350
+  - uid: 27198
+    components:
+    - type: Transform
+      pos: 77.5,-36.5
+      parent: 5350
 - proto: SignGravity
   entities:
   - uid: 14539
@@ -135038,6 +137549,11 @@ entities:
     - type: Transform
       pos: -0.5,-48.5
       parent: 5350
+  - uid: 27093
+    components:
+    - type: Transform
+      pos: 65.5,-27.5
+      parent: 5350
 - proto: SignSpace
   entities:
   - uid: 5419
@@ -135075,15 +137591,15 @@ entities:
     - type: Transform
       pos: -43.5,17.5
       parent: 5350
-  - uid: 11287
+  - uid: 11490
     components:
     - type: Transform
-      pos: 65.5,-25.5
+      pos: 47.5,-33.5
       parent: 5350
-  - uid: 11490
+  - uid: 11755
     components:
     - type: Transform
-      pos: 47.5,-33.5
+      pos: 70.5,-22.5
       parent: 5350
   - uid: 18937
     components:
@@ -135140,6 +137656,11 @@ entities:
     - type: Transform
       pos: 92.5,6.5
       parent: 5350
+  - uid: 27263
+    components:
+    - type: Transform
+      pos: 75.5,-40.5
+      parent: 5350
 - proto: SignSurgery
   entities:
   - uid: 15191
@@ -135530,6 +138051,13 @@ entities:
     - type: Transform
       pos: 55.5,30.5
       parent: 5350
+  - uid: 27014
+    components:
+    - type: MetaData
+      name: TEG SMES
+    - type: Transform
+      pos: 70.5,-26.5
+      parent: 5350
 - proto: SmokingPipeFilledCannabis
   entities:
   - uid: 24641
@@ -138355,15 +140883,15 @@ entities:
       parent: 5350
 - proto: StorageCanister
   entities:
-  - uid: 11515
+  - uid: 10293
     components:
     - type: Transform
-      pos: 45.5,-26.5
+      pos: 69.5,-10.5
       parent: 5350
-  - uid: 11627
+  - uid: 11515
     components:
     - type: Transform
-      pos: 69.5,-11.5
+      pos: 45.5,-26.5
       parent: 5350
   - uid: 11819
     components:
@@ -138583,6 +141111,13 @@ entities:
     - type: Transform
       pos: 104.5,13.5
       parent: 5350
+  - uid: 27141
+    components:
+    - type: MetaData
+      name: TEG Substation
+    - type: Transform
+      pos: 70.5,-25.5
+      parent: 5350
 - proto: SuitStorageCaptain
   entities:
   - uid: 1505
@@ -139134,6 +141669,18 @@ entities:
       id: Tech Vault High Sec
 - proto: SurveillanceCameraEngineering
   entities:
+  - uid: 9027
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-10.5
+      parent: 5350
+  - uid: 11055
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-14.5
+      parent: 5350
   - uid: 11516
     components:
     - type: Transform
@@ -139145,6 +141692,26 @@ entities:
       - SurveillanceCameraEngineering
       nameSet: True
       id: Thruster
+  - uid: 11571
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-6.5
+      parent: 5350
+  - uid: 11620
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-18.5
+      parent: 5350
+  - uid: 11751
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 72.5,-22.5
+      parent: 5350
+    - type: SurveillanceCamera
+      id: Atmos TEG Exterior north
   - uid: 12527
     components:
     - type: Transform
@@ -139393,61 +141960,6 @@ entities:
       - SurveillanceCameraEngineering
       nameSet: True
       id: Atmos Tank Nitro
-  - uid: 26785
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 69.5,-19.5
-      parent: 5350
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraEngineering
-      nameSet: True
-      id: Atmos Tank Co2
-  - uid: 26786
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 69.5,-15.5
-      parent: 5350
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraEngineering
-      nameSet: True
-      id: Atmos Tank Plasma
-  - uid: 26787
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 69.5,-11.5
-      parent: 5350
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraEngineering
-      nameSet: True
-      id: Atmos Tank Waste
-  - uid: 26788
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 69.5,-7.5
-      parent: 5350
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraEngineering
-      nameSet: True
-      id: Atmos Tank Mixer
-  - uid: 26789
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 68.5,-23.5
-      parent: 5350
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraEngineering
-      nameSet: True
-      id: Atmos Exterior
   - uid: 26792
     components:
     - type: Transform
@@ -139512,6 +142024,40 @@ entities:
       - SurveillanceCameraEngineering
       nameSet: True
       id: Solars SW
+  - uid: 27139
+    components:
+    - type: MetaData
+      name: camera
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-26.5
+      parent: 5350
+    - type: SurveillanceCamera
+      id: Atmos TEG Room Entrance
+  - uid: 27265
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 73.5,-31.5
+      parent: 5350
+    - type: SurveillanceCamera
+      id: Atmos TEG Room Desk
+  - uid: 27267
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-38.5
+      parent: 5350
+    - type: SurveillanceCamera
+      id: Atmos TEG Room Chamber
+  - uid: 27269
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 74.5,-42.5
+      parent: 5350
+    - type: SurveillanceCamera
+      id: Atmos TEG Exterior south
 - proto: SurveillanceCameraGeneral
   entities:
   - uid: 23189
@@ -142622,6 +145168,33 @@ entities:
     - type: Transform
       pos: 26.5,0.5
       parent: 5350
+  - uid: 27040
+    components:
+    - type: Transform
+      pos: 73.5,-30.5
+      parent: 5350
+  - uid: 27041
+    components:
+    - type: Transform
+      pos: 73.5,-31.5
+      parent: 5350
+  - uid: 27042
+    components:
+    - type: Transform
+      pos: 72.5,-31.5
+      parent: 5350
+  - uid: 27044
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 70.5,-31.5
+      parent: 5350
+  - uid: 27045
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.5,-31.5
+      parent: 5350
 - proto: TableCarpet
   entities:
   - uid: 1022
@@ -144473,26 +147046,26 @@ entities:
       parent: 5350
 - proto: TegCenter
   entities:
-  - uid: 11276
+  - uid: 26997
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 69.5,-34.5
+      pos: 70.5,-35.5
       parent: 5350
 - proto: TegCirculator
   entities:
-  - uid: 11277
+  - uid: 26998
     components:
     - type: Transform
-      pos: 70.5,-34.5
+      rot: 3.141592653589793 rad
+      pos: 69.5,-35.5
       parent: 5350
     - type: PointLight
       color: '#FF3300FF'
-  - uid: 11280
+  - uid: 26999
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 68.5,-34.5
+      pos: 71.5,-35.5
       parent: 5350
     - type: PointLight
       color: '#FF3300FF'
@@ -145302,6 +147875,12 @@ entities:
     - type: Transform
       pos: 52.498978,0.33205032
       parent: 5350
+  - uid: 27102
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 72.38718,-31.5
+      parent: 5350
 - proto: TubaInstrument
   entities:
   - uid: 3197
@@ -145460,6 +148039,25 @@ entities:
         - Left: Forward
         - Right: Reverse
         - Middle: Off
+  - uid: 27274
+    components:
+    - type: MetaData
+      desc: 'Opens and closes the blast doors of the combustion chamber. Left: one Door - Right: both Doors - Middle: closed.'
+      name: blast doors
+    - type: Transform
+      pos: 70.5,-38.5
+      parent: 5350
+    - type: TwoWayLever
+      nextSignalLeft: True
+    - type: DeviceLinkSource
+      linkedPorts:
+        27136:
+        - Middle: Close
+        - Left: Open
+        - Right: Open
+        27135:
+        - Middle: Close
+        - Left: Open
 - proto: UnfinishedMachineFrame
   entities:
   - uid: 18441
@@ -147889,6 +150487,16 @@ entities:
     - type: Transform
       pos: -57.5,-6.5
       parent: 5350
+  - uid: 5314
+    components:
+    - type: Transform
+      pos: 66.5,-20.5
+      parent: 5350
+  - uid: 5315
+    components:
+    - type: Transform
+      pos: 67.5,-20.5
+      parent: 5350
   - uid: 5328
     components:
     - type: Transform
@@ -149994,6 +152602,12 @@ entities:
     - type: Transform
       pos: 58.5,-3.5
       parent: 5350
+  - uid: 9069
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-38.5
+      parent: 5350
   - uid: 9071
     components:
     - type: Transform
@@ -150527,67 +153141,35 @@ entities:
   - uid: 10814
     components:
     - type: Transform
-      pos: 64.5,-5.5
-      parent: 5350
-  - uid: 10831
-    components:
-    - type: Transform
-      pos: 64.5,-21.5
+      pos: 66.5,-12.5
       parent: 5350
-  - uid: 10832
+  - uid: 10818
     components:
     - type: Transform
-      pos: 64.5,-22.5
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-8.5
       parent: 5350
   - uid: 10833
     components:
     - type: Transform
-      pos: 64.5,-23.5
-      parent: 5350
-  - uid: 10834
-    components:
-    - type: Transform
-      pos: 65.5,-23.5
-      parent: 5350
-  - uid: 10835
-    components:
-    - type: Transform
-      pos: 66.5,-23.5
-      parent: 5350
-  - uid: 10836
-    components:
-    - type: Transform
-      pos: 67.5,-23.5
+      pos: 68.5,-28.5
       parent: 5350
   - uid: 10837
     components:
     - type: Transform
-      pos: 67.5,-25.5
-      parent: 5350
-  - uid: 10838
-    components:
-    - type: Transform
-      pos: 66.5,-25.5
-      parent: 5350
-  - uid: 10839
-    components:
-    - type: Transform
-      pos: 65.5,-25.5
-      parent: 5350
-  - uid: 10840
-    components:
-    - type: Transform
-      pos: 64.5,-25.5
+      pos: 71.5,-25.5
       parent: 5350
   - uid: 10841
     components:
     - type: Transform
-      pos: 63.5,-25.5
+      rot: -1.5707963267948966 rad
+      pos: 62.5,-25.5
       parent: 5350
   - uid: 10842
     components:
     - type: Transform
-      pos: 62.5,-25.5
+      rot: -1.5707963267948966 rad
+      pos: 64.5,-20.5
       parent: 5350
   - uid: 10855
     components:
@@ -150814,195 +153396,201 @@ entities:
     - type: Transform
       pos: 58.5,-27.5
       parent: 5350
-  - uid: 10908
-    components:
-    - type: Transform
-      pos: 66.5,-21.5
-      parent: 5350
-  - uid: 10909
+  - uid: 10914
     components:
     - type: Transform
-      pos: 67.5,-21.5
+      pos: 70.5,-19.5
       parent: 5350
-  - uid: 10910
+  - uid: 10915
     components:
     - type: Transform
-      pos: 68.5,-21.5
+      pos: 70.5,-18.5
       parent: 5350
-  - uid: 10911
+  - uid: 10917
     components:
     - type: Transform
-      pos: 69.5,-21.5
+      pos: 70.5,-16.5
       parent: 5350
-  - uid: 10912
+  - uid: 10918
     components:
     - type: Transform
-      pos: 70.5,-21.5
+      pos: 70.5,-15.5
       parent: 5350
-  - uid: 10913
+  - uid: 10919
     components:
     - type: Transform
-      pos: 70.5,-20.5
+      pos: 70.5,-14.5
       parent: 5350
-  - uid: 10914
+  - uid: 10921
     components:
     - type: Transform
-      pos: 70.5,-19.5
+      pos: 70.5,-12.5
       parent: 5350
-  - uid: 10915
+  - uid: 10922
     components:
     - type: Transform
-      pos: 70.5,-18.5
+      pos: 70.5,-11.5
       parent: 5350
-  - uid: 10916
+  - uid: 10923
     components:
     - type: Transform
-      pos: 70.5,-17.5
+      pos: 70.5,-10.5
       parent: 5350
-  - uid: 10917
+  - uid: 10925
     components:
     - type: Transform
-      pos: 70.5,-16.5
+      pos: 70.5,-8.5
       parent: 5350
-  - uid: 10918
+  - uid: 10927
     components:
     - type: Transform
-      pos: 70.5,-15.5
+      pos: 70.5,-6.5
       parent: 5350
-  - uid: 10919
+  - uid: 10966
     components:
     - type: Transform
-      pos: 70.5,-14.5
+      pos: 70.5,-17.5
       parent: 5350
-  - uid: 10920
+  - uid: 10969
     components:
     - type: Transform
-      pos: 70.5,-13.5
+      pos: 70.5,-20.5
       parent: 5350
-  - uid: 10921
+  - uid: 10971
     components:
     - type: Transform
-      pos: 70.5,-12.5
+      pos: 69.5,-12.5
       parent: 5350
-  - uid: 10922
+  - uid: 10989
     components:
     - type: Transform
-      pos: 70.5,-11.5
+      pos: 68.5,-12.5
       parent: 5350
-  - uid: 10923
+  - uid: 11054
     components:
     - type: Transform
-      pos: 70.5,-10.5
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-16.5
       parent: 5350
-  - uid: 10924
+  - uid: 11163
     components:
     - type: Transform
-      pos: 70.5,-9.5
+      pos: 70.5,-13.5
       parent: 5350
-  - uid: 10925
+  - uid: 11172
     components:
     - type: Transform
-      pos: 70.5,-8.5
+      rot: 1.5707963267948966 rad
+      pos: 67.5,-4.5
       parent: 5350
-  - uid: 10927
+  - uid: 11173
     components:
     - type: Transform
-      pos: 70.5,-6.5
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-8.5
       parent: 5350
-  - uid: 10928
+  - uid: 11201
     components:
     - type: Transform
       pos: 70.5,-5.5
       parent: 5350
-  - uid: 10929
-    components:
-    - type: Transform
-      pos: 69.5,-5.5
-      parent: 5350
-  - uid: 10931
+  - uid: 11202
     components:
     - type: Transform
-      pos: 67.5,-5.5
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-8.5
       parent: 5350
-  - uid: 10932
+  - uid: 11204
     components:
     - type: Transform
-      pos: 66.5,-5.5
+      rot: 1.5707963267948966 rad
+      pos: 69.5,-4.5
       parent: 5350
-  - uid: 10933
+  - uid: 11262
     components:
     - type: Transform
-      pos: 69.5,-9.5
+      pos: 71.5,-28.5
       parent: 5350
-  - uid: 10934
+  - uid: 11264
     components:
     - type: Transform
-      pos: 68.5,-9.5
+      pos: 69.5,-28.5
       parent: 5350
-  - uid: 10935
+  - uid: 11268
     components:
     - type: Transform
-      pos: 67.5,-9.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-28.5
       parent: 5350
-  - uid: 10936
+  - uid: 11273
     components:
     - type: Transform
-      pos: 66.5,-9.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-35.5
       parent: 5350
-  - uid: 10937
+  - uid: 11275
     components:
     - type: Transform
-      pos: 69.5,-13.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-36.5
       parent: 5350
-  - uid: 10938
+  - uid: 11276
     components:
     - type: Transform
-      pos: 68.5,-13.5
+      pos: 64.5,-22.5
       parent: 5350
-  - uid: 10939
+  - uid: 11277
     components:
     - type: Transform
-      pos: 67.5,-13.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-27.5
       parent: 5350
-  - uid: 10940
+  - uid: 11278
     components:
     - type: Transform
-      pos: 66.5,-13.5
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-26.5
       parent: 5350
-  - uid: 10941
+  - uid: 11283
     components:
     - type: Transform
-      pos: 69.5,-17.5
+      rot: -1.5707963267948966 rad
+      pos: 68.5,-22.5
       parent: 5350
-  - uid: 10942
+  - uid: 11287
     components:
     - type: Transform
-      pos: 68.5,-17.5
+      pos: 68.5,-25.5
       parent: 5350
-  - uid: 10943
+  - uid: 11299
     components:
     - type: Transform
-      pos: 67.5,-17.5
+      rot: 1.5707963267948966 rad
+      pos: 70.5,-4.5
       parent: 5350
-  - uid: 10944
+  - uid: 11301
     components:
     - type: Transform
-      pos: 66.5,-17.5
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-16.5
       parent: 5350
-  - uid: 11268
+  - uid: 11305
     components:
     - type: Transform
-      pos: 70.5,-29.5
+      rot: 1.5707963267948966 rad
+      pos: 66.5,-4.5
       parent: 5350
-  - uid: 11269
+  - uid: 11342
     components:
     - type: Transform
-      pos: 68.5,-29.5
+      rot: -1.5707963267948966 rad
+      pos: 68.5,-16.5
       parent: 5350
-  - uid: 11270
+  - uid: 11346
     components:
     - type: Transform
-      pos: 67.5,-29.5
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-16.5
       parent: 5350
   - uid: 11370
     components:
@@ -151124,6 +153712,102 @@ entities:
     - type: Transform
       pos: 42.5,-29.5
       parent: 5350
+  - uid: 11498
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-25.5
+      parent: 5350
+  - uid: 11596
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 68.5,-8.5
+      parent: 5350
+  - uid: 11597
+    components:
+    - type: Transform
+      pos: 67.5,-12.5
+      parent: 5350
+  - uid: 11603
+    components:
+    - type: Transform
+      pos: 70.5,-9.5
+      parent: 5350
+  - uid: 11622
+    components:
+    - type: Transform
+      pos: 69.5,-20.5
+      parent: 5350
+  - uid: 11627
+    components:
+    - type: Transform
+      pos: 68.5,-20.5
+      parent: 5350
+  - uid: 11662
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 71.5,-22.5
+      parent: 5350
+  - uid: 11697
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 70.5,-22.5
+      parent: 5350
+  - uid: 11698
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 69.5,-22.5
+      parent: 5350
+  - uid: 11699
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-22.5
+      parent: 5350
+  - uid: 11735
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-37.5
+      parent: 5350
+  - uid: 11740
+    components:
+    - type: Transform
+      pos: 68.5,-27.5
+      parent: 5350
+  - uid: 11750
+    components:
+    - type: Transform
+      pos: 71.5,-26.5
+      parent: 5350
+  - uid: 11757
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-34.5
+      parent: 5350
+  - uid: 11764
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-33.5
+      parent: 5350
+  - uid: 11784
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-32.5
+      parent: 5350
+  - uid: 11785
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 65.5,-31.5
+      parent: 5350
   - uid: 12127
     components:
     - type: Transform
@@ -155642,6 +158326,371 @@ entities:
     - type: Transform
       pos: -15.5,61.5
       parent: 5350
+  - uid: 27003
+    components:
+    - type: Transform
+      pos: 72.5,-28.5
+      parent: 5350
+  - uid: 27004
+    components:
+    - type: Transform
+      pos: 73.5,-28.5
+      parent: 5350
+  - uid: 27005
+    components:
+    - type: Transform
+      pos: 74.5,-28.5
+      parent: 5350
+  - uid: 27008
+    components:
+    - type: Transform
+      pos: 74.5,-31.5
+      parent: 5350
+  - uid: 27009
+    components:
+    - type: Transform
+      pos: 75.5,-31.5
+      parent: 5350
+  - uid: 27010
+    components:
+    - type: Transform
+      pos: 76.5,-31.5
+      parent: 5350
+  - uid: 27011
+    components:
+    - type: Transform
+      pos: 77.5,-31.5
+      parent: 5350
+  - uid: 27022
+    components:
+    - type: Transform
+      pos: 77.5,-42.5
+      parent: 5350
+  - uid: 27023
+    components:
+    - type: Transform
+      pos: 77.5,-40.5
+      parent: 5350
+  - uid: 27052
+    components:
+    - type: Transform
+      pos: 65.5,-39.5
+      parent: 5350
+  - uid: 27053
+    components:
+    - type: Transform
+      pos: 65.5,-40.5
+      parent: 5350
+  - uid: 27054
+    components:
+    - type: Transform
+      pos: 77.5,-39.5
+      parent: 5350
+  - uid: 27055
+    components:
+    - type: Transform
+      pos: 77.5,-38.5
+      parent: 5350
+  - uid: 27056
+    components:
+    - type: Transform
+      pos: 77.5,-37.5
+      parent: 5350
+  - uid: 27057
+    components:
+    - type: Transform
+      pos: 77.5,-32.5
+      parent: 5350
+  - uid: 27058
+    components:
+    - type: Transform
+      pos: 77.5,-34.5
+      parent: 5350
+  - uid: 27059
+    components:
+    - type: Transform
+      pos: 77.5,-33.5
+      parent: 5350
+  - uid: 27060
+    components:
+    - type: Transform
+      pos: 77.5,-35.5
+      parent: 5350
+  - uid: 27061
+    components:
+    - type: Transform
+      pos: 77.5,-36.5
+      parent: 5350
+  - uid: 27065
+    components:
+    - type: Transform
+      pos: 65.5,-41.5
+      parent: 5350
+  - uid: 27066
+    components:
+    - type: Transform
+      pos: 65.5,-42.5
+      parent: 5350
+  - uid: 27067
+    components:
+    - type: Transform
+      pos: 65.5,-43.5
+      parent: 5350
+  - uid: 27068
+    components:
+    - type: Transform
+      pos: 66.5,-43.5
+      parent: 5350
+  - uid: 27072
+    components:
+    - type: Transform
+      pos: 69.5,-43.5
+      parent: 5350
+  - uid: 27075
+    components:
+    - type: Transform
+      pos: 70.5,-43.5
+      parent: 5350
+  - uid: 27076
+    components:
+    - type: Transform
+      pos: 77.5,-41.5
+      parent: 5350
+  - uid: 27119
+    components:
+    - type: Transform
+      pos: 70.5,-39.5
+      parent: 5350
+  - uid: 27120
+    components:
+    - type: Transform
+      pos: 70.5,-40.5
+      parent: 5350
+  - uid: 27121
+    components:
+    - type: Transform
+      pos: 70.5,-41.5
+      parent: 5350
+  - uid: 27122
+    components:
+    - type: Transform
+      pos: 70.5,-42.5
+      parent: 5350
+  - uid: 27124
+    components:
+    - type: Transform
+      pos: 76.5,-42.5
+      parent: 5350
+  - uid: 27140
+    components:
+    - type: Transform
+      pos: 75.5,-42.5
+      parent: 5350
+  - uid: 27148
+    components:
+    - type: Transform
+      pos: 75.5,-40.5
+      parent: 5350
+  - uid: 27152
+    components:
+    - type: Transform
+      pos: 75.5,-39.5
+      parent: 5350
+  - uid: 27199
+    components:
+    - type: Transform
+      pos: 71.5,-27.5
+      parent: 5350
+  - uid: 27200
+    components:
+    - type: Transform
+      pos: 68.5,-24.5
+      parent: 5350
+  - uid: 27246
+    components:
+    - type: Transform
+      pos: 70.5,-24.5
+      parent: 5350
+  - uid: 27247
+    components:
+    - type: Transform
+      pos: 69.5,-24.5
+      parent: 5350
+  - uid: 27250
+    components:
+    - type: Transform
+      pos: 71.5,-24.5
+      parent: 5350
+  - uid: 27270
+    components:
+    - type: Transform
+      pos: 67.5,-22.5
+      parent: 5350
+  - uid: 27435
+    components:
+    - type: Transform
+      pos: 79.5,-29.5
+      parent: 5350
+  - uid: 27436
+    components:
+    - type: Transform
+      pos: 79.5,-30.5
+      parent: 5350
+  - uid: 27437
+    components:
+    - type: Transform
+      pos: 79.5,-31.5
+      parent: 5350
+  - uid: 27438
+    components:
+    - type: Transform
+      pos: 79.5,-32.5
+      parent: 5350
+  - uid: 27439
+    components:
+    - type: Transform
+      pos: 79.5,-34.5
+      parent: 5350
+  - uid: 27440
+    components:
+    - type: Transform
+      pos: 79.5,-35.5
+      parent: 5350
+  - uid: 27442
+    components:
+    - type: Transform
+      pos: 79.5,-37.5
+      parent: 5350
+  - uid: 27443
+    components:
+    - type: Transform
+      pos: 79.5,-38.5
+      parent: 5350
+  - uid: 27444
+    components:
+    - type: Transform
+      pos: 79.5,-40.5
+      parent: 5350
+  - uid: 27445
+    components:
+    - type: Transform
+      pos: 79.5,-41.5
+      parent: 5350
+  - uid: 27446
+    components:
+    - type: Transform
+      pos: 79.5,-42.5
+      parent: 5350
+  - uid: 27447
+    components:
+    - type: Transform
+      pos: 79.5,-43.5
+      parent: 5350
+  - uid: 27448
+    components:
+    - type: Transform
+      pos: 79.5,-45.5
+      parent: 5350
+  - uid: 27449
+    components:
+    - type: Transform
+      pos: 79.5,-46.5
+      parent: 5350
+  - uid: 27450
+    components:
+    - type: Transform
+      pos: 77.5,-46.5
+      parent: 5350
+  - uid: 27451
+    components:
+    - type: Transform
+      pos: 76.5,-46.5
+      parent: 5350
+  - uid: 27452
+    components:
+    - type: Transform
+      pos: 74.5,-46.5
+      parent: 5350
+  - uid: 27453
+    components:
+    - type: Transform
+      pos: 72.5,-46.5
+      parent: 5350
+  - uid: 27454
+    components:
+    - type: Transform
+      pos: 73.5,-46.5
+      parent: 5350
+  - uid: 27455
+    components:
+    - type: Transform
+      pos: 71.5,-46.5
+      parent: 5350
+  - uid: 27456
+    components:
+    - type: Transform
+      pos: 69.5,-46.5
+      parent: 5350
+  - uid: 27457
+    components:
+    - type: Transform
+      pos: 68.5,-46.5
+      parent: 5350
+  - uid: 27458
+    components:
+    - type: Transform
+      pos: 66.5,-46.5
+      parent: 5350
+  - uid: 27459
+    components:
+    - type: Transform
+      pos: 65.5,-46.5
+      parent: 5350
+  - uid: 27461
+    components:
+    - type: Transform
+      pos: 63.5,-46.5
+      parent: 5350
+  - uid: 27462
+    components:
+    - type: Transform
+      pos: 63.5,-45.5
+      parent: 5350
+  - uid: 27463
+    components:
+    - type: Transform
+      pos: 63.5,-44.5
+      parent: 5350
+  - uid: 27464
+    components:
+    - type: Transform
+      pos: 63.5,-42.5
+      parent: 5350
+  - uid: 27465
+    components:
+    - type: Transform
+      pos: 63.5,-41.5
+      parent: 5350
+  - uid: 27466
+    components:
+    - type: Transform
+      pos: 63.5,-40.5
+      parent: 5350
+  - uid: 27467
+    components:
+    - type: Transform
+      pos: 63.5,-38.5
+      parent: 5350
+  - uid: 27468
+    components:
+    - type: Transform
+      pos: 63.5,-37.5
+      parent: 5350
+  - uid: 27469
+    components:
+    - type: Transform
+      pos: 63.5,-36.5
+      parent: 5350
 - proto: WallSolid
   entities:
   - uid: 57
@@ -163506,10 +166555,11 @@ entities:
       parent: 5350
 - proto: WarningCO2
   entities:
-  - uid: 11640
+  - uid: 11151
     components:
     - type: Transform
-      pos: 66.5,-17.5
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-16.5
       parent: 5350
 - proto: WarningN2
   entities:
@@ -163527,22 +166577,23 @@ entities:
       parent: 5350
 - proto: WarningPlasma
   entities:
-  - uid: 11641
+  - uid: 11114
     components:
     - type: Transform
-      pos: 66.5,-13.5
+      pos: 66.5,-12.5
       parent: 5350
 - proto: WarningWaste
   entities:
-  - uid: 11642
+  - uid: 11137
     components:
     - type: Transform
-      pos: 66.5,-9.5
+      pos: 66.5,-4.5
       parent: 5350
-  - uid: 11643
+  - uid: 11641
     components:
     - type: Transform
-      pos: 66.5,-5.5
+      rot: -1.5707963267948966 rad
+      pos: 66.5,-8.5
       parent: 5350
 - proto: WaterCooler
   entities:
@@ -163899,6 +166950,12 @@ entities:
     - type: Transform
       pos: -31.37716,-26.50117
       parent: 5350
+  - uid: 27050
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 69.77701,-31.5
+      parent: 5350
 - proto: WelderMini
   entities:
   - uid: 3636
@@ -163998,6 +167055,11 @@ entities:
     - type: Transform
       pos: 45.5,33.5
       parent: 5350
+  - uid: 27086
+    components:
+    - type: Transform
+      pos: 76.5,-32.5
+      parent: 5350
 - proto: WetFloorSign
   entities:
   - uid: 12844
@@ -164082,18 +167144,6 @@ entities:
     - type: Transform
       pos: -3.5,35.5
       parent: 5350
-  - uid: 11282
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 71.5,-24.5
-      parent: 5350
-  - uid: 11283
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 71.5,-24.5
-      parent: 5350
   - uid: 13571
     components:
     - type: Transform
@@ -165688,104 +168738,6 @@ entities:
     - type: Transform
       pos: 45.5,0.5
       parent: 5350
-  - uid: 11251
-    components:
-    - type: Transform
-      pos: 68.5,-23.5
-      parent: 5350
-  - uid: 11252
-    components:
-    - type: Transform
-      pos: 69.5,-23.5
-      parent: 5350
-  - uid: 11253
-    components:
-    - type: Transform
-      pos: 70.5,-23.5
-      parent: 5350
-  - uid: 11254
-    components:
-    - type: Transform
-      pos: 71.5,-23.5
-      parent: 5350
-  - uid: 11255
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 71.5,-25.5
-      parent: 5350
-  - uid: 11256
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 70.5,-25.5
-      parent: 5350
-  - uid: 11257
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 68.5,-25.5
-      parent: 5350
-  - uid: 11258
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 68.5,-25.5
-      parent: 5350
-  - uid: 11259
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 68.5,-26.5
-      parent: 5350
-  - uid: 11260
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 70.5,-26.5
-      parent: 5350
-  - uid: 11261
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 70.5,-25.5
-      parent: 5350
-  - uid: 11262
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 68.5,-27.5
-      parent: 5350
-  - uid: 11263
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 68.5,-27.5
-      parent: 5350
-  - uid: 11264
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 68.5,-28.5
-      parent: 5350
-  - uid: 11265
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 70.5,-27.5
-      parent: 5350
-  - uid: 11266
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 70.5,-27.5
-      parent: 5350
-  - uid: 11267
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 70.5,-28.5
-      parent: 5350
   - uid: 11512
     components:
     - type: Transform
@@ -169133,4 +172085,9 @@ entities:
     - type: Transform
       pos: 59.615005,1.5566483
       parent: 5350
+  - uid: 27117
+    components:
+    - type: Transform
+      pos: 69.87581,-31.5
+      parent: 5350
 ...

From 530a741b7bfbc151bf94b45401085208dc037b76 Mon Sep 17 00:00:00 2001
From: Repo <47093363+Titian3@users.noreply.github.com>
Date: Fri, 15 Nov 2024 15:54:20 +1300
Subject: [PATCH 093/187] Rule amendment -  Remove role abandonment aHelp
 requirement. (#33287)

* Role abandonment aHelp requirement.

* disable roundstart chat message

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml         | 1 -
 Resources/Prototypes/Roles/Jobs/Command/captain.yml             | 1 -
 Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml   | 1 -
 Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml  | 1 -
 .../Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml     | 1 -
 Resources/Prototypes/Roles/Jobs/Science/research_director.yml   | 1 -
 Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml   | 1 -
 Resources/Prototypes/Roles/Jobs/Security/warden.yml             | 1 -
 .../ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml        | 2 +-
 9 files changed, 1 insertion(+), 9 deletions(-)

diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml
index ee1c2c59498..740afded646 100644
--- a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml
+++ b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml
@@ -18,7 +18,6 @@
   weight: 10
   startingGear: QuartermasterGear
   icon: "JobIconQuarterMaster"
-  requireAdminNotify: true
   supervisors: job-supervisors-captain
   canBeAntag: false
   access:
diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml
index 79634aa5d9f..a22d334c941 100644
--- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml
+++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml
@@ -19,7 +19,6 @@
   weight: 20
   startingGear: CaptainGear
   icon: "JobIconCaptain"
-  requireAdminNotify: true
   joinNotifyCrew: true
   supervisors: job-supervisors-centcom
   canBeAntag: false
diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
index d5521f767f1..f457cfbc496 100644
--- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
+++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
@@ -19,7 +19,6 @@
   weight: 20
   startingGear: HoPGear
   icon: "JobIconHeadOfPersonnel"
-  requireAdminNotify: true
   supervisors: job-supervisors-captain
   canBeAntag: false
   access:
diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml
index 0ee0b6736ca..9bac538551f 100644
--- a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml
+++ b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml
@@ -18,7 +18,6 @@
   weight: 10
   startingGear: ChiefEngineerGear
   icon: "JobIconChiefEngineer"
-  requireAdminNotify: true
   supervisors: job-supervisors-captain
   canBeAntag: false
   access:
diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml
index 25871134155..83b16d427bd 100644
--- a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml
+++ b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml
@@ -20,7 +20,6 @@
   weight: 10
   startingGear: CMOGear
   icon: "JobIconChiefMedicalOfficer"
-  requireAdminNotify: true
   supervisors: job-supervisors-captain
   canBeAntag: false
   access:
diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml
index b54ba54b1a4..7d6db3e0bec 100644
--- a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml
+++ b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml
@@ -12,7 +12,6 @@
   weight: 10
   startingGear: ResearchDirectorGear
   icon: "JobIconResearchDirector"
-  requireAdminNotify: true
   supervisors: job-supervisors-captain
   canBeAntag: false
   access:
diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml
index 044df7f69e2..e22eccb7dad 100644
--- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml
+++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml
@@ -18,7 +18,6 @@
   weight: 10
   startingGear: HoSGear
   icon: "JobIconHeadOfSecurity"
-  requireAdminNotify: true
   supervisors: job-supervisors-captain
   canBeAntag: false
   access:
diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml
index 7ec820d27b8..6d79d748049 100644
--- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml
+++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml
@@ -9,7 +9,6 @@
       time: 36000 #10 hrs
   startingGear: WardenGear
   icon: "JobIconWarden"
-  requireAdminNotify: true
   supervisors: job-supervisors-hos
   canBeAntag: false
   access:
diff --git a/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml b/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml
index 3821816128f..1ddf73cc772 100644
--- a/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml
+++ b/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml
@@ -2,7 +2,7 @@
   # Roleplay Rule 12 - Do not abandon your role
   Do not join the round as a role that you don't intend to play. Do not enable antagonist roles that you don't intend to play. Abandoning a role includes not completing tasks that the role is expected to do, in addition to things like leaving the game. Members of command should almost all stay on the station until the emergency shuttle arrives. Enforcement of this rule is more strict for command and antagonist roles, and less strict for less important roles like passengers.
 
-  Violations of this rule typically result in temporary or indefinite role bans. We understand that you may need to leave round early or unexpectedly. If you are in an important role (which is relayed to you in chat upon receiving your role), you should notify command members or an admin via ahelp so that they know you are leaving. Space Station 14 is a game. Do not endanger the safety of yourself or others, and do not neglect important things to avoid leaving a round early, even if you have to leave immediately without notifying anyone. Role bans for disconnecting are typically only applied if there is a pattern, and are almost always temporary.
+  Violations of this rule typically result in temporary or indefinite role bans. We understand that you may need to leave round early or unexpectedly. If you are in an important role (which is relayed to you in chat upon receiving your role), you should notify command members so that they know you are leaving and attempt to cryosleep if possible. Space Station 14 is a game. Do not endanger the safety of yourself or others, and do not neglect important things to avoid leaving a round early, even if you have to leave immediately without notifying anyone. Role bans for disconnecting are typically only applied if there is a pattern, and are almost always temporary.
 
   "Antag rolling" refers to a player abandoning their role if they do not get an antagonist role.
 

From dfda557d4b199d60436db2f3acfeef74877f05b8 Mon Sep 17 00:00:00 2001
From: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Date: Thu, 14 Nov 2024 19:24:27 -0800
Subject: [PATCH 094/187] Note expiry time is now relative instead of using
 timestamps (#33262)

* Add the stuff

* Loc fix

* fixes

* Change
---
 .../Administration/UI/Notes/NoteEdit.xaml     |  1 +
 .../Administration/UI/Notes/NoteEdit.xaml.cs  | 53 +++++++++++++++++--
 .../en-US/administration/ui/admin-notes.ftl   | 14 ++++-
 3 files changed, 63 insertions(+), 5 deletions(-)

diff --git a/Content.Client/Administration/UI/Notes/NoteEdit.xaml b/Content.Client/Administration/UI/Notes/NoteEdit.xaml
index 506abac540c..72b2c55ce8d 100644
--- a/Content.Client/Administration/UI/Notes/NoteEdit.xaml
+++ b/Content.Client/Administration/UI/Notes/NoteEdit.xaml
@@ -8,6 +8,7 @@
             <Label Name="ExpiryLabel" Text="{Loc admin-note-editor-expiry-label}" Visible="False" />
             <HistoryLineEdit Name="ExpiryLineEdit" PlaceHolder="{Loc admin-note-editor-expiry-placeholder}"
                              Visible="False" HorizontalExpand="True" />
+            <OptionButton Name="ExpiryLengthDropdown" Visible="False" />
         </BoxContainer>
         <BoxContainer Orientation="Horizontal" HorizontalExpand="True">
             <OptionButton Name="TypeOption" HorizontalAlignment="Center" />
diff --git a/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs b/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs
index 6f314f79542..a412e47396b 100644
--- a/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs
+++ b/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs
@@ -17,6 +17,17 @@ public sealed partial class NoteEdit : FancyWindow
     [Dependency] private readonly IGameTiming _gameTiming = default!;
     [Dependency] private readonly IClientConsoleHost _console = default!;
 
+    private enum Multipliers
+    {
+        Minutes,
+        Hours,
+        Days,
+        Weeks,
+        Months,
+        Years,
+        Centuries
+    }
+
     public event Action<int, NoteType, string, NoteSeverity?, bool, DateTime?>? SubmitPressed;
 
     public NoteEdit(SharedAdminNote? note, string playerName, bool canCreate, bool canEdit)
@@ -31,6 +42,20 @@ public NoteEdit(SharedAdminNote? note, string playerName, bool canCreate, bool c
 
         ResetSubmitButton();
 
+        // It's weird to use minutes as the IDs, but it works and makes sense kind of :)
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-minutes"), (int) Multipliers.Minutes);
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-hours"), (int) Multipliers.Hours);
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-days"), (int) Multipliers.Days);
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-weeks"), (int) Multipliers.Weeks);
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-months"), (int) Multipliers.Months);
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-years"), (int) Multipliers.Years);
+        ExpiryLengthDropdown.AddItem(Loc.GetString("admin-note-button-centuries"), (int) Multipliers.Centuries);
+        ExpiryLengthDropdown.OnItemSelected += OnLengthChanged;
+
+        ExpiryLengthDropdown.SelectId((int) Multipliers.Weeks);
+
+        ExpiryLineEdit.OnTextChanged += OnTextChanged;
+
         TypeOption.AddItem(Loc.GetString("admin-note-editor-type-note"), (int) NoteType.Note);
         TypeOption.AddItem(Loc.GetString("admin-note-editor-type-message"), (int) NoteType.Message);
         TypeOption.AddItem(Loc.GetString("admin-note-editor-type-watchlist"), (int) NoteType.Watchlist);
@@ -172,8 +197,9 @@ private void UpdatePermanentCheckboxFields()
     {
         ExpiryLabel.Visible = !PermanentCheckBox.Pressed;
         ExpiryLineEdit.Visible = !PermanentCheckBox.Pressed;
+        ExpiryLengthDropdown.Visible = !PermanentCheckBox.Pressed;
 
-        ExpiryLineEdit.Text = !PermanentCheckBox.Pressed ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty;
+        ExpiryLineEdit.Text = !PermanentCheckBox.Pressed ? 1.ToString() : string.Empty;
     }
 
     private void OnSecretPressed(BaseButton.ButtonEventArgs _)
@@ -187,6 +213,16 @@ private void OnSeverityChanged(OptionButton.ItemSelectedEventArgs args)
         SeverityOption.SelectId(args.Id);
     }
 
+    private void OnLengthChanged(OptionButton.ItemSelectedEventArgs args)
+    {
+        ExpiryLengthDropdown.SelectId(args.Id);
+    }
+
+    private void OnTextChanged(HistoryLineEdit.LineEditEventArgs args)
+    {
+        ParseExpiryTime();
+    }
+
     private void OnSubmitButtonPressed(BaseButton.ButtonEventArgs args)
     {
         if (!ParseExpiryTime())
@@ -263,13 +299,24 @@ private bool ParseExpiryTime()
             return true;
         }
 
-        if (string.IsNullOrWhiteSpace(ExpiryLineEdit.Text) || !DateTime.TryParse(ExpiryLineEdit.Text, out var result) || DateTime.UtcNow > result)
+        if (string.IsNullOrWhiteSpace(ExpiryLineEdit.Text) || !uint.TryParse(ExpiryLineEdit.Text, out var inputInt))
         {
             ExpiryLineEdit.ModulateSelfOverride = Color.Red;
             return false;
         }
 
-        ExpiryTime = result.ToUniversalTime();
+        var mult = ExpiryLengthDropdown.SelectedId switch
+        {
+            (int) Multipliers.Minutes => TimeSpan.FromMinutes(1).TotalMinutes,
+            (int) Multipliers.Hours => TimeSpan.FromHours(1).TotalMinutes,
+            (int) Multipliers.Days => TimeSpan.FromDays(1).TotalMinutes,
+            (int) Multipliers.Weeks => TimeSpan.FromDays(7).TotalMinutes,
+            (int) Multipliers.Months => TimeSpan.FromDays(30).TotalMinutes,
+            (int) Multipliers.Years => TimeSpan.FromDays(365).TotalMinutes,
+            (int) Multipliers.Centuries => TimeSpan.FromDays(36525).TotalMinutes,
+            _ => throw new ArgumentOutOfRangeException(nameof(ExpiryLengthDropdown.SelectedId), "Multiplier out of range :(")
+        };
+        ExpiryTime = DateTime.UtcNow.AddMinutes(inputInt * mult);
         ExpiryLineEdit.ModulateSelfOverride = null;
         return true;
     }
diff --git a/Resources/Locale/en-US/administration/ui/admin-notes.ftl b/Resources/Locale/en-US/administration/ui/admin-notes.ftl
index 03e12902576..c8da267e058 100644
--- a/Resources/Locale/en-US/administration/ui/admin-notes.ftl
+++ b/Resources/Locale/en-US/administration/ui/admin-notes.ftl
@@ -57,13 +57,23 @@ admin-note-editor-severity-medium = Medium
 admin-note-editor-severity-high = High
 admin-note-editor-expiry-checkbox = Permanent?
 admin-note-editor-expiry-checkbox-tooltip = Check this to make it expire
-admin-note-editor-expiry-label = Expires on:
+admin-note-editor-expiry-label = Expires in:
 admin-note-editor-expiry-label-params = Expires on: {$date} (in {$expiresIn})
 admin-note-editor-expiry-label-expired = Expired
-admin-note-editor-expiry-placeholder = Enter expiration date (yyyy-MM-dd HH:mm:ss)
+admin-note-editor-expiry-placeholder = Enter expiration time (integer).
 admin-note-editor-submit = Submit
 admin-note-editor-submit-confirm = Are you sure?
 
+# Time
+admin-note-button-minutes = Minutes
+admin-note-button-hours = Hours
+admin-note-button-days = Days
+admin-note-button-weeks = Weeks
+admin-note-button-months = Months
+admin-note-button-years = Years
+admin-note-button-centuries = Centuries
+
+
 # Verb
 admin-notes-verb-text = Open Admin Notes
 

From 606d44bcb069498b0a03897fe8f900db3e8e81ca Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 15 Nov 2024 03:25:36 +0000
Subject: [PATCH 095/187] Automatic changelog update

---
 Resources/Changelog/Admin.yml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml
index bf1cbddaa18..fc25d313aa7 100644
--- a/Resources/Changelog/Admin.yml
+++ b/Resources/Changelog/Admin.yml
@@ -605,5 +605,12 @@ Entries:
   id: 75
   time: '2024-11-13T23:27:31.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/31751
+- author: Beck Thompson
+  changes:
+  - message: Notes now use duration instead of timestamps for note expiry times.
+    type: Tweak
+  id: 76
+  time: '2024-11-15T03:24:27.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33262
 Name: Admin
 Order: 1

From b4e0362ed47feca972e9503c639ce7e5267d91c7 Mon Sep 17 00:00:00 2001
From: Ubaser <134914314+UbaserB@users.noreply.github.com>
Date: Fri, 15 Nov 2024 15:59:35 +1100
Subject: [PATCH 096/187] Update Core (#33325)

add
---
 Resources/Maps/core.yml | 2862 ++++++++++++++++++++++-----------------
 1 file changed, 1614 insertions(+), 1248 deletions(-)

diff --git a/Resources/Maps/core.yml b/Resources/Maps/core.yml
index 755badd7574..21fb7b71148 100644
--- a/Resources/Maps/core.yml
+++ b/Resources/Maps/core.yml
@@ -82,139 +82,139 @@ entities:
           version: 6
         -1,0:
           ind: -1,0
-          tiles: DgAAAAAADgAAAAABJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAADgAAAAADDgAAAAABJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAADDgAAAAABJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAABDgAAAAACJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADHwAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAHwAAAAADegAAAAADegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAHwAAAAABegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAHwAAAAACegAAAAADegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAALgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAACXQAAAAADXQAAAAADbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAXQAAAAACfgAAAAAA
+          tiles: DgAAAAAADgAAAAABJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAADgAAAAAADgAAAAACJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAACDgAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAADDgAAAAACJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAHwAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAHwAAAAADegAAAAACegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAHwAAAAACegAAAAAAegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAegAAAAABegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAALgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAADXQAAAAAAXQAAAAACbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACfgAAAAAA
           version: 6
         0,-1:
           ind: 0,-1
-          tiles: bAAAAAAAbAAAAAAAXQAAAAAAfgAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADJAAAAAACXQAAAAACXQAAAAAAaAAAAAADbAAAAAAAbAAAAAAAXQAAAAABaAAAAAABJAAAAAADJAAAAAADJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAXQAAAAACaAAAAAABJAAAAAADJAAAAAABJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAXQAAAAACfgAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAACfgAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAOwAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
+          tiles: bAAAAAAAbAAAAAAAXQAAAAABfgAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAACJAAAAAACXQAAAAAAXQAAAAADaAAAAAABbAAAAAAAbAAAAAAAXQAAAAABaAAAAAABJAAAAAADJAAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAXQAAAAADaAAAAAABJAAAAAABJAAAAAAAJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAXQAAAAADfgAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAADXQAAAAACfgAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAOwAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
           version: 6
         -1,-1:
           ind: -1,-1
-          tiles: fgAAAAAAfgAAAAAAHwAAAAADHwAAAAAAXQAAAAACaAAAAAABXQAAAAACXQAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAAAXQAAAAAAfgAAAAAAXQAAAAABbAAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAXQAAAAACfgAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAAAXQAAAAADXQAAAAAAXQAAAAABaAAAAAACXQAAAAABbAAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAACfgAAAAAAJAAAAAACJAAAAAABJAAAAAAAXQAAAAACJAAAAAABXQAAAAABXQAAAAAAaAAAAAAAXQAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACHwAAAAADfgAAAAAAXQAAAAABbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAMwAAAAAAMwAAAAAAfgAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAegAAAAACegAAAAADegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAABegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAegAAAAAAegAAAAAAegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAADgAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAAHwAAAAABHwAAAAADXQAAAAAAaAAAAAACXQAAAAAAXQAAAAAAXQAAAAACXQAAAAAAXQAAAAADXQAAAAAAXQAAAAADfgAAAAAAXQAAAAADbAAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAAAXQAAAAACfgAAAAAAXQAAAAACXQAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAADXQAAAAABaAAAAAADXQAAAAADbAAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAJAAAAAACJAAAAAAAJAAAAAABXQAAAAABJAAAAAACXQAAAAABXQAAAAACaAAAAAAAXQAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABHwAAAAABfgAAAAAAXQAAAAADbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAMwAAAAAAMwAAAAAAfgAAAAAAXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAegAAAAADegAAAAADegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAADegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAegAAAAADegAAAAACegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAADgAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAACJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -1,-2:
           ind: -1,-2
-          tiles: XQAAAAADXQAAAAACXQAAAAACXQAAAAADXQAAAAABXQAAAAADXQAAAAABaAAAAAACXQAAAAABXQAAAAAAXQAAAAADXQAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAAAaAAAAAABaAAAAAABaAAAAAACaAAAAAAAaAAAAAACaAAAAAACaAAAAAADaAAAAAAAaAAAAAAAaAAAAAAATgAAAAACTgAAAAADaAAAAAAATgAAAAABTgAAAAABaAAAAAABXQAAAAACXQAAAAABXQAAAAACXQAAAAADXQAAAAADXQAAAAADXQAAAAADaAAAAAABXQAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAABHwAAAAACfgAAAAAAHwAAAAABfgAAAAAAXQAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAACfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAACfgAAAAAAaAAAAAACaAAAAAACXQAAAAACXQAAAAADfgAAAAAAHwAAAAADHwAAAAADHwAAAAAAHwAAAAADHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAABaAAAAAAAaAAAAAAAXQAAAAACXQAAAAACfgAAAAAAHwAAAAABHwAAAAAAHwAAAAACHwAAAAAAHwAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADfgAAAAAAaAAAAAADaAAAAAACXQAAAAAAJAAAAAABfgAAAAAAHwAAAAACHwAAAAAAHwAAAAACaQAAAAAAaQAAAAAAaQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAaQAAAAAAaQAAAAAAaQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAACXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAABXQAAAAABXQAAAAADXQAAAAADaQAAAAAAaQAAAAAAaQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAXQAAAAACTgAAAAADTgAAAAABTgAAAAAAXQAAAAAAXQAAAAABTgAAAAACfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACJAAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAAAJAAAAAAAXQAAAAADJAAAAAABJAAAAAACJAAAAAAAfgAAAAAAJAAAAAAAJAAAAAACfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAAAfgAAAAAAXQAAAAADXQAAAAABXQAAAAABXQAAAAACXQAAAAADXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABXQAAAAACfgAAAAAAXQAAAAAAXQAAAAACXQAAAAAAXQAAAAADXQAAAAAAXQAAAAABXQAAAAACfgAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACXQAAAAAAaAAAAAACXQAAAAAAXQAAAAABXQAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAADfgAAAAAAXQAAAAAAXQAAAAAA
+          tiles: XQAAAAABXQAAAAABXQAAAAABXQAAAAAAXQAAAAACXQAAAAADXQAAAAABaAAAAAABXQAAAAAAXQAAAAACXQAAAAACXQAAAAADXQAAAAAAXQAAAAACXQAAAAACXQAAAAAAaAAAAAAAaAAAAAABaAAAAAADaAAAAAADaAAAAAADaAAAAAADaAAAAAADaAAAAAACaAAAAAABaAAAAAADTgAAAAABTgAAAAABaAAAAAAATgAAAAABTgAAAAACaAAAAAACXQAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAABXQAAAAABXQAAAAADaAAAAAABXQAAAAADXQAAAAADXQAAAAAAXQAAAAACXQAAAAACXQAAAAACXQAAAAAAXQAAAAAAHwAAAAADfgAAAAAAHwAAAAACfgAAAAAAXQAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAACfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAACfgAAAAAAaAAAAAABaAAAAAABXQAAAAABXQAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAADHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAABaAAAAAACaAAAAAADXQAAAAABXQAAAAABfgAAAAAAHwAAAAACHwAAAAACHwAAAAACHwAAAAABHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABfgAAAAAAaAAAAAADaAAAAAADXQAAAAACJAAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAABaQAAAAAAaQAAAAAAaQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAaQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAADHwAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAaQAAAAAAaQAAAAAAaQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAABXQAAAAADTgAAAAAATgAAAAADTgAAAAAAXQAAAAACXQAAAAABTgAAAAADfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAABJAAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAABJAAAAAAAXQAAAAACJAAAAAADJAAAAAACJAAAAAABfgAAAAAAJAAAAAABJAAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAACfgAAAAAAXQAAAAADXQAAAAABXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACXQAAAAACfgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAAAXQAAAAABXQAAAAABXQAAAAABfgAAAAAAXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADXQAAAAAAaAAAAAADXQAAAAACXQAAAAADXQAAAAADXQAAAAAAXQAAAAADXQAAAAACXQAAAAACfgAAAAAAXQAAAAADXQAAAAAB
           version: 6
         0,-2:
           ind: 0,-2
-          tiles: aAAAAAACaAAAAAAAXQAAAAACXQAAAAACaAAAAAADXQAAAAACXQAAAAACXQAAAAACaAAAAAAAXQAAAAACaAAAAAACXQAAAAACXQAAAAADXQAAAAADXQAAAAAAXQAAAAABTgAAAAACTgAAAAACaAAAAAADaAAAAAACaAAAAAACaAAAAAAAaAAAAAABaAAAAAAAaAAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAABaAAAAAAAXQAAAAACXQAAAAACXQAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAHwAAAAADJAAAAAABJAAAAAADJAAAAAACJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAABXQAAAAADXQAAAAABfgAAAAAAHwAAAAADJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAJAAAAAABegAAAAACfgAAAAAAHwAAAAABHwAAAAABHwAAAAAAHwAAAAACJAAAAAACfgAAAAAAHwAAAAAAJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAegAAAAACegAAAAABfgAAAAAAHwAAAAADHwAAAAABHwAAAAAAHwAAAAAAHwAAAAADfgAAAAAAHwAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAegAAAAADegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAJAAAAAACJAAAAAACJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABaAAAAAABXQAAAAAAHwAAAAAAfgAAAAAAHwAAAAADJAAAAAAAJAAAAAACJAAAAAACJAAAAAACXQAAAAADXQAAAAACJAAAAAABfgAAAAAAJAAAAAAAaAAAAAABaAAAAAABaAAAAAAAXQAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAATgAAAAACTgAAAAAAJAAAAAADfgAAAAAAaAAAAAACaAAAAAAAaAAAAAAAaAAAAAADXQAAAAABHwAAAAABHwAAAAABHwAAAAAAHwAAAAACHwAAAAADHwAAAAAAHwAAAAADXQAAAAADXQAAAAADXQAAAAAAaAAAAAAAaAAAAAAAaAAAAAACaAAAAAABaAAAAAACXQAAAAABHwAAAAACHwAAAAAAHwAAAAABHwAAAAABXQAAAAAAXQAAAAABaAAAAAAAXQAAAAACXQAAAAADXQAAAAADfgAAAAAAaAAAAAADaAAAAAAAaAAAAAACaAAAAAADXQAAAAACHwAAAAAAHwAAAAACfgAAAAAAHwAAAAAAXQAAAAACXQAAAAAAaAAAAAABHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAaAAAAAACaAAAAAABaAAAAAACaAAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAABaAAAAAAAaAAAAAACXQAAAAADfgAAAAAAJAAAAAADJAAAAAAAJAAAAAACXQAAAAADXQAAAAACaAAAAAADXQAAAAABXQAAAAADXQAAAAADfgAAAAAAXQAAAAAAXQAAAAACXQAAAAAAXQAAAAAAXQAAAAACfgAAAAAAJAAAAAACHwAAAAABHwAAAAABXQAAAAADXQAAAAAAaAAAAAACXQAAAAACXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAJAAAAAABHwAAAAAAHwAAAAADXQAAAAADXQAAAAACaAAAAAAC
+          tiles: aAAAAAACaAAAAAABXQAAAAAAXQAAAAAAaAAAAAABXQAAAAAAXQAAAAADXQAAAAACaAAAAAADXQAAAAADaAAAAAAAXQAAAAABXQAAAAAAXQAAAAABXQAAAAABXQAAAAABTgAAAAAATgAAAAAAaAAAAAABaAAAAAADaAAAAAAAaAAAAAABaAAAAAABaAAAAAACaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAAAXQAAAAACXQAAAAACaAAAAAABXQAAAAABXQAAAAAAXQAAAAAAXQAAAAABXQAAAAACfgAAAAAAHwAAAAADJAAAAAACJAAAAAADJAAAAAABJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAAAXQAAAAADfgAAAAAAHwAAAAAAJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAJAAAAAAAegAAAAACfgAAAAAAHwAAAAAAHwAAAAABHwAAAAADHwAAAAADJAAAAAACfgAAAAAAHwAAAAADJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAACegAAAAAAegAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAADHwAAAAACHwAAAAAAfgAAAAAAHwAAAAADJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADfgAAAAAAegAAAAABegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACJAAAAAAAJAAAAAAAJAAAAAAAJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABaAAAAAACXQAAAAABHwAAAAACfgAAAAAAHwAAAAACJAAAAAAAJAAAAAADJAAAAAADJAAAAAACXQAAAAADXQAAAAADJAAAAAADfgAAAAAAJAAAAAABaAAAAAADaAAAAAACaAAAAAABXQAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAATgAAAAABTgAAAAAAJAAAAAACfgAAAAAAaAAAAAAAaAAAAAABaAAAAAABaAAAAAACXQAAAAADHwAAAAAAHwAAAAABHwAAAAAAHwAAAAADHwAAAAADHwAAAAABHwAAAAABXQAAAAAAXQAAAAADXQAAAAADaAAAAAABaAAAAAACaAAAAAADaAAAAAACaAAAAAABXQAAAAADHwAAAAABHwAAAAAAHwAAAAABHwAAAAADXQAAAAACXQAAAAADaAAAAAAAXQAAAAADXQAAAAADXQAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAADaAAAAAADXQAAAAACHwAAAAABHwAAAAABfgAAAAAAHwAAAAACXQAAAAACXQAAAAACaAAAAAABHwAAAAABHwAAAAABHwAAAAACfgAAAAAAaAAAAAABaAAAAAACaAAAAAADaAAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAABaAAAAAADXQAAAAADfgAAAAAAJAAAAAACJAAAAAACJAAAAAACXQAAAAADXQAAAAACaAAAAAAAXQAAAAABXQAAAAAAXQAAAAADfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAABXQAAAAADfgAAAAAAJAAAAAAAHwAAAAAAHwAAAAAAXQAAAAACXQAAAAADaAAAAAAAXQAAAAAAXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAJAAAAAABHwAAAAACHwAAAAADXQAAAAABXQAAAAAAaAAAAAAB
           version: 6
         1,-2:
           ind: 1,-2
-          tiles: XQAAAAACXQAAAAADaAAAAAABXQAAAAACaAAAAAAAXQAAAAABfgAAAAAAHwAAAAABaAAAAAADaAAAAAABaAAAAAAAaAAAAAAAaAAAAAACHwAAAAACfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAABfgAAAAAAHwAAAAAAaAAAAAABaAAAAAAAaAAAAAABaAAAAAADaAAAAAAAHwAAAAAAfgAAAAAAHwAAAAACJAAAAAACHwAAAAACfgAAAAAAXQAAAAADaAAAAAAAXQAAAAAAfgAAAAAAHwAAAAACaAAAAAADaAAAAAACaAAAAAACXQAAAAAAaAAAAAACHwAAAAABHwAAAAACHwAAAAACJAAAAAACHwAAAAADfgAAAAAAXQAAAAACaAAAAAAAXQAAAAADfgAAAAAAHwAAAAACaAAAAAACaAAAAAACaAAAAAADaAAAAAADaAAAAAADHwAAAAADfgAAAAAAHwAAAAADJAAAAAADHwAAAAADfgAAAAAAaAAAAAAAaAAAAAABaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABJAAAAAACHwAAAAAAfgAAAAAAXQAAAAAAaAAAAAAAXQAAAAACJAAAAAAAXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAJAAAAAACHwAAAAABfgAAAAAAXQAAAAABaAAAAAADaAAAAAABaAAAAAADaAAAAAADaAAAAAADaAAAAAADaAAAAAABaAAAAAACaAAAAAABXQAAAAACfgAAAAAAHwAAAAAAJAAAAAABHwAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAACXQAAAAABXQAAAAADXQAAAAADXQAAAAADXQAAAAABXQAAAAAAaAAAAAABXQAAAAABfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAABfgAAAAAAXQAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAABaAAAAAACXQAAAAABfgAAAAAAXQAAAAAAfgAAAAAAHwAAAAABHwAAAAAAXQAAAAABXQAAAAAAXQAAAAABfgAAAAAAXQAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAADaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACXQAAAAABXQAAAAACXQAAAAACXQAAAAACXQAAAAACfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAAAaAAAAAABXQAAAAADfgAAAAAAXQAAAAABfgAAAAAAHwAAAAACJAAAAAAAXQAAAAAAXQAAAAACXQAAAAACfgAAAAAAHwAAAAADfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAACaAAAAAACXQAAAAAAaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAAAaAAAAAADaAAAAAACaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAADHwAAAAACfgAAAAAAXQAAAAACXQAAAAACXQAAAAACaAAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAA
+          tiles: XQAAAAABXQAAAAABaAAAAAADXQAAAAADaAAAAAADXQAAAAACfgAAAAAAHwAAAAACaAAAAAAAaAAAAAAAaAAAAAABaAAAAAACaAAAAAAAHwAAAAADfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAACfgAAAAAAHwAAAAADaAAAAAADaAAAAAACaAAAAAACaAAAAAABaAAAAAABHwAAAAACfgAAAAAAHwAAAAACJAAAAAADHwAAAAABfgAAAAAAXQAAAAADaAAAAAAAXQAAAAAAfgAAAAAAHwAAAAAAaAAAAAACaAAAAAADaAAAAAABXQAAAAADaAAAAAABHwAAAAAAHwAAAAACHwAAAAACJAAAAAACHwAAAAAAfgAAAAAAXQAAAAABaAAAAAACXQAAAAACfgAAAAAAHwAAAAACaAAAAAACaAAAAAADaAAAAAABaAAAAAAAaAAAAAAAHwAAAAABfgAAAAAAHwAAAAADJAAAAAADHwAAAAAAfgAAAAAAaAAAAAACaAAAAAACaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABJAAAAAADHwAAAAABfgAAAAAAXQAAAAABaAAAAAADXQAAAAABJAAAAAACXQAAAAACXQAAAAABXQAAAAACXQAAAAABXQAAAAACXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAJAAAAAAAHwAAAAABfgAAAAAAXQAAAAABaAAAAAADaAAAAAADaAAAAAABaAAAAAABaAAAAAACaAAAAAAAaAAAAAACaAAAAAABaAAAAAADXQAAAAABfgAAAAAAHwAAAAABJAAAAAADHwAAAAADfgAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAADaAAAAAADXQAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAAAfgAAAAAAXQAAAAACfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAADaAAAAAADXQAAAAAAfgAAAAAAXQAAAAABfgAAAAAAHwAAAAAAHwAAAAAAXQAAAAACXQAAAAABXQAAAAAAfgAAAAAAXQAAAAABfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAABaAAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAADaAAAAAABXQAAAAADfgAAAAAAXQAAAAABfgAAAAAAHwAAAAACJAAAAAACXQAAAAABXQAAAAADXQAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAXQAAAAABaAAAAAAAXQAAAAADaAAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAADaAAAAAACaAAAAAABaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAAAaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAADHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAA
           version: 6
         1,-1:
           ind: 1,-1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAD
           version: 6
         -2,-2:
           ind: -2,-2
-          tiles: EgAAAAABXQAAAAACegAAAAACegAAAAADXQAAAAAAfgAAAAAAJAAAAAACXQAAAAADXQAAAAABXQAAAAAAXQAAAAABXQAAAAAAaAAAAAADXQAAAAABXQAAAAACXQAAAAADEgAAAAAAXQAAAAADegAAAAABegAAAAACXQAAAAABfgAAAAAAXQAAAAABTgAAAAACTgAAAAABaAAAAAACTgAAAAAAaAAAAAABaAAAAAADaAAAAAADaAAAAAACaAAAAAADEgAAAAACXQAAAAADegAAAAADegAAAAACXQAAAAABfgAAAAAAXQAAAAADTgAAAAADXQAAAAACXQAAAAADXQAAAAAAXQAAAAACaAAAAAADXQAAAAACXQAAAAAAXQAAAAAAEgAAAAAAXQAAAAABegAAAAABegAAAAACXQAAAAABaAAAAAAAXQAAAAADaAAAAAADXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAEgAAAAAAXQAAAAADegAAAAACegAAAAAAXQAAAAABaAAAAAADXQAAAAACTgAAAAAAXQAAAAAAXQAAAAABaAAAAAAAHwAAAAAAHwAAAAABJgAAAAADJgAAAAACJgAAAAACEgAAAAADXQAAAAADegAAAAACegAAAAAAXQAAAAAAfgAAAAAAXQAAAAADTgAAAAACXQAAAAACXQAAAAAAaAAAAAACHwAAAAAAHwAAAAADTgAAAAACTgAAAAADTgAAAAADXQAAAAACXQAAAAAAKAAAAAAAKAAAAAAAXQAAAAACfgAAAAAAXQAAAAACaAAAAAAAXQAAAAAAXQAAAAABaAAAAAAAHwAAAAABHwAAAAADJgAAAAACJgAAAAACJgAAAAADKAAAAAABKAAAAAAAKAAAAAABKAAAAAACXQAAAAABfgAAAAAAXQAAAAACaAAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAADfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAAAXQAAAAACaAAAAAACXQAAAAAAfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAABaAAAAAAAfgAAAAAAfgAAAAAAegAAAAAAfgAAAAAAegAAAAAAfgAAAAAAfgAAAAAAQwAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAXQAAAAACaAAAAAABXQAAAAAAfgAAAAAAegAAAAAAegAAAAABegAAAAACegAAAAACegAAAAACfgAAAAAAQwAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAXQAAAAADaAAAAAAAXQAAAAADfgAAAAAAegAAAAAAegAAAAABegAAAAABegAAAAABegAAAAACfgAAAAAAQwAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAACegAAAAACegAAAAAAegAAAAABegAAAAACegAAAAADegAAAAAAfgAAAAAAQwAAAAAAfgAAAAAAFgAAAAAAFgAAAAAAFgAAAAAAfgAAAAAAXQAAAAAAaAAAAAADXQAAAAABegAAAAACegAAAAACegAAAAACegAAAAAAegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABfgAAAAAAfgAAAAAAXQAAAAACaAAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABfgAAAAAAfgAAAAAA
+          tiles: EgAAAAAAXQAAAAABegAAAAABegAAAAACXQAAAAACfgAAAAAAJAAAAAACXQAAAAACXQAAAAAAXQAAAAABXQAAAAAAXQAAAAADaAAAAAAAXQAAAAABXQAAAAADXQAAAAADEgAAAAACXQAAAAACegAAAAADegAAAAADXQAAAAABfgAAAAAAXQAAAAADTgAAAAACTgAAAAABaAAAAAACTgAAAAACaAAAAAAAaAAAAAABaAAAAAAAaAAAAAAAaAAAAAABEgAAAAABXQAAAAABegAAAAACegAAAAACXQAAAAACfgAAAAAAXQAAAAADTgAAAAADXQAAAAACXQAAAAADXQAAAAABXQAAAAAAaAAAAAACXQAAAAABXQAAAAACXQAAAAABEgAAAAAAXQAAAAAAegAAAAACegAAAAAAXQAAAAAAaAAAAAADXQAAAAAAaAAAAAACXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADEgAAAAADXQAAAAACegAAAAACegAAAAABXQAAAAACaAAAAAADXQAAAAACTgAAAAADXQAAAAABXQAAAAAAaAAAAAABHwAAAAACHwAAAAAAJgAAAAACJgAAAAACJgAAAAAAEgAAAAADXQAAAAAAegAAAAAAegAAAAAAXQAAAAABfgAAAAAAXQAAAAAATgAAAAACXQAAAAACXQAAAAACaAAAAAAAHwAAAAADHwAAAAAATgAAAAACTgAAAAAATgAAAAABXQAAAAABXQAAAAABKAAAAAABKAAAAAAAXQAAAAACfgAAAAAAXQAAAAABaAAAAAABXQAAAAACXQAAAAAAaAAAAAABHwAAAAABHwAAAAAAJgAAAAACJgAAAAADJgAAAAABKAAAAAAAKAAAAAADKAAAAAACKAAAAAAAXQAAAAADfgAAAAAAXQAAAAAAaAAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAAAfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAABXQAAAAADaAAAAAACXQAAAAABfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAAAaAAAAAADfgAAAAAAfgAAAAAAegAAAAADfgAAAAAAegAAAAADfgAAAAAAfgAAAAAAQwAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAXQAAAAAAaAAAAAADXQAAAAADfgAAAAAAegAAAAABegAAAAAAegAAAAABegAAAAABegAAAAABfgAAAAAAQwAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAXQAAAAADaAAAAAABXQAAAAADfgAAAAAAegAAAAACegAAAAACegAAAAABegAAAAADegAAAAAAfgAAAAAAQwAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAXQAAAAABaAAAAAABXQAAAAAAegAAAAACegAAAAABegAAAAACegAAAAADegAAAAADegAAAAACfgAAAAAAQwAAAAAAfgAAAAAAFgAAAAAAFgAAAAAAFgAAAAAAfgAAAAAAXQAAAAACaAAAAAAAXQAAAAACegAAAAACegAAAAADegAAAAABegAAAAADegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAACfgAAAAAAfgAAAAAA
           version: 6
         -2,-1:
           ind: -2,-1
-          tiles: egAAAAADegAAAAADegAAAAADegAAAAAAegAAAAAAaAAAAAAAXQAAAAACaAAAAAAAXQAAAAACfgAAAAAAegAAAAABegAAAAADegAAAAABewAAAAACewAAAAADfgAAAAAATgAAAAADTgAAAAADKAAAAAACTgAAAAADTgAAAAAAaAAAAAAAXQAAAAAAaAAAAAACXQAAAAABfgAAAAAAegAAAAABegAAAAAAegAAAAADewAAAAABewAAAAADbAAAAAAATgAAAAACTgAAAAAAKAAAAAABTgAAAAAATgAAAAAAaAAAAAAAXQAAAAAAaAAAAAADXQAAAAACfgAAAAAAegAAAAADegAAAAADegAAAAABewAAAAACewAAAAAAfgAAAAAAegAAAAACegAAAAAAegAAAAADegAAAAAAegAAAAAAaAAAAAAAXQAAAAACaAAAAAADXQAAAAAAfgAAAAAAegAAAAABegAAAAABegAAAAADewAAAAACewAAAAADfgAAAAAAKAAAAAAAfgAAAAAAfgAAAAAAKAAAAAADfgAAAAAAfgAAAAAAaAAAAAACaAAAAAACaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAaAAAAAAAfgAAAAAAewAAAAAAewAAAAADewAAAAADfgAAAAAAXQAAAAADaAAAAAAAXQAAAAADXQAAAAACfgAAAAAAHwAAAAABHwAAAAADHwAAAAAAQAAAAAAAfgAAAAAAaAAAAAAAfgAAAAAAKAAAAAAAKAAAAAAAKAAAAAABfgAAAAAAXQAAAAACaAAAAAADaAAAAAABXQAAAAADfgAAAAAAHwAAAAACHwAAAAAAHwAAAAAAQAAAAAAAQAAAAAAAXQAAAAAAfgAAAAAAKAAAAAACKAAAAAABKAAAAAABfgAAAAAAXQAAAAADXQAAAAABaAAAAAAAXQAAAAACfgAAAAAAHwAAAAABHwAAAAAAHwAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAaAAAAAACaAAAAAACaAAAAAAAaAAAAAADaAAAAAACbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAADaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABfgAAAAAAJAAAAAABXwAAAAACXwAAAAADXwAAAAAAXQAAAAADXQAAAAABXQAAAAABaAAAAAACegAAAAADegAAAAAAegAAAAAAegAAAAADegAAAAABXQAAAAADXQAAAAADfgAAAAAAHwAAAAACHwAAAAABHwAAAAADHwAAAAAAXQAAAAABXQAAAAAAXQAAAAACaAAAAAABegAAAAADegAAAAAAegAAAAAAegAAAAADegAAAAACXQAAAAABXQAAAAACfgAAAAAAHwAAAAABHwAAAAAAHwAAAAACHwAAAAAAXQAAAAAAXQAAAAACXQAAAAABaAAAAAAAegAAAAACegAAAAADegAAAAACegAAAAAAegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAADHwAAAAACHwAAAAAAXQAAAAABXQAAAAADXQAAAAACaAAAAAABegAAAAAAegAAAAADegAAAAAAegAAAAABfgAAAAAAXQAAAAADXQAAAAABXQAAAAAAXQAAAAADXQAAAAADXQAAAAAAXQAAAAADXQAAAAAAXQAAAAABXQAAAAACaAAAAAADegAAAAAAegAAAAADegAAAAACegAAAAAAegAAAAAB
+          tiles: egAAAAACegAAAAADegAAAAADegAAAAACegAAAAAAaAAAAAADXQAAAAABaAAAAAAAXQAAAAAAfgAAAAAAegAAAAABegAAAAACegAAAAACewAAAAAAewAAAAAAfgAAAAAATgAAAAABTgAAAAABKAAAAAADTgAAAAACTgAAAAABaAAAAAABXQAAAAACaAAAAAADXQAAAAADfgAAAAAAegAAAAACegAAAAADegAAAAABewAAAAADewAAAAAAbAAAAAAATgAAAAABTgAAAAABKAAAAAAATgAAAAADTgAAAAACaAAAAAAAXQAAAAADaAAAAAAAXQAAAAACfgAAAAAAegAAAAABegAAAAADegAAAAADewAAAAABewAAAAAAfgAAAAAAegAAAAAAegAAAAADegAAAAADegAAAAABegAAAAAAaAAAAAABXQAAAAAAaAAAAAABXQAAAAABfgAAAAAAegAAAAADegAAAAABegAAAAABewAAAAABewAAAAADfgAAAAAAKAAAAAADfgAAAAAAfgAAAAAAKAAAAAACfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAaAAAAAADfgAAAAAAewAAAAAAewAAAAACewAAAAADfgAAAAAAXQAAAAABaAAAAAAAXQAAAAABXQAAAAACfgAAAAAAHwAAAAABHwAAAAACHwAAAAACQAAAAAAAfgAAAAAAaAAAAAACfgAAAAAAKAAAAAABKAAAAAACKAAAAAADfgAAAAAAXQAAAAAAaAAAAAADaAAAAAAAXQAAAAACfgAAAAAAHwAAAAAAHwAAAAADHwAAAAABQAAAAAAAQAAAAAAAXQAAAAAAfgAAAAAAKAAAAAAAKAAAAAABKAAAAAAAfgAAAAAAXQAAAAACXQAAAAAAaAAAAAAAXQAAAAACfgAAAAAAHwAAAAACHwAAAAACHwAAAAADQAAAAAAAQAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAaAAAAAACaAAAAAABaAAAAAAAaAAAAAADaAAAAAACbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAACaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXwAAAAAAXwAAAAABJAAAAAADXwAAAAABXwAAAAABXwAAAAABXwAAAAACXQAAAAABXQAAAAADXQAAAAABaAAAAAAAegAAAAABegAAAAACegAAAAADegAAAAABegAAAAABHwAAAAABHwAAAAADXwAAAAABHwAAAAAAHwAAAAACHwAAAAACHwAAAAACXQAAAAAAXQAAAAADXQAAAAACaAAAAAAAegAAAAADegAAAAADegAAAAACegAAAAABegAAAAADHwAAAAACHwAAAAACXwAAAAABHwAAAAAAHwAAAAADHwAAAAABHwAAAAAAXQAAAAABXQAAAAABXQAAAAABaAAAAAADegAAAAACegAAAAADegAAAAAAegAAAAAAegAAAAADHwAAAAAAHwAAAAACXwAAAAABHwAAAAACHwAAAAADHwAAAAABHwAAAAAAXQAAAAADXQAAAAACXQAAAAAAaAAAAAADegAAAAAAegAAAAABegAAAAADegAAAAACfgAAAAAAXQAAAAADXQAAAAABXQAAAAACXQAAAAACXQAAAAABXQAAAAABXQAAAAABXQAAAAADXQAAAAAAXQAAAAADaAAAAAADegAAAAACegAAAAACegAAAAACegAAAAABegAAAAAD
           version: 6
         1,0:
           ind: 1,0
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAACaAAAAAADaAAAAAABaAAAAAABAwAAAAAAAwAAAAAAAwAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAACXQAAAAACXQAAAAACXQAAAAAAXQAAAAACXQAAAAABXQAAAAACXQAAAAAAaAAAAAAAXQAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAATgAAAAAATgAAAAADaAAAAAACaAAAAAADbQAAAAAAbQAAAAAAbQAAAAAAaAAAAAABaAAAAAADaAAAAAAAaAAAAAAAaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAATgAAAAADXQAAAAAAXQAAAAACXQAAAAADJAAAAAACJAAAAAAAJAAAAAABXQAAAAADXQAAAAACaAAAAAAAXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAABXQAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAADaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAAAfgAAAAAAJAAAAAACJAAAAAABJAAAAAACXQAAAAAAXQAAAAADXQAAAAACfgAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAABfgAAAAAAJAAAAAACJAAAAAADJAAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAADXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAADXQAAAAABfgAAAAAAJAAAAAACJAAAAAADJAAAAAABXQAAAAADXQAAAAAAXQAAAAABfgAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAACXQAAAAAAXQAAAAACXQAAAAADXQAAAAABXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAAAXQAAAAADaAAAAAABaAAAAAAAfgAAAAAAaAAAAAACaAAAAAADXQAAAAADXQAAAAACfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAACXQAAAAAAaAAAAAABaAAAAAACHQAAAAAAaAAAAAACaAAAAAAAXQAAAAABXQAAAAABfgAAAAAAXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAAAXQAAAAADaAAAAAAAaAAAAAACXQAAAAAAaAAAAAADaAAAAAABXQAAAAADXQAAAAADfgAAAAAAXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAADaAAAAAADaAAAAAACXQAAAAABaAAAAAAAaAAAAAACXQAAAAACXQAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADXQAAAAAAaAAAAAABaAAAAAADfgAAAAAAaAAAAAACaAAAAAADXQAAAAABXQAAAAABfgAAAAAAXQAAAAADXQAAAAAD
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAADaAAAAAAAaAAAAAADaAAAAAADAwAAAAAAAwAAAAAAAwAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAACXQAAAAABXQAAAAADXQAAAAABXQAAAAABXQAAAAADXQAAAAAAXQAAAAABaAAAAAACXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADTgAAAAADTgAAAAABaAAAAAAAaAAAAAABbQAAAAAAbQAAAAAAbQAAAAAAaAAAAAADaAAAAAACaAAAAAABaAAAAAADaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACTgAAAAACXQAAAAAAXQAAAAAAXQAAAAADJAAAAAACJAAAAAACJAAAAAADXQAAAAABXQAAAAADaAAAAAADXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAADfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAABaAAAAAACfgAAAAAAJAAAAAABJAAAAAACJAAAAAABXQAAAAAAXQAAAAACXQAAAAAAfgAAAAAAXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAAAXQAAAAACfgAAAAAAJAAAAAABJAAAAAABJAAAAAACXQAAAAAAXQAAAAAAXQAAAAACXQAAAAAAXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAAAXQAAAAACfgAAAAAAJAAAAAABJAAAAAACJAAAAAACXQAAAAACXQAAAAABXQAAAAADfgAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAADXQAAAAADXQAAAAABXQAAAAACXQAAAAAAXQAAAAACXQAAAAABXQAAAAAAXQAAAAADfgAAAAAAXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAAAXQAAAAADaAAAAAADaAAAAAACfgAAAAAAaAAAAAABaAAAAAABXQAAAAACXQAAAAABfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAADXQAAAAACaAAAAAACaAAAAAAAHQAAAAABaAAAAAAAaAAAAAABXQAAAAACXQAAAAAAfgAAAAAAXQAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAAAaAAAAAACaAAAAAACXQAAAAACaAAAAAADaAAAAAABXQAAAAADXQAAAAACfgAAAAAAXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAACXQAAAAABaAAAAAABaAAAAAAAXQAAAAACaAAAAAACaAAAAAABXQAAAAADXQAAAAABfgAAAAAAXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAABXQAAAAADaAAAAAAAaAAAAAACfgAAAAAAaAAAAAACaAAAAAACXQAAAAACXQAAAAAAfgAAAAAAXQAAAAADXQAAAAAC
           version: 6
         2,-2:
           ind: 2,-2
-          tiles: HwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAACfgAAAAAAHwAAAAADJAAAAAAAJAAAAAABBAAAAAAAHwAAAAACegAAAAACegAAAAACegAAAAAAHwAAAAACfgAAAAAALgAAAAAAfgAAAAAAHwAAAAABHwAAAAADHwAAAAAAJAAAAAAAHwAAAAAAHwAAAAADHwAAAAADJAAAAAADHwAAAAACegAAAAADegAAAAAAegAAAAABHwAAAAABJAAAAAACLgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAACfgAAAAAAJAAAAAAAJAAAAAACJAAAAAABBAAAAAAAHwAAAAADegAAAAABegAAAAADegAAAAADHwAAAAADfgAAAAAALgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADegAAAAABegAAAAADegAAAAADHwAAAAABfgAAAAAALgAAAAAAfgAAAAAAHwAAAAABHwAAAAADHwAAAAADfgAAAAAAegAAAAAAegAAAAAAegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAADXQAAAAADegAAAAABegAAAAACegAAAAABfgAAAAAAHwAAAAAAHwAAAAABHwAAAAABXQAAAAABXQAAAAABegAAAAABJAAAAAACfgAAAAAAHwAAAAACXQAAAAADXQAAAAADXQAAAAAAegAAAAADegAAAAADegAAAAAAHwAAAAAAHwAAAAAAHwAAAAABHwAAAAABXQAAAAABXQAAAAAAXQAAAAAAXQAAAAACfgAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAACfgAAAAAAJAAAAAACfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAADXQAAAAAAXQAAAAADXQAAAAADXQAAAAADfgAAAAAAXQAAAAABXQAAAAADXQAAAAADfgAAAAAALgAAAAAALgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAABXQAAAAADXQAAAAADXQAAAAADXQAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAABXQAAAAADXQAAAAACXQAAAAABaAAAAAACXQAAAAADXQAAAAADXQAAAAABXQAAAAADXQAAAAAAXQAAAAACXQAAAAACaAAAAAADXQAAAAADTgAAAAACTgAAAAAAaAAAAAABTgAAAAAATgAAAAACaAAAAAACaAAAAAACTgAAAAAAaAAAAAABTgAAAAABTgAAAAAATgAAAAACaAAAAAADTgAAAAACaAAAAAACaAAAAAACXQAAAAACXQAAAAACXQAAAAADXQAAAAACXQAAAAACXQAAAAADaAAAAAACXQAAAAADXQAAAAACXQAAAAACaAAAAAADXQAAAAADXQAAAAADXQAAAAADaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAACfgAAAAAAXQAAAAABaAAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
+          tiles: HwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAHwAAAAABJAAAAAADJAAAAAADBAAAAAAAHwAAAAABegAAAAABegAAAAABegAAAAACHwAAAAABfgAAAAAALgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAADJAAAAAADHwAAAAAAHwAAAAABHwAAAAACJAAAAAACHwAAAAABegAAAAADegAAAAAAegAAAAABHwAAAAADJAAAAAABLgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAADfgAAAAAAJAAAAAACJAAAAAACJAAAAAABBAAAAAAAHwAAAAADegAAAAADegAAAAAAegAAAAABHwAAAAACfgAAAAAALgAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAegAAAAADegAAAAABegAAAAADHwAAAAADfgAAAAAALgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAABfgAAAAAAegAAAAAAegAAAAABegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAABXQAAAAACegAAAAABegAAAAAAegAAAAADfgAAAAAAHwAAAAABHwAAAAADHwAAAAABXQAAAAAAXQAAAAADegAAAAACJAAAAAAAfgAAAAAAHwAAAAACXQAAAAADXQAAAAACXQAAAAADegAAAAABegAAAAABegAAAAACHwAAAAABHwAAAAADHwAAAAABHwAAAAABXQAAAAACXQAAAAAAXQAAAAAAXQAAAAACfgAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAADfgAAAAAAJAAAAAACfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAACXQAAAAACXQAAAAACXQAAAAACXQAAAAABfgAAAAAAXQAAAAADXQAAAAACXQAAAAABfgAAAAAALgAAAAAALgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAACXQAAAAAAXQAAAAAAXQAAAAACXQAAAAACfgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAACXQAAAAAAXQAAAAAAXQAAAAADaAAAAAACXQAAAAABXQAAAAACXQAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAABaAAAAAACXQAAAAABTgAAAAADTgAAAAABaAAAAAAATgAAAAAATgAAAAABaAAAAAABaAAAAAABTgAAAAAAaAAAAAADTgAAAAACTgAAAAAATgAAAAAAaAAAAAACTgAAAAAAaAAAAAABaAAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAACXQAAAAADXQAAAAABaAAAAAAAXQAAAAADXQAAAAACXQAAAAACaAAAAAACXQAAAAAAXQAAAAAAXQAAAAADaAAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAACfgAAAAAAXQAAAAADaAAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
           version: 6
         2,-1:
           ind: 2,-1
-          tiles: fQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADXQAAAAACXQAAAAADXQAAAAACXQAAAAAAaAAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAQgAAAAAAQgAAAAAAQgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAAAaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAACaAAAAAACaAAAAAADaAAAAAABbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAaAAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAAAXQAAAAAAfgAAAAAAdQAAAAAAdQAAAAADfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAAAfgAAAAAAdQAAAAACdQAAAAACcAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABXQAAAAAAXQAAAAAAfgAAAAAAXQAAAAACaAAAAAACXQAAAAABfgAAAAAAdQAAAAACdQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAADXQAAAAACXQAAAAAAXQAAAAAAaAAAAAADXQAAAAABfgAAAAAAdQAAAAAAdQAAAAACcAAAAAACJAAAAAACJAAAAAABJAAAAAADfgAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAfgAAAAAAXQAAAAAATgAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADJAAAAAABfgAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAfgAAAAAAXQAAAAABTgAAAAACXQAAAAADfgAAAAAAdQAAAAAAdQAAAAABfgAAAAAAHwAAAAAAHwAAAAABHwAAAAADfgAAAAAAaAAAAAAAaAAAAAADaAAAAAAAaAAAAAABfgAAAAAAXQAAAAACaAAAAAAAXQAAAAABfgAAAAAAdQAAAAABdQAAAAADcAAAAAAC
+          tiles: fQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAACXQAAAAADaAAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAQgAAAAAAQgAAAAAAQgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAAAaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAAAaAAAAAADaAAAAAADaAAAAAADbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADXQAAAAADfgAAAAAAdQAAAAACdQAAAAACfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADXQAAAAACfgAAAAAAdQAAAAACdQAAAAABcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAABXQAAAAACfgAAAAAAXQAAAAADaAAAAAADXQAAAAABfgAAAAAAdQAAAAAAdQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAACXQAAAAAAaAAAAAAAXQAAAAACfgAAAAAAdQAAAAACdQAAAAACcAAAAAABJAAAAAADJAAAAAAAJAAAAAAAfgAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAfgAAAAAAXQAAAAABTgAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAADJAAAAAAAfgAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAJQAAAAAAfgAAAAAAXQAAAAADTgAAAAABXQAAAAACfgAAAAAAdQAAAAAAdQAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAACfgAAAAAAaAAAAAABaAAAAAABaAAAAAABaAAAAAABfgAAAAAAXQAAAAACaAAAAAADXQAAAAAAfgAAAAAAdQAAAAADdQAAAAADcAAAAAAA
           version: 6
         -2,0:
           ind: -2,0
-          tiles: aAAAAAACaAAAAAAAaAAAAAABXQAAAAACXQAAAAACXQAAAAACXQAAAAABXQAAAAABXQAAAAACXQAAAAACaAAAAAAAegAAAAABegAAAAABegAAAAACegAAAAABegAAAAAAaAAAAAADaAAAAAACXwAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAACXQAAAAABXQAAAAACXQAAAAACaAAAAAABegAAAAACegAAAAACegAAAAABegAAAAACegAAAAABaAAAAAACaAAAAAACXwAAAAABXQAAAAACXQAAAAACXQAAAAADXQAAAAABXQAAAAADXQAAAAABXQAAAAAAaAAAAAADegAAAAABegAAAAABegAAAAABegAAAAACegAAAAAAaAAAAAABaAAAAAABaAAAAAAAXQAAAAAAXQAAAAAAXQAAAAACXQAAAAAAXQAAAAADXQAAAAACXQAAAAABaAAAAAACegAAAAACegAAAAAAegAAAAADegAAAAABegAAAAADewAAAAACewAAAAAAXQAAAAACXQAAAAAAXQAAAAADXQAAAAAAXQAAAAACXQAAAAADAwAAAAAAegAAAAADegAAAAACegAAAAADegAAAAABXQAAAAABXQAAAAACXQAAAAACHwAAAAABewAAAAACAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAAAXQAAAAABXQAAAAADAwAAAAAAegAAAAAAHwAAAAADHwAAAAAAHwAAAAAAfgAAAAAAJAAAAAACHwAAAAADHwAAAAAAewAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAABXQAAAAACXQAAAAADAwAAAAAAegAAAAAAJAAAAAACJAAAAAACJAAAAAABfgAAAAAAJAAAAAABHwAAAAACHwAAAAAAewAAAAACAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAADXQAAAAABXQAAAAAAAwAAAAAAegAAAAACJAAAAAADJAAAAAABJAAAAAABfgAAAAAAJAAAAAACHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADaAAAAAABaAAAAAABaAAAAAADaAAAAAAAaAAAAAABaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAACXQAAAAABaAAAAAACaAAAAAADaAAAAAAAaAAAAAADaAAAAAADaAAAAAABaAAAAAACaAAAAAACbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAAAaAAAAAACfgAAAAAAfgAAAAAAeQAAAAADeQAAAAACJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADaAAAAAABXQAAAAABXQAAAAADXQAAAAADaAAAAAACXQAAAAAAeQAAAAACeQAAAAAAeQAAAAACeQAAAAABeQAAAAABeQAAAAABLgAAAAAALgAAAAAAAQAAAAAAaAAAAAAAaAAAAAACAQAAAAACfgAAAAAAXQAAAAAAaAAAAAADXQAAAAABfgAAAAAAJAAAAAACeQAAAAABeQAAAAAAeQAAAAAAeQAAAAABfgAAAAAALgAAAAAAPAAAAAAAPAAAAAAAPAAAAAAAAQAAAAAAXQAAAAAAXQAAAAADaAAAAAACXQAAAAABXQAAAAADYAAAAAADYAAAAAABYAAAAAADYAAAAAACYAAAAAADfgAAAAAALgAAAAAAXQAAAAABXQAAAAAAPAAAAAAAAQAAAAADXQAAAAADXQAAAAAAaAAAAAABXQAAAAACXQAAAAAAYAAAAAADYAAAAAACYAAAAAADYAAAAAADYAAAAAABfgAAAAAALgAAAAAAPAAAAAAAPAAAAAAAPAAAAAAAJAAAAAADfgAAAAAAXQAAAAAAaAAAAAACXQAAAAACfgAAAAAAYAAAAAACYAAAAAACYAAAAAADYAAAAAABYAAAAAABfgAAAAAAfgAAAAAA
+          tiles: aAAAAAADaAAAAAACaAAAAAADXQAAAAABXQAAAAADXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADXQAAAAACaAAAAAADegAAAAABegAAAAACegAAAAACegAAAAAAegAAAAADaAAAAAAAaAAAAAAAXwAAAAABXQAAAAAAXQAAAAACXQAAAAABXQAAAAADXQAAAAABXQAAAAABXQAAAAAAaAAAAAACegAAAAAAegAAAAABegAAAAABegAAAAADegAAAAABaAAAAAAAaAAAAAAAXwAAAAAAXQAAAAAAXQAAAAABXQAAAAABXQAAAAADXQAAAAACXQAAAAACXQAAAAACaAAAAAAAegAAAAABegAAAAADegAAAAADegAAAAABegAAAAACaAAAAAABaAAAAAADaAAAAAAAXQAAAAADXQAAAAADXQAAAAACXQAAAAADXQAAAAABXQAAAAACXQAAAAACaAAAAAAAegAAAAABegAAAAABegAAAAABegAAAAAAegAAAAADewAAAAACewAAAAABXQAAAAADXQAAAAAAXQAAAAADXQAAAAACXQAAAAACXQAAAAABAwAAAAAAegAAAAACegAAAAACegAAAAADegAAAAAAXQAAAAABXQAAAAAAXQAAAAABHwAAAAAAewAAAAADAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAABXQAAAAABXQAAAAAAAwAAAAAAegAAAAADHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAJAAAAAACHwAAAAACHwAAAAAAewAAAAADAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAACXQAAAAAAXQAAAAACAwAAAAAAegAAAAACJAAAAAACJAAAAAAAJAAAAAACfgAAAAAAJAAAAAADHwAAAAACHwAAAAAAewAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAADXQAAAAADXQAAAAAAAwAAAAAAegAAAAADJAAAAAAAJAAAAAADJAAAAAADfgAAAAAAJAAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAACaAAAAAABaAAAAAABaAAAAAABaAAAAAADaAAAAAAAaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAAAXQAAAAADaAAAAAACaAAAAAAAaAAAAAACaAAAAAADaAAAAAACaAAAAAACaAAAAAADaAAAAAADbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAACaAAAAAABfgAAAAAAfgAAAAAAeQAAAAADeQAAAAAAJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAABaAAAAAAAXQAAAAACXQAAAAABXQAAAAABaAAAAAACXQAAAAAAeQAAAAADeQAAAAAAeQAAAAABeQAAAAABeQAAAAADeQAAAAABLgAAAAAALgAAAAAAAQAAAAADaAAAAAACaAAAAAAAAQAAAAABfgAAAAAAXQAAAAABaAAAAAADXQAAAAACfgAAAAAAJAAAAAABeQAAAAABeQAAAAAAeQAAAAABeQAAAAACfgAAAAAALgAAAAAAPAAAAAAAPAAAAAAAPAAAAAAAAQAAAAACXQAAAAABXQAAAAAAaAAAAAADXQAAAAAAXQAAAAABYAAAAAABYAAAAAAAYAAAAAABYAAAAAABYAAAAAACfgAAAAAALgAAAAAAXQAAAAADXQAAAAABPAAAAAAAAQAAAAAAXQAAAAADXQAAAAACaAAAAAABXQAAAAAAXQAAAAABYAAAAAADYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADfgAAAAAALgAAAAAAPAAAAAAAPAAAAAAAPAAAAAAAJAAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAADfgAAAAAAYAAAAAADYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACfgAAAAAAfgAAAAAA
           version: 6
         1,-3:
           ind: 1,-3
-          tiles: bQAAAAAAfgAAAAAAJAAAAAACJAAAAAADfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAJAAAAAABJAAAAAACJAAAAAABfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAABbQAAAAAAbQAAAAAAJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACHwAAAAADHwAAAAADHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAJAAAAAABJAAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADHwAAAAACHwAAAAADHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAJAAAAAADJAAAAAABfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAJAAAAAADJAAAAAAAbQAAAAAAbQAAAAAAJAAAAAAAJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAAAXQAAAAACXQAAAAACJAAAAAADJAAAAAACJAAAAAAAJAAAAAABfgAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAADXQAAAAACHwAAAAACHwAAAAABHwAAAAABHwAAAAABfgAAAAAAHwAAAAADHwAAAAABfgAAAAAAJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAABXQAAAAAAHwAAAAABHwAAAAADHwAAAAABHwAAAAACJAAAAAABJAAAAAACJAAAAAABJAAAAAADJAAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAAAXQAAAAABJAAAAAABJAAAAAABJAAAAAACJAAAAAABfgAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAJAAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADXQAAAAAAXQAAAAACaAAAAAACXQAAAAACXQAAAAADXQAAAAAAfgAAAAAAHwAAAAADaAAAAAACaAAAAAACaAAAAAADaAAAAAABaAAAAAADHwAAAAACfgAAAAAAHwAAAAADTgAAAAACaAAAAAAAaAAAAAADaAAAAAADaAAAAAACXQAAAAAAfgAAAAAAHwAAAAADaAAAAAACaAAAAAAAaAAAAAACaAAAAAADaAAAAAAAHwAAAAAAfgAAAAAAHwAAAAAC
+          tiles: bQAAAAAAfgAAAAAAJAAAAAABJAAAAAACfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAJAAAAAABJAAAAAADJAAAAAACfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAABbQAAAAAAbQAAAAAAJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAACHwAAAAADHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAJAAAAAAAJAAAAAACfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAACHwAAAAABHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAJAAAAAABJAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAABbQAAAAAAbQAAAAAAJAAAAAACJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAACXQAAAAADJAAAAAABJAAAAAAAJAAAAAABJAAAAAABfgAAAAAAHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAADHwAAAAAAHwAAAAABHwAAAAABHwAAAAACfgAAAAAAHwAAAAACHwAAAAABfgAAAAAAJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAABXQAAAAADHwAAAAAAHwAAAAACHwAAAAACHwAAAAAAJAAAAAADJAAAAAADJAAAAAADJAAAAAACJAAAAAACfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAJAAAAAADJAAAAAACJAAAAAABJAAAAAACfgAAAAAAHwAAAAAAHwAAAAADfgAAAAAAJAAAAAABfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADXQAAAAACXQAAAAABaAAAAAACXQAAAAAAXQAAAAAAXQAAAAADfgAAAAAAHwAAAAACaAAAAAABaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAADHwAAAAAAfgAAAAAAHwAAAAACTgAAAAABaAAAAAAAaAAAAAADaAAAAAADaAAAAAAAXQAAAAADfgAAAAAAHwAAAAABaAAAAAABaAAAAAADaAAAAAAAaAAAAAADaAAAAAADHwAAAAACfgAAAAAAHwAAAAAA
           version: 6
         0,-3:
           ind: 0,-3
-          tiles: fQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAACfgAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABJAAAAAACJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABaAAAAAACaAAAAAADJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADaAAAAAABaAAAAAAAJAAAAAAAfgAAAAAAXQAAAAACXQAAAAACHwAAAAADHwAAAAAAHwAAAAABJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAABJAAAAAABJAAAAAADJAAAAAACfgAAAAAAfgAAAAAAbAAAAAAAHwAAAAABHwAAAAADHwAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABaAAAAAAAXQAAAAAAXQAAAAADXQAAAAADXQAAAAACXQAAAAABXQAAAAADXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAXQAAAAADaAAAAAADaAAAAAABaAAAAAACaAAAAAABTgAAAAACaAAAAAACTgAAAAAAaAAAAAAD
+          tiles: fQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACHwAAAAABfgAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAJAAAAAABJAAAAAAAJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAAAaAAAAAACaAAAAAABJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABaAAAAAACaAAAAAADJAAAAAABfgAAAAAAXQAAAAABXQAAAAACHwAAAAADHwAAAAABHwAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACJAAAAAAAJAAAAAACJAAAAAABfgAAAAAAfgAAAAAAbAAAAAAAHwAAAAAAHwAAAAADHwAAAAABJAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAABaAAAAAACXQAAAAABXQAAAAAAXQAAAAADXQAAAAAAXQAAAAAAXQAAAAADXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAXQAAAAABaAAAAAADaAAAAAACaAAAAAACaAAAAAACTgAAAAABaAAAAAACTgAAAAABaAAAAAAA
           version: 6
         1,1:
           ind: 1,1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAACaAAAAAACfgAAAAAAXQAAAAACXQAAAAADXQAAAAABXQAAAAACXQAAAAACXQAAAAADJAAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAABXQAAAAADfgAAAAAAXQAAAAACXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAAAXQAAAAACXQAAAAADaAAAAAADXQAAAAABXQAAAAADaAAAAAABXQAAAAADfgAAAAAAXQAAAAABaAAAAAACaAAAAAACaAAAAAADXQAAAAAAaAAAAAADaAAAAAAAaAAAAAADXQAAAAABaAAAAAAAaAAAAAACaAAAAAABaAAAAAACaAAAAAADXQAAAAADfgAAAAAAXQAAAAABaAAAAAABaAAAAAABaAAAAAABXQAAAAABaAAAAAAAaAAAAAABaAAAAAAAXQAAAAAAXQAAAAAAaAAAAAACXQAAAAAAXQAAAAAAXQAAAAAAJAAAAAACfgAAAAAAXQAAAAABaAAAAAAAaAAAAAABaAAAAAAAXQAAAAADaAAAAAABaAAAAAABaAAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAADXQAAAAABXQAAAAABXQAAAAACXQAAAAACdQAAAAADdAAAAAABfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADXQAAAAACXQAAAAACXQAAAAACXQAAAAABXQAAAAADXQAAAAACXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAABdAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAABaAAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAAAXQAAAAAAXQAAAAADXQAAAAAAJAAAAAACXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAACXQAAAAADfgAAAAAAXQAAAAACXQAAAAAAXQAAAAACXQAAAAAAXQAAAAABXQAAAAACXQAAAAABXQAAAAAAXQAAAAABXQAAAAADaAAAAAADXQAAAAACXQAAAAABaAAAAAABXQAAAAADfgAAAAAAXQAAAAAAaAAAAAADaAAAAAAAaAAAAAACXQAAAAADaAAAAAACaAAAAAAAaAAAAAACXQAAAAADaAAAAAADaAAAAAACaAAAAAABaAAAAAADaAAAAAAAXQAAAAAAfgAAAAAAXQAAAAACaAAAAAADaAAAAAAAaAAAAAADXQAAAAACaAAAAAACaAAAAAACaAAAAAABXQAAAAAAXQAAAAADaAAAAAABXQAAAAADXQAAAAAAXQAAAAABJAAAAAADfgAAAAAAXQAAAAACaAAAAAACaAAAAAAAaAAAAAADXQAAAAADaAAAAAAAaAAAAAAAaAAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAAAXQAAAAADXQAAAAADXQAAAAACXQAAAAACXQAAAAAAdQAAAAAAdAAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABXQAAAAAAXQAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADdAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         0,1:
           ind: 0,1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAADXQAAAAABaAAAAAACXQAAAAABXQAAAAABXQAAAAADXQAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAACaAAAAAACaAAAAAABaAAAAAAAaAAAAAADaAAAAAADaAAAAAAAaAAAAAADaAAAAAABaAAAAAACaAAAAAAAaAAAAAADaAAAAAAAaAAAAAAAaAAAAAABaAAAAAADaAAAAAABXQAAAAADXQAAAAADXQAAAAACaAAAAAABXQAAAAACXQAAAAADXQAAAAABXQAAAAAAXQAAAAADXQAAAAACXQAAAAADXQAAAAABXQAAAAADXQAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAXQAAAAAAXQAAAAADXQAAAAAAHwAAAAADHwAAAAACHwAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAdQAAAAAAcAAAAAAAcAAAAAABdQAAAAABdAAAAAAAdAAAAAAAdAAAAAABXQAAAAABXQAAAAACXQAAAAADHwAAAAABHwAAAAADHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADcAAAAAABcAAAAAAAdQAAAAABdAAAAAADdAAAAAACdAAAAAADfgAAAAAAXQAAAAAAXQAAAAAAHwAAAAAAHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdAAAAAADdAAAAAADdAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADdQAAAAAAdQAAAAABfgAAAAAAHwAAAAACHwAAAAAAHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAADHwAAAAACHwAAAAADHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAALgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAALgAAAAAAaAAAAAAAfgAAAAAAHwAAAAADHwAAAAACHwAAAAADHwAAAAAAHwAAAAABTwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAgQAAAAAAcAAAAAADcAAAAAADaAAAAAADfgAAAAAAHwAAAAAAHwAAAAAATwAAAAAATwAAAAAAHwAAAAACTwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAALgAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAACXQAAAAABaAAAAAAAXQAAAAACXQAAAAABXQAAAAABXQAAAAAAXQAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAAAaAAAAAADaAAAAAADaAAAAAAAaAAAAAACaAAAAAABaAAAAAADaAAAAAADaAAAAAABaAAAAAACaAAAAAACaAAAAAAAaAAAAAACaAAAAAABaAAAAAAAaAAAAAADaAAAAAADXQAAAAABXQAAAAACXQAAAAACaAAAAAADXQAAAAADXQAAAAAAXQAAAAACXQAAAAADXQAAAAADXQAAAAACXQAAAAACXQAAAAABXQAAAAADXQAAAAADXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAXQAAAAADXQAAAAAAXQAAAAAAHwAAAAACHwAAAAADHwAAAAACfgAAAAAAbAAAAAAAfgAAAAAAdQAAAAABcAAAAAADcAAAAAACdQAAAAACdAAAAAAAdAAAAAACdAAAAAACXQAAAAADXQAAAAACXQAAAAABHwAAAAADHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADcAAAAAACcAAAAAACdQAAAAADdAAAAAAAdAAAAAACdAAAAAABfgAAAAAAXQAAAAACXQAAAAACHwAAAAABHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdAAAAAAAdAAAAAABdAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAABdQAAAAADdQAAAAACfgAAAAAAHwAAAAABHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAABHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAALgAAAAAALgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAALgAAAAAAaAAAAAABfgAAAAAAJAAAAAADHwAAAAACHwAAAAABHwAAAAAAHwAAAAABTwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAgQAAAAAAcAAAAAABcAAAAAACaAAAAAAAfgAAAAAAJAAAAAAAHwAAAAACTwAAAAAATwAAAAAAHwAAAAADTwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAAfgAAAAAALgAAAAAA
           version: 6
         -1,1:
           ind: -1,1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAADXQAAAAABXQAAAAABXQAAAAAAXQAAAAACaAAAAAAAXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADXQAAAAABXQAAAAAAXQAAAAAAXQAAAAADaAAAAAAAaAAAAAABaAAAAAADaAAAAAAAaAAAAAAAaAAAAAABaAAAAAAAaAAAAAAAaAAAAAACaAAAAAADTgAAAAABTgAAAAABaAAAAAACTgAAAAABTgAAAAAAaAAAAAACXQAAAAACXQAAAAADXQAAAAABXQAAAAAAXQAAAAABXQAAAAADXQAAAAABaAAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAABXQAAAAADXQAAAAABXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACfgAAAAAAXQAAAAACXQAAAAABXQAAAAACfgAAAAAAXQAAAAABXQAAAAACXQAAAAADfgAAAAAAXQAAAAAAXQAAAAADXQAAAAADfgAAAAAAXQAAAAAAHwAAAAACHwAAAAADXQAAAAABXQAAAAADXQAAAAADXQAAAAABfgAAAAAAXQAAAAAAXQAAAAACXQAAAAADfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAADfgAAAAAAXQAAAAABHwAAAAACHwAAAAABXQAAAAACfgAAAAAAfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAXQAAAAADJAAAAAACJAAAAAACXQAAAAACHwAAAAADHwAAAAABHwAAAAABHwAAAAABHwAAAAADHwAAAAADHwAAAAADHwAAAAACHwAAAAABHwAAAAAAHwAAAAACfgAAAAAAfgAAAAAAHwAAAAADHwAAAAAAfgAAAAAAHwAAAAABTgAAAAABTgAAAAAAHwAAAAACTgAAAAAATgAAAAAATgAAAAABHwAAAAAATgAAAAACTgAAAAAAHwAAAAAAXQAAAAAAXQAAAAABXQAAAAAAXQAAAAACJAAAAAAAHwAAAAADHwAAAAACHwAAAAAAHwAAAAADHwAAAAACHwAAAAAAHwAAAAABHwAAAAAAHwAAAAADHwAAAAAAHwAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAADXQAAAAACHwAAAAAAHwAAAAACHwAAAAABHwAAAAAAHwAAAAABXQAAAAAAXQAAAAACXQAAAAACXQAAAAAAXQAAAAADXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAABfgAAAAAAHwAAAAACHwAAAAAAHwAAAAACHwAAAAACXQAAAAADXQAAAAAAXQAAAAACXQAAAAADXQAAAAACJAAAAAABJAAAAAABfgAAAAAAXQAAAAADXQAAAAAAXQAAAAAB
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAADXQAAAAABXQAAAAAAXQAAAAABaAAAAAACXQAAAAADXQAAAAADXQAAAAABXQAAAAADXQAAAAABXQAAAAACXQAAAAABXQAAAAADaAAAAAACaAAAAAABaAAAAAAAaAAAAAABaAAAAAADaAAAAAADaAAAAAABaAAAAAAAaAAAAAADaAAAAAADTgAAAAACTgAAAAAAaAAAAAABTgAAAAADTgAAAAACaAAAAAABXQAAAAADXQAAAAAAXQAAAAADXQAAAAADXQAAAAABXQAAAAACXQAAAAABaAAAAAADXQAAAAADXQAAAAACXQAAAAADXQAAAAACXQAAAAACXQAAAAABXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABfgAAAAAAXQAAAAADXQAAAAACXQAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAADfgAAAAAAXQAAAAABXQAAAAAAXQAAAAABfgAAAAAAXQAAAAACHwAAAAABHwAAAAACXQAAAAACXQAAAAADXQAAAAACXQAAAAADfgAAAAAAXQAAAAACXQAAAAADXQAAAAADfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAXQAAAAADHwAAAAABHwAAAAAAXQAAAAACfgAAAAAAfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAXQAAAAADJAAAAAABJAAAAAAAXQAAAAABHwAAAAACHwAAAAABHwAAAAACHwAAAAACHwAAAAAAHwAAAAAAHwAAAAACHwAAAAACHwAAAAABHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABfgAAAAAAHwAAAAAATgAAAAADTgAAAAACHwAAAAACTgAAAAABTgAAAAADTgAAAAABHwAAAAABTgAAAAAATgAAAAABHwAAAAADXQAAAAADXQAAAAAAXQAAAAADXQAAAAACJAAAAAADHwAAAAAAHwAAAAADHwAAAAACHwAAAAADHwAAAAACHwAAAAADHwAAAAABHwAAAAAAHwAAAAAAHwAAAAABHwAAAAAAXQAAAAACXQAAAAAAXQAAAAACXQAAAAAAXQAAAAACHwAAAAADHwAAAAACHwAAAAABHwAAAAADHwAAAAABXQAAAAACXQAAAAACXQAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAABXQAAAAABXQAAAAABXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAACHwAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAACXQAAAAAAJAAAAAABJAAAAAACfgAAAAAAXQAAAAAAXQAAAAABXQAAAAAA
           version: 6
         -2,1:
           ind: -2,1
-          tiles: AQAAAAAAAQAAAAABAQAAAAAAJAAAAAABfgAAAAAAXQAAAAAAaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAPAAAAAAAPAAAAAAAPAAAAAAAaAAAAAAAfgAAAAAAXQAAAAACaAAAAAABXQAAAAADKAAAAAABKAAAAAABKAAAAAABKAAAAAADKAAAAAADKAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAADXwAAAAABXwAAAAADXwAAAAACXwAAAAACXwAAAAAAXwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAACXQAAAAACaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAABaAAAAAAAaAAAAAAAaAAAAAABaAAAAAADaAAAAAABaAAAAAADfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADaAAAAAADXwAAAAAAXwAAAAACXwAAAAADXwAAAAACXwAAAAACXwAAAAADaAAAAAABaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADJAAAAAAAKAAAAAABKAAAAAADKAAAAAADKAAAAAADKAAAAAADKAAAAAABXQAAAAADaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAADfgAAAAAAegAAAAAAegAAAAAAegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAACegAAAAABegAAAAABegAAAAACegAAAAABbAAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAABJAAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAADfgAAAAAAegAAAAAAegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAAAJAAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACJAAAAAACHwAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAB
+          tiles: AQAAAAAAAQAAAAACAQAAAAABJAAAAAACfgAAAAAAXQAAAAADaAAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAPAAAAAAAPAAAAAAAPAAAAAAAaAAAAAACfgAAAAAAXQAAAAACaAAAAAADXQAAAAABKAAAAAAAKAAAAAACKAAAAAABKAAAAAADKAAAAAADKAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAACXwAAAAACXwAAAAADXwAAAAAAXwAAAAACXwAAAAADXwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAABXQAAAAADaAAAAAAAaAAAAAADaAAAAAABaAAAAAADaAAAAAADaAAAAAAAaAAAAAADaAAAAAABaAAAAAACaAAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAAAaAAAAAADXwAAAAADXwAAAAACXwAAAAACXwAAAAABXwAAAAADXwAAAAADaAAAAAACaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACJAAAAAAAKAAAAAAAKAAAAAAAKAAAAAACKAAAAAACKAAAAAAAKAAAAAAAXQAAAAABaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAACfgAAAAAAegAAAAAAegAAAAADegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAAAegAAAAACegAAAAAAegAAAAACegAAAAACbAAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACJAAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAAAfgAAAAAAegAAAAADegAAAAAAegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAADJAAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAABJAAAAAAAHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAAB
           version: 6
         -1,-3:
           ind: -1,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXgAAAAABYQAAAAADXgAAAAABXQAAAAACfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAYQAAAAAAfgAAAAAAggAAAAAAfgAAAAAAXgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAfgAAAAAAggAAAAACfgAAAAAAfgAAAAAAggAAAAABfgAAAAAAfgAAAAAAYQAAAAABXQAAAAACfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAggAAAAAAgQAAAAAAfgAAAAAAgQAAAAAAggAAAAABfgAAAAAAfgAAAAAAfgAAAAAAggAAAAABYQAAAAAEXgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAgQAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAACfgAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAABXQAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAACfgAAAAAAaAAAAAACaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAaAAAAAAAaAAAAAADaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXgAAAAABfgAAAAAAXgAAAAABXQAAAAADfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAYQAAAAACfgAAAAAAfgAAAAAAYQAAAAACXgAAAAABfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAfgAAAAAAggAAAAAAfgAAAAAAfgAAAAAAggAAAAABQgAAAAAAQgAAAAAAYQAAAAADXQAAAAACfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAggAAAAAAgQAAAAAAfgAAAAAAgQAAAAAAggAAAAACfgAAAAAAfgAAAAAAfgAAAAAAggAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAgQAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAACaAAAAAACfgAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAABfgAAAAAAaAAAAAADaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAD
           version: 6
         2,-3:
           ind: 2,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABJAAAAAABJAAAAAAAJAAAAAAAJAAAAAABJAAAAAABJAAAAAABJAAAAAADJAAAAAACJAAAAAABJAAAAAAAJAAAAAAAJAAAAAABJAAAAAADJAAAAAACJAAAAAACJAAAAAADJAAAAAACJAAAAAADJAAAAAABJAAAAAACJAAAAAAAJAAAAAABJAAAAAADJAAAAAACJAAAAAADJAAAAAAAJAAAAAACJAAAAAADJAAAAAAAJAAAAAAAJAAAAAABJAAAAAABJAAAAAABJgAAAAABJgAAAAACJgAAAAACJgAAAAAAJgAAAAABJgAAAAABJgAAAAABJgAAAAABJgAAAAACJgAAAAACJgAAAAABJgAAAAADJAAAAAADJAAAAAADJAAAAAADJgAAAAADJgAAAAACHwAAAAADHwAAAAACHwAAAAAAHwAAAAABHwAAAAABHwAAAAABHwAAAAABHwAAAAAAHwAAAAADJgAAAAAAJgAAAAACJAAAAAAAJAAAAAABJAAAAAAAJgAAAAAAJgAAAAABHwAAAAADHwAAAAACHwAAAAAAHwAAAAAAHwAAAAABHwAAAAABHwAAAAAAHwAAAAAAHwAAAAABJgAAAAADJgAAAAABJAAAAAAAHwAAAAABHwAAAAABJAAAAAAAJAAAAAABHwAAAAACHwAAAAACJAAAAAACJAAAAAABJAAAAAABJAAAAAABJAAAAAABHwAAAAADHwAAAAABJAAAAAACJAAAAAABHwAAAAADHwAAAAABHwAAAAADJgAAAAABJAAAAAABJAAAAAABJAAAAAADJAAAAAABJAAAAAABJAAAAAAAJAAAAAAAJAAAAAAAJAAAAAADJAAAAAAAJAAAAAAAJgAAAAACHwAAAAAC
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADJAAAAAACJAAAAAACJAAAAAADJAAAAAACJAAAAAABJAAAAAABJAAAAAAAJAAAAAABJAAAAAACJAAAAAABJAAAAAAAJAAAAAAAJAAAAAACJAAAAAACJAAAAAAAJAAAAAACJAAAAAACJAAAAAABJAAAAAAAJAAAAAAAJAAAAAADJAAAAAABJAAAAAAAJAAAAAACJAAAAAACJAAAAAACJAAAAAADJAAAAAADJAAAAAADJAAAAAAAJAAAAAAAJAAAAAACJAAAAAABJgAAAAACJgAAAAACJgAAAAADJgAAAAAAJgAAAAAAJgAAAAABJgAAAAACJgAAAAAAJgAAAAACJgAAAAACJgAAAAACJgAAAAACJAAAAAAAJAAAAAACJAAAAAABJgAAAAAAJgAAAAAAHwAAAAABHwAAAAACHwAAAAADHwAAAAADHwAAAAABHwAAAAAAHwAAAAACHwAAAAABHwAAAAACJgAAAAABJgAAAAABJAAAAAADJAAAAAADJAAAAAABJgAAAAAAJgAAAAACHwAAAAABHwAAAAACHwAAAAACHwAAAAABHwAAAAABHwAAAAAAHwAAAAADHwAAAAADHwAAAAAAJgAAAAABJgAAAAABJAAAAAABHwAAAAACHwAAAAABJAAAAAAAJAAAAAADHwAAAAABHwAAAAACJAAAAAABJAAAAAABJAAAAAAAJAAAAAADJAAAAAACHwAAAAACHwAAAAACJAAAAAABJAAAAAADHwAAAAADHwAAAAACHwAAAAAAJgAAAAAAJAAAAAAAJAAAAAABJAAAAAACJAAAAAABJAAAAAADJAAAAAACJAAAAAAAJAAAAAADJAAAAAABJAAAAAACJAAAAAACJgAAAAADHwAAAAAD
           version: 6
         3,-2:
           ind: 3,-2
-          tiles: HwAAAAADHwAAAAAAfgAAAAAAHwAAAAADHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAABHwAAAAACHwAAAAADfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAXQAAAAACHwAAAAAAHwAAAAAAfgAAAAAAXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAHwAAAAABHwAAAAAAfgAAAAAAXQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABXQAAAAACHwAAAAABHwAAAAACfgAAAAAAXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADXQAAAAAAXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAACXQAAAAADXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAAAaAAAAAACXQAAAAABXQAAAAACXQAAAAABXQAAAAAAXQAAAAABaAAAAAACXQAAAAABXQAAAAABXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAACXQAAAAADXQAAAAAAXQAAAAAAaAAAAAADXQAAAAACXQAAAAABXQAAAAADXQAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACfgAAAAAAXQAAAAABXQAAAAABXQAAAAAAXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAADXQAAAAABXQAAAAAAXQAAAAACXQAAAAAAXQAAAAABJAAAAAADfgAAAAAAXQAAAAAATgAAAAADTgAAAAACaAAAAAABTgAAAAACTgAAAAABaAAAAAAAaAAAAAADaAAAAAAAaAAAAAABaAAAAAADaAAAAAABXQAAAAACXQAAAAACXQAAAAAAXQAAAAACXQAAAAABXQAAAAADXQAAAAADXQAAAAACXQAAAAADXQAAAAABXQAAAAADXQAAAAABXQAAAAACXQAAAAABXQAAAAADXQAAAAADXQAAAAABXQAAAAAAXQAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAACXQAAAAABXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAABfgAAAAAAXQAAAAAA
+          tiles: HwAAAAABHwAAAAADfgAAAAAAHwAAAAADHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAAAXQAAAAAAHwAAAAAAHwAAAAACfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACHwAAAAAAHwAAAAABfgAAAAAAXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAHwAAAAABHwAAAAADfgAAAAAAXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACXQAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAXQAAAAACXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAADXQAAAAACXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAaAAAAAADaAAAAAADaAAAAAACXQAAAAABXQAAAAAAXQAAAAACXQAAAAACXQAAAAAAaAAAAAACXQAAAAADXQAAAAADXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAADXQAAAAADXQAAAAADXQAAAAACXQAAAAABaAAAAAAAXQAAAAACXQAAAAABXQAAAAACXQAAAAAAJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABfgAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAAAXQAAAAACXQAAAAADXQAAAAABXQAAAAACXQAAAAADXQAAAAAAXQAAAAACXQAAAAACXQAAAAABJAAAAAACfgAAAAAAXQAAAAADTgAAAAABTgAAAAACaAAAAAACTgAAAAADTgAAAAACaAAAAAADaAAAAAACaAAAAAADaAAAAAADaAAAAAABaAAAAAAAXQAAAAAAXQAAAAABXQAAAAAAXQAAAAADXQAAAAABXQAAAAABXQAAAAABXQAAAAABXQAAAAABXQAAAAACXQAAAAADXQAAAAACXQAAAAACXQAAAAADXQAAAAADXQAAAAADXQAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAACXQAAAAADXQAAAAAAXQAAAAACfgAAAAAAXQAAAAAC
           version: 6
         3,-3:
           ind: 3,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAACwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAEBwAAAAAABwAAAAAMBwAAAAAAJAAAAAABfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAABHwAAAAADfgAAAAAAfgAAAAAABwAAAAALBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAAJAAAAAADJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAACfgAAAAAAHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbgAAAAABbAAAAAAAJAAAAAABJAAAAAAAHwAAAAABHwAAAAACHwAAAAADfgAAAAAAHwAAAAAAHwAAAAABOAAAAAAAOAAAAAAAOAAAAAAAfgAAAAAAfgAAAAAAbgAAAAACfgAAAAAAbgAAAAAAJAAAAAABJAAAAAACfgAAAAAAHwAAAAADHwAAAAACfgAAAAAAHwAAAAABHwAAAAACOAAAAAAAHwAAAAACOAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbgAAAAABbAAAAAAAHwAAAAADHwAAAAACfgAAAAAAHwAAAAABHwAAAAACfgAAAAAAHwAAAAAAHwAAAAABOAAAAAAAOAAAAAAAOAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAAAfgAAAAAAHwAAAAADHwAAAAACfgAAAAAAHwAAAAABHwAAAAAAHwAAAAAAHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAAB
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAACBwAAAAAABwAAAAAACwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAADBwAAAAAABwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAAAJAAAAAACfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAABHwAAAAACfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAAJAAAAAADJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADfgAAAAAAHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbgAAAAAAbAAAAAAAJAAAAAADJAAAAAAAHwAAAAAAHwAAAAADHwAAAAACfgAAAAAAHwAAAAABHwAAAAABOAAAAAAAOAAAAAAAOAAAAAAAfgAAAAAAfgAAAAAAbgAAAAAAfgAAAAAAbgAAAAADJAAAAAAAJAAAAAACfgAAAAAAHwAAAAACHwAAAAABfgAAAAAAHwAAAAADHwAAAAAAOAAAAAAAHwAAAAABOAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbgAAAAADbAAAAAAAHwAAAAABHwAAAAAAfgAAAAAAHwAAAAACHwAAAAABfgAAAAAAHwAAAAABHwAAAAADOAAAAAAAOAAAAAAAOAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADfgAAAAAAHwAAAAACHwAAAAABfgAAAAAAHwAAAAADHwAAAAADHwAAAAABHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAAB
           version: 6
         -2,-3:
           ind: -2,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAegAAAAADegAAAAADegAAAAACegAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfQAAAAAAegAAAAADFQAAAAAAegAAAAACegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAFQAAAAAFgQAAAAAAFQAAAAABegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABJAAAAAABfgAAAAAAegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADKAAAAAADKAAAAAACXQAAAAAAXQAAAAACXQAAAAABXQAAAAADXQAAAAACXQAAAAACXQAAAAACXQAAAAABXQAAAAADXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAXQAAAAABKAAAAAACfgAAAAAAegAAAAACegAAAAADegAAAAABegAAAAACegAAAAADegAAAAAAegAAAAACegAAAAAAegAAAAABegAAAAADegAAAAAAfgAAAAAAfgAAAAAAewAAAAACewAAAAADfgAAAAAAegAAAAAAegAAAAABegAAAAABKAAAAAAAKAAAAAACKAAAAAABKAAAAAAAKAAAAAABKAAAAAADKAAAAAABKAAAAAADfgAAAAAAfgAAAAAAewAAAAABewAAAAADfgAAAAAAegAAAAACegAAAAAAegAAAAACKAAAAAACKAAAAAAAKAAAAAABKAAAAAACKAAAAAACKAAAAAAAKAAAAAADKAAAAAABfgAAAAAAfgAAAAAAewAAAAAAewAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAADKAAAAAABKAAAAAAAKAAAAAABKAAAAAABKAAAAAAAKAAAAAAAKAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAAAegAAAAABegAAAAADegAAAAABegAAAAADegAAAAADJAAAAAADfgAAAAAAfgAAAAAAKAAAAAACKAAAAAABKAAAAAADKAAAAAACXQAAAAABfgAAAAAAXQAAAAACXQAAAAACXQAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAAAXQAAAAACfgAAAAAAbAAAAAAAXQAAAAAAXQAAAAADKAAAAAABKAAAAAADXQAAAAADfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAC
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAegAAAAACegAAAAADegAAAAACegAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfQAAAAAAegAAAAABFQAAAAAFegAAAAABegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAFQAAAAACgQAAAAAAFQAAAAAAegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAACJAAAAAAAfgAAAAAAegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADKAAAAAADKAAAAAADXQAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAABXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAXQAAAAABKAAAAAAAfgAAAAAAegAAAAACegAAAAABegAAAAAAegAAAAACegAAAAABegAAAAAAegAAAAAAegAAAAAAegAAAAABegAAAAABegAAAAAAfgAAAAAAfgAAAAAAewAAAAADewAAAAACfgAAAAAAegAAAAADegAAAAADegAAAAACKAAAAAABKAAAAAAAKAAAAAAAKAAAAAABKAAAAAAAKAAAAAABKAAAAAACKAAAAAABfgAAAAAAfgAAAAAAewAAAAAAewAAAAAAfgAAAAAAegAAAAAAegAAAAADegAAAAABKAAAAAACKAAAAAABKAAAAAAAKAAAAAABKAAAAAADKAAAAAABKAAAAAABKAAAAAABfgAAAAAAfgAAAAAAewAAAAADewAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABKAAAAAADKAAAAAACKAAAAAABKAAAAAAAKAAAAAACKAAAAAAAKAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAACegAAAAAAegAAAAABegAAAAABegAAAAADegAAAAACegAAAAABJAAAAAACfgAAAAAAfgAAAAAAKAAAAAAAKAAAAAACKAAAAAACKAAAAAACXQAAAAACfgAAAAAAXQAAAAACXQAAAAAAXQAAAAACXQAAAAADXQAAAAADXQAAAAADXQAAAAAAXQAAAAADfgAAAAAAbAAAAAAAXQAAAAACXQAAAAABKAAAAAADKAAAAAAAXQAAAAACfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAC
           version: 6
         -3,-1:
           ind: -3,-1
-          tiles: HwAAAAAAfgAAAAAAewAAAAAAewAAAAADewAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAegAAAAAAegAAAAAAegAAAAADegAAAAADegAAAAACegAAAAADegAAAAAAHwAAAAADHwAAAAABHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAACTgAAAAAATgAAAAADKAAAAAAATgAAAAAATgAAAAABKAAAAAABHwAAAAABfgAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABTgAAAAADTgAAAAABKAAAAAABTgAAAAACTgAAAAADKAAAAAACHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAADegAAAAACegAAAAADegAAAAACegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABfgAAAAAAfgAAAAAAKAAAAAACKAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAZQAAAAABZQAAAAABfgAAAAAAewAAAAAAewAAAAADewAAAAACfgAAAAAAaAAAAAABKAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAZQAAAAADZQAAAAACfgAAAAAAKAAAAAABKAAAAAACKAAAAAADfgAAAAAAaAAAAAAAKAAAAAADBAAAAAAABAAAAAAABAAAAAAABAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAZQAAAAAAZQAAAAACfgAAAAAAKAAAAAABKAAAAAADKAAAAAADfgAAAAAAXQAAAAABXQAAAAADBAAAAAAABAAAAAAABAAAAAAABAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABAAAAAAABAAAAAAABAAAAAAABAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAADXQAAAAACfgAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAXwAAAAACXwAAAAAAXwAAAAADXwAAAAAAJAAAAAACfgAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAAAXQAAAAABXQAAAAAAXQAAAAABXQAAAAABXQAAAAABfgAAAAAAXwAAAAADHwAAAAADHwAAAAABHwAAAAABHwAAAAADfgAAAAAAXQAAAAAAXQAAAAADJAAAAAACJAAAAAACJAAAAAADJAAAAAABJAAAAAADXQAAAAACXQAAAAABfgAAAAAAXwAAAAACHwAAAAAAHwAAAAABHwAAAAADHwAAAAACfgAAAAAAXQAAAAACXQAAAAACAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAABXQAAAAADfgAAAAAAXwAAAAACHwAAAAADHwAAAAAAHwAAAAADHwAAAAAAfgAAAAAAXQAAAAADfgAAAAAAJAAAAAACJAAAAAABJAAAAAACJAAAAAADJAAAAAABXQAAAAAAXQAAAAACfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAACXQAAAAACXQAAAAABXQAAAAADXQAAAAAC
+          tiles: HwAAAAAAfgAAAAAAewAAAAACewAAAAAAewAAAAABfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAegAAAAADegAAAAAAegAAAAAAegAAAAABegAAAAACegAAAAABegAAAAADHwAAAAADHwAAAAAAHwAAAAADHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAATgAAAAADTgAAAAAAKAAAAAADTgAAAAADTgAAAAAAKAAAAAACHwAAAAAAfgAAAAAAHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAATgAAAAABTgAAAAAAKAAAAAACTgAAAAACTgAAAAADKAAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAABegAAAAABegAAAAAAegAAAAABegAAAAABegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAAAfgAAAAAAfgAAAAAAKAAAAAAAKAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAZQAAAAABZQAAAAADfgAAAAAAewAAAAABewAAAAACewAAAAABfgAAAAAAaAAAAAACKAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAZQAAAAABZQAAAAACfgAAAAAAKAAAAAAAKAAAAAABKAAAAAADfgAAAAAAaAAAAAAAKAAAAAACBAAAAAAABAAAAAAABAAAAAAABAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAZQAAAAABZQAAAAADfgAAAAAAKAAAAAACKAAAAAADKAAAAAACfgAAAAAAXQAAAAACXQAAAAABBAAAAAAABAAAAAAABAAAAAAABAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABAAAAAAABAAAAAAABAAAAAAABAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAADfgAAAAAAXQAAAAACXQAAAAABfgAAAAAAXwAAAAAAXwAAAAADXwAAAAAAXwAAAAADXwAAAAAAJAAAAAACXwAAAAADXwAAAAACXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAADXQAAAAAAfgAAAAAAXwAAAAACHwAAAAACHwAAAAAAHwAAAAABHwAAAAABXwAAAAABHwAAAAACHwAAAAABJAAAAAADJAAAAAACJAAAAAABJAAAAAAAJAAAAAACXQAAAAACXQAAAAADfgAAAAAAXwAAAAACHwAAAAAAHwAAAAADHwAAAAAAHwAAAAADXwAAAAACHwAAAAADHwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAABXQAAAAADfgAAAAAAXwAAAAAAHwAAAAADHwAAAAABHwAAAAACHwAAAAADXwAAAAABHwAAAAABHwAAAAAAJAAAAAADJAAAAAABJAAAAAACJAAAAAAAJAAAAAACXQAAAAABXQAAAAADfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAABXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAA
           version: 6
         -3,0:
           ind: -3,0
-          tiles: ZQAAAAADZQAAAAAAZQAAAAADZQAAAAAAZQAAAAAAXQAAAAAAaAAAAAADaAAAAAABXQAAAAACXQAAAAACaAAAAAADaAAAAAAAaAAAAAACaAAAAAABaAAAAAABXQAAAAAATgAAAAABTgAAAAADaAAAAAADTgAAAAACTgAAAAAAaAAAAAADaAAAAAADaAAAAAAAXQAAAAACXQAAAAADXwAAAAABaAAAAAAAaAAAAAACaAAAAAADXwAAAAABaAAAAAADZQAAAAACZQAAAAAAZQAAAAABZQAAAAADZQAAAAAAXQAAAAABaAAAAAABaAAAAAAAXQAAAAABXQAAAAAAXwAAAAAAaAAAAAABaAAAAAAAaAAAAAACXwAAAAAAaAAAAAACJAAAAAABJAAAAAAAJAAAAAACJAAAAAAAJAAAAAABXQAAAAADXQAAAAAAfgAAAAAAXQAAAAABXQAAAAACaAAAAAAAaAAAAAADaAAAAAABaAAAAAABaAAAAAAAaAAAAAACAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAADXQAAAAADfgAAAAAAXQAAAAABXQAAAAACXQAAAAABewAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAADJAAAAAADJAAAAAABJAAAAAADJAAAAAACJAAAAAADXQAAAAABXQAAAAACfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAewAAAAACHwAAAAABHwAAAAACHwAAAAADHwAAAAAAXQAAAAACXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAACfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAewAAAAAAHwAAAAABHwAAAAADHwAAAAAAHwAAAAAAXQAAAAADXQAAAAABXQAAAAACXQAAAAABfgAAAAAAXQAAAAABXQAAAAACfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAewAAAAABHwAAAAAAHwAAAAADHwAAAAADHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAgAAAAAAHwAAAAADHwAAAAADHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAgAAAAAAJAAAAAACJAAAAAAAJAAAAAADJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAHwAAAAABHwAAAAACHwAAAAACbAAAAAAAfgAAAAAAfgAAAAAAewAAAAADewAAAAADewAAAAAAfgAAAAAAaAAAAAAAaAAAAAACaAAAAAACAgAAAAAAJAAAAAADJAAAAAADHwAAAAABHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAewAAAAAAewAAAAAAewAAAAAAfgAAAAAAaAAAAAACaAAAAAABaAAAAAADAgAAAAAAHwAAAAADHwAAAAACHwAAAAADHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAABfgAAAAAAAQAAAAABPAAAAAAAPAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAACAQAAAAABPAAAAAAAXQAAAAACfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAQAAAAABPAAAAAAAPAAAAAAA
+          tiles: ZQAAAAADZQAAAAAAZQAAAAADZQAAAAABZQAAAAAAXQAAAAABaAAAAAACaAAAAAABXQAAAAAAXQAAAAABaAAAAAABaAAAAAAAaAAAAAADaAAAAAADaAAAAAAAXQAAAAADTgAAAAADTgAAAAAAaAAAAAACTgAAAAADTgAAAAACaAAAAAADaAAAAAACaAAAAAAAXQAAAAAAXQAAAAACXwAAAAADaAAAAAABaAAAAAABaAAAAAAAXwAAAAAAaAAAAAACZQAAAAABZQAAAAAAZQAAAAACZQAAAAACZQAAAAABXQAAAAADaAAAAAABaAAAAAADXQAAAAABXQAAAAAAXwAAAAABaAAAAAABaAAAAAABaAAAAAADXwAAAAADaAAAAAABJAAAAAACJAAAAAABJAAAAAABJAAAAAAAJAAAAAACXQAAAAAAXQAAAAACfgAAAAAAXQAAAAAAXQAAAAAAaAAAAAAAaAAAAAADaAAAAAADaAAAAAADaAAAAAABaAAAAAACAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAXQAAAAADXQAAAAADfgAAAAAAXQAAAAAAXQAAAAADXQAAAAAAewAAAAACewAAAAACewAAAAAAewAAAAAAewAAAAAAJAAAAAACJAAAAAADJAAAAAAAJAAAAAACJAAAAAABXQAAAAADXQAAAAACfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAewAAAAABHwAAAAAAHwAAAAACHwAAAAADHwAAAAABXQAAAAADXQAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAAAXQAAAAABfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAewAAAAACHwAAAAAAHwAAAAABHwAAAAAAHwAAAAABXQAAAAADXQAAAAADXQAAAAAAXQAAAAADfgAAAAAAXQAAAAADXQAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAewAAAAAAHwAAAAABHwAAAAADHwAAAAACHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAgAAAAAAHwAAAAACHwAAAAADHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAgAAAAAAJAAAAAADJAAAAAABJAAAAAAAJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAHwAAAAACHwAAAAABHwAAAAADbAAAAAAAfgAAAAAAfgAAAAAAewAAAAACewAAAAAAewAAAAACfgAAAAAAaAAAAAAAaAAAAAAAaAAAAAABAgAAAAAAJAAAAAAAJAAAAAAAHwAAAAACHwAAAAACHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAewAAAAAAewAAAAAAewAAAAADfgAAAAAAaAAAAAAAaAAAAAAAaAAAAAACAgAAAAAAHwAAAAABHwAAAAACHwAAAAABHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAABfgAAAAAAAQAAAAACPAAAAAAAPAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAADAQAAAAADPAAAAAAAXQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAQAAAAADPAAAAAAAPAAAAAAA
           version: 6
         -3,1:
           ind: -3,1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAABaAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAADaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAegAAAAAAegAAAAADegAAAAABegAAAAADegAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAIwAAAAADfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAegAAAAAAegAAAAACegAAAAABegAAAAAAegAAAAADfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAIwAAAAAARQAAAAAAIwAAAAABfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAegAAAAACfgAAAAAAegAAAAACegAAAAAAegAAAAACfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAIwAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAgQAAAAAAFQAAAAAGgQAAAAAAegAAAAACegAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAgQAAAAAAggAAAAAAFQAAAAAGegAAAAAAfgAAAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAggAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAggAAAAAAegAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAgQAAAAAAgQAAAAAAggAAAAACgQAAAAAAFQAAAAACfgAAAAAAegAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAFQAAAAACfgAAAAAAgQAAAAAAegAAAAAAegAAAAACegAAAAADegAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAggAAAAABFQAAAAAGegAAAAACegAAAAACfgAAAAAAegAAAAABegAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAACaAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAADaAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAegAAAAADegAAAAABegAAAAADegAAAAABegAAAAABfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAIwAAAAABfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAegAAAAACegAAAAABegAAAAADegAAAAACegAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAIwAAAAADRQAAAAAAIwAAAAADfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAegAAAAACfgAAAAAAegAAAAACegAAAAABegAAAAABfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAIwAAAAADfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAgQAAAAAAFQAAAAAGgQAAAAAAegAAAAACegAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAgQAAAAAAggAAAAABFQAAAAABegAAAAACfgAAAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAggAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAggAAAAACegAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAgQAAAAAAgQAAAAAAggAAAAABgQAAAAAAFQAAAAAFfgAAAAAAegAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAFQAAAAAGfgAAAAAAgQAAAAAAegAAAAADegAAAAADegAAAAABegAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAggAAAAACFQAAAAACegAAAAAAegAAAAACfgAAAAAAegAAAAABegAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAA
           version: 6
         -3,-2:
           ind: -3,-2
-          tiles: aAAAAAADaAAAAAADaAAAAAADaAAAAAACXQAAAAACXQAAAAACfgAAAAAAXQAAAAABegAAAAADegAAAAADXQAAAAACEgAAAAAAEgAAAAAAEgAAAAABEgAAAAACEgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABaAAAAAABXQAAAAABXQAAAAAAfgAAAAAAXQAAAAAAegAAAAACegAAAAACXQAAAAACEgAAAAADEgAAAAADEgAAAAADEgAAAAABEgAAAAADAwAAAAAAAwAAAAAAJAAAAAADaAAAAAABXQAAAAAAXQAAAAACfgAAAAAAXQAAAAABegAAAAACegAAAAAAXQAAAAABEgAAAAACEgAAAAAAEgAAAAAAEgAAAAACEgAAAAADAwAAAAAAAwAAAAAAJAAAAAADaAAAAAAAaAAAAAAAXQAAAAACaAAAAAADXQAAAAABegAAAAABegAAAAABXQAAAAABEgAAAAADEgAAAAAAEgAAAAACEgAAAAABEgAAAAADAwAAAAAAAwAAAAAAJAAAAAACaAAAAAAAaAAAAAAAXQAAAAACaAAAAAAAXQAAAAAAegAAAAACegAAAAAAXQAAAAACEgAAAAAAEgAAAAAAEgAAAAABEgAAAAABEgAAAAADAwAAAAAAAwAAAAAAJAAAAAADaAAAAAADXQAAAAAAXQAAAAABfgAAAAAAXQAAAAABegAAAAAAegAAAAACXQAAAAAAEgAAAAABEgAAAAADEgAAAAABEgAAAAAAEgAAAAABfgAAAAAAfgAAAAAAJAAAAAADaAAAAAADXQAAAAAAXQAAAAADfgAAAAAAXQAAAAADKAAAAAAAKAAAAAAAXQAAAAADXQAAAAADXQAAAAADXQAAAAAAXQAAAAADXQAAAAACaAAAAAAAaAAAAAADaAAAAAADaAAAAAABXQAAAAAAXQAAAAABfgAAAAAAXQAAAAAAKAAAAAABKAAAAAACKAAAAAAAKAAAAAACKAAAAAADKAAAAAACKAAAAAACKAAAAAADaAAAAAABaAAAAAABXQAAAAABXQAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAACXQAAAAADXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAAAXQAAAAAAXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAAAXQAAAAAAXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAABegAAAAAAKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABegAAAAAAegAAAAADKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAADegAAAAAAKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAXQAAAAABfgAAAAAAewAAAAAAewAAAAABewAAAAADfgAAAAAAfgAAAAAAfgAAAAAAKwAAAAAAKwAAAAAAKwAAAAAAKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAXQAAAAAAfgAAAAAAewAAAAAAewAAAAABewAAAAADfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABKAAAAAAB
+          tiles: aAAAAAADaAAAAAABaAAAAAAAaAAAAAAAXQAAAAACXQAAAAAAfgAAAAAAXQAAAAACegAAAAAAegAAAAACXQAAAAACEgAAAAACEgAAAAABEgAAAAAAEgAAAAAAEgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAaAAAAAADXQAAAAADXQAAAAABfgAAAAAAXQAAAAADegAAAAABegAAAAAAXQAAAAADEgAAAAAAEgAAAAADEgAAAAACEgAAAAACEgAAAAAAAwAAAAAAAwAAAAAAJAAAAAABaAAAAAABXQAAAAADXQAAAAACfgAAAAAAXQAAAAAAegAAAAAAegAAAAAAXQAAAAABEgAAAAACEgAAAAAAEgAAAAAAEgAAAAAAEgAAAAABAwAAAAAAAwAAAAAAJAAAAAABaAAAAAABaAAAAAADXQAAAAACaAAAAAACXQAAAAAAegAAAAACegAAAAABXQAAAAABEgAAAAABEgAAAAADEgAAAAABEgAAAAADEgAAAAADAwAAAAAAAwAAAAAAJAAAAAAAaAAAAAADaAAAAAABXQAAAAAAaAAAAAADXQAAAAADegAAAAADegAAAAACXQAAAAABEgAAAAAAEgAAAAADEgAAAAACEgAAAAADEgAAAAADAwAAAAAAAwAAAAAAJAAAAAACaAAAAAABXQAAAAACXQAAAAADfgAAAAAAXQAAAAABegAAAAADegAAAAACXQAAAAAAEgAAAAABEgAAAAADEgAAAAAAEgAAAAACEgAAAAABfgAAAAAAfgAAAAAAJAAAAAABaAAAAAAAXQAAAAADXQAAAAACfgAAAAAAXQAAAAACKAAAAAACKAAAAAADXQAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAADXQAAAAADaAAAAAACaAAAAAACaAAAAAAAaAAAAAACXQAAAAABXQAAAAADfgAAAAAAXQAAAAABKAAAAAABKAAAAAADKAAAAAADKAAAAAACKAAAAAAAKAAAAAACKAAAAAADKAAAAAABaAAAAAACaAAAAAAAXQAAAAAAXQAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAADXQAAAAACXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADXQAAAAABXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAAAXQAAAAADXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABegAAAAABegAAAAAAKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAXQAAAAACXQAAAAABXQAAAAABXQAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAADegAAAAACKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABegAAAAACegAAAAABKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAXQAAAAABfgAAAAAAewAAAAABewAAAAACewAAAAABfgAAAAAAfgAAAAAAfgAAAAAAKwAAAAAAKwAAAAAAKwAAAAAAKwAAAAAAfgAAAAAAaQAAAAAAaQAAAAAAQwAAAAAAXQAAAAACfgAAAAAAewAAAAABewAAAAACewAAAAADfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAAAKAAAAAAA
           version: 6
         -3,-3:
           ind: -3,-3
-          tiles: XQAAAAACXQAAAAADXQAAAAAAXQAAAAADXQAAAAACXQAAAAABXQAAAAABaAAAAAACXQAAAAAAfgAAAAAABwAAAAAGBwAAAAAABwAAAAACAAAAAAAAfQAAAAAAAAAAAAAATgAAAAACTgAAAAADaAAAAAADTgAAAAABTgAAAAAAaAAAAAAAaAAAAAAAaAAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACXQAAAAACXQAAAAABXQAAAAADXQAAAAABXQAAAAABXQAAAAACXQAAAAACXQAAAAAAfgAAAAAAJAAAAAAAJAAAAAABHwAAAAACHwAAAAABfgAAAAAAegAAAAACaAAAAAACaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACHwAAAAABHwAAAAADfgAAAAAAegAAAAADaAAAAAABXQAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAAAHwAAAAABHwAAAAAAfgAAAAAAegAAAAADTgAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAAAXQAAAAADfgAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAaAAAAAACXQAAAAACfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAIBwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAACXQAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAIBwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAADXQAAAAAATgAAAAADXQAAAAAAfgAAAAAABwAAAAAFBwAAAAAABwAAAAAABwAAAAAABwAAAAAHfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAACXQAAAAACaAAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAewAAAAABTgAAAAABXQAAAAABXQAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAewAAAAAATgAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAewAAAAAAaAAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAKAAAAAADKAAAAAACKAAAAAACKAAAAAAAKAAAAAAAKAAAAAACKAAAAAABKAAAAAABaAAAAAADXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADKAAAAAADKAAAAAACXQAAAAACXQAAAAADXQAAAAACXQAAAAABXQAAAAABXQAAAAAB
+          tiles: XQAAAAADXQAAAAADXQAAAAACXQAAAAABXQAAAAABXQAAAAACXQAAAAACaAAAAAADXQAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAHAAAAAAAAfQAAAAAAAAAAAAAATgAAAAACTgAAAAAAaAAAAAACTgAAAAACTgAAAAABaAAAAAAAaAAAAAACaAAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABXQAAAAABXQAAAAAAXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAJAAAAAADJAAAAAADHwAAAAAAHwAAAAAAfgAAAAAAegAAAAABaAAAAAADaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAADHwAAAAABHwAAAAABfgAAAAAAegAAAAACaAAAAAACXQAAAAADfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAegAAAAACTgAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAADXQAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAXQAAAAACfgAAAAAABwAAAAAABwAAAAALBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAADXQAAAAACfgAAAAAABwAAAAACBwAAAAAABwAAAAABBwAAAAAABwAAAAAFBwAAAAAABwAAAAAJfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAADXQAAAAABTgAAAAADXQAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAABBwAAAAAABwAAAAALfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAKAAAAAABXQAAAAABaAAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAewAAAAADTgAAAAADXQAAAAADXQAAAAABbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAewAAAAADTgAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAewAAAAAAaAAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACKAAAAAAAKAAAAAABKAAAAAAAKAAAAAAAKAAAAAACKAAAAAAAKAAAAAAAKAAAAAABaAAAAAACXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABKAAAAAADKAAAAAADXQAAAAADXQAAAAAAXQAAAAABXQAAAAADXQAAAAABXQAAAAAC
           version: 6
         -4,0:
           ind: -4,0
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAACaAAAAAABXQAAAAABXQAAAAADZQAAAAAAZQAAAAAAZQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAADaAAAAAACTgAAAAACTgAAAAADaAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAACaAAAAAAAXQAAAAACXQAAAAADZQAAAAADZQAAAAAAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAADJAAAAAABJAAAAAAAJAAAAAAAJAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAABXQAAAAAAXQAAAAADAwAAAAAAAwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAABXQAAAAABXQAAAAADJAAAAAABJAAAAAACJAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAAAXQAAAAADXQAAAAADXQAAAAADXQAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABXQAAAAADfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABXQAAAAAAXQAAAAABfgAAAAAAHwAAAAACHwAAAAACHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADXQAAAAACXQAAAAACfgAAAAAAJAAAAAACJAAAAAAAJAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAACJAAAAAADJAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAACaAAAAAADXQAAAAADXQAAAAAAZQAAAAABZQAAAAACZQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAAAaAAAAAAATgAAAAABTgAAAAABaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAACaAAAAAADXQAAAAADXQAAAAABZQAAAAACZQAAAAAAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAAAJAAAAAADJAAAAAAAJAAAAAADJAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAADXQAAAAADXQAAAAABAwAAAAAAAwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAAAXQAAAAADXQAAAAACJAAAAAABJAAAAAAAJAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAADXQAAAAABXQAAAAABXQAAAAACXQAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAABfgAAAAAAXQAAAAAAXQAAAAABXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAABfgAAAAAAHwAAAAABHwAAAAAAHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAAAfgAAAAAAJAAAAAAAJAAAAAAAJAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAAAJAAAAAADJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAA
           version: 6
         -4,-1:
           ind: -4,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABTgAAAAADXQAAAAADfgAAAAAAHwAAAAADHwAAAAADHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAACXQAAAAABfgAAAAAAHwAAAAABHwAAAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAADfgAAAAAAHwAAAAACHwAAAAABHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADTgAAAAACXQAAAAABfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAATgAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABTgAAAAADXQAAAAACXQAAAAADbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACaAAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAATgAAAAAAXQAAAAADfgAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAATgAAAAACXQAAAAACfgAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAADfgAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAACaAAAAAABfgAAAAAAXQAAAAACXQAAAAACXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAAAXQAAAAADXQAAAAABXQAAAAABXQAAAAACXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAABXQAAAAACXQAAAAACJAAAAAADJAAAAAABJAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAADXQAAAAABXQAAAAABAwAAAAAAAwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAABJAAAAAABJAAAAAAAJAAAAAAAJAAAAAAC
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABTgAAAAAAXQAAAAACfgAAAAAAHwAAAAADHwAAAAACHwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAACXQAAAAABfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAAaAAAAAAAXQAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABTgAAAAABXQAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADTgAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAAAXQAAAAABXQAAAAADbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADaAAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAACXQAAAAACfgAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAADXQAAAAABfgAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADaAAAAAACXQAAAAABfgAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABaAAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAAAfgAAAAAAXQAAAAADXQAAAAADXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADaAAAAAAAXQAAAAACXQAAAAACXQAAAAACXQAAAAABXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAaAAAAAABXQAAAAADXQAAAAAAJAAAAAADJAAAAAADJAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADXQAAAAADXQAAAAADAwAAAAAAAwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAADXQAAAAAAJAAAAAAAJAAAAAABJAAAAAACJAAAAAAA
           version: 6
         -4,-2:
           ind: -4,-2
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAACaAAAAAADaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAHwAAAAAAfgAAAAAAXQAAAAAAaAAAAAACJAAAAAACAwAAAAAAbAAAAAAAfgAAAAAAJAAAAAABHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAACHwAAAAAAfgAAAAAAXQAAAAABaAAAAAACJAAAAAACAwAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAABegAAAAABHwAAAAACHwAAAAABHwAAAAADHwAAAAAAHwAAAAAAHwAAAAACfgAAAAAAXQAAAAACaAAAAAACJAAAAAABAwAAAAAAfgAAAAAAfgAAAAAAegAAAAABegAAAAABegAAAAAAHwAAAAACfgAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAAAfgAAAAAAXQAAAAAAaAAAAAADJAAAAAABAwAAAAAAfgAAAAAAfgAAAAAAegAAAAABegAAAAACegAAAAADHwAAAAADfgAAAAAAaAAAAAADaAAAAAADaAAAAAACaAAAAAADaAAAAAABXQAAAAAAaAAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAACHwAAAAADfgAAAAAAaAAAAAABaAAAAAABaAAAAAADaAAAAAABaAAAAAADXQAAAAAAaAAAAAABaAAAAAAAaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAXQAAAAADXQAAAAADXQAAAAADaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAAAaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAADXQAAAAADXQAAAAABXQAAAAACXQAAAAACXQAAAAABXQAAAAAAaAAAAAADfgAAAAAAfgAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAAAaAAAAAABaAAAAAABaAAAAAABaAAAAAABaAAAAAADfQAAAAAAfgAAAAAAXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAXQAAAAABaAAAAAAAXQAAAAACXQAAAAACXQAAAAACXQAAAAABXQAAAAABAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAaAAAAAAAaAAAAAADaAAAAAACfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACaAAAAAACXQAAAAAAfgAAAAAAXQAAAAADXQAAAAABXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADaAAAAAABXQAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAAC
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAACaAAAAAADaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAADJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAACHwAAAAACfgAAAAAAXQAAAAABaAAAAAACJAAAAAAAAwAAAAAAbAAAAAAAfgAAAAAAJAAAAAAAHwAAAAAAHwAAAAAAHwAAAAACfgAAAAAAHwAAAAAAHwAAAAABHwAAAAACHwAAAAADfgAAAAAAXQAAAAAAaAAAAAACJAAAAAADAwAAAAAAfgAAAAAAfgAAAAAAegAAAAAAegAAAAACegAAAAADHwAAAAABHwAAAAADHwAAAAABHwAAAAADHwAAAAADHwAAAAADfgAAAAAAXQAAAAACaAAAAAABJAAAAAAAAwAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAADegAAAAABHwAAAAABfgAAAAAAXQAAAAABXQAAAAABXQAAAAADXQAAAAABfgAAAAAAXQAAAAACaAAAAAABJAAAAAAAAwAAAAAAfgAAAAAAfgAAAAAAegAAAAADegAAAAADegAAAAADHwAAAAACfgAAAAAAaAAAAAAAaAAAAAAAaAAAAAADaAAAAAAAaAAAAAAAXQAAAAAAaAAAAAABJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAABHwAAAAABfgAAAAAAaAAAAAACaAAAAAAAaAAAAAACaAAAAAADaAAAAAABXQAAAAACaAAAAAACaAAAAAABaAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABXQAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAACaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAACaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAABXQAAAAABXQAAAAADXQAAAAAAXQAAAAACXQAAAAACXQAAAAACaAAAAAACfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADaAAAAAACaAAAAAACaAAAAAAAaAAAAAABaAAAAAADaAAAAAAAfQAAAAAAfgAAAAAAXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAXQAAAAADaAAAAAABXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAABXQAAAAADAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAaAAAAAABaAAAAAAAaAAAAAADfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADaAAAAAAAXQAAAAACfgAAAAAAXQAAAAADXQAAAAABXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABaAAAAAADXQAAAAACfgAAAAAAXQAAAAADXQAAAAACXQAAAAAC
           version: 6
         -4,-3:
           ind: -4,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAADaAAAAAABXQAAAAADXQAAAAACXQAAAAADXQAAAAACXQAAAAAAXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAACaAAAAAAAaAAAAAABaAAAAAADTgAAAAAATgAAAAADaAAAAAABTgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAADXQAAAAAAXQAAAAADXQAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAACXQAAAAACXgAAAAAAXQAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAACXQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAADXQAAAAABXgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADXgAAAAAAXgAAAAAAXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAYQAAAAACYQAAAAABXgAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAD
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAaAAAAAACXQAAAAAAXQAAAAACXQAAAAACXQAAAAADXQAAAAACXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAABaAAAAAADaAAAAAABaAAAAAAATgAAAAAATgAAAAABaAAAAAAATgAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAAAXQAAAAADXQAAAAAAXQAAAAACXQAAAAABXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAABAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAABXQAAAAADXgAAAAABXQAAAAADXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAADXQAAAAACfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAXgAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACXgAAAAABXgAAAAABXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADYQAAAAAEYQAAAAAAXgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAA
           version: 6
         2,0:
           ind: 2,0
-          tiles: HwAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAaAAAAAACaAAAAAAAaAAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAADaAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACXQAAAAACaAAAAAABXQAAAAADdQAAAAACdQAAAAAAdQAAAAACfgAAAAAAXQAAAAAAXQAAAAABXQAAAAABJAAAAAACXQAAAAADXQAAAAAAXQAAAAACaAAAAAADXQAAAAAAXQAAAAACTgAAAAACXQAAAAABdQAAAAACdQAAAAAAdQAAAAADfgAAAAAAaAAAAAADaAAAAAABaAAAAAADaAAAAAACTgAAAAABTgAAAAACaAAAAAAAaAAAAAAAaAAAAAABTgAAAAACTgAAAAABXQAAAAABdQAAAAABdQAAAAAAaAAAAAACfgAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAACXQAAAAADaAAAAAAAXQAAAAABXQAAAAACXQAAAAACXQAAAAABdQAAAAABdQAAAAAAdQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAACcAAAAAABcAAAAAABcAAAAAADcAAAAAADcAAAAAAAcAAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAADfgAAAAAAXQAAAAACfgAAAAAAcAAAAAAAcAAAAAADcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAdQAAAAADdQAAAAAAcAAAAAACcAAAAAADcAAAAAADcAAAAAAAcAAAAAABdQAAAAABXQAAAAAAXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAdQAAAAACdQAAAAADTgAAAAACcAAAAAADdQAAAAAAcAAAAAAATgAAAAADdQAAAAAAXQAAAAACXQAAAAABXQAAAAABbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAAAcAAAAAABcAAAAAADcAAAAAADcAAAAAABcAAAAAABdQAAAAAAXQAAAAACXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADdAAAAAADdQAAAAABdQAAAAAAdQAAAAADdAAAAAABdQAAAAACfgAAAAAAXQAAAAADegAAAAAAegAAAAADegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAACdAAAAAAAdQAAAAAAdQAAAAABdQAAAAAAdAAAAAACJAAAAAACXQAAAAACXQAAAAABegAAAAAAegAAAAADegAAAAABegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAAAcAAAAAADcAAAAAACcAAAAAAAcAAAAAAAcAAAAAAAcAAAAAABfgAAAAAAXQAAAAADegAAAAAAegAAAAAAegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAABJAAAAAADHwAAAAAAJAAAAAAAfgAAAAAAXQAAAAABegAAAAADegAAAAABegAAAAADegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAACJAAAAAABTwAAAAAATwAAAAAA
+          tiles: HwAAAAAAHwAAAAAAHwAAAAABfgAAAAAAaAAAAAAAaAAAAAABaAAAAAAAfgAAAAAAfgAAAAAAaAAAAAACaAAAAAABaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABXQAAAAAAaAAAAAAAXQAAAAAAdQAAAAADdQAAAAACdQAAAAACfgAAAAAAXQAAAAAAXQAAAAADXQAAAAAAJAAAAAAAXQAAAAAAXQAAAAABXQAAAAAAaAAAAAAAXQAAAAADXQAAAAACTgAAAAAAXQAAAAABdQAAAAABdQAAAAACdQAAAAADfgAAAAAAaAAAAAAAaAAAAAAAaAAAAAACaAAAAAABTgAAAAACTgAAAAABaAAAAAAAaAAAAAADaAAAAAABTgAAAAADTgAAAAABXQAAAAABdQAAAAADdQAAAAAAaAAAAAADfgAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAACXQAAAAABXQAAAAAAXQAAAAABaAAAAAAAXQAAAAABXQAAAAABXQAAAAAAXQAAAAACdQAAAAADdQAAAAABdQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAcAAAAAAAcAAAAAADcAAAAAAAcAAAAAAAcAAAAAABcAAAAAADfgAAAAAAXQAAAAABXQAAAAACXQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAXQAAAAACfgAAAAAAXQAAAAACfgAAAAAAcAAAAAADcAAAAAADcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAdQAAAAADdQAAAAABcAAAAAACcAAAAAABcAAAAAABcAAAAAACcAAAAAAAdQAAAAACXQAAAAACXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAdQAAAAAAdQAAAAADTgAAAAACcAAAAAACdQAAAAABcAAAAAADTgAAAAACdQAAAAACXQAAAAADXQAAAAACXQAAAAACbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAABcAAAAAADcAAAAAACcAAAAAABcAAAAAABcAAAAAABdQAAAAAAXQAAAAADXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAABdAAAAAABdQAAAAACdQAAAAADdQAAAAADdAAAAAABdQAAAAACfgAAAAAAXQAAAAADegAAAAADegAAAAABegAAAAAAegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAABdAAAAAADdQAAAAAAdQAAAAACdQAAAAACdAAAAAADJAAAAAADXQAAAAACXQAAAAAAegAAAAABegAAAAADegAAAAACegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAACcAAAAAAAcAAAAAAAcAAAAAACcAAAAAABcAAAAAAAcAAAAAABfgAAAAAAXQAAAAACegAAAAAAegAAAAADegAAAAABegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACJAAAAAADHwAAAAADJAAAAAACfgAAAAAAXQAAAAAAegAAAAABegAAAAADegAAAAABegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAADJAAAAAAATwAAAAAATwAAAAAA
           version: 6
         -5,-2:
           ind: -5,-2
@@ -222,71 +222,71 @@ entities:
           version: 6
         0,2:
           ind: 0,2
-          tiles: fgAAAAAAfgAAAAAATwAAAAAAHwAAAAAAHwAAAAACHwAAAAACHwAAAAADTwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAALgAAAAAALgAAAAAAfgAAAAAAfgAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAHwAAAAABHwAAAAACHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAAAfgAAAAAAdAAAAAABdAAAAAADdQAAAAABfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAADHwAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAABfgAAAAAAHwAAAAAAHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAHwAAAAAAHwAAAAACHwAAAAACfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABHwAAAAAAHwAAAAABHwAAAAABfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADHwAAAAADHwAAAAAAHwAAAAABfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAATwAAAAAAHwAAAAAAHwAAAAAAHwAAAAADHwAAAAACTwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAALgAAAAAALgAAAAAALgAAAAAAfgAAAAAAfgAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAHwAAAAAAHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAABHwAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAABfgAAAAAAdAAAAAADdAAAAAAAdQAAAAABfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAACHwAAAAACfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAABfgAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAGwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAABHwAAAAACfgAAAAAAHwAAAAAAHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADHwAAAAAAHwAAAAABHwAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADHwAAAAABHwAAAAACHwAAAAACfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -1,2:
           ind: -1,2
-          tiles: HwAAAAAAHwAAAAABewAAAAADewAAAAACewAAAAACXQAAAAABXQAAAAAAXQAAAAACXQAAAAADXQAAAAAAJAAAAAAAJAAAAAAAfgAAAAAAXQAAAAADXQAAAAAAXQAAAAADfgAAAAAAHwAAAAACewAAAAABewAAAAACewAAAAADXQAAAAABXQAAAAADXQAAAAAAXQAAAAAAXQAAAAACHwAAAAACHwAAAAABfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAfgAAAAAAHwAAAAABewAAAAABewAAAAABewAAAAABXQAAAAABXQAAAAADXQAAAAABXQAAAAADXQAAAAAAHwAAAAADHwAAAAACfgAAAAAAHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACHwAAAAAAXQAAAAACfgAAAAAAbAAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAACHwAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAHwAAAAAAXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAACdAAAAAAAdAAAAAADfgAAAAAAHwAAAAABHwAAAAABHwAAAAADHwAAAAADgQAAAAAAHwAAAAABHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAADfgAAAAAAJAAAAAACJAAAAAAAJAAAAAABfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAABfgAAAAAAXQAAAAACXQAAAAAAXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAAAXQAAAAAAXQAAAAABXQAAAAABXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAABXQAAAAAAXQAAAAADXQAAAAABXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAACXQAAAAACXQAAAAAAXQAAAAABXQAAAAAB
+          tiles: HwAAAAACHwAAAAAAewAAAAAAewAAAAACewAAAAACXQAAAAACXQAAAAABXQAAAAAAXQAAAAACXQAAAAACJAAAAAAAJAAAAAACfgAAAAAAXQAAAAABXQAAAAABXQAAAAACfgAAAAAAHwAAAAADewAAAAADewAAAAADewAAAAACXQAAAAAAXQAAAAABXQAAAAAAXQAAAAAAXQAAAAACHwAAAAADHwAAAAADfgAAAAAAHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAHwAAAAADewAAAAACewAAAAACewAAAAACXQAAAAACXQAAAAADXQAAAAABXQAAAAACXQAAAAABHwAAAAADHwAAAAABfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAHwAAAAADXQAAAAABfgAAAAAAbAAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAAAHwAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAHwAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAHwAAAAADHwAAAAACHwAAAAABHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADdAAAAAADdAAAAAACfgAAAAAAHwAAAAACHwAAAAADHwAAAAACHwAAAAADgQAAAAAAHwAAAAADHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAADfgAAAAAAJAAAAAABJAAAAAACJAAAAAADfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAXQAAAAABXQAAAAABXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAHwAAAAABHwAAAAACHwAAAAACXQAAAAABXQAAAAACXQAAAAACXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAAAXQAAAAACXQAAAAACXQAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAAC
           version: 6
         -2,2:
           ind: -2,2
-          tiles: fQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACXQAAAAAAfgAAAAAAHwAAAAAAHwAAAAABHwAAAAABHwAAAAACHwAAAAAAHwAAAAAAfgAAAAAAXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAHwAAAAAAHwAAAAADHwAAAAACHwAAAAACHwAAAAACHwAAAAADfgAAAAAAXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAXQAAAAADXQAAAAABXQAAAAACXQAAAAADXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAABXQAAAAADXQAAAAADXQAAAAAAXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAAAXQAAAAACXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACXQAAAAADfgAAAAAAHwAAAAACHwAAAAADHwAAAAABHwAAAAACHwAAAAACHwAAAAAAfgAAAAAAXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAHwAAAAAAHwAAAAADHwAAAAABfgAAAAAAXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAACXQAAAAAAXQAAAAAAXQAAAAABXQAAAAAAXQAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACfgAAAAAAXQAAAAABXQAAAAABXQAAAAACXQAAAAADXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAADAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAHwAAAAABAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -1,3:
           ind: -1,3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAAAJAAAAAACXQAAAAACXQAAAAADXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAADXQAAAAACXQAAAAAAXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAACXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAXQAAAAABHwAAAAABHwAAAAABXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAABJAAAAAAAXQAAAAABXQAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAABXQAAAAABXQAAAAACXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAABXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAXQAAAAADHwAAAAADHwAAAAACXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         0,3:
           ind: 0,3
-          tiles: XQAAAAABHwAAAAACHwAAAAADJAAAAAACfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAADfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADXQAAAAABXQAAAAACXQAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAHwAAAAAAHwAAAAABXQAAAAADfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: XQAAAAAAHwAAAAADHwAAAAAAJAAAAAACfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACXQAAAAADXQAAAAAAXQAAAAABfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAXQAAAAADXQAAAAACXQAAAAABfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACHwAAAAACHwAAAAABXQAAAAADfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAADHwAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         2,1:
           ind: 2,1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAABJAAAAAADTwAAAAAATwAAAAAAfgAAAAAAJAAAAAAAHwAAAAACHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAABHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADTgAAAAAATgAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADHwAAAAAATgAAAAADTgAAAAABHwAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAAAaAAAAAABHwAAAAAAHwAAAAAAHwAAAAACHwAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAMAAAAAAAMAAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAADHwAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAADJAAAAAABTwAAAAAATwAAAAAAfgAAAAAAJAAAAAAAHwAAAAABHwAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAACHwAAAAAAHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACTgAAAAADTgAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAHwAAAAAATgAAAAACTgAAAAABHwAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAABHwAAAAACaAAAAAADHwAAAAADHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAMAAAAAAAMAAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAABHwAAAAADfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         3,0:
           ind: 3,0
-          tiles: fgAAAAAAdQAAAAACdQAAAAABdQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAcAAAAAAAfgAAAAAAdQAAAAACdQAAAAADdQAAAAACcAAAAAAAdQAAAAABcAAAAAABfgAAAAAAcAAAAAACcAAAAAADdQAAAAADdQAAAAAAdQAAAAABfgAAAAAAcAAAAAACdQAAAAACdQAAAAABdQAAAAAAdQAAAAACdQAAAAAAcAAAAAAAdQAAAAADcAAAAAACcAAAAAACcAAAAAABcAAAAAAAdQAAAAABdQAAAAABdQAAAAADdQAAAAABdQAAAAADdQAAAAADcAAAAAAAcAAAAAABcAAAAAACdQAAAAADcAAAAAACdQAAAAAAcAAAAAADcAAAAAAAcAAAAAADcAAAAAAAdQAAAAADdQAAAAAAdQAAAAADfgAAAAAAcAAAAAABdQAAAAAAdQAAAAACdQAAAAAAdQAAAAAAdQAAAAABcAAAAAAAdQAAAAADcAAAAAACfgAAAAAAcAAAAAADcAAAAAADdQAAAAABdQAAAAAAdQAAAAACfgAAAAAAcAAAAAAAcAAAAAABfgAAAAAAdQAAAAABdQAAAAADdQAAAAAAcAAAAAABdQAAAAACJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAADdQAAAAADcAAAAAACfgAAAAAAcAAAAAAAcAAAAAADcAAAAAAAcAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAACcAAAAAADdQAAAAADcAAAAAACcAAAAAACcAAAAAAAdQAAAAADdQAAAAAAdQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAAAdQAAAAAAdQAAAAABcAAAAAAAfgAAAAAAcAAAAAAAdQAAAAADdQAAAAAAdQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADdQAAAAACcAAAAAACdQAAAAADcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAADfgAAAAAAcAAAAAABdQAAAAADcAAAAAADfgAAAAAAJAAAAAACHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAABegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAcAAAAAABdQAAAAADcAAAAAABcAAAAAAAcAAAAAAAHwAAAAADHwAAAAADHwAAAAADfgAAAAAAegAAAAABegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAdQAAAAAAcAAAAAACfgAAAAAAcAAAAAADHwAAAAADHwAAAAACHwAAAAACfgAAAAAAegAAAAAAegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAcAAAAAADdQAAAAABcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAACdQAAAAABdQAAAAAAdQAAAAAAcAAAAAABcAAAAAABcAAAAAABdQAAAAABcAAAAAADcAAAAAABcAAAAAAAcAAAAAAAcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAAAdQAAAAAAdQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABdQAAAAABdQAAAAABdQAAAAABcAAAAAADfgAAAAAAfgAAAAAA
+          tiles: fgAAAAAAdQAAAAACdQAAAAACdQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAADcAAAAAAAfgAAAAAAdQAAAAADdQAAAAACdQAAAAACcAAAAAADdQAAAAADcAAAAAABfgAAAAAAcAAAAAACcAAAAAACdQAAAAABdQAAAAABdQAAAAACfgAAAAAAcAAAAAACdQAAAAAAdQAAAAADdQAAAAACdQAAAAACdQAAAAAAcAAAAAADdQAAAAAAcAAAAAAAcAAAAAABcAAAAAABcAAAAAABdQAAAAAAdQAAAAADdQAAAAACdQAAAAADdQAAAAAAdQAAAAAAcAAAAAADcAAAAAADcAAAAAABdQAAAAADcAAAAAAAdQAAAAAAcAAAAAADcAAAAAADcAAAAAADcAAAAAAAdQAAAAACdQAAAAADdQAAAAABfgAAAAAAcAAAAAADdQAAAAADdQAAAAABdQAAAAAAdQAAAAACdQAAAAABcAAAAAACdQAAAAACcAAAAAABfgAAAAAAcAAAAAAAcAAAAAAAdQAAAAAAdQAAAAAAdQAAAAABfgAAAAAAcAAAAAABcAAAAAAAfgAAAAAAdQAAAAABdQAAAAAAdQAAAAACcAAAAAADdQAAAAABJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAACdQAAAAAAcAAAAAAAfgAAAAAAcAAAAAADcAAAAAADcAAAAAADcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAABcAAAAAADdQAAAAACcAAAAAADcAAAAAABcAAAAAAAdQAAAAAAdQAAAAABdQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADdQAAAAACdQAAAAAAcAAAAAAAfgAAAAAAcAAAAAACdQAAAAADdQAAAAADdQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAdQAAAAACcAAAAAABdQAAAAADcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAADfgAAAAAAcAAAAAAAdQAAAAACcAAAAAACfgAAAAAAJAAAAAAAHwAAAAACHwAAAAABHwAAAAAAHwAAAAABegAAAAADegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABfgAAAAAAcAAAAAABdQAAAAACcAAAAAAAcAAAAAADcAAAAAACHwAAAAAAHwAAAAAAHwAAAAAAfgAAAAAAegAAAAABegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAdQAAAAABcAAAAAABfgAAAAAAcAAAAAABHwAAAAACHwAAAAADHwAAAAADfgAAAAAAegAAAAABegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAcAAAAAAAdQAAAAABcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAADdQAAAAADdQAAAAACdQAAAAADcAAAAAABcAAAAAADcAAAAAABdQAAAAADcAAAAAADcAAAAAAAcAAAAAADcAAAAAAAcAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAdQAAAAACdQAAAAADdQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAdQAAAAADdQAAAAADdQAAAAACcAAAAAACfgAAAAAAfgAAAAAA
           version: 6
         3,1:
           ind: 3,1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAdQAAAAABdQAAAAADdQAAAAADcAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAcAAAAAAAcAAAAAABcAAAAAABcAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAwAAAAAAegAAAAAAegAAAAAAegAAAAACegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAACgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAXgAAAAAAZAAAAAAAXQAAAAACXQAAAAACfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAMAAAAAAAfgAAAAAAXQAAAAADXQAAAAABXgAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAfgAAAAAAegAAAAAAegAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAAAfgAAAAAAegAAAAADegAAAAABfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAADegAAAAADegAAAAAAfgAAAAAAegAAAAACegAAAAADfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAABdQAAAAACdQAAAAACdQAAAAADcAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAABcAAAAAABcAAAAAAAcAAAAAADcAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAwAAAAAAegAAAAADegAAAAAAegAAAAACegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAACgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAXgAAAAABZAAAAAAAXQAAAAACXQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAMAAAAAAAfgAAAAAAXQAAAAACXQAAAAACXgAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABfgAAAAAAegAAAAADegAAAAABfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAegAAAAABfgAAAAAAegAAAAAAegAAAAADfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAAAegAAAAABegAAAAADfgAAAAAAegAAAAADegAAAAABfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -4,-4:
           ind: -4,-4
-          tiles: AAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAADHwAAAAACHwAAAAAAHwAAAAABJAAAAAABJAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAADHwAAAAAAHwAAAAACHwAAAAADHwAAAAABJAAAAAADJAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAADJAAAAAACJAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAHwAAAAABHwAAAAACHwAAAAABHwAAAAADHwAAAAACJAAAAAACJAAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAAAHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAAAHwAAAAAAHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAABHwAAAAADHwAAAAADHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAHwAAAAAAHwAAAAABHwAAAAADHwAAAAACHwAAAAAAHwAAAAABJAAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAJAAAAAACJAAAAAAAJAAAAAABfgAAAAAAHwAAAAADHwAAAAACHwAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAABJAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAABaAAAAAACXQAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACTgAAAAAAXQAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAACTgAAAAADXQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAAATgAAAAABXQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAADaAAAAAAAXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAADaAAAAAAAaAAAAAABfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAA
+          tiles: AAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAAAHwAAAAACHwAAAAABHwAAAAAAHwAAAAADJAAAAAABJAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAADHwAAAAACHwAAAAAAHwAAAAABJAAAAAABJAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAADHwAAAAAAHwAAAAACHwAAAAABHwAAAAAAJAAAAAAAJAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAHwAAAAAAHwAAAAADHwAAAAADHwAAAAACHwAAAAADJAAAAAADJAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAADHwAAAAACHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAADHwAAAAADHwAAAAADHwAAAAAAHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAACHwAAAAABHwAAAAACHwAAAAACJAAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAJAAAAAACJAAAAAAAJAAAAAABfgAAAAAAHwAAAAADHwAAAAADHwAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAABJAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAACaAAAAAABXQAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAAATgAAAAADXQAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAACTgAAAAAAXQAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAADTgAAAAADXQAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAaAAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAaAAAAAAAaAAAAAABaAAAAAADfgAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAA
           version: 6
         -3,-4:
           ind: -3,-4
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAADJAAAAAABHwAAAAABHwAAAAADHwAAAAABHwAAAAACJAAAAAACfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAACJAAAAAAAHwAAAAACHwAAAAADHwAAAAADHwAAAAADJAAAAAACfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAADJAAAAAACHwAAAAAAHwAAAAACHwAAAAAAHwAAAAACJAAAAAABfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAADJAAAAAAAHwAAAAAAHwAAAAACHwAAAAACHwAAAAAAJAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAABHwAAAAAAJAAAAAADfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAACJAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAJAAAAAABfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAACJAAAAAABHwAAAAABHwAAAAADHwAAAAACHwAAAAABHwAAAAACfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAAAfgAAAAAAJAAAAAACJAAAAAACJAAAAAABfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAADJAAAAAACJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACaAAAAAACXQAAAAACfgAAAAAAXQAAAAABXQAAAAABfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABTgAAAAACXQAAAAACXQAAAAADXQAAAAACXQAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAABXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAABXQAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACaAAAAAABXQAAAAADfgAAAAAABwAAAAAEBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAfgAAAAAAaAAAAAACaAAAAAABaAAAAAABfgAAAAAABwAAAAAABwAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAAAJAAAAAACHwAAAAACHwAAAAABHwAAAAADHwAAAAAAJAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAACJAAAAAADHwAAAAAAHwAAAAADHwAAAAACHwAAAAABJAAAAAABfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAACJAAAAAACHwAAAAACHwAAAAADHwAAAAACHwAAAAACJAAAAAABfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAADJAAAAAACHwAAAAACHwAAAAACHwAAAAACHwAAAAADJAAAAAACfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAACHwAAAAABJAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAADHwAAAAACJAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAADHwAAAAADJAAAAAACfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAABJAAAAAABHwAAAAABHwAAAAABHwAAAAADHwAAAAABHwAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAAAHwAAAAAAfgAAAAAAJAAAAAADJAAAAAADJAAAAAADfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAJAAAAAACJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAABaAAAAAABXQAAAAADfgAAAAAAXQAAAAADXQAAAAADfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAADTgAAAAADXQAAAAABXQAAAAAAXQAAAAAAXQAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAACTgAAAAABXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAXQAAAAAATgAAAAAAXQAAAAADfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABaAAAAAACXQAAAAADfgAAAAAABwAAAAAABwAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAfgAAAAAAaAAAAAADaAAAAAADaAAAAAAAfgAAAAAABwAAAAAABwAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAA
           version: 6
         -4,-5:
           ind: -4,-5
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAABHwAAAAADHwAAAAACHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAADHwAAAAACHwAAAAABHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAHwAAAAAAHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAJAAAAAACHwAAAAACHwAAAAAAHwAAAAADHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -3,-5:
           ind: -3,-5
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACHwAAAAAAHwAAAAADHwAAAAADfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAADHwAAAAAAHwAAAAADJAAAAAACfgAAAAAAAAAAAAAAfQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAACHwAAAAADHwAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAABHwAAAAAAJAAAAAABfgAAAAAAAAAAAAAAfQAAAAAA
           version: 6
         3,-1:
           ind: 3,-1
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAXQAAAAAAHwAAAAAAHwAAAAACHwAAAAABHwAAAAADHwAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAXQAAAAADXQAAAAACXQAAAAAAXQAAAAADfgAAAAAAXQAAAAADHwAAAAADHwAAAAAAHwAAAAACHwAAAAAAHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAABXQAAAAABfgAAAAAAXQAAAAACHwAAAAAAHwAAAAADHwAAAAACHwAAAAACHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAADXQAAAAACXQAAAAABXQAAAAAAXQAAAAAAHwAAAAAAHwAAAAACHwAAAAADHwAAAAABHwAAAAABHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAABXQAAAAACXQAAAAACfgAAAAAAXQAAAAAAJAAAAAADJAAAAAAAJAAAAAACJAAAAAAAJAAAAAACJAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAACJAAAAAAAJAAAAAACJAAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAdQAAAAADdQAAAAAAdQAAAAADcAAAAAABfgAAAAAAdQAAAAAAdQAAAAAAfgAAAAAAcAAAAAADcAAAAAAAcAAAAAADbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAcAAAAAACcAAAAAAAdQAAAAABcAAAAAABcAAAAAACcAAAAAACdQAAAAACdQAAAAACfgAAAAAAcAAAAAAAdQAAAAACdQAAAAADdQAAAAAAcAAAAAABfgAAAAAAfgAAAAAAcAAAAAABcAAAAAABdQAAAAAAcAAAAAACcAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAADdQAAAAADdQAAAAACdQAAAAABcAAAAAACfgAAAAAAfgAAAAAAcAAAAAADdQAAAAABdQAAAAABdQAAAAADcAAAAAADcAAAAAADdQAAAAAAcAAAAAACcAAAAAACcAAAAAABaAAAAAAAaAAAAAADaAAAAAADcAAAAAAAfgAAAAAAfgAAAAAAcAAAAAADcAAAAAADdQAAAAACcAAAAAADcAAAAAABcAAAAAAAdQAAAAAAcAAAAAACcAAAAAABcAAAAAAAaAAAAAABaAAAAAABaAAAAAACcAAAAAABfgAAAAAAfgAAAAAAcAAAAAACcAAAAAACdQAAAAAAcAAAAAAAcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAAAdQAAAAAAdQAAAAAAdQAAAAAAcAAAAAACfgAAAAAAdQAAAAACdQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAADdQAAAAABdQAAAAACdQAAAAABcAAAAAAAcAAAAAAAdQAAAAAAdQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAAAXQAAAAABfgAAAAAAfgAAAAAAXQAAAAAAHwAAAAAAHwAAAAACHwAAAAACHwAAAAADHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACXQAAAAABXQAAAAACXQAAAAACXQAAAAADfgAAAAAAXQAAAAABHwAAAAAAHwAAAAACHwAAAAADHwAAAAADHwAAAAADHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAADXQAAAAABXQAAAAAAXQAAAAACXQAAAAACfgAAAAAAXQAAAAACHwAAAAADHwAAAAACHwAAAAADHwAAAAABHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAABXQAAAAADXQAAAAADXQAAAAABXQAAAAACXQAAAAADXQAAAAACHwAAAAABHwAAAAACHwAAAAACHwAAAAADHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAXQAAAAACXQAAAAAAfgAAAAAAXQAAAAABJAAAAAABJAAAAAACJAAAAAABJAAAAAAAJAAAAAACJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAACJAAAAAACJAAAAAAAJAAAAAADJAAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABfgAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAABdQAAAAADdQAAAAAAdQAAAAAAcAAAAAAAfgAAAAAAdQAAAAABdQAAAAACfgAAAAAAcAAAAAACcAAAAAACcAAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAcAAAAAABcAAAAAABdQAAAAACcAAAAAAAcAAAAAADcAAAAAABdQAAAAABdQAAAAADfgAAAAAAcAAAAAACdQAAAAAAdQAAAAACdQAAAAABcAAAAAADfgAAAAAAfgAAAAAAcAAAAAABcAAAAAAAdQAAAAABcAAAAAACcAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAACdQAAAAACdQAAAAABdQAAAAADcAAAAAACfgAAAAAAfgAAAAAAcAAAAAADdQAAAAAAdQAAAAABdQAAAAAAcAAAAAAAcAAAAAABdQAAAAAAcAAAAAADcAAAAAACcAAAAAABaAAAAAABaAAAAAADaAAAAAABcAAAAAABfgAAAAAAfgAAAAAAcAAAAAAAcAAAAAABdQAAAAACcAAAAAAAcAAAAAAAcAAAAAADdQAAAAADcAAAAAAAcAAAAAADcAAAAAABaAAAAAADaAAAAAAAaAAAAAACcAAAAAAAfgAAAAAAfgAAAAAAcAAAAAACcAAAAAACdQAAAAACcAAAAAACcAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAABdQAAAAABdQAAAAABdQAAAAABcAAAAAADfgAAAAAAdQAAAAACdQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAcAAAAAABdQAAAAABdQAAAAADdQAAAAAAcAAAAAADcAAAAAACdQAAAAAAdQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
           version: 6
         4,0:
           ind: 4,0
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAACXQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAXQAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABXQAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABXQAAAAACfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAAAXQAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXQAAAAABXQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         4,-1:
           ind: 4,-1
-          tiles: XQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAATgAAAAACXQAAAAAAfgAAAAAAaAAAAAADaAAAAAAAaAAAAAACaAAAAAACaAAAAAADfgAAAAAAXQAAAAAAbQAAAAAAXQAAAAACXQAAAAADXQAAAAADfgAAAAAAfgAAAAAATgAAAAACXQAAAAABfgAAAAAAaAAAAAADaAAAAAABaAAAAAAAaAAAAAADaAAAAAABfgAAAAAAXQAAAAAAbQAAAAAAXQAAAAACXQAAAAACXQAAAAADfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAABaAAAAAACaAAAAAADaAAAAAAAaAAAAAACaAAAAAABfgAAAAAAbAAAAAAAbAAAAAAAXQAAAAAAXQAAAAABXQAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABfgAAAAAAaAAAAAABaAAAAAABaAAAAAAAaAAAAAADaAAAAAADfgAAAAAAbAAAAAAAbAAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACXQAAAAAAXQAAAAACXQAAAAAAaAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: XQAAAAACXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAATgAAAAADXQAAAAADfgAAAAAAaAAAAAABaAAAAAADaAAAAAADaAAAAAACaAAAAAACfgAAAAAAXQAAAAADbQAAAAAAXQAAAAACXQAAAAACXQAAAAABfgAAAAAAfgAAAAAATgAAAAADXQAAAAADfgAAAAAAaAAAAAACaAAAAAACaAAAAAADaAAAAAACaAAAAAACfgAAAAAAXQAAAAACbQAAAAAAXQAAAAADXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAXQAAAAACXQAAAAABXQAAAAADaAAAAAACaAAAAAABaAAAAAAAaAAAAAAAaAAAAAABfgAAAAAAbAAAAAAAbAAAAAAAXQAAAAADXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAXQAAAAACXQAAAAAAfgAAAAAAaAAAAAACaAAAAAABaAAAAAAAaAAAAAAAaAAAAAACfgAAAAAAbAAAAAAAbAAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAACXQAAAAABXQAAAAADXQAAAAABaAAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbQAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         4,1:
           ind: 4,1
-          tiles: fgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAggAAAAACfgAAAAAAgQAAAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAggAAAAABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAggAAAAAAfgAAAAAAgQAAAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAggAAAAAAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         4,-2:
           ind: 4,-2
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADJAAAAAABHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABJAAAAAADJAAAAAACJAAAAAADXQAAAAABXQAAAAABXQAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAAAJAAAAAACHwAAAAABXQAAAAACXQAAAAABXQAAAAADfgAAAAAAXQAAAAADXQAAAAABXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAHwAAAAADHwAAAAADHwAAAAAAHwAAAAADXQAAAAADXQAAAAADXQAAAAACfgAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAegAAAAADegAAAAADegAAAAACXQAAAAABXQAAAAABXQAAAAAAfgAAAAAAaAAAAAADXQAAAAAAegAAAAACegAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAegAAAAABegAAAAAAegAAAAADXQAAAAACXQAAAAABJAAAAAADfgAAAAAAaAAAAAACXQAAAAABegAAAAAAegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAegAAAAACegAAAAADegAAAAACfgAAAAAAXQAAAAABfgAAAAAAfgAAAAAAaAAAAAACXQAAAAADJAAAAAACegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAAAXQAAAAABXQAAAAACegAAAAACegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAACXQAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAAAXQAAAAAAXQAAAAADXQAAAAADXQAAAAACXQAAAAAAXQAAAAABXQAAAAAAXQAAAAAAXQAAAAABbQAAAAAAXQAAAAADXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAAXQAAAAAAXQAAAAABXQAAAAACXQAAAAABXQAAAAADXQAAAAAAXQAAAAACXQAAAAABXQAAAAAAXQAAAAACbQAAAAAAXQAAAAACXQAAAAAAXQAAAAACfgAAAAAAfgAAAAAATgAAAAABXQAAAAABXQAAAAABXQAAAAAAXQAAAAADXQAAAAAAXQAAAAAAXQAAAAABXQAAAAABXQAAAAAAbQAAAAAAXQAAAAADXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAACJAAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAABHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAADJAAAAAABJAAAAAADJAAAAAABXQAAAAABXQAAAAACXQAAAAAAfgAAAAAAXQAAAAACXQAAAAACXQAAAAABXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAJAAAAAACHwAAAAACXQAAAAACXQAAAAAAXQAAAAAAfgAAAAAAXQAAAAAAXQAAAAADXQAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAHwAAAAAAHwAAAAACHwAAAAABHwAAAAABXQAAAAACXQAAAAADXQAAAAABfgAAAAAAfgAAAAAAXQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAegAAAAADegAAAAADegAAAAAAXQAAAAACXQAAAAABXQAAAAACfgAAAAAAaAAAAAADXQAAAAACegAAAAACegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAegAAAAAAegAAAAABegAAAAABXQAAAAABXQAAAAABJAAAAAAAfgAAAAAAaAAAAAABXQAAAAABegAAAAAAegAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAegAAAAADegAAAAABegAAAAAAfgAAAAAAXQAAAAADfgAAAAAAfgAAAAAAaAAAAAADXQAAAAABJAAAAAABegAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAXQAAAAACXQAAAAADXQAAAAAAXQAAAAACXQAAAAACXQAAAAACegAAAAACegAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAADXQAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAATgAAAAAAXQAAAAAAXQAAAAABXQAAAAADXQAAAAACXQAAAAAAXQAAAAABXQAAAAACXQAAAAAAXQAAAAADbQAAAAAAXQAAAAACXQAAAAACXQAAAAACfgAAAAAAfgAAAAAAXQAAAAABXQAAAAACXQAAAAACXQAAAAAAXQAAAAACXQAAAAABXQAAAAABXQAAAAACXQAAAAACXQAAAAADbQAAAAAAXQAAAAACXQAAAAACXQAAAAADfgAAAAAAfgAAAAAATgAAAAAAXQAAAAACXQAAAAADXQAAAAACXQAAAAACXQAAAAAAXQAAAAACXQAAAAADXQAAAAAAXQAAAAABbQAAAAAAXQAAAAAAXQAAAAAAXQAAAAAAfgAAAAAAfgAAAAAA
           version: 6
         5,-1:
           ind: 5,-1
@@ -294,19 +294,19 @@ entities:
           version: 6
         5,-2:
           ind: 5,-2
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAABJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAMAAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAABXQAAAAACXQAAAAACXQAAAAADXQAAAAABXQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAABaAAAAAADXQAAAAACXQAAAAAAaAAAAAADaAAAAAADfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADXQAAAAADXQAAAAAAJAAAAAAAJAAAAAACfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADXQAAAAAAXQAAAAACJAAAAAADJAAAAAABfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAADJAAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAABJAAAAAACfgAAAAAAfgAAAAAAfgAAAAAAMAAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAXQAAAAAAXQAAAAADXQAAAAADXQAAAAADXQAAAAAAXQAAAAACfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAaAAAAAAAaAAAAAABXQAAAAABXQAAAAABaAAAAAABaAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAADXQAAAAADXQAAAAABJAAAAAADJAAAAAAAfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAADXQAAAAACXQAAAAACJAAAAAAAJAAAAAADfgAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAA
           version: 6
         4,-3:
           ind: 4,-3
-          tiles: CwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAABwAAAAACBwAAAAAHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbQAAAAAAggAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAbQAAAAAAgQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
+          tiles: CwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAABwAAAAAEBwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbQAAAAAAggAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAbQAAAAAAgQAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAbQAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAgQAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
           version: 6
         1,-4:
           ind: 1,-4
-          tiles: fgAAAAAAHwAAAAADHwAAAAADHwAAAAAAHwAAAAAAHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAADHwAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAABwAAAAAIBwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAABwAAAAAHBwAAAAAKfgAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfwAAAAAAfgAAAAAACwAAAAAACwAAAAAAfQAAAAAAfQAAAAAAfwAAAAAABwAAAAADBwAAAAAAfgAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAACfgAAAAAAfwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAFBwAAAAAABwAAAAAAfgAAAAAABwAAAAAABwAAAAAKBwAAAAABAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAACHwAAAAACfgAAAAAAHwAAAAAAHwAAAAACfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAJAAAAAABHwAAAAADHwAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAAfgAAAAAACwAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAADHwAAAAAAfgAAAAAAHwAAAAACHwAAAAACfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAKfgAAAAAAfgAAAAAAJAAAAAAAJAAAAAADfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
+          tiles: fgAAAAAAHwAAAAABHwAAAAACHwAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAADHwAAAAAAHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAHBwAAAAADBwAAAAAABwAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAECwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAABwAAAAALBwAAAAAAfgAAAAAABwAAAAAHBwAAAAAAfwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfwAAAAAAfgAAAAAACwAAAAAACwAAAAAAfQAAAAAAfQAAAAAAfwAAAAAABwAAAAAABwAAAAAAfgAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAABwAAAAAABwAAAAAFBwAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAADfgAAAAAAHwAAAAAAHwAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAADJAAAAAABHwAAAAAAHwAAAAADfgAAAAAABwAAAAAABwAAAAAABwAAAAAMBwAAAAAAfwAAAAAAfgAAAAAACwAAAAAAfgAAAAAAfgAAAAAAHwAAAAABHwAAAAAAHwAAAAABfgAAAAAAHwAAAAACHwAAAAADfgAAAAAABwAAAAAABwAAAAAMBwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAABBwAAAAAABwAAAAAABwAAAAAABwAAAAAAfgAAAAAAfgAAAAAAJAAAAAADJAAAAAADfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAAfgAAAAAAfgAAAAAAJAAAAAABJAAAAAABfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAA
           version: 6
         0,-4:
           ind: 0,-4
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAJfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAABwAAAAAABwAAAAAIBwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAABBwAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABfgAAAAAAfgAAAAAAJAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAfgAAAAAAfgAAAAAAJAAAAAAD
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAABHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAABwAAAAAIBwAAAAAIBwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAfgAAAAAABwAAAAAFBwAAAAAABwAAAAAABwAAAAAGfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAGBwAAAAAABwAAAAAFBwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAJAAAAAABfgAAAAAAfgAAAAAAJAAAAAACfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAJAAAAAAAfgAAAAAAfgAAAAAAJAAAAAAC
           version: 6
         -5,-3:
           ind: -5,-3
@@ -314,7 +314,7 @@ entities:
           version: 6
         -3,2:
           ind: -3,2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAADXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAABXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAABXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAXQAAAAABXQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAAAXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAADXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAXQAAAAADXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAQgAAAAAAXQAAAAABXQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAXQAAAAACXQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -1,-4:
           ind: -1,-4
@@ -326,11 +326,11 @@ entities:
           version: 6
         5,-3:
           ind: 5,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAgwAAAAAAgwAAAAAAQAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgwAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAAAAAABQAAAAAABQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAADgwAAAAAAgwAAAAAAQAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgwAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         1,2:
           ind: 1,2
-          tiles: fgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -2,-4:
           ind: -2,-4
@@ -338,23 +338,23 @@ entities:
           version: 6
         2,-4:
           ind: 2,-4
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAAfgAAAAAAfwAAAAAABwAAAAAEBwAAAAAABwAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAIBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAMBwAAAAACBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAEBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAAfgAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAJBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAMBwAAAAAJBwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAAfgAAAAAAfwAAAAAABwAAAAAGBwAAAAABBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAKBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAKBwAAAAACBwAAAAAJBwAAAAAJBwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAGBwAAAAAABwAAAAAABwAAAAAABwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAAfgAAAAAAfwAAAAAABwAAAAAABwAAAAAJBwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAKfwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         3,-4:
           ind: 3,-4
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAKBwAAAAAABwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAEBwAAAAAABwAAAAAABwAAAAADBwAAAAAAfwAAAAAABwAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAEBwAAAAAAfwAAAAAABwAAAAAABwAAAAAGfwAAAAAABwAAAAAACwAAAAAACwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAAfgAAAAAAfwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAFBwAAAAAFBwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAKBwAAAAABBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAKBwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAALBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAFBwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAAfgAAAAAACwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAABBwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAMBwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAACfwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAABCwAAAAAACwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAAfgAAAAAAfwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAJBwAAAAAHBwAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAGBwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAMBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAJBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAfwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAFfwAAAAAAfgAAAAAACwAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAAfQAAAAAACwAAAAAA
           version: 6
         4,-4:
           ind: 4,-4
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAFBwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAADegAAAAACegAAAAADfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAABegAAAAACegAAAAABfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAACegAAAAABegAAAAABfgAAAAAABwAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAAAHwAAAAACHwAAAAADfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAQgAAAAAAQgAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAACegAAAAACegAAAAABfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAABegAAAAADegAAAAABfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAegAAAAAAegAAAAAAegAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAABHwAAAAADfgAAAAAABwAAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAADHwAAAAAAfgAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAQgAAAAAAQgAAAAAAfgAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAABwAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         1,-5:
           ind: 1,-5
-          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAEQAAAAAAfgAAAAAAEQAAAAAAfgAAAAAAEQAAAAAAHwAAAAACfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACEQAAAAAAHwAAAAABEQAAAAAAHwAAAAABEQAAAAAAHwAAAAACfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAHwAAAAADfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAEQAAAAAAEQAAAAAATwAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAABHwAAAAAAEQAAAAAATwAAAAAAEQAAAAAAHwAAAAADHwAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAACHwAAAAADEQAAAAAATwAAAAAAEQAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADHwAAAAAAEQAAAAAATwAAAAAAEQAAAAAAHwAAAAABHwAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAACHwAAAAADHwAAAAAAHwAAAAAAHwAAAAABfgAAAAAAHwAAAAACHwAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAADHwAAAAACHwAAAAACHwAAAAABHwAAAAACHwAAAAAAJAAAAAACHwAAAAAAHwAAAAACfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: fgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADEQAAAAAAfgAAAAAAEQAAAAAAfgAAAAAAEQAAAAAAHwAAAAABfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAEQAAAAAAHwAAAAADEQAAAAAAHwAAAAABEQAAAAAAHwAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADEQAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAEQAAAAAAHwAAAAABfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAEQAAAAAAEQAAAAAATwAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADHwAAAAADEQAAAAAATwAAAAAAEQAAAAAAHwAAAAABHwAAAAADfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAHwAAAAABEQAAAAAATwAAAAAAEQAAAAAAHwAAAAACHwAAAAACfgAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAADHwAAAAADEQAAAAAATwAAAAAAEQAAAAAAHwAAAAACHwAAAAADfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAbAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAHwAAAAADHwAAAAABHwAAAAABHwAAAAACHwAAAAACfgAAAAAAHwAAAAAAHwAAAAACfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAAAAAHwAAAAAAHwAAAAACHwAAAAABHwAAAAABHwAAAAAAJAAAAAADHwAAAAAAHwAAAAACfgAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         0,-5:
           ind: 0,-5
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAAAHwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAAB
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfQAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAfgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfgAAAAAAfQAAAAAAfgAAAAAAHwAAAAADHwAAAAAD
           version: 6
     - type: Broadphase
     - type: Physics
@@ -871,8 +871,6 @@ entities:
             6934: 65,19
             6935: 65,21
             6947: 26,19
-            6973: -29,-5
-            6974: -36,-5
             7013: 39,17
             7014: 38,17
             7015: -1,-17
@@ -901,6 +899,11 @@ entities:
             7410: 23,-53
             7417: -55,-46
             7418: -41,-46
+            7421: -7,-40
+            7451: -30,-5
+            7510: -35,-5
+            7536: -37,36
+            7537: -37,37
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -1402,9 +1405,6 @@ entities:
             6270: 92,-20
             6525: 33,-2
             6526: 34,-2
-            6985: -32,-3
-            6986: -31,-3
-            6987: -33,-3
             7403: 8,-48
         - node:
             color: '#FFFFFFFF'
@@ -1500,13 +1500,11 @@ entities:
             6956: -29,-1
             6971: -35,-1
             6972: -30,-1
-            6988: -34,-5
-            6989: -32,-5
-            6990: -33,-5
-            6991: -31,-5
             7406: 8,-49
             7419: -4,-12
             7420: -5,-12
+            7424: -5,-42
+            7425: -4,-42
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -5505,9 +5503,6 @@ entities:
             6905: 58,-24
             6936: 78,-7
             6944: 52,-23
-            7010: -34,-5
-            7011: -32,-3
-            7012: -34,-2
             7155: 17,-69
             7156: 16,-68
             7157: 17,-68
@@ -5573,6 +5568,8 @@ entities:
             7370: 64,-36
             7371: 64,-37
             7372: 61,-37
+            7426: -4,-40
+            7438: -4,-42
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -6472,21 +6469,11 @@ entities:
             6975: -36,3
             6976: -33,3
             6977: -35,-1
-            6978: -36,-5
-            6979: -29,-5
             6980: -34,3
             6981: -34,2
             6982: -34,1
             6983: -30,1
             6984: -38,2
-            6992: -33,-4
-            6993: -34,-4
-            6994: -32,-3
-            6995: -31,-3
-            6996: -34,-3
-            6997: -34,-2
-            6998: -31,-5
-            6999: -32,-5
             7199: 15,-64
             7200: 18,-65
             7201: 18,-64
@@ -6545,6 +6532,24 @@ entities:
             7378: 63,-36
             7379: 62,-36
             7380: 63,-35
+            7427: -5,-41
+            7447: -6,-40
+            7448: -7,-40
+            7449: -7,-40
+            7470: -32,-5
+            7471: -34,-5
+            7472: -35,-2
+            7473: -33,-3
+            7474: -34,-3
+            7475: -32,-2
+            7476: -31,-3
+            7477: -30,-3
+            7478: -29,-4
+            7479: -28,-2
+            7480: -26,-3
+            7511: -35,-5
+            7512: -35,-5
+            7513: -30,-5
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -6603,12 +6608,6 @@ entities:
             6915: 58,-23
             6916: 57,-24
             6946: 54,-23
-            7000: -33,-5
-            7001: -34,-3
-            7002: -32,-3
-            7003: -33,-4
-            7004: -32,-4
-            7005: -34,-5
             7228: 16,-69
             7229: 17,-69
             7230: 17,-70
@@ -6641,6 +6640,36 @@ entities:
             7382: 63,-37
             7383: 62,-36
             7384: 64,-37
+            7432: -5,-42
+            7433: -5,-42
+            7434: -5,-42
+            7435: -4,-42
+            7481: -33,-2
+            7482: -32,-4
+            7483: -34,-2
+            7484: -31,-2
+            7485: -31,-5
+            7486: -33,-5
+            7487: -30,-3
+            7488: -30,-4
+            7489: -30,-2
+            7490: -35,-2
+            7491: -35,-3
+            7492: -32,-3
+            7493: -26,-4
+            7494: -26,-2
+            7495: -27,-3
+            7496: -28,-2
+            7497: -27,-5
+            7498: -29,-5
+            7499: -36,-5
+            7514: -35,-4
+            7515: -33,-3
+            7516: -29,-2
+            7517: -29,-2
+            7518: -26,-2
+            7519: -28,-2
+            7520: -27,-3
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -6700,10 +6729,6 @@ entities:
             6880: -12,-39
             6917: 52,-21
             6918: 57,-22
-            7006: -31,-5
-            7007: -33,-3
-            7008: -34,-3
-            7009: -34,-4
             7246: 19,-64
             7247: 17,-65
             7248: 17,-70
@@ -6724,6 +6749,22 @@ entities:
             7297: 45,-29
             7385: 61,-37
             7386: 64,-36
+            7436: -5,-42
+            7445: -4,-41
+            7446: -4,-41
+            7500: -34,-4
+            7501: -32,-2
+            7502: -32,-5
+            7503: -34,-5
+            7504: -35,-2
+            7505: -30,-2
+            7506: -36,-5
+            7507: -29,-5
+            7521: -32,-3
+            7522: -33,-4
+            7523: -38,-3
+            7524: -27,-3
+            7525: -27,-4
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -7130,6 +7171,8 @@ entities:
             2064: -56,-66
             6899: 58,-24
             6900: 58,-23
+            7530: -36,36
+            7531: -36,37
         - node:
             color: '#FFFFFFFF'
             id: LoadingArea
@@ -7150,6 +7193,7 @@ entities:
             7320: 37,-29
             7321: 37,-31
             7411: 23,-54
+            7423: -6,-40
         - node:
             angle: 3.141592653589793 rad
             color: '#FFFFFFFF'
@@ -9130,6 +9174,12 @@ entities:
             7301: 39,-30
             7302: 39,-29
             7303: 39,-28
+            7458: -35,-4
+            7459: -35,-3
+            7460: -35,-2
+            7461: -30,-4
+            7462: -30,-3
+            7463: -30,-2
         - node:
             color: '#FFFFFFFF'
             id: WoodTrimThinLineN
@@ -9220,6 +9270,12 @@ entities:
             1123: -12,31
             5811: -35,3
             5870: 36,-24
+            7452: -34,-5
+            7453: -33,-5
+            7454: -32,-5
+            7455: -31,-5
+            7456: -36,-5
+            7457: -29,-5
         - node:
             color: '#FFFFFFFF'
             id: WoodTrimThinLineS
@@ -9363,6 +9419,12 @@ entities:
             7305: 43,-30
             7306: 43,-29
             7307: 43,-28
+            7464: -35,-4
+            7465: -35,-3
+            7466: -35,-2
+            7467: -30,-4
+            7468: -30,-3
+            7469: -30,-2
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -9583,7 +9645,7 @@ entities:
             1: 4352
           0,1:
             0: 2451
-            1: 61452
+            1: 57356
           -1,1:
             0: 552
             1: 61447
@@ -9599,7 +9661,7 @@ entities:
             1: 61695
           1,0:
             0: 23
-            1: 39304
+            1: 39296
           1,1:
             1: 63625
           1,2:
@@ -9642,7 +9704,7 @@ entities:
           4,3:
             1: 48058
           -4,0:
-            1: 32767
+            1: 30583
           -4,-1:
             1: 29303
           -5,0:
@@ -9662,7 +9724,7 @@ entities:
           -4,4:
             1: 62127
           -3,0:
-            1: 819
+            1: 273
             0: 17612
           -3,1:
             1: 21841
@@ -9678,7 +9740,7 @@ entities:
             1: 273
           -2,0:
             0: 53533
-            1: 8738
+            1: 8736
           -2,1:
             0: 4113
             1: 57890
@@ -9698,18 +9760,18 @@ entities:
           0,-4:
             1: 30583
           0,-5:
-            1: 30519
+            1: 30471
           -1,-4:
             1: 57341
           0,-3:
-            1: 119
+            1: 7
             0: 16128
           -1,-3:
-            1: 205
+            1: 13
             0: 36608
           0,-2:
             0: 39183
-            1: 240
+            1: 224
           -1,-2:
             0: 8719
             1: 240
@@ -9743,7 +9805,6 @@ entities:
           4,-3:
             1: 65535
           4,-2:
-            1: 1295
             0: 240
             2: 4096
             3: 16384
@@ -9787,11 +9848,11 @@ entities:
           -2,-5:
             1: 65535
           -1,-5:
-            1: 56733
+            1: 56605
           -4,-8:
             1: 24575
           -5,-8:
-            1: 53247
+            1: 36863
           -4,-7:
             1: 30583
           -5,-7:
@@ -9803,27 +9864,27 @@ entities:
           -3,-7:
             1: 5589
           -3,-6:
-            1: 56797
+            1: 7645
           -2,-8:
             1: 28671
           -2,-7:
             1: 12287
           -2,-6:
-            1: 45055
+            1: 12287
           -2,-9:
-            1: 56799
+            1: 7647
           -1,-8:
-            1: 36863
+            1: 4095
           -1,-6:
-            1: 57343
-          -1,-9:
-            1: 37343
+            1: 53247
           -1,-7:
-            1: 52974
+            1: 20206
+          -1,-9:
+            1: 33247
           0,-8:
-            1: 8191
+            1: 4095
           0,-7:
-            1: 7677
+            1: 3581
           0,-6:
             1: 32631
           0,-9:
@@ -9847,7 +9908,7 @@ entities:
           2,-9:
             1: 65295
           3,-8:
-            1: 65535
+            1: 65295
           3,-7:
             1: 65535
           3,-6:
@@ -9855,19 +9916,19 @@ entities:
           3,-9:
             1: 65295
           4,-8:
-            1: 48031
+            1: 48015
           4,-7:
             1: 48059
           4,-5:
             1: 65520
           4,-9:
-            1: 65450
+            1: 65322
           4,-6:
             1: 61152
           5,-8:
             1: 48059
           5,-7:
-            1: 65531
+            1: 65523
           5,-6:
             1: 49083
           5,-5:
@@ -9879,9 +9940,9 @@ entities:
           6,-8:
             1: 65535
           6,-7:
-            1: 65535
+            1: 65520
           6,-5:
-            1: 62392
+            1: 46008
           6,-9:
             1: 65287
           6,-6:
@@ -9889,18 +9950,18 @@ entities:
           6,-4:
             1: 65343
           7,-8:
-            1: 49147
+            1: 49083
           7,-7:
-            1: 47931
+            1: 47928
           7,-6:
             1: 64315
           7,-5:
-            1: 28927
+            1: 12543
             0: 32768
           7,-9:
             1: 48011
           7,-4:
-            1: 30471
+            1: 13063
             0: 34952
           8,-8:
             1: 49075
@@ -9914,7 +9975,6 @@ entities:
           5,-3:
             1: 65535
           5,-2:
-            1: 1295
             0: 240
             4: 20480
           5,-1:
@@ -9923,7 +9983,6 @@ entities:
           6,-3:
             1: 65535
           6,-2:
-            1: 1295
             0: 240
             5: 4096
             4: 16384
@@ -9932,7 +9991,7 @@ entities:
             1: 28672
             4: 68
           7,-3:
-            1: 4727
+            1: 51
             0: 59528
           7,-2:
             0: 254
@@ -9943,10 +10002,10 @@ entities:
             1: 65309
           8,-4:
             0: 31
-            1: 65280
+            1: 60928
           8,-3:
-            1: 49407
             0: 4352
+            1: 49390
           8,-2:
             0: 17
             1: 29900
@@ -9973,9 +10032,9 @@ entities:
           -8,-4:
             1: 65535
           -7,-8:
-            1: 65535
+            1: 64989
           -7,-7:
-            1: 65535
+            1: 56799
           -7,-6:
             1: 56572
           -7,-5:
@@ -9995,7 +10054,7 @@ entities:
           -6,-9:
             1: 8191
           -6,-4:
-            1: 65535
+            1: 56797
           -5,-6:
             1: 28774
           -5,-5:
@@ -10009,17 +10068,13 @@ entities:
           -9,-3:
             1: 56796
           -8,-2:
-            1: 33008
-            6: 12288
+            1: 61680
           -9,-2:
-            1: 4336
-            6: 49152
+            1: 61680
           -8,-1:
-            6: 819
-            1: 63692
+            1: 65535
           -9,-1:
-            6: 1228
-            1: 61747
+            1: 65535
           -8,0:
             1: 65535
           -7,-3:
@@ -10053,7 +10108,7 @@ entities:
           5,3:
             1: 65535
           5,4:
-            1: 64435
+            1: 48051
           6,0:
             1: 65392
           6,1:
@@ -10061,9 +10116,9 @@ entities:
           6,2:
             1: 61263
           6,3:
-            1: 65534
+            1: 61438
           6,4:
-            1: 65532
+            1: 65524
           7,1:
             1: 64783
           7,2:
@@ -10073,13 +10128,13 @@ entities:
           7,4:
             1: 65532
           8,0:
-            1: 65399
+            1: 65303
           8,1:
             1: 30479
           8,2:
             1: 2039
           8,3:
-            1: 65534
+            1: 61182
           8,-9:
             1: 49151
           9,-8:
@@ -10099,7 +10154,7 @@ entities:
           10,-7:
             1: 65295
           10,-6:
-            1: 65535
+            1: 65423
           10,-5:
             1: 61183
           10,-9:
@@ -10109,7 +10164,7 @@ entities:
           11,-7:
             1: 48010
           11,-6:
-            1: 64411
+            1: 64395
           11,-5:
             1: 57599
           11,-9:
@@ -10133,9 +10188,9 @@ entities:
           9,-1:
             1: 65535
           9,0:
-            1: 65399
+            1: 65287
           10,-1:
-            1: 65535
+            1: 61167
           10,-3:
             1: 61166
           10,-2:
@@ -10145,9 +10200,9 @@ entities:
           11,-3:
             1: 1764
           11,-2:
-            1: 57582
+            1: 24806
           11,-1:
-            1: 60942
+            1: 58894
           12,-4:
             1: 65520
           12,-3:
@@ -10165,7 +10220,7 @@ entities:
           -8,2:
             1: 61680
           -9,2:
-            1: 57584
+            1: 57520
           -8,3:
             1: 65535
           -9,3:
@@ -10177,23 +10232,23 @@ entities:
           -7,2:
             1: 65278
           -7,3:
-            1: 61439
+            1: 61438
           -7,4:
             1: 65262
           -6,1:
             1: 65535
           -6,2:
-            1: 65279
+            1: 64767
           -6,3:
-            1: 61439
+            1: 61438
           -5,4:
             1: 62392
           4,-12:
-            1: 64767
+            1: 64765
           4,-13:
-            1: 64780
+            1: 56588
           3,-12:
-            1: 30719
+            1: 29695
           4,-11:
             1: 64735
           3,-11:
@@ -10213,17 +10268,16 @@ entities:
             0: 8704
             1: 13
           6,-12:
-            1: 65534
+            1: 65520
           6,-11:
             1: 4095
           6,-10:
             1: 63344
           6,-13:
             0: 57344
-            1: 3584
             4: 200
           7,-12:
-            1: 13105
+            1: 13104
           7,-11:
             1: 13107
           7,-10:
@@ -10231,11 +10285,11 @@ entities:
           7,-13:
             0: 4096
             4: 16
-            1: 264
+            1: 8
           8,-11:
             0: 48896
           8,-10:
-            1: 65535
+            1: 65520
           0,-12:
             0: 32627
           0,-13:
@@ -10244,15 +10298,16 @@ entities:
             0: 65520
           0,-11:
             0: 35059
-            1: 29440
+            1: 13056
           -1,-11:
             0: 17600
-            1: 37120
+            6: 4352
           0,-10:
-            1: 65335
+            1: 65331
             0: 8
           -1,-10:
-            1: 56345
+            1: 56320
+            6: 17
             0: 4
           1,-12:
             0: 4369
@@ -10265,7 +10320,7 @@ entities:
           1,-10:
             1: 26214
           2,-12:
-            1: 47291
+            1: 45243
           2,-11:
             1: 61872
           2,-10:
@@ -10276,7 +10331,7 @@ entities:
             1: 65280
             4: 4
           4,5:
-            1: 14591
+            1: 12543
             0: 32768
           3,5:
             1: 62719
@@ -10293,31 +10348,31 @@ entities:
             0: 2
             1: 4352
           5,5:
-            1: 35775
+            1: 35003
             0: 12288
           5,6:
             0: 34947
           6,5:
             1: 65535
           6,6:
-            1: 20468
+            1: 18020
           7,5:
             1: 65535
           7,6:
-            1: 6001
+            1: 4913
             0: 34944
           8,4:
-            1: 65504
+            1: 61408
           8,5:
-            1: 61183
+            1: 3839
           -1,4:
             1: 61680
           0,5:
             1: 61695
           -1,5:
-            1: 65535
+            1: 63231
           0,6:
-            1: 60671
+            1: 60655
           -1,6:
             1: 63231
           0,7:
@@ -10329,8 +10384,7 @@ entities:
           1,5:
             1: 47359
           1,6:
-            1: 15289
-            7: 2
+            1: 15291
           1,7:
             1: 65307
           1,8:
@@ -10344,13 +10398,13 @@ entities:
           2,8:
             1: 47786
           3,8:
-            1: 65102
+            1: 65038
           -4,5:
-            1: 30719
+            1: 28927
           -5,5:
             1: 28927
           -4,6:
-            1: 65383
+            1: 65351
           -4,7:
             1: 59647
           -5,7:
@@ -10358,24 +10412,23 @@ entities:
           -4,8:
             1: 3823
           -3,5:
-            1: 30719
+            1: 28927
           -3,6:
-            1: 65383
+            1: 65351
           -3,7:
-            1: 55807
+            1: 53503
           -3,8:
-            1: 3533
-            8: 16
+            1: 3549
           -2,5:
-            1: 30719
+            1: 28927
           -2,6:
-            1: 63335
+            1: 63303
           -2,7:
-            1: 63487
+            1: 62463
           -2,8:
             1: 4095
           -1,8:
-            1: 20223
+            1: 20206
           -9,4:
             1: 61678
           -8,5:
@@ -10385,14 +10438,14 @@ entities:
           -9,6:
             1: 30711
           -8,7:
-            1: 51441
+            1: 35057
             0: 12288
           -8,8:
             0: 3
-            1: 56588
+            1: 56584
           -9,7:
             0: 61440
-            1: 887
+            1: 119
           -7,5:
             1: 61678
           -7,6:
@@ -10406,9 +10459,9 @@ entities:
           -6,5:
             1: 61695
           -6,6:
-            1: 48034
+            1: 43938
           -6,7:
-            1: 58027
+            1: 58026
           -6,8:
             1: 26191
           -5,6:
@@ -10417,9 +10470,9 @@ entities:
             1: 61661
           -4,-11:
             0: 224
-            1: 26112
+            1: 24576
           -5,-11:
-            1: 36663
+            1: 36659
             0: 8
           -4,-10:
             1: 61166
@@ -10429,7 +10482,7 @@ entities:
             1: 3808
           -3,-11:
             0: 62
-            1: 29504
+            1: 28736
           -3,-10:
             1: 62327
           -3,-9:
@@ -10441,28 +10494,30 @@ entities:
           -2,-12:
             0: 61155
           -2,-11:
-            1: 65504
+            1: 13056
+            6: 34816
           -2,-10:
-            1: 53759
+            1: 53553
+            6: 142
           -2,-13:
             0: 61155
           9,-11:
             0: 3840
           9,-10:
-            1: 65535
+            1: 65520
           10,-11:
             0: 3840
           10,-10:
-            1: 65535
+            1: 65520
           11,-11:
             0: 44800
           11,-10:
-            1: 65535
+            1: 65520
           12,-11:
             0: 4352
             1: 34816
           12,-10:
-            1: 45977
+            1: 45976
           12,-9:
             1: 48063
           13,-8:
@@ -10470,7 +10525,7 @@ entities:
           13,-7:
             1: 2456
           13,-6:
-            1: 63351
+            1: 62071
           13,-5:
             1: 61695
           13,-9:
@@ -10488,7 +10543,7 @@ entities:
           14,-9:
             1: 30583
           14,-4:
-            1: 61166
+            1: 61164
           15,-8:
             1: 62702
           15,-7:
@@ -10498,7 +10553,7 @@ entities:
           15,-5:
             1: 49087
           15,-4:
-            1: 65465
+            1: 64441
           15,-9:
             1: 57582
           16,-8:
@@ -10506,7 +10561,7 @@ entities:
           16,-7:
             1: 30576
           16,-6:
-            1: 62327
+            1: 62071
           16,-5:
             1: 65523
           12,-12:
@@ -10529,12 +10584,12 @@ entities:
             1: 57486
           16,-10:
             0: 1
-            1: 28688
+            1: 12304
           16,-9:
-            1: 57971
+            1: 57907
             0: 136
           -8,-12:
-            1: 65376
+            1: 65280
           -9,-12:
             1: 47872
             0: 4
@@ -10545,7 +10600,7 @@ entities:
           -8,-10:
             1: 48063
           -9,-10:
-            1: 36317
+            1: 35293
           -9,-9:
             1: 65323
           -7,-11:
@@ -10556,18 +10611,18 @@ entities:
             0: 3809
           -7,-13:
             0: 12288
-          -6,-12:
-            1: 57975
-            0: 136
           -6,-11:
-            1: 1807
+            1: 1295
           -6,-10:
             1: 65535
+          -6,-12:
+            1: 57890
+            0: 136
           -6,-13:
             1: 8192
             0: 32768
           -5,-12:
-            1: 29303
+            1: 12834
             0: 34952
           -5,-13:
             1: 8192
@@ -10575,7 +10630,7 @@ entities:
           -12,-4:
             1: 7677
           -12,-5:
-            1: 56799
+            1: 56591
           -13,-4:
             1: 61166
           -12,-3:
@@ -10583,9 +10638,9 @@ entities:
           -13,-3:
             1: 57584
           -12,-2:
-            1: 65535
+            1: 61695
           -13,-2:
-            1: 61166
+            1: 57582
           -12,-1:
             1: 65535
           -13,-1:
@@ -10599,7 +10654,7 @@ entities:
           -11,-1:
             1: 14199
           -11,-5:
-            1: 21845
+            1: 21829
           -11,-2:
             1: 25826
           -11,0:
@@ -10623,14 +10678,14 @@ entities:
           -13,1:
             1: 61439
           -12,2:
-            1: 65535
+            1: 65521
           -13,2:
-            1: 61166
+            1: 61152
           -12,3:
-            1: 2047
+            1: 255
             0: 28672
           -13,3:
-            1: 3310
+            1: 238
             0: 61440
           -11,1:
             1: 26487
@@ -10651,22 +10706,19 @@ entities:
             1: 35071
             0: 12288
           -12,5:
-            1: 16384
             4: 32768
             0: 8
           -12,4:
             0: 32768
           -11,5:
             0: 35019
-            1: 16400
             4: 12544
           -11,6:
             4: 1
-            1: 34832
             0: 8840
+            1: 2048
           -11,7:
             0: 42530
-            1: 136
           -11,8:
             0: 14
           -10,5:
@@ -10676,35 +10728,35 @@ entities:
             0: 257
             1: 51884
           -10,7:
-            1: 1791
+            1: 255
             0: 61440
           -10,8:
-            0: 34959
+            0: 51343
           -9,5:
             1: 30576
           -9,8:
-            0: 15
+            0: 4383
             1: 52224
           -12,-8:
-            1: 65535
+            1: 65487
           -12,-9:
             1: 29619
           -13,-8:
-            1: 65535
+            1: 65407
           -12,-7:
-            1: 65535
+            1: 64767
           -13,-7:
-            1: 65535
+            1: 63487
           -12,-6:
             1: 65535
           -13,-6:
             1: 65535
           -13,-5:
-            1: 65519
+            1: 61135
           -11,-8:
-            1: 65535
+            1: 64443
           -11,-7:
-            1: 65535
+            1: 48063
           -11,-6:
             1: 21969
           -11,-9:
@@ -10718,31 +10770,30 @@ entities:
           -10,-9:
             1: 65295
           -12,-12:
-            1: 49151
+            1: 16383
           -12,-13:
-            1: 65280
+            1: 61440
           -13,-12:
-            1: 49151
+            1: 36863
           -12,-11:
-            1: 29619
+            1: 13107
             0: 8
             4: 32768
           -13,-11:
-            1: 51384
+            1: 35000
             0: 13059
           -12,-10:
-            1: 62263
+            1: 62259
             4: 8
           -13,-10:
-            1: 63628
+            1: 63624
             0: 51
           -13,-9:
             1: 51641
           -11,-12:
-            1: 65535
+            1: 4095
           -11,-11:
             0: 15
-            1: 240
             4: 36864
           -11,-10:
             1: 61440
@@ -10758,29 +10809,28 @@ entities:
             1: 34828
           -9,-13:
             0: 57354
-          -15,0:
-            1: 49152
-            0: 2184
           -15,1:
-            1: 3276
+            1: 3084
           -15,2:
             0: 12
-          -15,-1:
-            1: 52428
-          -14,0:
-            1: 61439
+          -15,0:
+            0: 2184
           -14,1:
             1: 61423
           -15,3:
             0: 128
           -14,3:
             0: 241
+          -14,0:
+            1: 61166
           -14,2:
             1: 3812
           -14,-1:
             1: 61423
           -15,-2:
             0: 3072
+          -15,-1:
+            1: 3084
           -14,-4:
             1: 61166
           -14,-3:
@@ -10792,15 +10842,15 @@ entities:
           -16,-8:
             1: 53759
           -16,-9:
-            1: 28808
+            1: 28672
             0: 119
           -17,-8:
-            1: 1919
+            1: 127
             0: 28672
           -16,-7:
             1: 56797
           -17,-7:
-            1: 65399
+            1: 65392
           -16,-6:
             1: 51697
           -16,-5:
@@ -10824,12 +10874,12 @@ entities:
           -14,-7:
             1: 65399
           -14,-6:
-            1: 61287
+            1: 61191
           -14,-9:
-            1: 20379
+            1: 19867
           -17,-9:
             0: 255
-            1: 30464
+            1: 28672
           -16,-10:
             0: 17486
           -15,-10:
@@ -10840,17 +10890,17 @@ entities:
           -15,-13:
             0: 17476
           -14,-12:
-            1: 61439
+            1: 4095
           -14,-10:
             0: 143
-            1: 47104
+            1: 45056
           -14,-13:
             1: 30583
           -14,-11:
             0: 34830
             1: 224
           -13,-13:
-            1: 65024
+            1: 61440
           9,1:
             1: 21791
           9,2:
@@ -10860,17 +10910,17 @@ entities:
           10,1:
             1: 64767
           10,2:
-            1: 60655
+            1: 58607
           10,3:
             1: 63726
           10,4:
-            1: 11818
+            1: 3626
           11,0:
             1: 30576
           11,1:
             1: 61815
           11,2:
-            1: 63487
+            1: 62975
           11,3:
             1: 65535
           11,4:
@@ -10884,7 +10934,7 @@ entities:
           12,3:
             1: 61182
           -18,-8:
-            1: 136
+            1: 128
             0: 32768
           -18,-9:
             1: 32768
@@ -10903,11 +10953,11 @@ entities:
           -1,10:
             1: 61166
           0,11:
-            1: 65526
+            1: 65524
           -1,11:
             1: 65530
           0,12:
-            1: 65311
+            1: 65295
           1,9:
             1: 57568
           1,10:
@@ -10921,31 +10971,31 @@ entities:
             1: 12792
             0: 32768
           2,10:
-            1: 887
+            1: 819
             0: 34952
-          3,10:
-            1: 3839
           3,9:
             1: 57582
+          3,10:
+            1: 3822
           4,9:
             1: 4113
           4,10:
             1: 273
           -4,9:
-            1: 65519
+            1: 65455
           -5,9:
-            1: 51215
+            1: 34831
             0: 13056
           -4,10:
-            1: 4095
+            1: 255
             0: 61440
           -5,10:
-            1: 140
+            1: 136
             0: 62243
           -3,9:
             1: 64783
           -3,10:
-            1: 19677
+            1: 19613
             0: 45056
           -3,11:
             1: 17476
@@ -10957,16 +11007,17 @@ entities:
           -2,10:
             1: 61006
           -2,11:
-            1: 61164
+            1: 61156
           -2,12:
             1: 14
             0: 768
           -1,12:
-            1: 65535
+            1: 65391
           -8,9:
-            1: 36351
+            1: 3583
           -9,9:
-            1: 3310
+            1: 3293
+            0: 4352
           -8,10:
             0: 43567
           -9,10:
@@ -10976,7 +11027,7 @@ entities:
           -8,12:
             0: 43754
           -7,9:
-            1: 32759
+            1: 4087
           -7,10:
             0: 65295
           -7,11:
@@ -10984,7 +11035,7 @@ entities:
           -7,12:
             0: 65295
           -6,9:
-            1: 26224
+            1: 18032
           -6,10:
             0: 65391
           -6,11:
@@ -11001,12 +11052,12 @@ entities:
           -2,14:
             1: 8
           -1,13:
-            1: 3823
+            1: 239
             0: 4096
           -1,14:
             1: 15
           0,13:
-            1: 1919
+            1: 127
             0: 32768
           0,14:
             1: 15
@@ -11018,9 +11069,9 @@ entities:
           8,6:
             0: 14
           9,4:
-            1: 57296
+            1: 40912
           9,5:
-            1: 4369
+            1: 273
             0: 3276
           9,6:
             0: 3
@@ -11034,21 +11085,21 @@ entities:
           12,4:
             1: 4064
           12,5:
-            1: 60637
+            1: 52445
             0: 4096
           12,6:
             0: 3857
-            1: 14
+            1: 12
           13,0:
-            1: 65520
+            1: 65504
           13,1:
-            1: 65039
+            1: 65038
           13,2:
-            1: 65295
+            1: 65038
           13,3:
             1: 61198
           13,-1:
-            1: 65311
+            1: 64799
           14,0:
             1: 49080
           14,1:
@@ -11078,9 +11129,6 @@ entities:
           16,2:
             1: 819
             0: 8
-          16,3:
-            1: 4368
-            0: 17476
           13,4:
             1: 40944
           13,5:
@@ -11104,9 +11152,6 @@ entities:
             1: 30578
           15,7:
             0: 3968
-          16,4:
-            1: 57345
-            0: 228
           16,5:
             1: 239
             0: 61440
@@ -11134,7 +11179,7 @@ entities:
           -15,-17:
             1: 65280
           -14,-16:
-            1: 65535
+            1: 30583
           -14,-15:
             1: 29169
           -14,-14:
@@ -11143,7 +11188,7 @@ entities:
             1: 7936
             0: 4
           -11,-16:
-            1: 61166
+            1: 52428
           -11,-15:
             1: 49376
           -11,-14:
@@ -11193,7 +11238,7 @@ entities:
           13,-3:
             1: 3003
           13,-2:
-            1: 61951
+            1: 61949
           14,-3:
             1: 36622
           14,-2:
@@ -11203,7 +11248,7 @@ entities:
           15,-2:
             1: 47931
           16,-4:
-            1: 65459
+            1: 64435
           16,-3:
             1: 56715
           16,-2:
@@ -11212,6 +11257,11 @@ entities:
             1: 11259
           16,0:
             1: 10986
+          16,3:
+            0: 17476
+          16,4:
+            0: 228
+            1: 57344
           17,0:
             1: 2039
           17,1:
@@ -11219,13 +11269,13 @@ entities:
           17,2:
             0: 15
           18,0:
-            1: 13107
+            1: 12336
           18,1:
-            1: 13107
+            1: 12336
           18,2:
             0: 3
           18,-1:
-            1: 13104
+            1: 12336
           17,-4:
             1: 65520
           17,-3:
@@ -11236,34 +11286,34 @@ entities:
             1: 2039
           17,-5:
             1: 65520
-          18,-4:
-            1: 65518
           18,-3:
             1: 30478
           18,-2:
             1: 7943
           18,-5:
             1: 65524
+          18,-4:
+            1: 61166
           19,-4:
-            1: 65523
+            1: 49075
           19,-3:
             1: 8067
           19,-2:
-            1: 4095
+            1: 3581
           19,-5:
-            1: 65520
+            1: 49072
           20,-4:
             1: 13104
             0: 34944
           20,-3:
             1: 4080
           20,-2:
-            1: 26487
+            1: 1911
           17,4:
             0: 16
             1: 4096
           17,5:
-            1: 17
+            1: 16
             0: 4096
           17,-8:
             1: 65280
@@ -11272,10 +11322,10 @@ entities:
           17,-6:
             1: 65535
           17,-9:
-            1: 63368
+            1: 61440
             0: 7
           18,-9:
-            1: 28979
+            1: 28945
           18,-6:
             1: 58980
           18,-8:
@@ -11297,15 +11347,15 @@ entities:
           20,-5:
             1: 13104
             0: 34944
-          21,-4:
-            1: 48058
           21,-3:
             1: 826
             0: 34816
           21,-2:
             0: 4383
+          21,-4:
+            1: 43690
           21,-5:
-            1: 48058
+            1: 43690
           22,-4:
             1: 65535
           22,-3:
@@ -11313,7 +11363,7 @@ entities:
           22,-5:
             1: 65535
           23,-4:
-            1: 13107
+            1: 4369
             0: 34952
           23,-3:
             1: 1
@@ -11323,14 +11373,12 @@ entities:
             0: 51328
           20,-9:
             1: 20479
+          21,-6:
+            1: 61600
           21,-8:
-            1: 4352
             0: 17508
           21,-7:
-            1: 273
             0: 25668
-          21,-6:
-            1: 61600
           22,-6:
             1: 62000
             0: 128
@@ -11346,15 +11394,13 @@ entities:
             1: 4096
           19,-9:
             0: 1792
-          20,-10:
-            1: 20480
           4,-17:
             1: 65039
           4,-16:
-            1: 35054
-            0: 28672
+            1: 37102
+            0: 24576
           3,-16:
-            1: 14
+            1: 12
             0: 33041
           4,-15:
             1: 65433
@@ -11362,7 +11408,7 @@ entities:
           3,-15:
             0: 35064
           4,-14:
-            1: 52424
+            1: 52416
           5,-16:
             1: 8763
           5,-15:
@@ -11372,10 +11418,10 @@ entities:
           5,-17:
             1: 64263
           6,-16:
-            1: 34955
+            1: 34953
             0: 1092
           6,-17:
-            1: 13060
+            1: 4356
             0: 17408
           6,-15:
             1: 140
@@ -11391,7 +11437,7 @@ entities:
           8,-14:
             0: 61440
           0,-15:
-            0: 48930
+            0: 48896
           -1,-15:
             0: 3840
           0,-14:
@@ -11414,9 +11460,10 @@ entities:
             1: 48
           3,-17:
             0: 4352
-            1: 60929
+            1: 52225
           -10,9:
-            0: 34952
+            0: 35908
+            1: 136
           -10,10:
             0: 136
           -3,-15:
@@ -11491,7 +11538,7 @@ entities:
           4,-19:
             1: 64318
           4,-18:
-            1: 65531
+            1: 65523
           5,-20:
             1: 15
             0: 128
@@ -11618,36 +11665,6 @@ entities:
           - 0
           - 0
           - 0
-        - volume: 2500
-          temperature: 293.15
-          moles:
-          - 21.6852
-          - 81.57766
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-        - volume: 2500
-          temperature: 293.15
-          moles:
-          - 21.824873
-          - 82.1031
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
-          - 0
         chunkSize: 4
     - type: GasTileOverlay
     - type: RadiationGridResistance
@@ -11896,6 +11913,15 @@ entities:
     - type: Transform
       pos: -0.019477844,-27.376728
       parent: 2
+- proto: ActionToggleLight
+  entities:
+  - uid: 15419
+    components:
+    - type: Transform
+      parent: 1478
+    - type: InstantAction
+      originalIconColor: '#FFFFFFFF'
+      container: 1478
 - proto: AirAlarm
   entities:
   - uid: 755
@@ -12944,8 +12970,11 @@ entities:
       parent: 2
     - type: DeviceList
       devices:
-      - 20006
       - 20005
+      - 20006
+      - 8680
+      - 8679
+      - 21934
   - uid: 8436
     components:
     - type: Transform
@@ -14068,16 +14097,16 @@ entities:
       - 22450
 - proto: AirAlarmVox
   entities:
-  - uid: 4473
+  - uid: 21945
     components:
     - type: Transform
-      pos: -32.5,-1.5
+      pos: -4.5,-37.5
       parent: 2
     - type: DeviceList
       devices:
-      - 13486
-      - 13491
-      - 2233
+      - 22367
+      - 21959
+      - 21955
 - proto: AirCanister
   entities:
   - uid: 4
@@ -18092,6 +18121,14 @@ entities:
       deviceLists:
       - 17633
       - 8405
+  - uid: 21934
+    components:
+    - type: Transform
+      pos: 28.5,-44.5
+      parent: 2
+    - type: DeviceNetwork
+      deviceLists:
+      - 8434
   - uid: 22144
     components:
     - type: Transform
@@ -18167,15 +18204,14 @@ entities:
       - 2086
 - proto: AirSensorVox
   entities:
-  - uid: 13486
+  - uid: 21955
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -32.5,-2.5
+      pos: -3.5,-39.5
       parent: 2
     - type: DeviceNetwork
       deviceLists:
-      - 4473
+      - 21945
 - proto: AltarHeaven
   entities:
   - uid: 16557
@@ -18684,8 +18720,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 18.5,-71.5
       parent: 2
-    - type: Apc
-      hasAccess: True
   - uid: 22471
     components:
     - type: MetaData
@@ -20160,6 +20194,18 @@ entities:
     - type: Transform
       pos: -22.5,-48.5
       parent: 2
+  - uid: 15194
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -34.5,37.5
+      parent: 2
+  - uid: 20608
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -34.5,36.5
+      parent: 2
   - uid: 21961
     components:
     - type: Transform
@@ -20385,70 +20431,55 @@ entities:
       parent: 2
 - proto: AtmosFixVoxMarker
   entities:
-  - uid: 22452
-    components:
-    - type: Transform
-      pos: -33.5,-3.5
-      parent: 2
-  - uid: 22453
-    components:
-    - type: Transform
-      pos: -33.5,-4.5
-      parent: 2
-  - uid: 22454
-    components:
-    - type: Transform
-      pos: -31.5,-4.5
-      parent: 2
-  - uid: 22455
+  - uid: 22459
     components:
     - type: Transform
-      pos: -32.5,-4.5
+      pos: -6.5,-39.5
       parent: 2
-  - uid: 22456
+  - uid: 22460
     components:
     - type: Transform
-      pos: -32.5,-3.5
+      pos: -5.5,-39.5
       parent: 2
-  - uid: 22457
+  - uid: 22461
     components:
     - type: Transform
-      pos: -31.5,-3.5
+      pos: -4.5,-38.5
       parent: 2
-  - uid: 22458
+  - uid: 22462
     components:
     - type: Transform
-      pos: -30.5,-3.5
+      pos: -3.5,-38.5
       parent: 2
-  - uid: 22459
+  - uid: 22463
     components:
     - type: Transform
-      pos: -30.5,-4.5
+      pos: -4.5,-39.5
       parent: 2
-  - uid: 22460
+  - uid: 22464
     components:
     - type: Transform
-      pos: -30.5,-2.5
+      pos: -3.5,-39.5
       parent: 2
-  - uid: 22461
+  - uid: 22465
     components:
     - type: Transform
-      pos: -30.5,-1.5
+      pos: -4.5,-40.5
       parent: 2
-  - uid: 22462
+  - uid: 22466
     components:
     - type: Transform
-      pos: -31.5,-1.5
+      pos: -3.5,-40.5
       parent: 2
-  - uid: 22463
+  - uid: 22468
     components:
     - type: Transform
-      pos: -31.5,-2.5
+      pos: -4.5,-41.5
       parent: 2
-  - uid: 22464
+  - uid: 22469
     components:
     - type: Transform
-      pos: -32.5,-2.5
+      pos: -3.5,-41.5
       parent: 2
 - proto: Autolathe
   entities:
@@ -20668,6 +20699,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: -37.5,-40.5
       parent: 2
+  - uid: 22505
+    components:
+    - type: Transform
+      pos: -5.5,-41.5
+      parent: 2
 - proto: BarricadeDirectional
   entities:
   - uid: 2140
@@ -21184,6 +21220,36 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -25.5,-3.5
       parent: 2
+  - uid: 1958
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -33.5,-2.5
+      parent: 2
+  - uid: 2233
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -33.5,-1.5
+      parent: 2
+  - uid: 2298
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -30.5,-1.5
+      parent: 2
+  - uid: 2353
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -30.5,-2.5
+      parent: 2
+  - uid: 2355
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -30.5,-3.5
+      parent: 2
   - uid: 3871
     components:
     - type: Transform
@@ -21245,12 +21311,18 @@ entities:
     - type: Transform
       pos: -50.5,-20.5
       parent: 2
+  - uid: 14807
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -33.5,-3.5
+      parent: 2
 - proto: BikeHorn
   entities:
   - uid: 1228
     components:
     - type: Transform
-      pos: -30.485527,6.269905
+      pos: -30.536446,6.243639
       parent: 2
   - uid: 8188
     components:
@@ -21370,6 +21442,16 @@ entities:
     - type: Transform
       pos: 82.5,-18.5
       parent: 2
+  - uid: 11059
+    components:
+    - type: Transform
+      pos: -34.5,37.5
+      parent: 2
+  - uid: 15193
+    components:
+    - type: Transform
+      pos: -34.5,36.5
+      parent: 2
   - uid: 16684
     components:
     - type: Transform
@@ -22029,6 +22111,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 64.5,-51.5
       parent: 2
+  - uid: 11072
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -34.5,35.5
+      parent: 2
   - uid: 19830
     components:
     - type: Transform
@@ -22051,6 +22139,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 78.5,-16.5
       parent: 2
+  - uid: 21184
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -34.5,35.5
+      parent: 2
   - uid: 21606
     components:
     - type: Transform
@@ -22820,6 +22914,26 @@ entities:
     - type: Transform
       pos: 8.5,16.5
       parent: 2
+  - uid: 3110
+    components:
+    - type: Transform
+      pos: -34.5,-3.5
+      parent: 2
+  - uid: 3111
+    components:
+    - type: Transform
+      pos: -29.5,1.5
+      parent: 2
+  - uid: 3112
+    components:
+    - type: Transform
+      pos: -29.5,2.5
+      parent: 2
+  - uid: 3121
+    components:
+    - type: Transform
+      pos: -29.5,-0.5
+      parent: 2
   - uid: 3283
     components:
     - type: Transform
@@ -22885,6 +22999,11 @@ entities:
     - type: Transform
       pos: -19.5,-43.5
       parent: 2
+  - uid: 3913
+    components:
+    - type: Transform
+      pos: -29.5,-1.5
+      parent: 2
   - uid: 4117
     components:
     - type: Transform
@@ -22930,6 +23049,11 @@ entities:
     - type: Transform
       pos: 39.5,-27.5
       parent: 2
+  - uid: 4473
+    components:
+    - type: Transform
+      pos: -29.5,-2.5
+      parent: 2
   - uid: 4559
     components:
     - type: Transform
@@ -22950,6 +23074,16 @@ entities:
     - type: Transform
       pos: 36.5,-29.5
       parent: 2
+  - uid: 4805
+    components:
+    - type: Transform
+      pos: -27.5,0.5
+      parent: 2
+  - uid: 4994
+    components:
+    - type: Transform
+      pos: -26.5,0.5
+      parent: 2
   - uid: 5020
     components:
     - type: Transform
@@ -22960,6 +23094,11 @@ entities:
     - type: Transform
       pos: 54.5,-23.5
       parent: 2
+  - uid: 5104
+    components:
+    - type: Transform
+      pos: -34.5,-1.5
+      parent: 2
   - uid: 5268
     components:
     - type: Transform
@@ -23040,6 +23179,11 @@ entities:
     - type: Transform
       pos: 52.5,-23.5
       parent: 2
+  - uid: 6237
+    components:
+    - type: Transform
+      pos: -29.5,-3.5
+      parent: 2
   - uid: 6471
     components:
     - type: Transform
@@ -23135,6 +23279,16 @@ entities:
     - type: Transform
       pos: -10.5,-39.5
       parent: 2
+  - uid: 8274
+    components:
+    - type: Transform
+      pos: -34.5,-2.5
+      parent: 2
+  - uid: 8365
+    components:
+    - type: Transform
+      pos: -4.5,-41.5
+      parent: 2
   - uid: 8413
     components:
     - type: Transform
@@ -23150,6 +23304,11 @@ entities:
     - type: Transform
       pos: 58.5,-28.5
       parent: 2
+  - uid: 8816
+    components:
+    - type: Transform
+      pos: -4.5,-38.5
+      parent: 2
   - uid: 8993
     components:
     - type: Transform
@@ -24933,32 +25092,32 @@ entities:
   - uid: 11046
     components:
     - type: Transform
-      pos: -28.5,3.5
+      pos: -4.5,-40.5
       parent: 2
   - uid: 11047
     components:
     - type: Transform
-      pos: -27.5,2.5
+      pos: -3.5,-39.5
       parent: 2
   - uid: 11048
     components:
     - type: Transform
-      pos: -27.5,3.5
+      pos: -4.5,-39.5
       parent: 2
   - uid: 11049
     components:
     - type: Transform
-      pos: -27.5,1.5
+      pos: -6.5,-39.5
       parent: 2
   - uid: 11050
     components:
     - type: Transform
-      pos: -27.5,0.5
+      pos: -5.5,-39.5
       parent: 2
   - uid: 11051
     components:
     - type: Transform
-      pos: -27.5,-0.5
+      pos: -25.5,-0.5
       parent: 2
   - uid: 11052
     components:
@@ -24968,22 +25127,17 @@ entities:
   - uid: 11053
     components:
     - type: Transform
-      pos: -27.5,-2.5
+      pos: -34.5,-0.5
       parent: 2
   - uid: 11054
     components:
     - type: Transform
-      pos: -27.5,-3.5
+      pos: -25.5,0.5
       parent: 2
   - uid: 11055
     components:
     - type: Transform
-      pos: -27.5,-4.5
-      parent: 2
-  - uid: 11056
-    components:
-    - type: Transform
-      pos: -28.5,-4.5
+      pos: -25.5,-4.5
       parent: 2
   - uid: 11058
     components:
@@ -25025,36 +25179,11 @@ entities:
     - type: Transform
       pos: -39.5,1.5
       parent: 2
-  - uid: 11067
-    components:
-    - type: Transform
-      pos: -39.5,-0.5
-      parent: 2
   - uid: 11068
     components:
     - type: Transform
       pos: -39.5,0.5
       parent: 2
-  - uid: 11069
-    components:
-    - type: Transform
-      pos: -39.5,-1.5
-      parent: 2
-  - uid: 11070
-    components:
-    - type: Transform
-      pos: -39.5,-2.5
-      parent: 2
-  - uid: 11071
-    components:
-    - type: Transform
-      pos: -39.5,-3.5
-      parent: 2
-  - uid: 11072
-    components:
-    - type: Transform
-      pos: -39.5,-4.5
-      parent: 2
   - uid: 11073
     components:
     - type: Transform
@@ -25115,11 +25244,6 @@ entities:
     - type: Transform
       pos: -29.5,0.5
       parent: 2
-  - uid: 11085
-    components:
-    - type: Transform
-      pos: -28.5,0.5
-      parent: 2
   - uid: 11086
     components:
     - type: Transform
@@ -33535,6 +33659,11 @@ entities:
     - type: Transform
       pos: -31.5,-4.5
       parent: 2
+  - uid: 13182
+    components:
+    - type: Transform
+      pos: -25.5,-3.5
+      parent: 2
   - uid: 13452
     components:
     - type: Transform
@@ -34825,6 +34954,11 @@ entities:
     - type: Transform
       pos: 16.5,16.5
       parent: 2
+  - uid: 14334
+    components:
+    - type: Transform
+      pos: -25.5,-2.5
+      parent: 2
   - uid: 14335
     components:
     - type: Transform
@@ -36628,37 +36762,27 @@ entities:
   - uid: 14805
     components:
     - type: Transform
-      pos: -6.5,-38.5
+      pos: -25.5,-1.5
       parent: 2
   - uid: 14806
     components:
     - type: Transform
-      pos: -4.5,-38.5
-      parent: 2
-  - uid: 14807
-    components:
-    - type: Transform
-      pos: -5.5,-38.5
-      parent: 2
-  - uid: 14808
-    components:
-    - type: Transform
-      pos: -3.5,-38.5
+      pos: -26.5,-4.5
       parent: 2
   - uid: 14809
     components:
     - type: Transform
-      pos: -3.5,-39.5
+      pos: -38.5,-1.5
       parent: 2
   - uid: 14810
     components:
     - type: Transform
-      pos: -3.5,-40.5
+      pos: -38.5,-0.5
       parent: 2
   - uid: 14811
     components:
     - type: Transform
-      pos: -3.5,-41.5
+      pos: -38.5,-3.5
       parent: 2
   - uid: 14812
     components:
@@ -36850,6 +36974,11 @@ entities:
     - type: Transform
       pos: -11.5,-26.5
       parent: 2
+  - uid: 14902
+    components:
+    - type: Transform
+      pos: -38.5,-2.5
+      parent: 2
   - uid: 14962
     components:
     - type: Transform
@@ -36960,6 +37089,16 @@ entities:
     - type: Transform
       pos: -37.5,24.5
       parent: 2
+  - uid: 15085
+    components:
+    - type: Transform
+      pos: -28.5,-4.5
+      parent: 2
+  - uid: 15087
+    components:
+    - type: Transform
+      pos: -28.5,0.5
+      parent: 2
   - uid: 15166
     components:
     - type: Transform
@@ -37075,6 +37214,16 @@ entities:
     - type: Transform
       pos: -21.5,39.5
       parent: 2
+  - uid: 15196
+    components:
+    - type: Transform
+      pos: -33.5,38.5
+      parent: 2
+  - uid: 15305
+    components:
+    - type: Transform
+      pos: -33.5,35.5
+      parent: 2
   - uid: 15415
     components:
     - type: Transform
@@ -37910,6 +38059,11 @@ entities:
     - type: Transform
       pos: -26.5,33.5
       parent: 2
+  - uid: 20103
+    components:
+    - type: Transform
+      pos: -27.5,-4.5
+      parent: 2
   - uid: 20109
     components:
     - type: Transform
@@ -38500,16 +38654,6 @@ entities:
     - type: Transform
       pos: 8.5,-47.5
       parent: 2
-  - uid: 21376
-    components:
-    - type: Transform
-      pos: -33.5,-2.5
-      parent: 2
-  - uid: 21406
-    components:
-    - type: Transform
-      pos: -33.5,-3.5
-      parent: 2
   - uid: 21413
     components:
     - type: Transform
@@ -38530,16 +38674,6 @@ entities:
     - type: Transform
       pos: 45.5,15.5
       parent: 2
-  - uid: 21943
-    components:
-    - type: Transform
-      pos: -33.5,-1.5
-      parent: 2
-  - uid: 21946
-    components:
-    - type: Transform
-      pos: -33.5,-0.5
-      parent: 2
   - uid: 21952
     components:
     - type: Transform
@@ -38947,15 +39081,15 @@ entities:
     - type: Transform
       pos: 65.445175,-26.40616
       parent: 2
-  - uid: 15196
+  - uid: 21331
     components:
     - type: Transform
-      pos: -3.5073886,-40.86422
+      pos: 63.52819,-32.40197
       parent: 2
-  - uid: 21331
+  - uid: 21943
     components:
     - type: Transform
-      pos: 63.52819,-32.40197
+      pos: -6.474467,-40.97722
       parent: 2
 - proto: CableHV
   entities:
@@ -42694,6 +42828,11 @@ entities:
     - type: Transform
       pos: 14.5,-27.5
       parent: 2
+  - uid: 11071
+    components:
+    - type: Transform
+      pos: 1.5,-57.5
+      parent: 2
   - uid: 11782
     components:
     - type: Transform
@@ -43384,11 +43523,6 @@ entities:
     - type: Transform
       pos: -28.5,35.5
       parent: 2
-  - uid: 16013
-    components:
-    - type: Transform
-      pos: 1.5,-58.5
-      parent: 2
   - uid: 16799
     components:
     - type: Transform
@@ -53192,6 +53326,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -38.5,16.5
       parent: 2
+  - uid: 11070
+    components:
+    - type: Transform
+      pos: -3.5,-38.5
+      parent: 2
   - uid: 11116
     components:
     - type: Transform
@@ -55322,11 +55461,6 @@ entities:
     - type: Transform
       pos: 0.5,-54.5
       parent: 2
-  - uid: 15419
-    components:
-    - type: Transform
-      pos: 0.5,-55.5
-      parent: 2
   - uid: 15420
     components:
     - type: Transform
@@ -55572,21 +55706,6 @@ entities:
     - type: Transform
       pos: 1.5,-56.5
       parent: 2
-  - uid: 15470
-    components:
-    - type: Transform
-      pos: 1.5,-57.5
-      parent: 2
-  - uid: 15471
-    components:
-    - type: Transform
-      pos: 1.5,-58.5
-      parent: 2
-  - uid: 15472
-    components:
-    - type: Transform
-      pos: 0.5,-56.5
-      parent: 2
   - uid: 15598
     components:
     - type: Transform
@@ -55977,6 +56096,11 @@ entities:
     - type: Transform
       pos: -9.5,-38.5
       parent: 2
+  - uid: 16950
+    components:
+    - type: Transform
+      pos: -4.5,-38.5
+      parent: 2
   - uid: 17059
     components:
     - type: Transform
@@ -56044,12 +56168,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -13.5,-39.5
       parent: 2
-  - uid: 20292
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -31.5,-1.5
-      parent: 2
   - uid: 20437
     components:
     - type: Transform
@@ -57090,12 +57208,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 5.5,44.5
       parent: 2
-  - uid: 21941
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -30.5,-1.5
-      parent: 2
   - uid: 21987
     components:
     - type: Transform
@@ -58742,22 +58854,15 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -61.5,-19.5
       parent: 2
-  - uid: 12691
-    components:
-    - type: Transform
-      pos: -30.5,-12.5
-      parent: 2
-  - uid: 13183
+  - uid: 11069
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -31.5,-4.5
+      pos: -3.5,-40.5
       parent: 2
-  - uid: 13191
+  - uid: 12691
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -31.5,-3.5
+      pos: -30.5,-12.5
       parent: 2
   - uid: 13862
     components:
@@ -58860,11 +58965,6 @@ entities:
     - type: Transform
       pos: -7.5,-40.5
       parent: 2
-  - uid: 15090
-    components:
-    - type: Transform
-      pos: -6.5,-40.5
-      parent: 2
   - uid: 15150
     components:
     - type: Transform
@@ -59184,6 +59284,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 7.5,-5.5
       parent: 21128
+  - uid: 21376
+    components:
+    - type: Transform
+      pos: -4.5,-40.5
+      parent: 2
   - uid: 21865
     components:
     - type: Transform
@@ -60969,13 +61074,6 @@ entities:
     - type: Transform
       pos: -40.540554,-40.53207
       parent: 2
-- proto: ClothingBeltUtility
-  entities:
-  - uid: 15195
-    components:
-    - type: Transform
-      pos: -3.4917636,-40.39547
-      parent: 2
 - proto: ClothingBeltUtilityFilled
   entities:
   - uid: 881
@@ -60998,6 +61096,11 @@ entities:
     - type: Transform
       pos: -4.4946303,-36.383816
       parent: 2
+  - uid: 21942
+    components:
+    - type: Transform
+      pos: -6.5,-40.5
+      parent: 2
 - proto: ClothingEyesGlassesSunglasses
   entities:
   - uid: 21054
@@ -61209,6 +61312,34 @@ entities:
       parent: 2
 - proto: ClothingHeadHatSantahat
   entities:
+  - uid: 15470
+    components:
+    - type: Transform
+      parent: 5046
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+  - uid: 15471
+    components:
+    - type: Transform
+      parent: 5047
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+  - uid: 15605
+    components:
+    - type: Transform
+      parent: 5050
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+  - uid: 16013
+    components:
+    - type: Transform
+      parent: 5053
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
   - uid: 20413
     components:
     - type: Transform
@@ -61341,6 +61472,11 @@ entities:
     - type: Transform
       pos: 64.5,-34.5
       parent: 2
+  - uid: 22506
+    components:
+    - type: Transform
+      pos: -3.622323,-41.379776
+      parent: 2
 - proto: ClothingMaskGasAtmos
   entities:
   - uid: 900
@@ -61507,6 +61643,36 @@ entities:
     - type: Transform
       pos: 21.504559,-48.362946
       parent: 2
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 15468
+    components:
+    - type: Transform
+      parent: 5046
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+  - uid: 15472
+    components:
+    - type: Transform
+      parent: 5047
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+  - uid: 15629
+    components:
+    - type: Transform
+      parent: 5050
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+  - uid: 16116
+    components:
+    - type: Transform
+      parent: 5053
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
 - proto: ClothingOuterSkub
   entities:
   - uid: 17540
@@ -61813,6 +61979,12 @@ entities:
     - type: Transform
       pos: 36.5,0.5
       parent: 2
+  - uid: 22504
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -4.5,-41.5
+      parent: 2
 - proto: Cobweb2
   entities:
   - uid: 3306
@@ -61825,6 +61997,11 @@ entities:
     - type: Transform
       pos: 58.5,-25.5
       parent: 2
+  - uid: 13175
+    components:
+    - type: Transform
+      pos: -6.5,-38.5
+      parent: 2
   - uid: 13728
     components:
     - type: Transform
@@ -61886,11 +62063,6 @@ entities:
     - type: Transform
       pos: -17.5,23.5
       parent: 2
-  - uid: 14902
-    components:
-    - type: Transform
-      pos: -3.5,-38.5
-      parent: 2
   - uid: 14905
     components:
     - type: Transform
@@ -62324,14 +62496,6 @@ entities:
     - type: Transform
       pos: 2.5,25.5
       parent: 2
-- proto: ComputerFrame
-  entities:
-  - uid: 15087
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -6.5,-41.5
-      parent: 2
 - proto: ComputerId
   entities:
   - uid: 918
@@ -63755,10 +63919,10 @@ entities:
       parent: 2
 - proto: DefaultStationBeaconVox
   entities:
-  - uid: 16173
+  - uid: 21940
     components:
     - type: Transform
-      pos: -31.5,-2.5
+      pos: -4.5,-39.5
       parent: 2
 - proto: DefaultStationBeaconWardensOffice
   entities:
@@ -64575,17 +64739,17 @@ entities:
     - type: Transform
       pos: -23.5,-1.5
       parent: 2
-  - uid: 13186
+  - uid: 13177
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -35.5,0.5
+      pos: -29.5,0.5
       parent: 2
-  - uid: 13192
+  - uid: 13180
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -28.5,0.5
+      pos: -34.5,0.5
       parent: 2
   - uid: 13200
     components:
@@ -64759,12 +64923,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 28.5,-40.5
       parent: 2
-  - uid: 724
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -34.5,0.5
-      parent: 2
   - uid: 725
     components:
     - type: Transform
@@ -64795,12 +64953,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 28.5,-38.5
       parent: 2
-  - uid: 2298
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -29.5,0.5
-      parent: 2
   - uid: 3463
     components:
     - type: Transform
@@ -66026,15 +66178,22 @@ entities:
     - type: Transform
       pos: -23.5,-2.5
       parent: 2
-  - uid: 13174
+  - uid: 13178
     components:
     - type: Transform
-      pos: -35.5,-3.5
+      rot: 1.5707963267948966 rad
+      pos: -28.5,0.5
       parent: 2
-  - uid: 13178
+  - uid: 13181
     components:
     - type: Transform
-      pos: -35.5,-2.5
+      rot: 1.5707963267948966 rad
+      pos: -35.5,0.5
+      parent: 2
+  - uid: 13183
+    components:
+    - type: Transform
+      pos: -34.5,-1.5
       parent: 2
   - uid: 13185
     components:
@@ -66042,6 +66201,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -25.5,0.5
       parent: 2
+  - uid: 13186
+    components:
+    - type: Transform
+      pos: -34.5,-0.5
+      parent: 2
   - uid: 13187
     components:
     - type: Transform
@@ -66066,6 +66230,16 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -27.5,0.5
       parent: 2
+  - uid: 13191
+    components:
+    - type: Transform
+      pos: -34.5,-2.5
+      parent: 2
+  - uid: 13192
+    components:
+    - type: Transform
+      pos: -34.5,-3.5
+      parent: 2
   - uid: 13202
     components:
     - type: Transform
@@ -66225,6 +66399,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -33.5,0.5
       parent: 2
+  - uid: 13240
+    components:
+    - type: Transform
+      pos: -29.5,-2.5
+      parent: 2
   - uid: 13244
     components:
     - type: Transform
@@ -67378,6 +67557,16 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 34.5,-24.5
       parent: 2
+  - uid: 13486
+    components:
+    - type: Transform
+      pos: -29.5,-1.5
+      parent: 2
+  - uid: 13491
+    components:
+    - type: Transform
+      pos: -29.5,-0.5
+      parent: 2
   - uid: 13492
     components:
     - type: Transform
@@ -67713,6 +67902,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 49.5,-20.5
       parent: 2
+  - uid: 13935
+    components:
+    - type: Transform
+      pos: -29.5,-3.5
+      parent: 2
   - uid: 14229
     components:
     - type: Transform
@@ -68813,36 +69007,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 56.5,14.5
       parent: 2
-  - uid: 21929
-    components:
-    - type: Transform
-      pos: -35.5,-1.5
-      parent: 2
-  - uid: 21930
-    components:
-    - type: Transform
-      pos: -35.5,-0.5
-      parent: 2
-  - uid: 21931
-    components:
-    - type: Transform
-      pos: -28.5,-3.5
-      parent: 2
-  - uid: 21932
-    components:
-    - type: Transform
-      pos: -28.5,-2.5
-      parent: 2
-  - uid: 21933
-    components:
-    - type: Transform
-      pos: -28.5,-1.5
-      parent: 2
-  - uid: 21934
-    components:
-    - type: Transform
-      pos: -28.5,-0.5
-      parent: 2
   - uid: 23330
     components:
     - type: Transform
@@ -69179,18 +69343,6 @@ entities:
     - type: Transform
       pos: 21.5,21.5
       parent: 2
-  - uid: 21935
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -28.5,-4.5
-      parent: 2
-  - uid: 21936
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -35.5,-4.5
-      parent: 2
   - uid: 23341
     components:
     - type: Transform
@@ -69408,25 +69560,25 @@ entities:
     - type: Transform
       pos: -28.5,15.5
       parent: 2
-  - uid: 20694
+  - uid: 17379
     components:
     - type: Transform
-      pos: -35.5,-64.5
+      pos: -34.5,-4.5
       parent: 2
-  - uid: 20695
+  - uid: 17525
     components:
     - type: Transform
-      pos: -59.5,-64.5
+      pos: -29.5,-4.5
       parent: 2
-  - uid: 21924
+  - uid: 20694
     components:
     - type: Transform
-      pos: -28.5,-4.5
+      pos: -35.5,-64.5
       parent: 2
-  - uid: 21925
+  - uid: 20695
     components:
     - type: Transform
-      pos: -35.5,-4.5
+      pos: -59.5,-64.5
       parent: 2
 - proto: DisposalYJunction
   entities:
@@ -69740,6 +69892,11 @@ entities:
     - type: Transform
       pos: 18.570478,-17.446852
       parent: 2
+  - uid: 22508
+    components:
+    - type: Transform
+      pos: -4.5759196,-41.379776
+      parent: 2
 - proto: DrinkMugOne
   entities:
   - uid: 979
@@ -69851,6 +70008,12 @@ entities:
       parent: 2
 - proto: EmergencyLight
   entities:
+  - uid: 108
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -37.5,-4.5
+      parent: 2
   - uid: 649
     components:
     - type: Transform
@@ -69916,12 +70079,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 60.5,2.5
       parent: 2
-  - uid: 13180
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -39.5,-2.5
-      parent: 2
   - uid: 14068
     components:
     - type: Transform
@@ -70859,13 +71016,6 @@ entities:
     - type: Transform
       pos: 22.5,-65.5
       parent: 2
-- proto: FancyTableSpawner
-  entities:
-  - uid: 15081
-    components:
-    - type: Transform
-      pos: -15.5,-3.5
-      parent: 2
 - proto: FaxMachineBase
   entities:
   - uid: 997
@@ -75222,12 +75372,18 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 28.5,-40.5
       parent: 2
+    - type: DeviceNetwork
+      deviceLists:
+      - 8434
   - uid: 8680
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 29.5,-40.5
       parent: 2
+    - type: DeviceNetwork
+      deviceLists:
+      - 8434
   - uid: 8681
     components:
     - type: Transform
@@ -76087,6 +76243,13 @@ entities:
     - type: Transform
       pos: -47.863766,-29.112556
       parent: 2
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 21377
+    components:
+    - type: Transform
+      pos: -33.5,6.5
+      parent: 2
 - proto: FloraTreeLarge03
   entities:
   - uid: 1077
@@ -76407,16 +76570,15 @@ entities:
     - type: Transform
       pos: 60.5,-5.5
       parent: 2
-- proto: GasFilterFlipped
-  entities:
-  - uid: 21947
+  - uid: 21956
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -31.5,-0.5
+      pos: -6.5,-38.5
       parent: 2
     - type: GasFilter
       filteredGas: Nitrogen
+      enabled: True
     - type: AtmosPipeColor
       color: '#0335FCFF'
 - proto: GasMinerCarbonDioxide
@@ -76573,13 +76735,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 80.5,-14.5
       parent: 2
-  - uid: 21956
-    components:
-    - type: Transform
-      pos: -30.5,-0.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#FF1212FF'
   - uid: 22098
     components:
     - type: Transform
@@ -76666,14 +76821,6 @@ entities:
     - type: Transform
       pos: 61.5,-4.5
       parent: 2
-  - uid: 8365
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -32.5,-0.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
   - uid: 8957
     components:
     - type: Transform
@@ -76696,11 +76843,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 60.5,-6.5
       parent: 2
-  - uid: 13181
+  - uid: 15153
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -30.5,-0.5
+      rot: 3.141592653589793 rad
+      pos: -8.5,-38.5
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
@@ -78128,14 +78275,6 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 20103
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -7.5,-37.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#FF1212FF'
   - uid: 20114
     components:
     - type: Transform
@@ -78144,14 +78283,6 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
-  - uid: 20115
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -8.5,-36.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
   - uid: 20144
     components:
     - type: Transform
@@ -78253,6 +78384,30 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 21990
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -5.5,-38.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 22052
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -4.5,-39.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 22053
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -6.5,-39.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
   - uid: 22106
     components:
     - type: Transform
@@ -78344,6 +78499,22 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 22455
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-41.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22457
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -3.5,-41.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
 - proto: GasPipeFourway
   entities:
   - uid: 7063
@@ -78505,6 +78676,13 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 22051
+    components:
+    - type: Transform
+      pos: -5.5,-35.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
 - proto: GasPipeStraight
   entities:
   - uid: 581
@@ -79066,20 +79244,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 79.5,-12.5
       parent: 2
-  - uid: 7797
-    components:
-    - type: Transform
-      pos: -30.5,0.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
-  - uid: 7798
-    components:
-    - type: Transform
-      pos: -30.5,1.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
   - uid: 7918
     components:
     - type: Transform
@@ -79127,13 +79291,6 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 8816
-    components:
-    - type: Transform
-      pos: -32.5,0.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
   - uid: 8857
     components:
     - type: Transform
@@ -79210,6 +79367,37 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
+  - uid: 15081
+    components:
+    - type: Transform
+      pos: -3.5,-39.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 15090
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -7.5,-35.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 15093
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -30.5,2.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 15094
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -32.5,2.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
   - uid: 17003
     components:
     - type: Transform
@@ -91318,14 +91506,6 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
-  - uid: 20121
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -7.5,-35.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
   - uid: 20122
     components:
     - type: Transform
@@ -91822,10 +92002,35 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 21955
+  - uid: 21960
     components:
     - type: Transform
-      pos: -32.5,1.5
+      rot: 3.141592653589793 rad
+      pos: -8.5,-37.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 21964
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -7.5,-38.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 22034
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -5.5,-37.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
+  - uid: 22046
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -5.5,-36.5
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
@@ -92108,6 +92313,14 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
+  - uid: 22352
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,-39.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
   - uid: 22413
     components:
     - type: Transform
@@ -92223,6 +92436,62 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
+  - uid: 22452
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-38.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22453
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-39.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22454
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-40.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22456
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -3.5,-40.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22458
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,-41.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22509
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,-41.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
+  - uid: 22510
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -4.5,-41.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
 - proto: GasPipeTJunction
   entities:
   - uid: 575
@@ -92395,17 +92664,11 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
-  - uid: 13240
-    components:
-    - type: Transform
-      pos: -30.5,2.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
-  - uid: 13935
+  - uid: 15084
     components:
     - type: Transform
-      pos: -32.5,2.5
+      rot: 1.5707963267948966 rad
+      pos: -8.5,-36.5
       parent: 2
     - type: AtmosPipeColor
       color: '#0335FCFF'
@@ -94110,14 +94373,6 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
-  - uid: 20111
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -5.5,-35.5
-      parent: 2
-    - type: AtmosPipeColor
-      color: '#0335FCFF'
   - uid: 20196
     components:
     - type: Transform
@@ -94187,6 +94442,14 @@ entities:
       parent: 2
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 22372
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -7.5,-37.5
+      parent: 2
+    - type: AtmosPipeColor
+      color: '#FF1212FF'
 - proto: GasPort
   entities:
   - uid: 1198
@@ -95619,15 +95882,16 @@ entities:
       color: '#0335FCFF'
 - proto: GasVentPumpVox
   entities:
-  - uid: 2233
+  - uid: 22367
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -31.5,-1.5
+      pos: -4.5,-38.5
       parent: 2
     - type: DeviceNetwork
       deviceLists:
-      - 4473
+      - 21945
+    - type: AtmosPipeColor
+      color: '#0335FCFF'
 - proto: GasVentScrubber
   entities:
   - uid: 893
@@ -96788,15 +97052,14 @@ entities:
       color: '#FF1212FF'
 - proto: GasVentScrubberVox
   entities:
-  - uid: 13491
+  - uid: 21959
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -30.5,-1.5
+      pos: -3.5,-38.5
       parent: 2
     - type: DeviceNetwork
       deviceLists:
-      - 4473
+      - 21945
     - type: AtmosPipeColor
       color: '#FF1212FF'
 - proto: GasVolumePump
@@ -96885,14 +97148,14 @@ entities:
   - uid: 5750
     components:
     - type: Transform
-      pos: -36.551323,5.8054585
+      pos: -36.60555,6.794016
       parent: 2
 - proto: GlowstickBlue
   entities:
   - uid: 5751
     components:
     - type: Transform
-      pos: -36.45348,5.646461
+      pos: -36.440437,6.592211
       parent: 2
 - proto: GravityGenerator
   entities:
@@ -96903,12 +97166,6 @@ entities:
       parent: 2
 - proto: Grille
   entities:
-  - uid: 108
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -29.5,-2.5
-      parent: 2
   - uid: 759
     components:
     - type: Transform
@@ -99444,16 +99701,6 @@ entities:
     - type: Transform
       pos: -6.5,-42.5
       parent: 2
-  - uid: 8273
-    components:
-    - type: Transform
-      pos: -5.5,-42.5
-      parent: 2
-  - uid: 8274
-    components:
-    - type: Transform
-      pos: -4.5,-42.5
-      parent: 2
   - uid: 8304
     components:
     - type: Transform
@@ -99597,12 +99844,6 @@ entities:
     - type: Transform
       pos: 11.5,-61.5
       parent: 2
-  - uid: 13182
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -34.5,-3.5
-      parent: 2
   - uid: 14852
     components:
     - type: Transform
@@ -99684,16 +99925,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -25.5,39.5
       parent: 2
-  - uid: 15153
-    components:
-    - type: Transform
-      pos: -34.5,36.5
-      parent: 2
-  - uid: 15154
-    components:
-    - type: Transform
-      pos: -34.5,37.5
-      parent: 2
   - uid: 15199
     components:
     - type: Transform
@@ -100432,18 +100663,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -36.5,33.5
       parent: 2
-  - uid: 16945
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -36.5,36.5
-      parent: 2
-  - uid: 16946
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -36.5,38.5
-      parent: 2
   - uid: 16947
     components:
     - type: Transform
@@ -100867,6 +101086,11 @@ entities:
     - type: Transform
       pos: 11.5,43.5
       parent: 2
+  - uid: 20111
+    components:
+    - type: Transform
+      pos: -5.5,-41.5
+      parent: 2
   - uid: 20251
     components:
     - type: Transform
@@ -101550,17 +101774,10 @@ entities:
     - type: Transform
       pos: -42.5,28.5
       parent: 2
-  - uid: 21942
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -29.5,-3.5
-      parent: 2
-  - uid: 21945
+  - uid: 21932
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -34.5,-2.5
+      pos: -7.5,-42.5
       parent: 2
   - uid: 21967
     components:
@@ -102225,16 +102442,6 @@ entities:
     - type: Transform
       pos: -36.5,34.5
       parent: 2
-  - uid: 16950
-    components:
-    - type: Transform
-      pos: -36.5,37.5
-      parent: 2
-  - uid: 16951
-    components:
-    - type: Transform
-      pos: -36.5,35.5
-      parent: 2
   - uid: 16952
     components:
     - type: Transform
@@ -103210,18 +103417,6 @@ entities:
     - type: Physics
       canCollide: False
     - type: InsideEntityStorage
-- proto: Intellicard
-  entities:
-  - uid: 5
-    components:
-    - type: Transform
-      pos: 14.5,-63.5
-      parent: 2
-  - uid: 1958
-    components:
-    - type: Transform
-      pos: 14.5,-63.5
-      parent: 2
 - proto: IntercomAll
   entities:
   - uid: 19738
@@ -103725,8 +103920,22 @@ entities:
   - uid: 1478
     components:
     - type: Transform
-      pos: -36.47805,6.5564027
+      pos: -36.532166,7.5278516
       parent: 2
+    - type: HandheldLight
+      toggleActionEntity: 15419
+    - type: ContainerContainer
+      containers:
+        cell_slot: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+        actions: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 15419
+    - type: ActionsContainer
   - uid: 5896
     components:
     - type: Transform
@@ -104143,17 +104352,189 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4466
+          - 4466
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+- proto: LockerHeadOfSecurityFilled
+  entities:
+  - uid: 5040
+    components:
+    - type: Transform
+      pos: -11.5,33.5
+      parent: 2
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.1496
+        moles:
+        - 1.8978151
+        - 7.1394
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 4467
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+- proto: LockerMedicalFilled
+  entities:
+  - uid: 6575
+    components:
+    - type: Transform
+      pos: 55.5,4.5
+      parent: 2
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.1496
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 4478
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+  - uid: 6576
+    components:
+    - type: Transform
+      pos: 56.5,4.5
+      parent: 2
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.1496
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 4479
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+  - uid: 6683
+    components:
+    - type: Transform
+      pos: 57.5,4.5
+      parent: 2
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.1496
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 4480
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+  - uid: 6687
+    components:
+    - type: Transform
+      pos: 56.5,1.5
+      parent: 2
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.1496
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 4481
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerHeadOfSecurityFilled
-  entities:
-  - uid: 5040
+  - uid: 6688
     components:
     - type: Transform
-      pos: -11.5,33.5
+      pos: 57.5,1.5
       parent: 2
     - type: EntityStorage
       air:
@@ -104161,8 +104542,8 @@ entities:
         immutable: False
         temperature: 293.1496
         moles:
-        - 1.8978151
-        - 7.1394
+        - 1.7459903
+        - 6.568249
         - 0
         - 0
         - 0
@@ -104179,23 +104560,23 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4467
+          - 4490
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerMedicalFilled
+- proto: LockerMedicine
   entities:
-  - uid: 6575
+  - uid: 22437
     components:
     - type: Transform
-      pos: 55.5,4.5
+      pos: 13.5,28.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1496
+        temperature: 293.1465
         moles:
         - 1.7459903
         - 6.568249
@@ -104215,24 +104596,27 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4478
+          - 22438
+          - 22439
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-  - uid: 6576
+- proto: LockerMime
+  entities:
+  - uid: 16657
     components:
     - type: Transform
-      pos: 56.5,4.5
+      pos: -34.5,-18.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1496
+        temperature: 293.14673
         moles:
-        - 1.7459903
-        - 6.568249
+        - 1.8977377
+        - 7.139109
         - 0
         - 0
         - 0
@@ -104249,15 +104633,20 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4479
+          - 8192
+          - 8690
+          - 9270
+          - 9269
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-  - uid: 6683
+- proto: LockerParamedicFilled
+  entities:
+  - uid: 6668
     components:
     - type: Transform
-      pos: 57.5,4.5
+      pos: 55.5,8.5
       parent: 2
     - type: EntityStorage
       air:
@@ -104283,15 +104672,15 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4480
+          - 4917
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-  - uid: 6687
+  - uid: 6682
     components:
     - type: Transform
-      pos: 56.5,1.5
+      pos: 56.5,8.5
       parent: 2
     - type: EntityStorage
       air:
@@ -104317,15 +104706,17 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4481
+          - 4919
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-  - uid: 6688
+- proto: LockerQuarterMasterFilled
+  entities:
+  - uid: 5694
     components:
     - type: Transform
-      pos: 57.5,1.5
+      pos: 35.5,12.5
       parent: 2
     - type: EntityStorage
       air:
@@ -104351,23 +104742,23 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4490
+          - 4920
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerMedicine
+- proto: LockerResearchDirectorFilled
   entities:
-  - uid: 22437
+  - uid: 7426
     components:
     - type: Transform
-      pos: 13.5,28.5
+      pos: 70.5,-25.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1465
+        temperature: 293.1496
         moles:
         - 1.7459903
         - 6.568249
@@ -104387,63 +104778,57 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 22438
-          - 22439
+          - 4981
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerMime
+- proto: LockerSalvageSpecialistFilledHardsuit
   entities:
-  - uid: 16657
+  - uid: 1810
     components:
     - type: Transform
-      pos: -34.5,-18.5
+      pos: 36.5,19.5
       parent: 2
-    - type: EntityStorage
-      air:
-        volume: 200
-        immutable: False
-        temperature: 293.14673
-        moles:
-        - 1.8977377
-        - 7.139109
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-    - type: ContainerContainer
-      containers:
-        entity_storage: !type:Container
-          showEnts: False
-          occludes: True
-          ents:
-          - 8192
-          - 8690
-          - 9270
-          - 9269
-        paper_label: !type:ContainerSlot
-          showEnts: False
-          occludes: True
-          ent: null
-- proto: LockerParamedicFilled
+  - uid: 5997
+    components:
+    - type: Transform
+      pos: 36.5,20.5
+      parent: 2
+  - uid: 17203
+    components:
+    - type: Transform
+      pos: 36.5,21.5
+      parent: 2
+- proto: LockerScienceFilled
   entities:
-  - uid: 6668
+  - uid: 7217
     components:
     - type: Transform
-      pos: 55.5,8.5
+      pos: 68.5,-14.5
+      parent: 2
+  - uid: 7218
+    components:
+    - type: Transform
+      pos: 69.5,-14.5
+      parent: 2
+  - uid: 7219
+    components:
+    - type: Transform
+      pos: 70.5,-14.5
+      parent: 2
+- proto: LockerSecurityFilled
+  entities:
+  - uid: 5046
+    components:
+    - type: Transform
+      pos: -8.5,34.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1496
+        temperature: 293.14673
         moles:
         - 1.7459903
         - 6.568249
@@ -104463,21 +104848,22 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4917
+          - 15468
+          - 15470
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-  - uid: 6682
+  - uid: 5047
     components:
     - type: Transform
-      pos: 56.5,8.5
+      pos: -7.5,34.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1496
+        temperature: 293.14673
         moles:
         - 1.7459903
         - 6.568249
@@ -104497,23 +104883,22 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4919
+          - 15471
+          - 15472
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerQuarterMasterFilled
-  entities:
-  - uid: 5694
+  - uid: 5050
     components:
     - type: Transform
-      pos: 35.5,12.5
+      pos: -9.5,34.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1496
+        temperature: 293.14673
         moles:
         - 1.7459903
         - 6.568249
@@ -104533,23 +104918,22 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4920
+          - 15605
+          - 15629
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerResearchDirectorFilled
-  entities:
-  - uid: 7426
+  - uid: 5053
     components:
     - type: Transform
-      pos: 70.5,-25.5
+      pos: -6.5,34.5
       parent: 2
     - type: EntityStorage
       air:
         volume: 200
         immutable: False
-        temperature: 293.1496
+        temperature: 293.14673
         moles:
         - 1.7459903
         - 6.568249
@@ -104569,67 +104953,12 @@ entities:
           showEnts: False
           occludes: True
           ents:
-          - 4981
+          - 16013
+          - 16116
         paper_label: !type:ContainerSlot
           showEnts: False
           occludes: True
           ent: null
-- proto: LockerSalvageSpecialistFilledHardsuit
-  entities:
-  - uid: 1810
-    components:
-    - type: Transform
-      pos: 36.5,19.5
-      parent: 2
-  - uid: 5997
-    components:
-    - type: Transform
-      pos: 36.5,20.5
-      parent: 2
-  - uid: 17203
-    components:
-    - type: Transform
-      pos: 36.5,21.5
-      parent: 2
-- proto: LockerScienceFilled
-  entities:
-  - uid: 7217
-    components:
-    - type: Transform
-      pos: 68.5,-14.5
-      parent: 2
-  - uid: 7218
-    components:
-    - type: Transform
-      pos: 69.5,-14.5
-      parent: 2
-  - uid: 7219
-    components:
-    - type: Transform
-      pos: 70.5,-14.5
-      parent: 2
-- proto: LockerSecurityFilled
-  entities:
-  - uid: 5046
-    components:
-    - type: Transform
-      pos: -8.5,34.5
-      parent: 2
-  - uid: 5047
-    components:
-    - type: Transform
-      pos: -7.5,34.5
-      parent: 2
-  - uid: 5050
-    components:
-    - type: Transform
-      pos: -9.5,34.5
-      parent: 2
-  - uid: 5053
-    components:
-    - type: Transform
-      pos: -6.5,34.5
-      parent: 2
 - proto: LockerSyndicatePersonal
   entities:
   - uid: 21051
@@ -104787,11 +105116,6 @@ entities:
     - type: Transform
       pos: 66.5,-8.5
       parent: 2
-  - uid: 15084
-    components:
-    - type: Transform
-      pos: -5.5,-38.5
-      parent: 2
   - uid: 16406
     components:
     - type: Transform
@@ -104815,11 +105139,6 @@ entities:
       parent: 21128
 - proto: MachineFrameDestroyed
   entities:
-  - uid: 15085
-    components:
-    - type: Transform
-      pos: -4.5,-38.5
-      parent: 2
   - uid: 21196
     components:
     - type: Transform
@@ -104960,11 +105279,6 @@ entities:
     - type: Transform
       pos: 38.5,-6.5
       parent: 2
-  - uid: 15629
-    components:
-    - type: Transform
-      pos: -3.5,-39.5
-      parent: 2
   - uid: 15630
     components:
     - type: Transform
@@ -105000,6 +105314,11 @@ entities:
     - type: Transform
       pos: -42.5,-36.5
       parent: 2
+  - uid: 21935
+    components:
+    - type: Transform
+      pos: -14.5,-39.5
+      parent: 2
   - uid: 22446
     components:
     - type: Transform
@@ -105590,15 +105909,15 @@ entities:
     - type: Transform
       pos: 65.5,-5.5
       parent: 2
-  - uid: 16116
+  - uid: 16117
     components:
     - type: Transform
-      pos: -6.5,-39.5
+      pos: -30.5,22.5
       parent: 2
-  - uid: 16117
+  - uid: 16173
     components:
     - type: Transform
-      pos: -30.5,22.5
+      pos: -7.5,-39.5
       parent: 2
 - proto: Multitool
   entities:
@@ -105755,6 +106074,13 @@ entities:
     - type: Transform
       pos: -62.5,-32.5
       parent: 2
+- proto: NitrogenTankFilled
+  entities:
+  - uid: 21452
+    components:
+    - type: Transform
+      pos: -3.4021726,-41.526543
+      parent: 2
 - proto: NitrousOxideCanister
   entities:
   - uid: 1515
@@ -106061,11 +106387,11 @@ entities:
         After several simulations where Superconducting Magnetic Energy Storage units were drained from the main system from [italic]a variety[/italic] of user errors and other shenanigans, it has been determined that the Singularity should be put on its own power loop, disconnected from the main station. The upsides of this include but are not limited to:
 
 
-        [bold]1.[/bold] Limited external forces from the containments power.
+        [bold]1.[/bold] Limited external forces from the containments power. 
 
-        [bold]2.[/bold] An "early warning" system, if you see JUST the PA room run out of power, you know there is an issue.
+        [bold]2.[/bold] An "early warning" system, if you see JUST the PA room run out of power, you know there is an issue. 
 
-        [bold]3.[/bold] Due to being on its own small loop, its much easier to spot faults in the system.
+        [bold]3.[/bold] Due to being on its own small loop, its much easier to spot faults in the system. 
 
 
         [italic]While we have listed the upsides we also acknowledge the downside,[/italic] for it being on its own loop you will need an external force if the system "runs out of juice". Our recommendation for this is simply attaching a generator to said SMES and letting it get to full charge before continuing operations but as said from another of our technicians... "just attach it to the main grid for like, a hot moment, and kickstart the thing!"
@@ -106563,6 +106889,11 @@ entities:
     - type: Transform
       pos: 0.62262845,-27.523497
       parent: 2
+  - uid: 15313
+    components:
+    - type: Transform
+      pos: 14.5,-63.5
+      parent: 2
   - uid: 15934
     components:
     - type: Transform
@@ -107081,11 +107412,6 @@ entities:
     - type: Transform
       pos: 24.5,-64.5
       parent: 2
-  - uid: 15094
-    components:
-    - type: Transform
-      pos: -4.5,-41.5
-      parent: 2
   - uid: 15102
     components:
     - type: Transform
@@ -107753,10 +108079,10 @@ entities:
     - type: Transform
       pos: 36.5,-32.5
       parent: 2
-  - uid: 15194
+  - uid: 16951
     components:
     - type: Transform
-      pos: -3.5,-41.5
+      pos: -6.5,-41.5
       parent: 2
   - uid: 21249
     components:
@@ -109854,6 +110180,18 @@ entities:
       enabled: False
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 15086
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -34.5,-4.5
+      parent: 2
+  - uid: 15092
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -29.5,-4.5
+      parent: 2
   - uid: 15159
     components:
     - type: Transform
@@ -109882,12 +110220,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 58.5,-23.5
       parent: 2
-  - uid: 17525
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -32.5,-4.5
-      parent: 2
   - uid: 17538
     components:
     - type: Transform
@@ -109956,18 +110288,6 @@ entities:
       enabled: False
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 21926
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -27.5,-4.5
-      parent: 2
-  - uid: 21927
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -36.5,-4.5
-      parent: 2
   - uid: 22045
     components:
     - type: Transform
@@ -110197,12 +110517,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 37.5,14.5
       parent: 2
-  - uid: 14334
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -34.5,-0.5
-      parent: 2
   - uid: 14851
     components:
     - type: Transform
@@ -110228,11 +110542,11 @@ entities:
       enabled: False
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 15192
+  - uid: 15195
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -29.5,-0.5
+      rot: -1.5707963267948966 rad
+      pos: -35.5,38.5
       parent: 2
   - uid: 15250
     components:
@@ -110335,6 +110649,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 65.5,-35.5
       parent: 2
+  - uid: 16946
+    components:
+    - type: Transform
+      pos: -4.5,-38.5
+      parent: 2
   - uid: 17215
     components:
     - type: Transform
@@ -112335,6 +112654,11 @@ entities:
     - type: Transform
       pos: -49.5,-22.5
       parent: 2
+  - uid: 7797
+    components:
+    - type: Transform
+      pos: -31.5,-1.5
+      parent: 2
 - proto: RandomGreyStalagmite
   entities:
   - uid: 18991
@@ -112658,11 +112982,6 @@ entities:
     - type: Transform
       pos: 10.5,-36.5
       parent: 2
-  - uid: 15305
-    components:
-    - type: Transform
-      pos: 4.5,-38.5
-      parent: 2
   - uid: 15306
     components:
     - type: Transform
@@ -112698,11 +113017,6 @@ entities:
     - type: Transform
       pos: -8.5,-39.5
       parent: 2
-  - uid: 15313
-    components:
-    - type: Transform
-      pos: -2.5,-38.5
-      parent: 2
   - uid: 15314
     components:
     - type: Transform
@@ -113108,6 +113422,16 @@ entities:
     - type: Transform
       pos: 66.5,3.5
       parent: 2
+  - uid: 20115
+    components:
+    - type: Transform
+      pos: 7.5,-38.5
+      parent: 2
+  - uid: 22503
+    components:
+    - type: Transform
+      pos: -4.5,-42.5
+      parent: 2
 - proto: RandomPosterLegit
   entities:
   - uid: 1909
@@ -113858,12 +114182,6 @@ entities:
     - type: Transform
       pos: -8.5,-24.5
       parent: 2
-  - uid: 15605
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -33.5,-5.5
-      parent: 2
   - uid: 15976
     components:
     - type: Transform
@@ -113905,6 +114223,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: -32.5,-5.5
       parent: 2
+  - uid: 21186
+    components:
+    - type: Transform
+      pos: -31.5,-5.5
+      parent: 2
   - uid: 21863
     components:
     - type: Transform
@@ -113940,6 +114263,11 @@ entities:
       parent: 2
 - proto: RandomSnacks
   entities:
+  - uid: 6269
+    components:
+    - type: Transform
+      pos: -31.5,-2.5
+      parent: 2
   - uid: 16008
     components:
     - type: Transform
@@ -113974,11 +114302,6 @@ entities:
       parent: 2
 - proto: RandomSpawner
   entities:
-  - uid: 107
-    components:
-    - type: Transform
-      pos: -33.5,-4.5
-      parent: 2
   - uid: 1921
     components:
     - type: Transform
@@ -113999,6 +114322,16 @@ entities:
     - type: Transform
       pos: -13.5,-37.5
       parent: 2
+  - uid: 20121
+    components:
+    - type: Transform
+      pos: -29.5,-3.5
+      parent: 2
+  - uid: 21941
+    components:
+    - type: Transform
+      pos: -3.5,-39.5
+      parent: 2
   - uid: 22400
     components:
     - type: Transform
@@ -114667,16 +115000,6 @@ entities:
     - type: Transform
       pos: 19.5,22.5
       parent: 2
-  - uid: 1944
-    components:
-    - type: Transform
-      pos: -34.5,-3.5
-      parent: 2
-  - uid: 1952
-    components:
-    - type: Transform
-      pos: -34.5,-2.5
-      parent: 2
   - uid: 1985
     components:
     - type: Transform
@@ -115245,11 +115568,6 @@ entities:
     - type: Transform
       pos: 2.5,-39.5
       parent: 2
-  - uid: 4805
-    components:
-    - type: Transform
-      pos: -4.5,-42.5
-      parent: 2
   - uid: 4807
     components:
     - type: Transform
@@ -115275,16 +115593,6 @@ entities:
     - type: Transform
       pos: -19.5,-47.5
       parent: 2
-  - uid: 4994
-    components:
-    - type: Transform
-      pos: -34.5,36.5
-      parent: 2
-  - uid: 5104
-    components:
-    - type: Transform
-      pos: -34.5,37.5
-      parent: 2
   - uid: 5105
     components:
     - type: Transform
@@ -115651,16 +115959,6 @@ entities:
     - type: Transform
       pos: -35.5,30.5
       parent: 2
-  - uid: 6237
-    components:
-    - type: Transform
-      pos: -29.5,-3.5
-      parent: 2
-  - uid: 6269
-    components:
-    - type: Transform
-      pos: -29.5,-2.5
-      parent: 2
   - uid: 6270
     components:
     - type: Transform
@@ -116245,6 +116543,11 @@ entities:
     - type: Transform
       pos: 30.5,-30.5
       parent: 2
+  - uid: 15192
+    components:
+    - type: Transform
+      pos: -7.5,-42.5
+      parent: 2
   - uid: 15215
     components:
     - type: Transform
@@ -116654,11 +116957,6 @@ entities:
     - type: Transform
       pos: -0.5,-39.5
       parent: 2
-  - uid: 21594
-    components:
-    - type: Transform
-      pos: -5.5,-42.5
-      parent: 2
   - uid: 21595
     components:
     - type: Transform
@@ -116777,6 +117075,16 @@ entities:
       parent: 2
 - proto: Screen
   entities:
+  - uid: 1952
+    components:
+    - type: Transform
+      pos: -29.5,-5.5
+      parent: 2
+  - uid: 1969
+    components:
+    - type: Transform
+      pos: -34.5,-5.5
+      parent: 2
   - uid: 3271
     components:
     - type: Transform
@@ -116860,11 +117168,6 @@ entities:
       rot: 4.71238898038469 rad
       pos: 30.5,-24.5
       parent: 2
-  - uid: 20293
-    components:
-    - type: Transform
-      pos: -31.5,-5.5
-      parent: 2
   - uid: 20311
     components:
     - type: Transform
@@ -116995,6 +117298,11 @@ entities:
     - type: Transform
       pos: 17.5,-66.5
       parent: 2
+  - uid: 22502
+    components:
+    - type: Transform
+      pos: -3.5,-42.5
+      parent: 2
 - proto: Screwdriver
   entities:
   - uid: 2052
@@ -118134,7 +118442,7 @@ entities:
   - uid: 5757
     components:
     - type: MetaData
-      name: Secure storage doors button
+      name: Blast doors button
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 27.5,5.5
@@ -118193,6 +118501,30 @@ entities:
       rot: 3.141592653589793 rad
       pos: 45.5,-31.5
       parent: 2
+  - uid: 7798
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -34.5,35.5
+      parent: 2
+    - type: DeviceLinkSource
+      linkedPorts:
+        15193:
+        - Pressed: Toggle
+        11059:
+        - Pressed: Toggle
+  - uid: 8151
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -34.5,35.5
+      parent: 2
+    - type: DeviceLinkSource
+      linkedPorts:
+        15193:
+        - Pressed: Toggle
+        11059:
+        - Pressed: Toggle
   - uid: 8185
     components:
     - type: MetaData
@@ -119815,11 +120147,6 @@ entities:
       parent: 2
 - proto: SignSecureMed
   entities:
-  - uid: 1969
-    components:
-    - type: Transform
-      pos: -29.5,-1.5
-      parent: 2
   - uid: 6827
     components:
     - type: Transform
@@ -119875,6 +120202,11 @@ entities:
     - type: Transform
       pos: 64.5,-48.5
       parent: 2
+  - uid: 21947
+    components:
+    - type: Transform
+      pos: -5.5,-38.5
+      parent: 2
   - uid: 21950
     components:
     - type: Transform
@@ -119965,6 +120297,12 @@ entities:
     - type: Transform
       pos: -5.5,-12.5
       parent: 2
+  - uid: 8273
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -34.5,38.5
+      parent: 2
   - uid: 21938
     components:
     - type: Transform
@@ -120046,10 +120384,10 @@ entities:
       parent: 2
 - proto: SignVox
   entities:
-  - uid: 21377
+  - uid: 21946
     components:
     - type: Transform
-      pos: -34.5,-1.5
+      pos: -5.5,-40.5
       parent: 2
 - proto: SingularityGenerator
   entities:
@@ -120076,6 +120414,12 @@ entities:
     - type: Transform
       pos: 36.5,-22.5
       parent: 2
+  - uid: 22507
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -3.5,-39.5
+      parent: 2
 - proto: SinkWide
   entities:
   - uid: 5258
@@ -120746,15 +121090,15 @@ entities:
       parent: 2
 - proto: SolarTracker
   entities:
-  - uid: 15468
+  - uid: 15702
     components:
     - type: Transform
-      pos: 1.5,-58.5
+      pos: -22.5,55.5
       parent: 2
-  - uid: 15702
+  - uid: 21933
     components:
     - type: Transform
-      pos: -22.5,55.5
+      pos: 1.5,-57.5
       parent: 2
 - proto: SolidSecretDoor
   entities:
@@ -121202,10 +121546,10 @@ entities:
     - type: Transform
       pos: -33.5,-19.5
       parent: 2
-  - uid: 3913
+  - uid: 11067
     components:
     - type: Transform
-      pos: -33.5,6.5
+      pos: -33.5,5.5
       parent: 2
 - proto: SpawnPointMusician
   entities:
@@ -123638,6 +123982,17 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: Memorial room
+  - uid: 21406
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -3.5,-38.5
+      parent: 2
+    - type: SurveillanceCamera
+      setupAvailableNetworks:
+      - SurveillanceCameraGeneral
+      nameSet: True
+      id: Vox box
   - uid: 22393
     components:
     - type: Transform
@@ -123680,16 +124035,6 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: West bathroom
-  - uid: 22469
-    components:
-    - type: Transform
-      pos: -32.5,-4.5
-      parent: 2
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraGeneral
-      nameSet: True
-      id: Vox box
 - proto: SurveillanceCameraMedical
   entities:
   - uid: 9023
@@ -125208,6 +125553,17 @@ entities:
       rot: 3.141592653589793 rad
       pos: -21.5,35.5
       parent: 2
+  - uid: 11085
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,-40.5
+      parent: 2
+  - uid: 13176
+    components:
+    - type: Transform
+      pos: -6.5,-41.5
+      parent: 2
   - uid: 14240
     components:
     - type: Transform
@@ -125224,16 +125580,6 @@ entities:
     - type: Transform
       pos: -20.5,10.5
       parent: 2
-  - uid: 15092
-    components:
-    - type: Transform
-      pos: -3.5,-41.5
-      parent: 2
-  - uid: 15093
-    components:
-    - type: Transform
-      pos: -3.5,-40.5
-      parent: 2
   - uid: 15148
     components:
     - type: Transform
@@ -125381,29 +125727,27 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 9.5,40.5
       parent: 2
-  - uid: 17379
+  - uid: 20792
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: -30.5,-3.5
+      pos: 8.5,16.5
       parent: 2
-  - uid: 20792
+  - uid: 21330
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 8.5,16.5
+      rot: 1.5707963267948966 rad
+      pos: 63.5,-32.5
       parent: 2
-  - uid: 21186
+  - uid: 21936
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -30.5,-4.5
+      pos: -3.5,-41.5
       parent: 2
-  - uid: 21330
+  - uid: 21939
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 63.5,-32.5
+      pos: -4.5,-41.5
       parent: 2
 - proto: TableCarpet
   entities:
@@ -125604,33 +125948,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 76.5,-24.5
       parent: 2
-- proto: TableFancyBlack
-  entities:
-  - uid: 3109
-    components:
-    - type: Transform
-      pos: -36.5,5.5
-      parent: 2
-  - uid: 3110
-    components:
-    - type: Transform
-      pos: -30.5,5.5
-      parent: 2
-  - uid: 3111
-    components:
-    - type: Transform
-      pos: -36.5,6.5
-      parent: 2
-  - uid: 3112
-    components:
-    - type: Transform
-      pos: -30.5,7.5
-      parent: 2
-  - uid: 3121
-    components:
-    - type: Transform
-      pos: -30.5,6.5
-      parent: 2
 - proto: TableFancyRed
   entities:
   - uid: 3124
@@ -126528,6 +126845,30 @@ entities:
       parent: 2
 - proto: TableWood
   entities:
+  - uid: 5
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -32.5,-2.5
+      parent: 2
+  - uid: 107
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -31.5,-1.5
+      parent: 2
+  - uid: 724
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -31.5,-2.5
+      parent: 2
+  - uid: 1944
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -32.5,-1.5
+      parent: 2
   - uid: 2269
     components:
     - type: Transform
@@ -126729,6 +127070,12 @@ entities:
     - type: Transform
       pos: -31.5,-37.5
       parent: 2
+  - uid: 3109
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -32.5,-3.5
+      parent: 2
   - uid: 3880
     components:
     - type: Transform
@@ -126941,6 +127288,11 @@ entities:
     - type: Transform
       pos: -30.5,-15.5
       parent: 2
+  - uid: 14808
+    components:
+    - type: Transform
+      pos: -15.5,-3.5
+      parent: 2
   - uid: 14991
     components:
     - type: Transform
@@ -127024,11 +127376,47 @@ entities:
     - type: Transform
       pos: 65.5,-52.5
       parent: 2
+  - uid: 20292
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -31.5,-3.5
+      parent: 2
   - uid: 20418
     components:
     - type: Transform
       pos: 81.5,-35.5
       parent: 2
+  - uid: 21883
+    components:
+    - type: Transform
+      pos: -30.5,6.5
+      parent: 2
+  - uid: 21911
+    components:
+    - type: Transform
+      pos: -36.5,7.5
+      parent: 2
+  - uid: 21924
+    components:
+    - type: Transform
+      pos: -30.5,5.5
+      parent: 2
+  - uid: 21925
+    components:
+    - type: Transform
+      pos: -36.5,5.5
+      parent: 2
+  - uid: 21926
+    components:
+    - type: Transform
+      pos: -36.5,6.5
+      parent: 2
+  - uid: 21931
+    components:
+    - type: Transform
+      pos: -30.5,7.5
+      parent: 2
 - proto: TargetClown
   entities:
   - uid: 16841
@@ -127196,6 +127584,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 61.5,4.5
       parent: 2
+  - uid: 11056
+    components:
+    - type: Transform
+      pos: -5.5,-41.5
+      parent: 2
 - proto: ToiletEmpty
   entities:
   - uid: 2320
@@ -127545,11 +127938,6 @@ entities:
         - Middle: Off
 - proto: UnfinishedMachineFrame
   entities:
-  - uid: 15086
-    components:
-    - type: Transform
-      pos: -3.5,-38.5
-      parent: 2
   - uid: 16136
     components:
     - type: Transform
@@ -127908,10 +128296,10 @@ entities:
       parent: 2
 - proto: VendingMachineTankDispenserEngineering
   entities:
-  - uid: 2353
+  - uid: 21930
     components:
     - type: Transform
-      pos: 23.5,-20.5
+      pos: -9.5,-25.5
       parent: 2
 - proto: VendingMachineTankDispenserEVA
   entities:
@@ -127930,10 +128318,10 @@ entities:
     - type: Transform
       pos: -31.5,35.5
       parent: 2
-  - uid: 20608
+  - uid: 21929
     components:
     - type: Transform
-      pos: -9.5,-25.5
+      pos: 23.5,-20.5
       parent: 2
 - proto: VendingMachineTheater
   entities:
@@ -127942,11 +128330,6 @@ entities:
     - type: Transform
       pos: -38.5,-12.5
       parent: 2
-  - uid: 2355
-    components:
-    - type: Transform
-      pos: -36.5,7.5
-      parent: 2
   - uid: 4356
     components:
     - type: Transform
@@ -134090,6 +134473,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 87.5,-23.5
       parent: 2
+  - uid: 21185
+    components:
+    - type: Transform
+      pos: -4.5,-42.5
+      parent: 2
   - uid: 21398
     components:
     - type: Transform
@@ -139540,12 +139928,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -2.5,-41.5
       parent: 2
-  - uid: 8151
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -7.5,-42.5
-      parent: 2
   - uid: 8152
     components:
     - type: Transform
@@ -140718,6 +141100,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -44.5,21.5
       parent: 2
+  - uid: 20293
+    components:
+    - type: Transform
+      pos: -5.5,-42.5
+      parent: 2
   - uid: 20302
     components:
     - type: Transform
@@ -143591,11 +143978,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -32.5,26.5
       parent: 2
-  - uid: 11059
-    components:
-    - type: Transform
-      pos: -34.5,-4.5
-      parent: 2
   - uid: 11655
     components:
     - type: Transform
@@ -143618,11 +144000,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -32.5,22.5
       parent: 2
-  - uid: 13177
-    components:
-    - type: Transform
-      pos: -34.5,-1.5
-      parent: 2
   - uid: 13745
     components:
     - type: Transform
@@ -143663,6 +144040,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 7.5,18.5
       parent: 2
+  - uid: 15154
+    components:
+    - type: Transform
+      pos: -5.5,-38.5
+      parent: 2
   - uid: 15165
     components:
     - type: Transform
@@ -143795,6 +144177,11 @@ entities:
     - type: Transform
       pos: -25.5,-42.5
       parent: 2
+  - uid: 17258
+    components:
+    - type: Transform
+      pos: -5.5,-40.5
+      parent: 2
   - uid: 20110
     components:
     - type: Transform
@@ -143839,11 +144226,6 @@ entities:
     - type: Transform
       pos: 80.5,-32.5
       parent: 2
-  - uid: 21940
-    components:
-    - type: Transform
-      pos: -29.5,-4.5
-      parent: 2
 - proto: WallSolidRust
   entities:
   - uid: 757
@@ -145747,16 +146129,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -32.5,23.5
       parent: 2
-  - uid: 13175
-    components:
-    - type: Transform
-      pos: -32.5,-1.5
-      parent: 2
-  - uid: 13176
-    components:
-    - type: Transform
-      pos: -29.5,-1.5
-      parent: 2
   - uid: 13238
     components:
     - type: Transform
@@ -146958,6 +147330,18 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -10.5,-38.5
       parent: 2
+  - uid: 13174
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -6.5,-39.5
+      parent: 2
+    - type: DeviceLinkSink
+      invokeCounter: 1
+    - type: DeviceLinkSource
+      linkedPorts:
+        21594:
+        - DoorStatus: DoorBolt
   - uid: 16324
     components:
     - type: Transform
@@ -146976,35 +147360,24 @@ entities:
       rot: 3.141592653589793 rad
       pos: 65.5,-50.5
       parent: 2
-  - uid: 17258
+  - uid: 21321
     components:
     - type: Transform
-      pos: -33.5,-2.5
+      rot: 3.141592653589793 rad
+      pos: 80.5,-24.5
       parent: 2
-    - type: DeviceLinkSink
-      invokeCounter: 1
-    - type: DeviceLinkSource
-      linkedPorts:
-        21184:
-        - DoorStatus: DoorBolt
-  - uid: 21184
+  - uid: 21594
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -33.5,-1.5
+      rot: 1.5707963267948966 rad
+      pos: -5.5,-39.5
       parent: 2
     - type: DeviceLinkSink
       invokeCounter: 1
     - type: DeviceLinkSource
       linkedPorts:
-        17258:
+        13174:
         - DoorStatus: DoorBolt
-  - uid: 21321
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 80.5,-24.5
-      parent: 2
   - uid: 22489
     components:
     - type: Transform
@@ -148041,12 +148414,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 46.5,16.5
       parent: 2
-  - uid: 15193
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -30.5,-1.5
-      parent: 2
   - uid: 15404
     components:
     - type: Transform
@@ -148092,6 +148459,11 @@ entities:
     - type: Transform
       pos: 43.5,-20.5
       parent: 2
+  - uid: 16945
+    components:
+    - type: Transform
+      pos: -6.5,-38.5
+      parent: 2
   - uid: 17484
     components:
     - type: Transform
@@ -148125,12 +148497,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 14.5,-64.5
       parent: 2
-  - uid: 21185
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -32.5,-2.5
-      parent: 2
   - uid: 21402
     components:
     - type: Transform
@@ -148201,11 +148567,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 55.5,1.5
       parent: 2
-  - uid: 21939
+  - uid: 21927
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: -31.5,-1.5
+      pos: -6.5,-40.5
       parent: 2
   - uid: 22366
     components:

From 465170f1e18013021cdd77790c16100dc9ecbad4 Mon Sep 17 00:00:00 2001
From: Preston Smith <92108534+thetolbean@users.noreply.github.com>
Date: Fri, 15 Nov 2024 00:54:53 -0600
Subject: [PATCH 097/187] Prevent Digiboard recycling (#33315)

* add `HighRiskItem` tag

* Correct tags

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Prototypes/Entities/Objects/Misc/paper.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Resources/Prototypes/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Entities/Objects/Misc/paper.yml
index 5c3cd444962..e0862b88425 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/paper.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/paper.yml
@@ -597,6 +597,10 @@
     damage:
       types:
         Blunt: 10
+  - type: Tag
+    tags:
+    - Folder
+    - HighRiskItem
   - type: StealTarget
     stealGroup: BoxFolderQmClipboard
 

From e3b611085bc1aa8ddbf560966f200cc0928395c2 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 15 Nov 2024 06:56:00 +0000
Subject: [PATCH 098/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index ce0be691a4a..b9235ab83da 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: themias
-  changes:
-  - message: Fixed lizards being unable to eat custom burgers
-    type: Fix
-  id: 7110
-  time: '2024-08-14T19:47:04.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31005
 - author: Erisfiregamer1
   changes:
   - message: New chemical, Sedin. It restores seeds on plants 20% of the time with
@@ -3945,3 +3938,10 @@
   id: 7609
   time: '2024-11-14T17:08:35.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32586
+- author: thetolbean
+  changes:
+  - message: The Quartermaster's requisition digi-board can no longer be recycled.
+    type: Fix
+  id: 7610
+  time: '2024-11-15T06:54:53.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33315

From 97ce69fef6db91a4161524363615c1a0f1f09125 Mon Sep 17 00:00:00 2001
From: Ubaser <134914314+UbaserB@users.noreply.github.com>
Date: Sat, 16 Nov 2024 00:40:52 +1100
Subject: [PATCH 099/187] Command external airlocks (#33333)

add
---
 .../Structures/Doors/Airlocks/access.yml      | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
index 71feb1d4e6c..974ab76422a 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml
@@ -104,6 +104,28 @@
   - type: Wires
     layoutId: AirlockEngineering
 
+- type: entity
+  parent: AirlockExternal
+  id: AirlockExternalCommandLocked
+  suffix: External, Command, Locked
+  components:
+  - type: ContainerFill
+    containers:
+      board: [ DoorElectronicsCommand ]
+  - type: Wires
+    layoutId: AirlockCommand
+
+- type: entity
+  parent: AirlockExternalGlass
+  id: AirlockExternalGlassCommandLocked
+  suffix: External, Glass, Command, Locked
+  components:
+  - type: ContainerFill
+    containers:
+      board: [ DoorElectronicsCommand ]
+  - type: Wires
+    layoutId: AirlockCommand
+
 - type: entity
   parent: AirlockExternal
   id: AirlockExternalAtmosphericsLocked

From cf96679d0bcfe65061d0d220af15575832423425 Mon Sep 17 00:00:00 2001
From: Ubaser <134914314+UbaserB@users.noreply.github.com>
Date: Sat, 16 Nov 2024 06:18:44 +1100
Subject: [PATCH 100/187] New ruin variant (#33332)

add
---
 Resources/Maps/Ruins/abandoned_outpost.yml    | 2786 +++++++++++++++++
 .../Prototypes/Entities/Stations/base.yml     |    1 +
 2 files changed, 2787 insertions(+)
 create mode 100644 Resources/Maps/Ruins/abandoned_outpost.yml

diff --git a/Resources/Maps/Ruins/abandoned_outpost.yml b/Resources/Maps/Ruins/abandoned_outpost.yml
new file mode 100644
index 00000000000..3c091f7dc67
--- /dev/null
+++ b/Resources/Maps/Ruins/abandoned_outpost.yml
@@ -0,0 +1,2786 @@
+meta:
+  format: 6
+  postmapinit: false
+tilemap:
+  0: Space
+  18: FloorBlueCircuit
+  32: FloorDark
+  37: FloorDarkMono
+  68: FloorMetalDiamond
+  83: FloorReinforced
+  97: FloorSteel
+  1: FloorSteelBurnt
+  4: FloorSteelDamaged
+  108: FloorSteelMono
+  116: FloorWhite
+  121: FloorWhiteMono
+  3: Lattice
+  130: Plating
+  5: PlatingBurnt
+  2: PlatingDamaged
+entities:
+- proto: ""
+  entities:
+  - uid: 2
+    components:
+    - type: MetaData
+      name: grid
+    - type: Transform
+      pos: 6.7773275,4.1394477
+      parent: invalid
+    - type: MapGrid
+      chunks:
+        0,0:
+          ind: 0,0
+          tiles: YQAAAAADbAAAAAADAQAAAAABYQAAAAABYQAAAAACbAAAAAABggAAAAAAggAAAAAAYQAAAAACggAAAAAAggAAAAAAggAAAAAAggAAAAAABQAAAAAAAwAAAAAAAwAAAAAAAQAAAAABBAAAAAABYQAAAAABYQAAAAAAeQAAAAACeQAAAAACggAAAAAAeQAAAAAAdAAAAAACeQAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAgAAAAABYQAAAAAAeQAAAAADdAAAAAAAdAAAAAACggAAAAAAeQAAAAABdAAAAAABeQAAAAADggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAABBQAAAAAAYQAAAAACggAAAAAAdAAAAAACdAAAAAADggAAAAAAdAAAAAABeQAAAAABggAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAABQAAAAAAAQAAAAABggAAAAAAeQAAAAACdAAAAAAAdAAAAAACdAAAAAADdAAAAAABeQAAAAADggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAggAAAAAABAAAAAAEggAAAAAAeQAAAAADdAAAAAADdAAAAAAAdAAAAAAAdAAAAAAAeQAAAAABggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAwAAAAAAAgAAAAACggAAAAAAdAAAAAABdAAAAAADdAAAAAACdAAAAAACdAAAAAACdAAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAwAAAAAABQAAAAAAggAAAAAAdAAAAAAAdAAAAAADdAAAAAABdAAAAAACdAAAAAADdAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAwAAAAAAAwAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          version: 6
+        0,-1:
+          ind: 0,-1
+          tiles: AAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAABQAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAABQAAAAAAAgAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAACBAAAAAAEAQAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAgAAAAAAYQAAAAAAggAAAAAAYQAAAAADYQAAAAADYQAAAAABYQAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAAAAAAAAAYQAAAAADBAAAAAAAYQAAAAACggAAAAAAYQAAAAADYQAAAAACYQAAAAABYQAAAAAAggAAAAAAYQAAAAABggAAAAAAYQAAAAADYQAAAAADYQAAAAAAggAAAAAAAAAAAAAAYQAAAAAAYQAAAAADAQAAAAABggAAAAAAYQAAAAACYQAAAAABYQAAAAAAYQAAAAABggAAAAAAYQAAAAACggAAAAAAYQAAAAADJQAAAAAAYQAAAAADggAAAAAAAAAAAAAAYQAAAAADYQAAAAABYQAAAAACggAAAAAAYQAAAAADYQAAAAABYQAAAAABYQAAAAADYQAAAAACYQAAAAACggAAAAAAYQAAAAACYQAAAAADYQAAAAACggAAAAAAAAAAAAAAYQAAAAAAYQAAAAADYQAAAAACYQAAAAADYQAAAAABYQAAAAADYQAAAAACYQAAAAACYQAAAAACYQAAAAABYQAAAAACYQAAAAAAYQAAAAAAYQAAAAAAggAAAAAAAAAAAAAAYQAAAAAAbAAAAAADYQAAAAADYQAAAAADYQAAAAACYQAAAAAAYQAAAAADYQAAAAAAYQAAAAACYQAAAAACggAAAAAAYQAAAAADYQAAAAABYQAAAAABggAAAAAAAAAAAAAAYQAAAAADbAAAAAACYQAAAAABYQAAAAABYQAAAAACbAAAAAACggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAAAAAAAAAYQAAAAABbAAAAAAAYQAAAAAAYQAAAAABYQAAAAADYQAAAAABYQAAAAAAYQAAAAADAQAAAAABAgAAAAACggAAAAAAAwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAAAbAAAAAAAbAAAAAACbAAAAAADbAAAAAACYQAAAAACYQAAAAAAAQAAAAAAYQAAAAAABAAAAAABAgAAAAABggAAAAAAggAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAYQAAAAAAbAAAAAABYQAAAAADYQAAAAADYQAAAAADYQAAAAADAQAAAAAAYQAAAAAABAAAAAACAwAAAAAABQAAAAAABQAAAAAAAwAAAAAAAwAAAAAAAwAAAAAAAwAAAAAA
+          version: 6
+        -1,-1:
+          ind: -1,-1
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAYQAAAAACYQAAAAADYQAAAAAAYQAAAAABggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAgAAAAACBAAAAAABAQAAAAAAggAAAAAAYQAAAAADggAAAAAAYQAAAAADYQAAAAADYQAAAAAAYQAAAAABggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAQAAAAAABQAAAAAAYQAAAAABggAAAAAAYQAAAAACggAAAAAAYQAAAAABYQAAAAADYQAAAAAAYQAAAAACggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAYQAAAAABYQAAAAABBAAAAAAEggAAAAAAYQAAAAADYQAAAAACYQAAAAABYQAAAAABYQAAAAACYQAAAAADggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAYQAAAAABYQAAAAADYQAAAAACYQAAAAACYQAAAAADYQAAAAAAYQAAAAAAYQAAAAACYQAAAAACYQAAAAADYQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAYQAAAAADYQAAAAACYQAAAAABggAAAAAAYQAAAAABYQAAAAAAYQAAAAADYQAAAAABYQAAAAAAYQAAAAAAYQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAbAAAAAAAYQAAAAACYQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAwAAAAAAAwAAAAAABQAAAAAAAgAAAAABAQAAAAABYQAAAAABYQAAAAADYQAAAAABYQAAAAACYQAAAAADYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAggAAAAAABQAAAAAAAgAAAAAABAAAAAADAQAAAAABAQAAAAAAYQAAAAACAQAAAAAAYQAAAAAAbAAAAAABbAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAwAAAAAABQAAAAAAAwAAAAAAAgAAAAAAYQAAAAACBAAAAAAAYQAAAAACYQAAAAACYQAAAAACYQAAAAAA
+          version: 6
+        -1,0:
+          ind: -1,0
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAJQAAAAADIAAAAAAAIAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAJQAAAAAAJQAAAAABJQAAAAADggAAAAAAJQAAAAADJQAAAAADIAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAJQAAAAADJQAAAAAAJQAAAAAAggAAAAAAIAAAAAADIAAAAAACJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAggAAAAAAJQAAAAAAggAAAAAAggAAAAAAIAAAAAAAIAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAJQAAAAACIAAAAAABJQAAAAADJQAAAAAAIAAAAAABJQAAAAABggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAIAAAAAABIAAAAAABIAAAAAABIAAAAAACIAAAAAACIAAAAAABggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAUwAAAAAAUwAAAAAAIAAAAAADIAAAAAABIAAAAAABEgAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAUwAAAAAAUwAAAAAAIAAAAAACIAAAAAABIAAAAAABEgAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          version: 6
+        1,0:
+          ind: 1,0
+          tiles: AwAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          version: 6
+        1,-1:
+          ind: 1,-1
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          version: 6
+    - type: Broadphase
+    - type: Physics
+      bodyStatus: InAir
+      angularDamping: 0.05
+      linearDamping: 0.05
+      fixedRotation: False
+      bodyType: Dynamic
+    - type: Fixtures
+      fixtures: {}
+    - type: OccluderTree
+    - type: SpreaderGrid
+    - type: Shuttle
+    - type: GridPathfinding
+    - type: Gravity
+      gravityShakeSound: !type:SoundPathSpecifier
+        path: /Audio/Effects/alert.ogg
+    - type: DecalGrid
+      chunkCollection:
+        version: 2
+        nodes:
+        - node:
+            angle: -1.5707963267948966 rad
+            color: '#FFFFFFFF'
+            id: Arrows
+          decals:
+            29: -5,7
+        - node:
+            color: '#FFFFFFFF'
+            id: Bot
+          decals:
+            14: -5,4
+            15: -4,4
+            16: -2,4
+            17: -7,4
+            145: 12,-8
+        - node:
+            angle: 3.141592653589793 rad
+            color: '#52B4E996'
+            id: BotGreyscale
+          decals:
+            130: 4,4
+            131: 4,5
+            132: 9,7
+            133: 9,6
+        - node:
+            angle: 3.141592653589793 rad
+            color: '#EFB34196'
+            id: BotGreyscale
+          decals:
+            136: 7,2
+            137: 7,1
+        - node:
+            color: '#D381C996'
+            id: BrickTileWhiteCornerNw
+          decals:
+            7: -5,7
+            8: -7,5
+        - node:
+            color: '#D381C996'
+            id: BrickTileWhiteInnerNw
+          decals:
+            2: -5,5
+        - node:
+            color: '#EFB34196'
+            id: BrickTileWhiteInnerSe
+          decals:
+            97: 6,4
+        - node:
+            color: '#52B4E996'
+            id: BrickTileWhiteInnerSw
+          decals:
+            109: 6,4
+        - node:
+            color: '#D381C996'
+            id: BrickTileWhiteLineE
+          decals:
+            13: -2,5
+        - node:
+            color: '#52B4E996'
+            id: BrickTileWhiteLineN
+          decals:
+            110: 4,6
+            111: 5,6
+            112: 6,6
+            113: 7,6
+        - node:
+            color: '#D381C915'
+            id: BrickTileWhiteLineN
+          decals:
+            64: -5,2
+            65: -6,2
+            66: -6,2
+            67: -5,2
+        - node:
+            color: '#D381C996'
+            id: BrickTileWhiteLineN
+          decals:
+            3: -6,5
+            11: -3,7
+            12: -4,7
+        - node:
+            color: '#52B4E996'
+            id: BrickTileWhiteLineS
+          decals:
+            107: 4,4
+            108: 5,4
+        - node:
+            color: '#D381C996'
+            id: BrickTileWhiteLineS
+          decals:
+            9: -6,4
+            10: -3,4
+        - node:
+            color: '#EFB34196'
+            id: BrickTileWhiteLineS
+          decals:
+            94: 7,4
+            95: 8,4
+            96: 9,4
+        - node:
+            color: '#D381C996'
+            id: BrickTileWhiteLineW
+          decals:
+            5: -5,6
+        - node:
+            color: '#52B4E996'
+            id: CheckerNESW
+          decals:
+            103: 4,2
+            104: 5,2
+            105: 5,3
+            106: 4,3
+            114: 4,7
+            115: 5,7
+            116: 6,7
+            117: 7,7
+            124: 8,6
+            125: 8,7
+            126: 9,7
+            127: 9,6
+        - node:
+            color: '#D381C915'
+            id: CheckerNESW
+          decals:
+            60: -2,2
+            61: -2,3
+            62: -3,3
+            63: -3,2
+        - node:
+            color: '#EFB34196'
+            id: CheckerNESW
+          decals:
+            89: 8,2
+            90: 8,1
+        - node:
+            color: '#FFFFFFFF'
+            id: Delivery
+          decals:
+            26: -7,1
+            27: -7,2
+            98: -3,0
+            99: -3,-4
+            100: 5,-4
+            101: 5,0
+        - node:
+            angle: 3.141592653589793 rad
+            color: '#FFFFFFFF'
+            id: Delivery
+          decals:
+            73: 2,3
+            75: 6,-1
+            76: 6,-2
+            77: 6,-3
+            78: -4,-1
+            79: -4,-2
+            80: -4,-3
+            81: 0,-7
+            82: 1,-7
+            83: 2,-7
+        - node:
+            cleanable: True
+            color: '#FFFFFFFF'
+            id: DirtHeavy
+          decals:
+            154: -7,-5
+            155: -6,-7
+            156: -3,-6
+            157: -3,-8
+            158: -4,-8
+            159: -3,-9
+            160: -7,-9
+            161: -9,-8
+            162: -11,-7
+            163: -9,-5
+            164: -9,-9
+            165: -11,-8
+            166: -7,-2
+            167: -5,-2
+            168: -5,-3
+            169: -1,-1
+            170: -1,-3
+            173: 2,-1
+            175: 5,-3
+            176: 7,-1
+            177: 7,-3
+            178: 9,-2
+            179: 2,-5
+            180: 0,-6
+            181: 2,-10
+            182: 2,-11
+            183: 0,-9
+            184: -1,-6
+            185: -1,-4
+            186: 3,-5
+            187: 3,-4
+            188: 5,2
+            189: 5,3
+            190: 5,5
+            191: 4,7
+            192: 7,5
+            193: 8,7
+            194: 8,4
+            195: 8,1
+            196: 8,2
+            197: -2,2
+            198: -3,3
+            199: -3,5
+            200: -4,6
+            201: -4,5
+            202: -6,5
+            203: -6,5
+            241: 8,-7
+            242: 6,-6
+            243: 4,-4
+            244: 5,-9
+            245: 4,-9
+            317: 11,-8
+            318: 11,-9
+            319: 12,-9
+            320: 12,-7
+        - node:
+            cleanable: True
+            color: '#FFFFFFFF'
+            id: DirtHeavyMonotile
+          decals:
+            204: -6,-1
+            205: -4,-3
+            206: -3,-2
+            207: 0,-2
+            208: 3,-2
+            209: 4,-2
+            210: 0,-1
+            211: 2,1
+            212: 2,3
+            213: 2,4
+            214: 8,-2
+            215: 6,-3
+            216: 6,-1
+            217: 2,-3
+            218: 0,-4
+            219: 2,-6
+            220: 1,-6
+            221: 0,-8
+            222: 2,-9
+            223: 2,-11
+            224: 4,-10
+            225: 6,-10
+            226: 6,-9
+            227: 5,-9
+            228: 5,-7
+            229: 5,-6
+            230: 7,-5
+            231: 7,-7
+            232: 9,-6
+            233: 9,-8
+            234: 9,-9
+            237: 12,-8
+            239: 13,-5
+            248: -6,-6
+            249: -10,-7
+            250: -9,-6
+            251: -6,-1
+            252: -5,1
+            253: -6,2
+            254: -6,1
+            255: -6,1
+            256: -5,2
+            257: -4,5
+            258: -4,7
+            259: -3,6
+            260: -3,5
+            261: -8,7
+            262: -8,7
+            263: -3,1
+            264: -2,1
+            265: 5,1
+            266: 4,1
+            267: 2,-2
+            268: 2,0
+            269: 0,-3
+            270: 2,4
+            271: 0,3
+            272: 1,4
+            273: 2,6
+            274: 2,7
+            275: 7,5
+            276: 8,5
+            277: 8,2
+            278: 9,1
+            279: 9,2
+            280: 12,-2
+            281: 11,-2
+            282: 9,-7
+            283: 9,-9
+            284: 4,-10
+            312: 12,-8
+            313: 12,-8
+            314: 11,-7
+            315: 13,-7
+            316: 13,-9
+            338: 1,-5
+            339: 1,-3
+            340: 1,-1
+            341: 1,0
+            342: 1,0
+            343: 6,4
+            344: 5,4
+            345: 4,5
+            346: 4,4
+            347: 4,4
+            348: 9,2
+            349: 9,2
+            350: 9,5
+            351: 8,7
+            352: 9,7
+        - node:
+            cleanable: True
+            color: '#FFFFFFFF'
+            id: DirtMedium
+          decals:
+            285: 2,-4
+            286: 4,-3
+            287: 4,-1
+            288: -2,-1
+            289: -2,-3
+            290: -6,-5
+            291: -3,-7
+            292: -3,-9
+            293: -3,-10
+            294: -3,-10
+            295: -9,-8
+            296: -9,-5
+            297: -6,4
+            298: -3,6
+            299: 5,2
+            300: 5,6
+            301: 5,6
+            302: 8,5
+            303: 8,1
+            304: 9,-5
+            305: 5,-6
+            306: 5,-5
+            307: 5,-9
+            308: 4,-10
+            309: 11,-6
+            310: 11,-5
+            311: 11,-6
+            321: 11,-9
+            322: 13,-8
+        - node:
+            color: '#52B4E996'
+            id: FullTileOverlayGreyscale
+          decals:
+            118: 5,5
+            119: 6,5
+        - node:
+            angle: -1.5707963267948966 rad
+            color: '#FFFFFFFF'
+            id: LoadingArea
+          decals:
+            28: -5,6
+        - node:
+            color: '#FFFFFFFF'
+            id: LoadingArea
+          decals:
+            102: -3,1
+        - node:
+            angle: 3.141592653589793 rad
+            color: '#FFFFFFFF'
+            id: LoadingArea
+          decals:
+            68: -2,3
+        - node:
+            color: '#52B4E996'
+            id: LoadingAreaGreyscale
+          decals:
+            128: 5,1
+        - node:
+            angle: 3.141592653589793 rad
+            color: '#52B4E996'
+            id: LoadingAreaGreyscale
+          decals:
+            129: 4,3
+        - node:
+            color: '#52B4E996'
+            id: QuarterTileOverlayGreyscale
+          decals:
+            122: 6,4
+        - node:
+            color: '#52B4E996'
+            id: QuarterTileOverlayGreyscale180
+          decals:
+            121: 5,6
+        - node:
+            color: '#52B4E996'
+            id: QuarterTileOverlayGreyscale270
+          decals:
+            120: 6,6
+        - node:
+            color: '#52B4E996'
+            id: QuarterTileOverlayGreyscale90
+          decals:
+            123: 5,4
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign1
+          decals:
+            331: -2,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign2
+          decals:
+            332: -1,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign3
+          decals:
+            333: 0,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign4
+          decals:
+            334: 1,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign5
+          decals:
+            335: 2,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign6
+          decals:
+            336: 3,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: SpaceStationSign7
+          decals:
+            337: 4,-2
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnCornerSmallNE
+          decals:
+            21: -3,5
+            329: 11,-9
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnCornerSmallNW
+          decals:
+            330: 13,-9
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnCornerSmallSE
+          decals:
+            328: 11,-7
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnCornerSmallSW
+          decals:
+            327: 13,-7
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnLineE
+          decals:
+            19: -3,6
+            20: -3,7
+            324: 11,-8
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnLineN
+          decals:
+            0: -7,-9
+            1: 9,-9
+            325: 12,-7
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnLineS
+          decals:
+            24: -7,6
+            25: -7,7
+            323: 13,-8
+        - node:
+            color: '#FFFFFFFF'
+            id: WarnLineW
+          decals:
+            18: -2,5
+            326: 12,-9
+    - type: GridAtmosphere
+      version: 2
+      data:
+        chunkSize: 4
+    - type: GasTileOverlay
+    - type: RadiationGridResistance
+- proto: AirlockAssemblyCargo
+  entities:
+  - uid: 331
+    components:
+    - type: Transform
+      pos: -0.5,-5.5
+      parent: 2
+- proto: AirlockAssemblyEngineering
+  entities:
+  - uid: 1
+    components:
+    - type: Transform
+      pos: 9.5,-7.5
+      parent: 2
+  - uid: 6
+    components:
+    - type: Transform
+      pos: 10.5,-5.5
+      parent: 2
+- proto: AirlockAssemblyMedical
+  entities:
+  - uid: 25
+    components:
+    - type: Transform
+      pos: 3.5,2.5
+      parent: 2
+- proto: AirlockAssemblyScienceGlass
+  entities:
+  - uid: 31
+    components:
+    - type: Transform
+      pos: -5.5,3.5
+      parent: 2
+- proto: AirlockAssemblyShuttle
+  entities:
+  - uid: 10
+    components:
+    - type: Transform
+      pos: -11.5,-7.5
+      parent: 2
+- proto: AirlockCargoLocked
+  entities:
+  - uid: 175
+    components:
+    - type: Transform
+      pos: -7.5,-5.5
+      parent: 2
+  - uid: 201
+    components:
+    - type: Transform
+      pos: -6.5,-7.5
+      parent: 2
+- proto: AirlockChemistryGlassLocked
+  entities:
+  - uid: 219
+    components:
+    - type: Transform
+      pos: 8.5,3.5
+      parent: 2
+- proto: AirlockEngineeringLocked
+  entities:
+  - uid: 38
+    components:
+    - type: Transform
+      pos: 3.5,-5.5
+      parent: 2
+- proto: AirlockExternalShuttleLocked
+  entities:
+  - uid: 192
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -11.5,-5.5
+      parent: 2
+- proto: AirlockScienceLocked
+  entities:
+  - uid: 36
+    components:
+    - type: Transform
+      pos: -0.5,2.5
+      parent: 2
+- proto: Bed
+  entities:
+  - uid: 131
+    components:
+    - type: Transform
+      pos: 4.5,7.5
+      parent: 2
+  - uid: 190
+    components:
+    - type: Transform
+      pos: 8.5,7.5
+      parent: 2
+- proto: BlastDoorOpen
+  entities:
+  - uid: 41
+    components:
+    - type: Transform
+      pos: -7.5,7.5
+      parent: 2
+- proto: BluespaceBeaker
+  entities:
+  - uid: 112
+    components:
+    - type: Transform
+      parent: 111
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+- proto: BrokenBottle
+  entities:
+  - uid: 42
+    components:
+    - type: Transform
+      pos: -3.2567945,-8.612661
+      parent: 2
+- proto: CablecuffsBroken
+  entities:
+  - uid: 107
+    components:
+    - type: Transform
+      pos: 6.54331,-5.628286
+      parent: 2
+- proto: CargoPallet
+  entities:
+  - uid: 302
+    components:
+    - type: Transform
+      pos: -6.5,-9.5
+      parent: 2
+  - uid: 316
+    components:
+    - type: Transform
+      pos: 9.5,-9.5
+      parent: 2
+- proto: Chair
+  entities:
+  - uid: 280
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -3.5,6.5
+      parent: 2
+- proto: ChairOfficeDark
+  entities:
+  - uid: 262
+    components:
+    - type: Transform
+      pos: -1.5,1.5
+      parent: 2
+  - uid: 263
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -1.5,-4.5
+      parent: 2
+  - uid: 264
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 4.5,-4.5
+      parent: 2
+  - uid: 265
+    components:
+    - type: Transform
+      pos: 4.5,1.5
+      parent: 2
+  - uid: 309
+    components:
+    - type: Transform
+      pos: 8.5,1.5
+      parent: 2
+- proto: ClosetWallEmergencyFilledRandom
+  entities:
+  - uid: 357
+    components:
+    - type: Transform
+      pos: 8.5,8.5
+      parent: 2
+  - uid: 358
+    components:
+    - type: Transform
+      pos: -5.5,8.5
+      parent: 2
+- proto: ClosetWallFireFilledRandom
+  entities:
+  - uid: 359
+    components:
+    - type: Transform
+      pos: -6.5,8.5
+      parent: 2
+  - uid: 360
+    components:
+    - type: Transform
+      pos: 9.5,8.5
+      parent: 2
+- proto: ComputerBroken
+  entities:
+  - uid: 49
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -4.5,6.5
+      parent: 2
+  - uid: 54
+    components:
+    - type: Transform
+      pos: 4.5,3.5
+      parent: 2
+  - uid: 103
+    components:
+    - type: Transform
+      pos: -3.5,-4.5
+      parent: 2
+  - uid: 106
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-7.5
+      parent: 2
+  - uid: 373
+    components:
+    - type: Transform
+      pos: -9.5,-4.5
+      parent: 2
+- proto: ComputerFrame
+  entities:
+  - uid: 55
+    components:
+    - type: Transform
+      pos: -1.5,3.5
+      parent: 2
+  - uid: 370
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-6.5
+      parent: 2
+- proto: ComputerTechnologyDiskTerminal
+  entities:
+  - uid: 288
+    components:
+    - type: Transform
+      pos: -1.5,6.5
+      parent: 2
+- proto: CrateArtifactContainer
+  entities:
+  - uid: 281
+    components:
+    - type: Transform
+      pos: -6.5,4.5
+      parent: 2
+- proto: CrateFilledSpawner
+  entities:
+  - uid: 57
+    components:
+    - type: Transform
+      pos: -9.5,-5.5
+      parent: 2
+- proto: DefibrillatorCabinetFilled
+  entities:
+  - uid: 346
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 3.5,4.5
+      parent: 2
+- proto: DisposalMachineFrame
+  entities:
+  - uid: 371
+    components:
+    - type: Transform
+      pos: 6.5,-4.5
+      parent: 2
+- proto: ExtinguisherCabinetFilled
+  entities:
+  - uid: 356
+    components:
+    - type: Transform
+      pos: -6.5,3.5
+      parent: 2
+- proto: FirelockFrame
+  entities:
+  - uid: 171
+    components:
+    - type: Transform
+      pos: 6.5,-0.5
+      parent: 2
+  - uid: 172
+    components:
+    - type: Transform
+      pos: -2.5,-1.5
+      parent: 2
+- proto: FirelockGlass
+  entities:
+  - uid: 39
+    components:
+    - type: Transform
+      pos: -3.5,-0.5
+      parent: 2
+  - uid: 46
+    components:
+    - type: Transform
+      pos: 6.5,-1.5
+      parent: 2
+  - uid: 47
+    components:
+    - type: Transform
+      pos: 6.5,-2.5
+      parent: 2
+  - uid: 48
+    components:
+    - type: Transform
+      pos: 2.5,-6.5
+      parent: 2
+  - uid: 50
+    components:
+    - type: Transform
+      pos: 0.5,-6.5
+      parent: 2
+  - uid: 51
+    components:
+    - type: Transform
+      pos: -1.5,0.5
+      parent: 2
+  - uid: 52
+    components:
+    - type: Transform
+      pos: -0.5,0.5
+      parent: 2
+  - uid: 53
+    components:
+    - type: Transform
+      pos: -0.5,1.5
+      parent: 2
+  - uid: 235
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 8.5,0.5
+      parent: 2
+- proto: FloodlightBroken
+  entities:
+  - uid: 124
+    components:
+    - type: Transform
+      pos: 1.7209082,4.5385127
+      parent: 2
+- proto: FloorDrain
+  entities:
+  - uid: 336
+    components:
+    - type: Transform
+      pos: 8.5,2.5
+      parent: 2
+    - type: Fixtures
+      fixtures: {}
+- proto: FoodBowlBigTrash
+  entities:
+  - uid: 194
+    components:
+    - type: Transform
+      pos: 4.691658,6.395677
+      parent: 2
+- proto: FoodPlateSmallTrash
+  entities:
+  - uid: 317
+    components:
+    - type: Transform
+      pos: -4.4774685,2.551927
+      parent: 2
+- proto: GasCanisterBrokenBase
+  entities:
+  - uid: 191
+    components:
+    - type: Transform
+      pos: -2.5,7.5
+      parent: 2
+- proto: GasOutletInjector
+  entities:
+  - uid: 290
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,7.5
+      parent: 2
+- proto: GasPipeStraight
+  entities:
+  - uid: 291
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -3.5,7.5
+      parent: 2
+- proto: GasPort
+  entities:
+  - uid: 304
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -2.5,7.5
+      parent: 2
+- proto: GasVolumePump
+  entities:
+  - uid: 289
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -4.5,7.5
+      parent: 2
+- proto: Girder
+  entities:
+  - uid: 246
+    components:
+    - type: Transform
+      pos: 8.5,-3.5
+      parent: 2
+  - uid: 286
+    components:
+    - type: Transform
+      pos: -11.5,-3.5
+      parent: 2
+  - uid: 305
+    components:
+    - type: Transform
+      pos: -9.5,-9.5
+      parent: 2
+  - uid: 314
+    components:
+    - type: Transform
+      pos: 11.5,-3.5
+      parent: 2
+  - uid: 315
+    components:
+    - type: Transform
+      pos: 12.5,-3.5
+      parent: 2
+- proto: Grille
+  entities:
+  - uid: 8
+    components:
+    - type: Transform
+      pos: 3.5,-9.5
+      parent: 2
+  - uid: 33
+    components:
+    - type: Transform
+      pos: -0.5,-9.5
+      parent: 2
+  - uid: 60
+    components:
+    - type: Transform
+      pos: 11.5,0.5
+      parent: 2
+  - uid: 97
+    components:
+    - type: Transform
+      pos: -0.5,-8.5
+      parent: 2
+  - uid: 99
+    components:
+    - type: Transform
+      pos: 3.5,-8.5
+      parent: 2
+  - uid: 104
+    components:
+    - type: Transform
+      pos: 3.5,6.5
+      parent: 2
+  - uid: 105
+    components:
+    - type: Transform
+      pos: -0.5,5.5
+      parent: 2
+  - uid: 127
+    components:
+    - type: Transform
+      pos: 6.5,2.5
+      parent: 2
+  - uid: 130
+    components:
+    - type: Transform
+      pos: -3.5,2.5
+      parent: 2
+  - uid: 237
+    components:
+    - type: Transform
+      pos: -6.5,0.5
+      parent: 2
+  - uid: 238
+    components:
+    - type: Transform
+      pos: -5.5,0.5
+      parent: 2
+  - uid: 240
+    components:
+    - type: Transform
+      pos: 7.5,0.5
+      parent: 2
+  - uid: 241
+    components:
+    - type: Transform
+      pos: 9.5,0.5
+      parent: 2
+  - uid: 278
+    components:
+    - type: Transform
+      pos: -7.5,6.5
+      parent: 2
+  - uid: 294
+    components:
+    - type: Transform
+      pos: -4.5,3.5
+      parent: 2
+- proto: GrilleBroken
+  entities:
+  - uid: 59
+    components:
+    - type: Transform
+      pos: 3.5,-11.5
+      parent: 2
+  - uid: 67
+    components:
+    - type: Transform
+      pos: -0.5,10.5
+      parent: 2
+  - uid: 334
+    components:
+    - type: Transform
+      pos: -11.5,-2.5
+      parent: 2
+  - uid: 369
+    components:
+    - type: Transform
+      pos: 13.5,0.5
+      parent: 2
+- proto: GrilleSpawner
+  entities:
+  - uid: 70
+    components:
+    - type: Transform
+      pos: 12.5,0.5
+      parent: 2
+- proto: KitchenReagentGrinder
+  entities:
+  - uid: 332
+    components:
+    - type: Transform
+      pos: 9.5,5.5
+      parent: 2
+- proto: LockerChemistry
+  entities:
+  - uid: 111
+    components:
+    - type: Transform
+      pos: 4.5,5.5
+      parent: 2
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 112
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+- proto: LockerMedical
+  entities:
+  - uid: 114
+    components:
+    - type: Transform
+      pos: 4.5,4.5
+      parent: 2
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 116
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+- proto: LockerScientist
+  entities:
+  - uid: 120
+    components:
+    - type: Transform
+      pos: -4.5,1.5
+      parent: 2
+    - type: ContainerContainer
+      containers:
+        entity_storage: !type:Container
+          showEnts: False
+          occludes: True
+          ents:
+          - 225
+        paper_label: !type:ContainerSlot
+          showEnts: False
+          occludes: True
+          ent: null
+- proto: LockerWallMedicalFilled
+  entities:
+  - uid: 355
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 10.5,4.5
+      parent: 2
+- proto: LootSpawnerRandomCrateEngineering
+  entities:
+  - uid: 58
+    components:
+    - type: Transform
+      pos: 7.5,-7.5
+      parent: 2
+- proto: MachineAnomalyVessel
+  entities:
+  - uid: 223
+    components:
+    - type: Transform
+      pos: -6.5,2.5
+      parent: 2
+- proto: MachineFrame
+  entities:
+  - uid: 37
+    components:
+    - type: Transform
+      pos: -3.5,4.5
+      parent: 2
+  - uid: 40
+    components:
+    - type: Transform
+      pos: -6.5,1.5
+      parent: 2
+  - uid: 44
+    components:
+    - type: Transform
+      pos: 7.5,2.5
+      parent: 2
+  - uid: 372
+    components:
+    - type: Transform
+      pos: -10.5,-4.5
+      parent: 2
+- proto: MachineFrameDestroyed
+  entities:
+  - uid: 43
+    components:
+    - type: Transform
+      pos: 7.5,1.5
+      parent: 2
+  - uid: 45
+    components:
+    - type: Transform
+      pos: -1.5,4.5
+      parent: 2
+  - uid: 136
+    components:
+    - type: Transform
+      pos: 9.5,6.5
+      parent: 2
+  - uid: 173
+    components:
+    - type: Transform
+      pos: -1.5,7.5
+      parent: 2
+- proto: MedicalBed
+  entities:
+  - uid: 321
+    components:
+    - type: Transform
+      pos: 6.5,7.5
+      parent: 2
+- proto: MedkitFilled
+  entities:
+  - uid: 138
+    components:
+    - type: Transform
+      pos: 9.52752,4.7223573
+      parent: 2
+- proto: PlasmaReinforcedWindowDirectional
+  entities:
+  - uid: 165
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -5.5,5.5
+      parent: 2
+  - uid: 274
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -6.5,5.5
+      parent: 2
+  - uid: 275
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -4.5,6.5
+      parent: 2
+- proto: PlasticFlapsAirtightClear
+  entities:
+  - uid: 23
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,-3.5
+      parent: 2
+  - uid: 26
+    components:
+    - type: Transform
+      pos: 5.5,0.5
+      parent: 2
+  - uid: 27
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -2.5,-3.5
+      parent: 2
+  - uid: 29
+    components:
+    - type: Transform
+      pos: -2.5,0.5
+      parent: 2
+- proto: PlushieLizardMirrored
+  entities:
+  - uid: 125
+    components:
+    - type: MetaData
+      desc: Something about this lizard plushie feels off...
+    - type: Transform
+      pos: 12.5,-7.5
+      parent: 2
+- proto: PosterBroken
+  entities:
+  - uid: 167
+    components:
+    - type: Transform
+      pos: -2.5,8.5
+      parent: 2
+  - uid: 169
+    components:
+    - type: Transform
+      pos: -3.5,8.5
+      parent: 2
+  - uid: 176
+    components:
+    - type: Transform
+      pos: 6.5,3.5
+      parent: 2
+  - uid: 182
+    components:
+    - type: Transform
+      pos: 3.5,-6.5
+      parent: 2
+  - uid: 185
+    components:
+    - type: Transform
+      pos: -0.5,3.5
+      parent: 2
+  - uid: 189
+    components:
+    - type: Transform
+      pos: 3.5,3.5
+      parent: 2
+- proto: PosterContrabandWehWatches
+  entities:
+  - uid: 347
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -3.5,-3.5
+      parent: 2
+- proto: PosterLegitScience
+  entities:
+  - uid: 178
+    components:
+    - type: Transform
+      pos: -3.5,3.5
+      parent: 2
+- proto: PottedPlantRandom
+  entities:
+  - uid: 319
+    components:
+    - type: Transform
+      pos: 7.5,6.5
+      parent: 2
+- proto: Poweredlight
+  entities:
+  - uid: 242
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -4.5,-2.5
+      parent: 2
+  - uid: 247
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 2.5,4.5
+      parent: 2
+  - uid: 249
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 2.5,-7.5
+      parent: 2
+  - uid: 250
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -1.5,-7.5
+      parent: 2
+  - uid: 251
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -1.5,4.5
+      parent: 2
+  - uid: 253
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -5.5,-6.5
+      parent: 2
+  - uid: 254
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-7.5
+      parent: 2
+  - uid: 255
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 9.5,5.5
+      parent: 2
+  - uid: 257
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,5.5
+      parent: 2
+- proto: PoweredlightEmpty
+  entities:
+  - uid: 144
+    components:
+    - type: Transform
+      pos: 7.5,-0.5
+      parent: 2
+  - uid: 147
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 7.5,-2.5
+      parent: 2
+  - uid: 150
+    components:
+    - type: Transform
+      pos: -4.5,-0.5
+      parent: 2
+  - uid: 152
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,4.5
+      parent: 2
+  - uid: 156
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 0.5,-7.5
+      parent: 2
+  - uid: 158
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 8.5,-6.5
+      parent: 2
+  - uid: 159
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 0.5,4.5
+      parent: 2
+- proto: PoweredSmallLight
+  entities:
+  - uid: 258
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 9.5,2.5
+      parent: 2
+  - uid: 259
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,2.5
+      parent: 2
+  - uid: 261
+    components:
+    - type: Transform
+      pos: 12.5,-4.5
+      parent: 2
+- proto: PoweredSmallLightEmpty
+  entities:
+  - uid: 160
+    components:
+    - type: Transform
+      pos: -9.5,-4.5
+      parent: 2
+- proto: Rack
+  entities:
+  - uid: 224
+    components:
+    - type: Transform
+      pos: -4.5,2.5
+      parent: 2
+- proto: RandomArtifactSpawner20
+  entities:
+  - uid: 166
+    components:
+    - type: Transform
+      pos: -5.5,6.5
+      parent: 2
+- proto: RandomEngineerCorpseSpawner
+  entities:
+  - uid: 93
+    components:
+    - type: Transform
+      pos: 7.5,-6.5
+      parent: 2
+- proto: RandomPosterLegit
+  entities:
+  - uid: 337
+    components:
+    - type: Transform
+      pos: 5.5,8.5
+      parent: 2
+  - uid: 338
+    components:
+    - type: Transform
+      pos: 6.5,8.5
+      parent: 2
+- proto: RandomScienceCorpseSpawner
+  entities:
+  - uid: 354
+    components:
+    - type: Transform
+      pos: -2.5,2.5
+      parent: 2
+- proto: ReinforcedGirder
+  entities:
+  - uid: 62
+    components:
+    - type: Transform
+      pos: 3.5,9.5
+      parent: 2
+  - uid: 206
+    components:
+    - type: Transform
+      pos: -0.5,8.5
+      parent: 2
+  - uid: 215
+    components:
+    - type: Transform
+      pos: -7.5,0.5
+      parent: 2
+- proto: ReinforcedPlasmaWindow
+  entities:
+  - uid: 277
+    components:
+    - type: Transform
+      pos: -7.5,6.5
+      parent: 2
+- proto: ReinforcedWindow
+  entities:
+  - uid: 9
+    components:
+    - type: Transform
+      pos: -4.5,3.5
+      parent: 2
+  - uid: 96
+    components:
+    - type: Transform
+      pos: -5.5,0.5
+      parent: 2
+  - uid: 110
+    components:
+    - type: Transform
+      pos: -4.5,0.5
+      parent: 2
+  - uid: 113
+    components:
+    - type: Transform
+      pos: 9.5,0.5
+      parent: 2
+  - uid: 115
+    components:
+    - type: Transform
+      pos: -0.5,6.5
+      parent: 2
+  - uid: 117
+    components:
+    - type: Transform
+      pos: 3.5,6.5
+      parent: 2
+  - uid: 118
+    components:
+    - type: Transform
+      pos: 3.5,5.5
+      parent: 2
+  - uid: 123
+    components:
+    - type: Transform
+      pos: 3.5,-8.5
+      parent: 2
+  - uid: 126
+    components:
+    - type: Transform
+      pos: -0.5,-9.5
+      parent: 2
+  - uid: 221
+    components:
+    - type: Transform
+      pos: -3.5,2.5
+      parent: 2
+  - uid: 222
+    components:
+    - type: Transform
+      pos: 6.5,2.5
+      parent: 2
+- proto: SalvageCanisterSpawner
+  entities:
+  - uid: 350
+    components:
+    - type: Transform
+      pos: -4.5,-7.5
+      parent: 2
+  - uid: 352
+    components:
+    - type: Transform
+      pos: -4.5,-8.5
+      parent: 2
+  - uid: 353
+    components:
+    - type: Transform
+      pos: -4.5,-9.5
+      parent: 2
+- proto: SalvageLootSpawner
+  entities:
+  - uid: 71
+    components:
+    - type: Transform
+      pos: -4.5,5.5
+      parent: 2
+- proto: SalvageMaterialCrateSpawner
+  entities:
+  - uid: 32
+    components:
+    - type: Transform
+      pos: -3.5,-7.5
+      parent: 2
+  - uid: 91
+    components:
+    - type: Transform
+      pos: -5.5,1.5
+      parent: 2
+  - uid: 322
+    components:
+    - type: Transform
+      pos: 8.5,6.5
+      parent: 2
+  - uid: 339
+    components:
+    - type: Transform
+      pos: -2.5,-8.5
+      parent: 2
+- proto: SalvageMobSpawner
+  entities:
+  - uid: 349
+    components:
+    - type: Transform
+      pos: -3.5,-5.5
+      parent: 2
+- proto: SalvageMobSpawner75
+  entities:
+  - uid: 348
+    components:
+    - type: Transform
+      pos: -4.5,-6.5
+      parent: 2
+- proto: SalvageSpawnerMobMagnet
+  entities:
+  - uid: 361
+    components:
+    - type: Transform
+      pos: 8.5,-5.5
+      parent: 2
+  - uid: 362
+    components:
+    - type: Transform
+      pos: 6.5,-7.5
+      parent: 2
+- proto: SalvageSpawnerScrapCommon
+  entities:
+  - uid: 344
+    components:
+    - type: Transform
+      pos: -3.5,-6.5
+      parent: 2
+- proto: SalvageSpawnerScrapCommon75
+  entities:
+  - uid: 56
+    components:
+    - type: Transform
+      pos: 9.5,7.5
+      parent: 2
+  - uid: 79
+    components:
+    - type: Transform
+      pos: 6.5,6.5
+      parent: 2
+  - uid: 83
+    components:
+    - type: Transform
+      pos: 7.5,-5.5
+      parent: 2
+  - uid: 87
+    components:
+    - type: Transform
+      pos: 5.5,-7.5
+      parent: 2
+  - uid: 90
+    components:
+    - type: Transform
+      pos: 7.5,-9.5
+      parent: 2
+- proto: SalvageSpawnerScrapValuable
+  entities:
+  - uid: 121
+    components:
+    - type: Transform
+      pos: 6.5,-6.5
+      parent: 2
+- proto: SalvageSpawnerScrapValuable75
+  entities:
+  - uid: 163
+    components:
+    - type: Transform
+      pos: -4.5,4.5
+      parent: 2
+  - uid: 340
+    components:
+    - type: Transform
+      pos: -2.5,-6.5
+      parent: 2
+- proto: SalvageSpawnerTreasure
+  entities:
+  - uid: 74
+    components:
+    - type: Transform
+      pos: -6.5,-8.5
+      parent: 2
+  - uid: 75
+    components:
+    - type: Transform
+      pos: 8.5,2.5
+      parent: 2
+  - uid: 78
+    components:
+    - type: Transform
+      pos: -6.5,5.5
+      parent: 2
+- proto: SalvageSpawnerTreasureValuable
+  entities:
+  - uid: 72
+    components:
+    - type: Transform
+      pos: 9.5,-8.5
+      parent: 2
+- proto: ShardGlass
+  entities:
+  - uid: 328
+    components:
+    - type: Transform
+      pos: -1.0626283,1.741735
+      parent: 2
+  - uid: 333
+    components:
+    - type: Transform
+      pos: 3.4061213,0.19485998
+      parent: 2
+- proto: ShardGlassReinforced
+  entities:
+  - uid: 141
+    components:
+    - type: Transform
+      pos: 3.7342463,-0.008265018
+      parent: 2
+  - uid: 330
+    components:
+    - type: Transform
+      pos: 0.2028017,1.4173388
+      parent: 2
+- proto: SheetGlass
+  entities:
+  - uid: 298
+    components:
+    - type: Transform
+      pos: -1.4880872,5.502641
+      parent: 2
+- proto: SheetPlastic
+  entities:
+  - uid: 299
+    components:
+    - type: Transform
+      pos: -1.5037122,5.346391
+      parent: 2
+- proto: SheetSteel
+  entities:
+  - uid: 297
+    components:
+    - type: Transform
+      pos: -1.4724622,5.643266
+      parent: 2
+- proto: SignCargo
+  entities:
+  - uid: 73
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -0.5,-6.5
+      parent: 2
+- proto: SignDirectionalMed
+  entities:
+  - uid: 351
+    components:
+    - type: Transform
+      pos: 3.5,7.5
+      parent: 2
+- proto: SignDirectionalSci
+  entities:
+  - uid: 295
+    components:
+    - type: Transform
+      pos: -0.5,7.5
+      parent: 2
+- proto: SinkWide
+  entities:
+  - uid: 335
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 8.5,2.5
+      parent: 2
+- proto: SmartFridge
+  entities:
+  - uid: 218
+    components:
+    - type: Transform
+      pos: 7.5,3.5
+      parent: 2
+- proto: SpawnMobBearSalvage
+  entities:
+  - uid: 368
+    components:
+    - type: Transform
+      pos: -3.5,7.5
+      parent: 2
+- proto: SpawnMobCobraSalvage
+  entities:
+  - uid: 364
+    components:
+    - type: Transform
+      pos: 7.5,4.5
+      parent: 2
+  - uid: 367
+    components:
+    - type: Transform
+      pos: -3.5,5.5
+      parent: 2
+- proto: SpawnMobSpiderSalvage
+  entities:
+  - uid: 345
+    components:
+    - type: Transform
+      pos: -2.5,-7.5
+      parent: 2
+  - uid: 363
+    components:
+    - type: Transform
+      pos: 6.5,5.5
+      parent: 2
+- proto: StationMapBroken
+  entities:
+  - uid: 95
+    components:
+    - type: Transform
+      pos: -3.5,0.5
+      parent: 2
+  - uid: 101
+    components:
+    - type: Transform
+      pos: 6.5,0.5
+      parent: 2
+- proto: SubstationBasic
+  entities:
+  - uid: 228
+    components:
+    - type: Transform
+      pos: -6.5,-9.5
+      parent: 2
+  - uid: 229
+    components:
+    - type: Transform
+      pos: 9.5,-9.5
+      parent: 2
+- proto: SyringeBluespace
+  entities:
+  - uid: 116
+    components:
+    - type: Transform
+      parent: 114
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+- proto: TableFrame
+  entities:
+  - uid: 193
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 5.5,7.5
+      parent: 2
+- proto: TableGlass
+  entities:
+  - uid: 320
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 7.5,7.5
+      parent: 2
+- proto: TableReinforced
+  entities:
+  - uid: 3
+    components:
+    - type: Transform
+      pos: -0.5,-3.5
+      parent: 2
+  - uid: 4
+    components:
+    - type: Transform
+      pos: -1.5,-3.5
+      parent: 2
+  - uid: 13
+    components:
+    - type: Transform
+      pos: 3.5,-4.5
+      parent: 2
+  - uid: 14
+    components:
+    - type: Transform
+      pos: 3.5,-3.5
+      parent: 2
+  - uid: 15
+    components:
+    - type: Transform
+      pos: -0.5,0.5
+      parent: 2
+  - uid: 16
+    components:
+    - type: Transform
+      pos: 4.5,-3.5
+      parent: 2
+  - uid: 17
+    components:
+    - type: Transform
+      pos: -0.5,-4.5
+      parent: 2
+  - uid: 18
+    components:
+    - type: Transform
+      pos: 4.5,0.5
+      parent: 2
+  - uid: 19
+    components:
+    - type: Transform
+      pos: 3.5,1.5
+      parent: 2
+  - uid: 20
+    components:
+    - type: Transform
+      pos: 3.5,0.5
+      parent: 2
+  - uid: 21
+    components:
+    - type: Transform
+      pos: -1.5,0.5
+      parent: 2
+  - uid: 22
+    components:
+    - type: Transform
+      pos: -0.5,1.5
+      parent: 2
+  - uid: 122
+    components:
+    - type: Transform
+      pos: 8.5,0.5
+      parent: 2
+  - uid: 296
+    components:
+    - type: Transform
+      pos: -1.5,5.5
+      parent: 2
+  - uid: 310
+    components:
+    - type: Transform
+      pos: 9.5,1.5
+      parent: 2
+  - uid: 311
+    components:
+    - type: Transform
+      pos: 9.5,2.5
+      parent: 2
+  - uid: 323
+    components:
+    - type: Transform
+      pos: 9.5,4.5
+      parent: 2
+  - uid: 324
+    components:
+    - type: Transform
+      pos: 9.5,5.5
+      parent: 2
+- proto: WallReinforced
+  entities:
+  - uid: 7
+    components:
+    - type: Transform
+      pos: -7.5,3.5
+      parent: 2
+  - uid: 11
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,0.5
+      parent: 2
+  - uid: 24
+    components:
+    - type: Transform
+      pos: -7.5,5.5
+      parent: 2
+  - uid: 28
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 3.5,4.5
+      parent: 2
+  - uid: 145
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 3.5,3.5
+      parent: 2
+  - uid: 146
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 3.5,7.5
+      parent: 2
+  - uid: 148
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 4.5,8.5
+      parent: 2
+  - uid: 149
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,8.5
+      parent: 2
+  - uid: 151
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 7.5,8.5
+      parent: 2
+  - uid: 153
+    components:
+    - type: Transform
+      pos: -3.5,8.5
+      parent: 2
+  - uid: 154
+    components:
+    - type: Transform
+      pos: -0.5,7.5
+      parent: 2
+  - uid: 155
+    components:
+    - type: Transform
+      pos: -1.5,8.5
+      parent: 2
+  - uid: 157
+    components:
+    - type: Transform
+      pos: -3.5,0.5
+      parent: 2
+  - uid: 161
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,2.5
+      parent: 2
+  - uid: 162
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,3.5
+      parent: 2
+  - uid: 164
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,4.5
+      parent: 2
+  - uid: 168
+    components:
+    - type: Transform
+      pos: -4.5,8.5
+      parent: 2
+  - uid: 170
+    components:
+    - type: Transform
+      pos: -5.5,8.5
+      parent: 2
+  - uid: 270
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,6.5
+      parent: 2
+  - uid: 271
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,7.5
+      parent: 2
+  - uid: 272
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 8.5,8.5
+      parent: 2
+  - uid: 303
+    components:
+    - type: Transform
+      pos: -0.5,3.5
+      parent: 2
+- proto: WallReinforcedRust
+  entities:
+  - uid: 61
+    components:
+    - type: Transform
+      pos: 3.5,8.5
+      parent: 2
+  - uid: 195
+    components:
+    - type: Transform
+      pos: -7.5,4.5
+      parent: 2
+  - uid: 197
+    components:
+    - type: Transform
+      pos: 6.5,0.5
+      parent: 2
+  - uid: 202
+    components:
+    - type: Transform
+      pos: -7.5,2.5
+      parent: 2
+  - uid: 204
+    components:
+    - type: Transform
+      pos: 10.5,1.5
+      parent: 2
+  - uid: 207
+    components:
+    - type: Transform
+      pos: 6.5,8.5
+      parent: 2
+  - uid: 212
+    components:
+    - type: Transform
+      pos: 9.5,8.5
+      parent: 2
+  - uid: 213
+    components:
+    - type: Transform
+      pos: -0.5,9.5
+      parent: 2
+  - uid: 216
+    components:
+    - type: Transform
+      pos: -0.5,4.5
+      parent: 2
+  - uid: 226
+    components:
+    - type: Transform
+      pos: -7.5,1.5
+      parent: 2
+  - uid: 227
+    components:
+    - type: Transform
+      pos: 10.5,5.5
+      parent: 2
+  - uid: 230
+    components:
+    - type: Transform
+      pos: -6.5,8.5
+      parent: 2
+  - uid: 231
+    components:
+    - type: Transform
+      pos: -7.5,8.5
+      parent: 2
+  - uid: 236
+    components:
+    - type: Transform
+      pos: -2.5,8.5
+      parent: 2
+  - uid: 239
+    components:
+    - type: Transform
+      pos: 10.5,8.5
+      parent: 2
+  - uid: 366
+    components:
+    - type: Transform
+      pos: -8.5,0.5
+      parent: 2
+- proto: WallSolid
+  entities:
+  - uid: 5
+    components:
+    - type: Transform
+      pos: -0.5,-6.5
+      parent: 2
+  - uid: 12
+    components:
+    - type: Transform
+      pos: 3.5,-6.5
+      parent: 2
+  - uid: 30
+    components:
+    - type: Transform
+      pos: 6.5,-3.5
+      parent: 2
+  - uid: 34
+    components:
+    - type: Transform
+      pos: 3.5,-7.5
+      parent: 2
+  - uid: 35
+    components:
+    - type: Transform
+      pos: -6.5,3.5
+      parent: 2
+  - uid: 98
+    components:
+    - type: Transform
+      pos: 9.5,-3.5
+      parent: 2
+  - uid: 100
+    components:
+    - type: Transform
+      pos: -5.5,-3.5
+      parent: 2
+  - uid: 102
+    components:
+    - type: Transform
+      pos: 6.5,1.5
+      parent: 2
+  - uid: 108
+    components:
+    - type: Transform
+      pos: -0.5,-10.5
+      parent: 2
+  - uid: 109
+    components:
+    - type: Transform
+      pos: -4.5,-3.5
+      parent: 2
+  - uid: 119
+    components:
+    - type: Transform
+      pos: -6.5,-3.5
+      parent: 2
+  - uid: 128
+    components:
+    - type: Transform
+      pos: -3.5,1.5
+      parent: 2
+  - uid: 129
+    components:
+    - type: Transform
+      pos: -3.5,3.5
+      parent: 2
+  - uid: 132
+    components:
+    - type: Transform
+      pos: 10.5,-4.5
+      parent: 2
+  - uid: 133
+    components:
+    - type: Transform
+      pos: 4.5,-10.5
+      parent: 2
+  - uid: 134
+    components:
+    - type: Transform
+      pos: 5.5,-10.5
+      parent: 2
+  - uid: 135
+    components:
+    - type: Transform
+      pos: 6.5,-10.5
+      parent: 2
+  - uid: 137
+    components:
+    - type: Transform
+      pos: 8.5,-10.5
+      parent: 2
+  - uid: 139
+    components:
+    - type: Transform
+      pos: 10.5,-10.5
+      parent: 2
+  - uid: 140
+    components:
+    - type: Transform
+      pos: 10.5,-9.5
+      parent: 2
+  - uid: 143
+    components:
+    - type: Transform
+      pos: 10.5,-6.5
+      parent: 2
+  - uid: 174
+    components:
+    - type: Transform
+      pos: -7.5,-4.5
+      parent: 2
+  - uid: 177
+    components:
+    - type: Transform
+      pos: -7.5,-7.5
+      parent: 2
+  - uid: 179
+    components:
+    - type: Transform
+      pos: -7.5,-9.5
+      parent: 2
+  - uid: 180
+    components:
+    - type: Transform
+      pos: -7.5,-10.5
+      parent: 2
+  - uid: 181
+    components:
+    - type: Transform
+      pos: -6.5,-10.5
+      parent: 2
+  - uid: 183
+    components:
+    - type: Transform
+      pos: -4.5,-10.5
+      parent: 2
+  - uid: 184
+    components:
+    - type: Transform
+      pos: -3.5,-10.5
+      parent: 2
+  - uid: 186
+    components:
+    - type: Transform
+      pos: -1.5,-10.5
+      parent: 2
+  - uid: 187
+    components:
+    - type: Transform
+      pos: -8.5,-3.5
+      parent: 2
+  - uid: 188
+    components:
+    - type: Transform
+      pos: -9.5,-3.5
+      parent: 2
+  - uid: 196
+    components:
+    - type: Transform
+      pos: 14.5,-8.5
+      parent: 2
+  - uid: 198
+    components:
+    - type: Transform
+      pos: -5.5,-9.5
+      parent: 2
+  - uid: 199
+    components:
+    - type: Transform
+      pos: -5.5,-8.5
+      parent: 2
+  - uid: 200
+    components:
+    - type: Transform
+      pos: -5.5,-7.5
+      parent: 2
+  - uid: 203
+    components:
+    - type: Transform
+      pos: 8.5,-7.5
+      parent: 2
+  - uid: 205
+    components:
+    - type: Transform
+      pos: 8.5,-9.5
+      parent: 2
+  - uid: 208
+    components:
+    - type: Transform
+      pos: -8.5,-9.5
+      parent: 2
+  - uid: 209
+    components:
+    - type: Transform
+      pos: 14.5,-7.5
+      parent: 2
+  - uid: 210
+    components:
+    - type: Transform
+      pos: 14.5,-6.5
+      parent: 2
+  - uid: 211
+    components:
+    - type: Transform
+      pos: 14.5,-4.5
+      parent: 2
+  - uid: 214
+    components:
+    - type: Transform
+      pos: 13.5,-3.5
+      parent: 2
+  - uid: 217
+    components:
+    - type: Transform
+      pos: 6.5,3.5
+      parent: 2
+  - uid: 220
+    components:
+    - type: Transform
+      pos: 9.5,3.5
+      parent: 2
+  - uid: 232
+    components:
+    - type: Transform
+      pos: 11.5,-9.5
+      parent: 2
+  - uid: 233
+    components:
+    - type: Transform
+      pos: 13.5,-9.5
+      parent: 2
+- proto: WallSolidRust
+  entities:
+  - uid: 243
+    components:
+    - type: Transform
+      pos: -3.5,-3.5
+      parent: 2
+  - uid: 244
+    components:
+    - type: Transform
+      pos: -0.5,-7.5
+      parent: 2
+  - uid: 245
+    components:
+    - type: Transform
+      pos: 10.5,-3.5
+      parent: 2
+  - uid: 248
+    components:
+    - type: Transform
+      pos: 3.5,-10.5
+      parent: 2
+  - uid: 252
+    components:
+    - type: Transform
+      pos: 7.5,-3.5
+      parent: 2
+  - uid: 256
+    components:
+    - type: Transform
+      pos: 7.5,-10.5
+      parent: 2
+  - uid: 260
+    components:
+    - type: Transform
+      pos: 9.5,-10.5
+      parent: 2
+  - uid: 267
+    components:
+    - type: Transform
+      pos: 10.5,-8.5
+      parent: 2
+  - uid: 273
+    components:
+    - type: Transform
+      pos: 10.5,-7.5
+      parent: 2
+  - uid: 276
+    components:
+    - type: Transform
+      pos: -7.5,-3.5
+      parent: 2
+  - uid: 279
+    components:
+    - type: Transform
+      pos: -7.5,-6.5
+      parent: 2
+  - uid: 282
+    components:
+    - type: Transform
+      pos: -7.5,-8.5
+      parent: 2
+  - uid: 283
+    components:
+    - type: Transform
+      pos: -5.5,-10.5
+      parent: 2
+  - uid: 284
+    components:
+    - type: Transform
+      pos: -2.5,-10.5
+      parent: 2
+  - uid: 285
+    components:
+    - type: Transform
+      pos: -10.5,-3.5
+      parent: 2
+  - uid: 287
+    components:
+    - type: Transform
+      pos: -11.5,-4.5
+      parent: 2
+  - uid: 292
+    components:
+    - type: Transform
+      pos: -11.5,-6.5
+      parent: 2
+  - uid: 293
+    components:
+    - type: Transform
+      pos: 14.5,-9.5
+      parent: 2
+  - uid: 300
+    components:
+    - type: Transform
+      pos: 12.5,-9.5
+      parent: 2
+  - uid: 301
+    components:
+    - type: Transform
+      pos: 8.5,-8.5
+      parent: 2
+  - uid: 307
+    components:
+    - type: Transform
+      pos: 14.5,-3.5
+      parent: 2
+  - uid: 308
+    components:
+    - type: Transform
+      pos: 14.5,-5.5
+      parent: 2
+  - uid: 365
+    components:
+    - type: Transform
+      pos: -0.5,-11.5
+      parent: 2
+- proto: WeaponPistolCHIMP
+  entities:
+  - uid: 225
+    components:
+    - type: Transform
+      parent: 120
+    - type: Physics
+      canCollide: False
+    - type: InsideEntityStorage
+- proto: WindoorAssemblySecure
+  entities:
+  - uid: 142
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,3.5
+      parent: 2
+  - uid: 318
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 4.5,-3.5
+      parent: 2
+  - uid: 325
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -2.5,-4.5
+      parent: 2
+  - uid: 326
+    components:
+    - type: Transform
+      pos: -1.5,0.5
+      parent: 2
+  - uid: 327
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 4.5,0.5
+      parent: 2
+- proto: WindoorAssemblySecurePlasma
+  entities:
+  - uid: 329
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -4.5,7.5
+      parent: 2
+- proto: WindoorSecureCargoLocked
+  entities:
+  - uid: 76
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -1.5,-3.5
+      parent: 2
+- proto: WindoorSecureChemistryLocked
+  entities:
+  - uid: 234
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 8.5,0.5
+      parent: 2
+  - uid: 343
+    components:
+    - type: Transform
+      pos: 7.5,3.5
+      parent: 2
+- proto: WindoorSecureEngineeringLocked
+  entities:
+  - uid: 86
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 3.5,-4.5
+      parent: 2
+  - uid: 92
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,-4.5
+      parent: 2
+- proto: WindoorSecureMedicalLocked
+  entities:
+  - uid: 88
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 3.5,1.5
+      parent: 2
+  - uid: 89
+    components:
+    - type: Transform
+      pos: 4.5,0.5
+      parent: 2
+- proto: WindoorSecureScienceLocked
+  entities:
+  - uid: 94
+    components:
+    - type: Transform
+      pos: -2.5,1.5
+      parent: 2
+  - uid: 266
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -2.5,3.5
+      parent: 2
+  - uid: 312
+    components:
+    - type: Transform
+      pos: 8.5,6.5
+      parent: 2
+- proto: WindowReinforcedDirectional
+  entities:
+  - uid: 63
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -1.5,-3.5
+      parent: 2
+  - uid: 64
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -1.5,0.5
+      parent: 2
+  - uid: 65
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,0.5
+      parent: 2
+  - uid: 66
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 4.5,-3.5
+      parent: 2
+  - uid: 68
+    components:
+    - type: Transform
+      pos: 3.5,-4.5
+      parent: 2
+  - uid: 69
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 3.5,1.5
+      parent: 2
+  - uid: 77
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -0.5,-3.5
+      parent: 2
+  - uid: 80
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -0.5,0.5
+      parent: 2
+  - uid: 81
+    components:
+    - type: Transform
+      pos: -0.5,0.5
+      parent: 2
+  - uid: 82
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 3.5,0.5
+      parent: 2
+  - uid: 84
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 3.5,-3.5
+      parent: 2
+  - uid: 85
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 3.5,-3.5
+      parent: 2
+  - uid: 268
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 4.5,3.5
+      parent: 2
+  - uid: 269
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -1.5,3.5
+      parent: 2
+  - uid: 313
+    components:
+    - type: Transform
+      pos: 9.5,6.5
+      parent: 2
+  - uid: 341
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 7.5,6.5
+      parent: 2
+  - uid: 342
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 7.5,7.5
+      parent: 2
+- proto: Wrench
+  entities:
+  - uid: 306
+    components:
+    - type: Transform
+      pos: -1.691124,5.257793
+      parent: 2
+...
diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml
index 2197629980c..effb391404d 100644
--- a/Resources/Prototypes/Entities/Stations/base.yml
+++ b/Resources/Prototypes/Entities/Stations/base.yml
@@ -60,6 +60,7 @@
           maxCount: 2
           stationGrid: false
           paths:
+          - /Maps/Ruins/abandoned_outpost.yml
           - /Maps/Ruins/chunked_tcomms.yml
           - /Maps/Ruins/biodome_satellite.yml
           - /Maps/Ruins/derelict.yml

From 4fc7a4c56e4a27a15bc1c4598d91eb6ef2542a28 Mon Sep 17 00:00:00 2001
From: RedBookcase <crazykid1590@gmail.com>
Date: Fri, 15 Nov 2024 12:52:19 -0800
Subject: [PATCH 101/187] Edited Snow White reaction to output proper amount of
 drink. (#33331)

Co-authored-by: RedBookcase <Usualmoves@gmail.com>
---
 Resources/Prototypes/Recipes/Reactions/drinks.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Prototypes/Recipes/Reactions/drinks.yml b/Resources/Prototypes/Recipes/Reactions/drinks.yml
index 2353099df56..64668b10895 100644
--- a/Resources/Prototypes/Recipes/Reactions/drinks.yml
+++ b/Resources/Prototypes/Recipes/Reactions/drinks.yml
@@ -953,7 +953,7 @@
     LemonLime:
       amount: 1
   products:
-    SnowWhite: 3
+    SnowWhite: 2
 
 - type: reaction
   id: SodaWater

From 3a6ae975660450595138bd9b07604e51de9d6642 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 15 Nov 2024 20:53:26 +0000
Subject: [PATCH 102/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index b9235ab83da..8ed9d36722e 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: Erisfiregamer1
-  changes:
-  - message: New chemical, Sedin. It restores seeds on plants 20% of the time with
-      other adverse effects included.
-    type: Add
-  id: 7111
-  time: '2024-08-15T00:38:24.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/27110
 - author: PoorMansDreams
   changes:
   - message: Added Star sticker in loadouts for Secoffs
@@ -3945,3 +3937,10 @@
   id: 7610
   time: '2024-11-15T06:54:53.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33315
+- author: RedBookcase
+  changes:
+  - message: Mixing up a Snow White no longer creates extra liquid out of thin air.
+    type: Fix
+  id: 7611
+  time: '2024-11-15T20:52:19.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33331

From 089f190266ed309652fb12d3ee8bca261657e406 Mon Sep 17 00:00:00 2001
From: lzk <124214523+lzk228@users.noreply.github.com>
Date: Fri, 15 Nov 2024 22:21:08 +0100
Subject: [PATCH 103/187] Add succumb action 10 sec delay (#32985)

* Add succumb action 10 sec delay

* add somthing

* add delay to last words as well

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Prototypes/Actions/crit.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Resources/Prototypes/Actions/crit.yml b/Resources/Prototypes/Actions/crit.yml
index c5712844bf4..aaad27d2b7d 100644
--- a/Resources/Prototypes/Actions/crit.yml
+++ b/Resources/Prototypes/Actions/crit.yml
@@ -12,6 +12,8 @@
       sprite: Mobs/Ghosts/ghost_human.rsi
       state: icon
     event: !type:CritSuccumbEvent
+    startDelay: true
+    useDelay: 10
 
 - type: entity
   id: ActionCritFakeDeath
@@ -41,3 +43,5 @@
       sprite: Interface/Actions/actions_crit.rsi
       state: lastwords
     event: !type:CritLastWordsEvent
+    startDelay: true
+    useDelay: 10

From 6683dc9037fd56f29036d142587a25ea1d203304 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 15 Nov 2024 21:22:14 +0000
Subject: [PATCH 104/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 8ed9d36722e..1c796d8b459 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: PoorMansDreams
-  changes:
-  - message: Added Star sticker in loadouts for Secoffs
-    type: Add
-  id: 7112
-  time: '2024-08-15T01:50:55.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/29767
 - author: FATFSAAM2
   changes:
   - message: added 7 new figurine voice lines.
@@ -3944,3 +3937,10 @@
   id: 7611
   time: '2024-11-15T20:52:19.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33331
+- author: lzk228
+  changes:
+  - message: Added 10 seconds delay to Succumb action
+    type: Add
+  id: 7612
+  time: '2024-11-15T21:21:08.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32985

From 09d0565413062763279907fe4220b4e1e2b82e46 Mon Sep 17 00:00:00 2001
From: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com>
Date: Fri, 15 Nov 2024 17:48:28 -0500
Subject: [PATCH 105/187] Adds gorilla gauntlet storage sprite and updates hit
 sound (#33167)

* Adds storage sprite for gorilla gauntlet

* Specifies a heavier hitsound for gorilla gauntlet

* Modifies gauntlet icon and storage sprite

* Updates credit to my new username
---
 .../Objects/Specific/Research/anomaly.yml       |   5 +++++
 .../Objects/Weapons/Melee/gorilla.rsi/icon.png  | Bin 753 -> 775 bytes
 .../Objects/Weapons/Melee/gorilla.rsi/meta.json |   7 +++++--
 .../Weapons/Melee/gorilla.rsi/storage.png       | Bin 0 -> 624 bytes
 4 files changed, 10 insertions(+), 2 deletions(-)
 create mode 100644 Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/storage.png

diff --git a/Resources/Prototypes/Entities/Objects/Specific/Research/anomaly.yml b/Resources/Prototypes/Entities/Objects/Specific/Research/anomaly.yml
index 516bd0f6bda..efbd7c2db4f 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Research/anomaly.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Research/anomaly.yml
@@ -126,6 +126,9 @@
     state: icon
   - type: Item
     size: Large
+    storedSprite:
+      state: storage
+      sprite: Objects/Weapons/Melee/gorilla.rsi
   - type: MeleeWeapon
     attackRate: 0.5
     angle: 0
@@ -134,6 +137,8 @@
     damage:
       types:
         Blunt: 20
+    soundHit:
+      path: "/Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg"
   - type: CorePoweredThrower
   - type: MeleeThrowOnHit
     unanchorOnHit: true
diff --git a/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/icon.png
index a57ce53cc4633590e7be46bbe293c5bd7cace1f4..9ce8603d2a68d0c78a8f09a9f95844ea5ca986b7 100644
GIT binary patch
delta 752
zcmV<M0uTN11&0QZBYy(UNkl<ZScUDDT}YEr9L9fBGo^j7IYzb-TlPV9k!CvZW+9a9
zBG|3yu&&;#2qN#g5W19Z^hyXswlX0?gO~*?3X3u{g-A2Ub}`A!koVoDTVkh+v0-Vx
z`^c+&uFiWt{?Bus^FROd!XEbUzeDpcgY`7^3ZuaYfH%;dQ-AD|Vo7~&zwo*JBJ<sT
zxjHK*m-S`EkoPq8ic9A=FxYK?U#!S0$dM>3vclDCr!X4)Ld}VS9q4K56`pgeC<}|o
zk!ZGGSy%+f_Nh5humg_`ZwQsupwsDyeGM^7h=vQbT%QSp4Ll1Dz^WRj=p1-AKE>=z
zh=#^m%;qYrHh&8MFFspote#U{U$6rf%OULc<D`D9W3Dn`Hdhf2N6_hXSZy#89b;wo
zv}&BvLdd-xo#Jf$834>x7Un*EB$-U5k0Tbt;jpvubDa-FxIKDn$0W?#0iWA1mh01P
zgW&)GwRKLW-oFLF;jj}9M_7n15sSrC<K^Xmx1&?E>VFlEEq-U|#9_2rJ>}*5DJc;c
zjTR!|d6LOgmi$TJu4*yLxf1%^ezELMx38>i0Pygj9<5dnKs>G>%LzsU0f3yya~9z3
z=oB|gD*<@rs!NNgNE7!b6|`DC@wmeCXRq-MbmvvxRVQywxXjL<9<>2*aXwva`YTJB
zoS4p=Tz^$ShCGvOuyyCDJ73asb9{XM#9x!p<#LHfBlk2GOHG%_WTK*?9IaN*_^QH@
z=r>NrQ@mVDFs4k?_25Rquj;l7Jsyu39v;q)ZFVAa-uvz+(qjegJcBKzSdt{+bUN{P
zJlRLYH_)w_oR~(I6U5^R0LyOh6DWpzdjT1=wrRF*5iuGFAj^sDb<6dt<qb)a#L&=?
z2nK^9Bf{l!34j)Nn`m*j<@B>rw1{9Z_?w8`z>XG5k|dg&n*kUc9AtB1{wwVG81?n_
iX#fH23i%%P0PqW$ha}q5Nokw_0000<MNUMnLSTX%GIBux

delta 730
zcmV<00ww*22Jr=uBYyw^b5ch_0Itp)=>Px%t4TybR9J=WmETKKVI0Ok{$M6<JFFd+
z=7`Orpf1u(120?%5fcKh%VA!ft4IR>f-a>Sz4B_v)*sMC9P2_D6q%tZMA~d@7dvPo
ztg|0EmGyS9&ajy7mvqyft8-r7@AEwG^ZoL^P)8mAI~q=tY=3%SM%W}906ulJEbhiy
zMFZZT2zZ0S_#b`PQ7}_ZeRD11(*rZ&-t8Qc%LxQULQkN_;w1DWj~-veCIv;QB&tqe
zdSFJ3-26dO+eVMY3+qX38=$aODv7EScquIsX}*ZXVj=Y{!Uhrg?sW5HJqk`3(cD01
zNuHW#;KR}?8-ME&`ue+(Wjmct2LPeXPWn5-CF`qBz~MNL%XOLkgF|HdS!CHxG#bNV
zvC!#+7x6bFHm;TAX{tutH#RA5^j-%*wmS%a`AjyupKnJhh1=~S_w$fX#CSIU^u!^o
zIDvpSD0X}E-;&e@KzGkARzJQ6!0mPsjmFU8JET&nl7D;^CEy#I6w+Wj!>eI-u3W%u
zwqi21(AX%j*&M{8U&&_o3*xWT=Or(rvJC{hK_Lyc1F+d{=l=IBYbG$6TK+Jx_-=`V
zgM+ffq0AQe#wNvXFAT4SdF$x`z)yyWGgkcRBxbV}fR*L7vV{$l+<bK40LJ%nyuRcF
zK-0Du-+#;DZ*5{_d5yr_RK;)0i3NtZF>C<3o?+r#2mWmS<eIjHtd{@yRAk_96K1oO
zbUKNyXKFsVfuc8|q9_8u<MD{V+*HHL@*29HA^p4GlGKL3wFz0JCh?*M6h#p(mkUKv
zL?{$$fV{|269$5)wP+VNU|?uysE~wVVqR6z^-~PGo?%{9E1vjbC`w?Y(ACw&!omWx
zv$KVLcfAh;a4O=*8aU2`$Kxrq<+N}j*-1(KGboB8j?O|Ib(}VS0rdnacLrbGJOBUy
M07*qoM6N<$f?bqjO8@`>

diff --git a/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/meta.json
index 97a5fdbd2e2..55417c2e716 100644
--- a/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/meta.json
@@ -1,14 +1,17 @@
 {
   "version": 1,
   "license": "CC0-1.0",
-  "copyright": "Design and inhands by ricemar (discord) and icon by EmoGarbage404 (github)",
+  "copyright": "Design, inhands, and storage sprite by SpaceRox1244 (github) and icon by EmoGarbage404 (github)",
   "size": {
     "x": 32,
     "y": 32
   },
   "states": [
     {
-      "name": "icon"
+        "name": "icon"
+    },
+    {
+        "name":  "storage"
     },
     {
       "name": "inhand-left",
diff --git a/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/storage.png b/Resources/Textures/Objects/Weapons/Melee/gorilla.rsi/storage.png
new file mode 100644
index 0000000000000000000000000000000000000000..e21fc82b971ece07b67423bb0e0603cb217392c6
GIT binary patch
literal 624
zcmV-$0+0QPP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80006vNkl<ZScUDB
zziSg=7{@<pYc3U%7&wC+a!V<uR*<%IaLE$Tb}ERtsI6NBsZQdb5Q;7#2nt<dDHs*O
zxQK()#i0dJ(6mxaLz+l)1e;5IQ!26N5Od_3L?c#oxX<#w-{<}DeDAsUeZj)Q!ouPo
zV{12Xar(O6sOMuh+s^$Hdg`5UIIP?4b`psM0OJ!u91ch0Tpi$)dIEsw-nX>U0K2<i
zDHIB(M6xWiFdu392qO@W$8}kj2?m2UfQ9?d^hN`kwuRg6;mpoA03J)-08Lucws^Vt
z0-vIo60NR$B#<2f;OeUxBX19FP}KrnuiS3<r}z|wa=C1ZNs`3Wq>E}v08zbeqOF0w
zXqu?Co26QN#MN4Bf{jdu;gMm}`doI2EAL)&`}hb@GUA4TR4Qd!AVdXKHUGy>@hJ-H
z>uFO=k|f3pV?13n&+WJZLR0`K<u(D(db?X{Au4QSGEHY7msPoNsgIq{MII(v7)Ynh
zjz6rfanwK1sXr6dY8T5(Zw&2pItgTlh(?mkTssDAHyh{#Au4Qt5k?;{>6PSr<il=y
z4<5j$^f7n$mJOgd8`BwuYDo}{B=NXC#-7G?2!%pAKt7*uncV5FRby<eR@&u(Op{jC
zPxuG>5u#!wuTz|j=>YehluXxfUthP=6X$jRU_ZI6%G~Hl4&9h;GVxap0GvH{Sr24~
zn3{AMvAsqb>Dq4tj~?8y0Y4s`U-Mgsuv2O!j_QpMj)jHAf6I6B;@<@Dy8w0o0000<
KMNUMnLSTZDXB*xC

literal 0
HcmV?d00001


From da4fa9bea958529dda252f7fd03379ae820de078 Mon Sep 17 00:00:00 2001
From: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Date: Fri, 15 Nov 2024 15:46:01 -0800
Subject: [PATCH 106/187] Clumsy system refactor (#31147)

* First commit

* Fixes

* Added the noise

* Renames

* Timespan

* Fixed space

* entity -> ent

* This shouldn't work

* opps....

* Datafield name change

* Better comments

* small comment

* Personal skill issue

* Event renames and stuff

* Couple fixes

* Defib ref fixes (Silly me)

* Added clumsy back!

* no hard code clumsy!

* Identity fix

* Event name change

* Comment change

* Function name change

* opp

* Update names

* Damage stuff!

* Fixes!

* Fixes

* opps

* This was hidden away!!

* negative diff feeds me
---
 .../Systems/AdminVerbSystem.Smites.cs         |   1 +
 .../Administration/Systems/SuperBonkSystem.cs |  22 +--
 .../EntitySystems/HypospraySystem.cs          |  41 ++++-
 Content.Server/Cluwne/CluwneSystem.cs         |   1 +
 Content.Server/Medical/DefibrillatorSystem.cs |  70 +++++++--
 .../Weapons/Ranged/Systems/GunSystem.cs       |  30 +---
 .../Components/HyposprayComponent.cs          |   5 -
 .../Chemistry/Events/HyposprayEvents.cs       |  38 +++++
 .../Climbing/Components/BonkableComponent.cs  |  34 +---
 .../Climbing/Events/BeforeClimbEvents.cs      |  36 +++++
 Content.Shared/Climbing/Systems/BonkSystem.cs | 130 ----------------
 .../Climbing/Systems/ClimbSystem.cs           |  12 ++
 Content.Shared/Clumsy/ClumsyComponent.cs      |  61 ++++++++
 Content.Shared/Clumsy/ClumsySystem.cs         | 146 ++++++++++++++++++
 .../Interaction/Components/ClumsyComponent.cs |  24 ---
 .../SharedInteractionSystem.Clumsy.cs         |  26 ----
 .../Inventory/InventorySystem.Relay.cs        |   9 +-
 Content.Shared/Medical/DefibrillatorEvents.cs |  39 +++++
 .../Medical/TargetDefibrillatedEvent.cs       |   4 -
 .../Ranged/Events/BeforeGunShootEvent.cs      |  20 +++
 .../bonk/components/bonkable-component.ftl    |   6 +-
 .../Prototypes/Entities/Mobs/NPCs/animals.yml |   4 +-
 .../Entities/Mobs/Player/guardian.yml         |   2 +-
 .../Furniture/Tables/base_structuretables.yml |   2 -
 .../Prototypes/Roles/Jobs/Civilian/clown.yml  |   2 +-
 25 files changed, 484 insertions(+), 281 deletions(-)
 create mode 100644 Content.Shared/Chemistry/Events/HyposprayEvents.cs
 create mode 100644 Content.Shared/Climbing/Events/BeforeClimbEvents.cs
 delete mode 100644 Content.Shared/Climbing/Systems/BonkSystem.cs
 create mode 100644 Content.Shared/Clumsy/ClumsyComponent.cs
 create mode 100644 Content.Shared/Clumsy/ClumsySystem.cs
 delete mode 100644 Content.Shared/Interaction/Components/ClumsyComponent.cs
 delete mode 100644 Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs
 create mode 100644 Content.Shared/Medical/DefibrillatorEvents.cs
 delete mode 100644 Content.Shared/Medical/TargetDefibrillatedEvent.cs
 create mode 100644 Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs

diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs
index 2187cbd68f3..4cd1f952880 100644
--- a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs
+++ b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs
@@ -22,6 +22,7 @@
 using Content.Shared.Administration.Components;
 using Content.Shared.Body.Components;
 using Content.Shared.Body.Part;
+using Content.Shared.Clumsy;
 using Content.Shared.Clothing.Components;
 using Content.Shared.Cluwne;
 using Content.Shared.Damage;
diff --git a/Content.Server/Administration/Systems/SuperBonkSystem.cs b/Content.Server/Administration/Systems/SuperBonkSystem.cs
index 5488a8d6f46..5cd62d83572 100644
--- a/Content.Server/Administration/Systems/SuperBonkSystem.cs
+++ b/Content.Server/Administration/Systems/SuperBonkSystem.cs
@@ -1,27 +1,27 @@
 using Content.Server.Administration.Components;
 using Content.Shared.Climbing.Components;
-using Content.Shared.Climbing.Events;
-using Content.Shared.Climbing.Systems;
-using Content.Shared.Interaction.Components;
+using Content.Shared.Clumsy;
 using Content.Shared.Mobs;
 using Content.Shared.Mobs.Components;
+using Robust.Shared.Audio.Systems;
 
 namespace Content.Server.Administration.Systems;
 
-public sealed class SuperBonkSystem: EntitySystem
+public sealed class SuperBonkSystem : EntitySystem
 {
     [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
-    [Dependency] private readonly BonkSystem _bonkSystem = default!;
+    [Dependency] private readonly ClumsySystem _clumsySystem = default!;
+    [Dependency] private readonly SharedAudioSystem _audioSystem = default!;
 
     public override void Initialize()
     {
         base.Initialize();
 
-        SubscribeLocalEvent<SuperBonkComponent, ComponentShutdown>(OnBonkShutdown);
         SubscribeLocalEvent<SuperBonkComponent, MobStateChangedEvent>(OnMobStateChanged);
+        SubscribeLocalEvent<SuperBonkComponent, ComponentShutdown>(OnBonkShutdown);
     }
 
-    public void StartSuperBonk(EntityUid target, float delay = 0.1f, bool stopWhenDead = false )
+    public void StartSuperBonk(EntityUid target, float delay = 0.1f, bool stopWhenDead = false)
     {
 
         //The other check in the code to stop when the target dies does not work if the target is already dead.
@@ -31,7 +31,6 @@ public void StartSuperBonk(EntityUid target, float delay = 0.1f, bool stopWhenDe
                 return;
         }
 
-
         var hadClumsy = EnsureComp<ClumsyComponent>(target, out _);
 
         var tables = EntityQueryEnumerator<BonkableComponent>();
@@ -79,16 +78,17 @@ public override void Update(float frameTime)
     private void Bonk(SuperBonkComponent comp)
     {
         var uid = comp.Tables.Current.Key;
-        var bonkComp = comp.Tables.Current.Value;
 
         // It would be very weird for something without a transform component to have a bonk component
         // but just in case because I don't want to crash the server.
-        if (!HasComp<TransformComponent>(uid))
+        if (!HasComp<TransformComponent>(uid) || !TryComp<ClumsyComponent>(comp.Target, out var clumsyComp))
             return;
 
         _transformSystem.SetCoordinates(comp.Target, Transform(uid).Coordinates);
 
-        _bonkSystem.TryBonk(comp.Target, uid, bonkComp);
+        _clumsySystem.HitHeadClumsy((comp.Target, clumsyComp), uid);
+
+        _audioSystem.PlayPvs(clumsyComp.TableBonkSound, comp.Target);
     }
 
     private void OnMobStateChanged(EntityUid uid, SuperBonkComponent comp, MobStateChangedEvent args)
diff --git a/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs b/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs
index 9b78e81aa00..8345aa3c3dd 100644
--- a/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs
+++ b/Content.Server/Chemistry/EntitySystems/HypospraySystem.cs
@@ -1,6 +1,7 @@
 using Content.Shared.Chemistry.EntitySystems;
 using Content.Shared.Chemistry.Components;
 using Content.Shared.Chemistry.Components.SolutionManager;
+using Content.Shared.Chemistry.Hypospray.Events;
 using Content.Shared.Chemistry;
 using Content.Shared.Database;
 using Content.Shared.FixedPoint;
@@ -85,14 +86,44 @@ public bool TryDoInject(Entity<HyposprayComponent> entity, EntityUid target, Ent
 
         string? msgFormat = null;
 
-        if (target == user)
-            msgFormat = "hypospray-component-inject-self-message";
-        else if (EligibleEntity(user, EntityManager, component) && _interaction.TryRollClumsy(user, component.ClumsyFailChance))
+        // Self event
+        var selfEvent = new SelfBeforeHyposprayInjectsEvent(user, entity.Owner, target);
+        RaiseLocalEvent(user, selfEvent);
+
+        if (selfEvent.Cancelled)
+        {
+            _popup.PopupEntity(Loc.GetString(selfEvent.InjectMessageOverride ?? "hypospray-cant-inject", ("owner", Identity.Entity(target, EntityManager))), target, user);
+            return false;
+        }
+
+        target = selfEvent.TargetGettingInjected;
+
+        if (!EligibleEntity(target, EntityManager, component))
+            return false;
+
+        // Target event
+        var targetEvent = new TargetBeforeHyposprayInjectsEvent(user, entity.Owner, target);
+        RaiseLocalEvent(target, targetEvent);
+
+        if (targetEvent.Cancelled)
         {
-            msgFormat = "hypospray-component-inject-self-clumsy-message";
-            target = user;
+            _popup.PopupEntity(Loc.GetString(targetEvent.InjectMessageOverride ?? "hypospray-cant-inject", ("owner", Identity.Entity(target, EntityManager))), target, user);
+            return false;
         }
 
+        target = targetEvent.TargetGettingInjected;
+
+        if (!EligibleEntity(target, EntityManager, component))
+            return false;
+
+        // The target event gets priority for the overriden message.
+        if (targetEvent.InjectMessageOverride != null)
+            msgFormat = targetEvent.InjectMessageOverride;
+        else if (selfEvent.InjectMessageOverride != null)
+            msgFormat = selfEvent.InjectMessageOverride;
+        else if (target == user)
+            msgFormat = "hypospray-component-inject-self-message";
+
         if (!_solutionContainers.TryGetSolution(uid, component.SolutionName, out var hypoSpraySoln, out var hypoSpraySolution) || hypoSpraySolution.Volume == 0)
         {
             _popup.PopupEntity(Loc.GetString("hypospray-component-empty-message"), target, user);
diff --git a/Content.Server/Cluwne/CluwneSystem.cs b/Content.Server/Cluwne/CluwneSystem.cs
index f24f0143f31..1fbb0c72690 100644
--- a/Content.Server/Cluwne/CluwneSystem.cs
+++ b/Content.Server/Cluwne/CluwneSystem.cs
@@ -16,6 +16,7 @@
 using Content.Shared.Interaction.Components;
 using Robust.Shared.Audio.Systems;
 using Content.Shared.NameModifier.EntitySystems;
+using Content.Shared.Clumsy;
 
 namespace Content.Server.Cluwne;
 
diff --git a/Content.Server/Medical/DefibrillatorSystem.cs b/Content.Server/Medical/DefibrillatorSystem.cs
index c9cb6cc58dc..fa0ea26385d 100644
--- a/Content.Server/Medical/DefibrillatorSystem.cs
+++ b/Content.Server/Medical/DefibrillatorSystem.cs
@@ -77,7 +77,20 @@ private void OnDoAfter(EntityUid uid, DefibrillatorComponent component, Defibril
         Zap(uid, target, args.User, component);
     }
 
-    public bool CanZap(EntityUid uid, EntityUid target, EntityUid? user = null, DefibrillatorComponent? component = null)
+    /// <summary>
+    ///     Checks if you can actually defib a target.
+    /// </summary>
+    /// <param name="uid">Uid of the defib</param>
+    /// <param name="target">Uid of the target getting defibbed</param>
+    /// <param name="user">Uid of the entity using the defibrillator</param>
+    /// <param name="component">Defib component</param>
+    /// <param name="targetCanBeAlive">
+    ///     If true, the target can be alive. If false, the function will check if the target is alive and will return false if they are.
+    /// </param>
+    /// <returns>
+    ///     Returns true if the target is valid to be defibed, false otherwise.
+    /// </returns>
+    public bool CanZap(EntityUid uid, EntityUid target, EntityUid? user = null, DefibrillatorComponent? component = null, bool targetCanBeAlive = false)
     {
         if (!Resolve(uid, ref component))
             return false;
@@ -98,15 +111,25 @@ public bool CanZap(EntityUid uid, EntityUid target, EntityUid? user = null, Defi
         if (!_powerCell.HasActivatableCharge(uid, user: user))
             return false;
 
-        if (_mobState.IsAlive(target, mobState))
+        if (!targetCanBeAlive && _mobState.IsAlive(target, mobState))
             return false;
 
-        if (!component.CanDefibCrit && _mobState.IsCritical(target, mobState))
+        if (!targetCanBeAlive && !component.CanDefibCrit && _mobState.IsCritical(target, mobState))
             return false;
 
         return true;
     }
 
+    /// <summary>
+    ///     Tries to start defibrillating the target. If the target is valid, will start the defib do-after.
+    /// </summary>
+    /// <param name="uid">Uid of the defib</param>
+    /// <param name="target">Uid of the target getting defibbed</param>
+    /// <param name="user">Uid of the entity using the defibrillator</param>
+    /// <param name="component">Defib component</param>
+    /// <returns>
+    ///     Returns true if the defibrillation do-after started, otherwise false.
+    /// </returns>
     public bool TryStartZap(EntityUid uid, EntityUid target, EntityUid user, DefibrillatorComponent? component = null)
     {
         if (!Resolve(uid, ref component))
@@ -118,25 +141,42 @@ public bool TryStartZap(EntityUid uid, EntityUid target, EntityUid user, Defibri
         _audio.PlayPvs(component.ChargeSound, uid);
         return _doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, user, component.DoAfterDuration, new DefibrillatorZapDoAfterEvent(),
             uid, target, uid)
-            {
-                NeedHand = true,
-                BreakOnMove = !component.AllowDoAfterMovement
-            });
+        {
+            NeedHand = true,
+            BreakOnMove = !component.AllowDoAfterMovement
+        });
     }
 
-    public void Zap(EntityUid uid, EntityUid target, EntityUid user, DefibrillatorComponent? component = null, MobStateComponent? mob = null, MobThresholdsComponent? thresholds = null)
+    /// <summary>
+    ///     Tries to defibrillate the target with the given defibrillator.
+    /// </summary>
+    public void Zap(EntityUid uid, EntityUid target, EntityUid user, DefibrillatorComponent? component = null)
     {
-        if (!Resolve(uid, ref component) || !Resolve(target, ref mob, ref thresholds, false))
+        if (!Resolve(uid, ref component))
             return;
 
-        // clowns zap themselves
-        if (HasComp<ClumsyComponent>(user) && user != target)
-        {
-            Zap(uid, user, user, component);
+        if (!_powerCell.TryUseActivatableCharge(uid, user: user))
             return;
-        }
 
-        if (!_powerCell.TryUseActivatableCharge(uid, user: user))
+        var selfEvent = new SelfBeforeDefibrillatorZapsEvent(user, uid, target);
+        RaiseLocalEvent(user, selfEvent);
+
+        target = selfEvent.DefibTarget;
+
+        // Ensure thet new target is still valid.
+        if (selfEvent.Cancelled || !CanZap(uid, target, user, component, true))
+            return;
+
+        var targetEvent = new TargetBeforeDefibrillatorZapsEvent(user, uid, target);
+        RaiseLocalEvent(target, targetEvent);
+
+        target = targetEvent.DefibTarget;
+
+        if (targetEvent.Cancelled || !CanZap(uid, target, user, component, true))
+            return;
+
+        if (!TryComp<MobStateComponent>(target, out var mob) ||
+            !TryComp<MobThresholdsComponent>(target, out var thresholds))
             return;
 
         _audio.PlayPvs(component.ZapSound, uid);
diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs
index 701753a8ce2..d22b5ec2af7 100644
--- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs
+++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs
@@ -1,15 +1,12 @@
 using System.Linq;
 using System.Numerics;
 using Content.Server.Cargo.Systems;
-using Content.Server.Interaction;
 using Content.Server.Power.EntitySystems;
-using Content.Server.Stunnable;
 using Content.Server.Weapons.Ranged.Components;
 using Content.Shared.Damage;
 using Content.Shared.Damage.Systems;
 using Content.Shared.Database;
 using Content.Shared.Effects;
-using Content.Shared.Interaction.Components;
 using Content.Shared.Projectiles;
 using Content.Shared.Weapons.Melee;
 using Content.Shared.Weapons.Ranged;
@@ -33,16 +30,13 @@ public sealed partial class GunSystem : SharedGunSystem
     [Dependency] private readonly IComponentFactory _factory = default!;
     [Dependency] private readonly BatterySystem _battery = default!;
     [Dependency] private readonly DamageExamineSystem _damageExamine = default!;
-    [Dependency] private readonly InteractionSystem _interaction = default!;
     [Dependency] private readonly PricingSystem _pricing = default!;
     [Dependency] private readonly SharedColorFlashEffectSystem _color = default!;
     [Dependency] private readonly SharedTransformSystem _transform = default!;
     [Dependency] private readonly StaminaSystem _stamina = default!;
-    [Dependency] private readonly StunSystem _stun = default!;
     [Dependency] private readonly SharedContainerSystem _container = default!;
 
     private const float DamagePitchVariation = 0.05f;
-    public const float GunClumsyChance = 0.5f;
 
     public override void Initialize()
     {
@@ -71,26 +65,14 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid?
     {
         userImpulse = true;
 
-        // Try a clumsy roll
-        // TODO: Who put this here
-        if (TryComp<ClumsyComponent>(user, out var clumsy) && gun.ClumsyProof == false)
+        if (user != null)
         {
-            for (var i = 0; i < ammo.Count; i++)
+            var selfEvent = new SelfBeforeGunShotEvent(user.Value, (gunUid, gun), ammo);
+            RaiseLocalEvent(user.Value, selfEvent);
+            if (selfEvent.Cancelled)
             {
-                if (_interaction.TryRollClumsy(user.Value, GunClumsyChance, clumsy))
-                {
-                    // Wound them
-                    Damageable.TryChangeDamage(user, clumsy.ClumsyDamage, origin: user);
-                    _stun.TryParalyze(user.Value, TimeSpan.FromSeconds(3f), true);
-
-                    // Apply salt to the wound ("Honk!")
-                    Audio.PlayPvs(new SoundPathSpecifier("/Audio/Weapons/Guns/Gunshots/bang.ogg"), gunUid);
-                    Audio.PlayPvs(clumsy.ClumsySound, gunUid);
-
-                    PopupSystem.PopupEntity(Loc.GetString("gun-clumsy"), user.Value);
-                    userImpulse = false;
-                    return;
-                }
+                userImpulse = false;
+                return;
             }
         }
 
diff --git a/Content.Shared/Chemistry/Components/HyposprayComponent.cs b/Content.Shared/Chemistry/Components/HyposprayComponent.cs
index 05ef84bbaf7..17d52f0ad93 100644
--- a/Content.Shared/Chemistry/Components/HyposprayComponent.cs
+++ b/Content.Shared/Chemistry/Components/HyposprayComponent.cs
@@ -11,11 +11,6 @@ public sealed partial class HyposprayComponent : Component
     [DataField]
     public string SolutionName = "hypospray";
 
-    // TODO: This should be on clumsycomponent.
-    [DataField]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public float ClumsyFailChance = 0.5f;
-
     [DataField]
     [ViewVariables(VVAccess.ReadWrite)]
     public FixedPoint2 TransferAmount = FixedPoint2.New(5);
diff --git a/Content.Shared/Chemistry/Events/HyposprayEvents.cs b/Content.Shared/Chemistry/Events/HyposprayEvents.cs
new file mode 100644
index 00000000000..e8ed081a577
--- /dev/null
+++ b/Content.Shared/Chemistry/Events/HyposprayEvents.cs
@@ -0,0 +1,38 @@
+using Content.Shared.Inventory;
+
+namespace Content.Shared.Chemistry.Hypospray.Events;
+
+public abstract partial class BeforeHyposprayInjectsTargetEvent : CancellableEntityEventArgs, IInventoryRelayEvent
+{
+    public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET;
+    public EntityUid EntityUsingHypospray;
+    public readonly EntityUid Hypospray;
+    public EntityUid TargetGettingInjected;
+    public string? InjectMessageOverride;
+
+    public BeforeHyposprayInjectsTargetEvent(EntityUid user, EntityUid hypospray, EntityUid target)
+    {
+        EntityUsingHypospray = user;
+        Hypospray = hypospray;
+        TargetGettingInjected = target;
+        InjectMessageOverride = null;
+    }
+}
+
+/// <summary>
+///     This event is raised on the user using the hypospray before the hypospray is injected.
+///     The event is triggered on the user and all their clothing.
+/// </summary>
+public sealed class SelfBeforeHyposprayInjectsEvent : BeforeHyposprayInjectsTargetEvent
+{
+    public SelfBeforeHyposprayInjectsEvent(EntityUid user, EntityUid hypospray, EntityUid target) : base(user, hypospray, target) { }
+}
+
+/// <summary>
+///     This event is raised on the target before the hypospray is injected.
+///     The event is triggered on the target itself and all its clothing.
+/// </summary>
+public sealed class TargetBeforeHyposprayInjectsEvent  : BeforeHyposprayInjectsTargetEvent
+{
+    public TargetBeforeHyposprayInjectsEvent (EntityUid user, EntityUid hypospray, EntityUid target) : base(user, hypospray, target) { }
+}
diff --git a/Content.Shared/Climbing/Components/BonkableComponent.cs b/Content.Shared/Climbing/Components/BonkableComponent.cs
index 5e97396fbad..cb4839cae71 100644
--- a/Content.Shared/Climbing/Components/BonkableComponent.cs
+++ b/Content.Shared/Climbing/Components/BonkableComponent.cs
@@ -1,5 +1,4 @@
 using Content.Shared.Damage;
-using Robust.Shared.Audio;
 using Robust.Shared.GameStates;
 
 namespace Content.Shared.Climbing.Components;
@@ -8,39 +7,18 @@ namespace Content.Shared.Climbing.Components;
 ///     Makes entity do damage and stun entities with ClumsyComponent
 ///     upon DragDrop or Climb interactions.
 /// </summary>
-[RegisterComponent, NetworkedComponent, Access(typeof(Systems.BonkSystem))]
+[RegisterComponent, NetworkedComponent]
 public sealed partial class BonkableComponent : Component
 {
     /// <summary>
-    /// Chance of bonk triggering if the user is clumsy.
+    ///     How long to stun players on bonk, in seconds.
     /// </summary>
-    [DataField("bonkClumsyChance")]
-    public float BonkClumsyChance = 0.5f;
+    [DataField]
+    public TimeSpan BonkTime = TimeSpan.FromSeconds(2);
 
     /// <summary>
-    /// Sound to play when bonking.
+    ///     How much damage to apply on bonk.
     /// </summary>
-    /// <seealso cref="Bonk"/>
-    [DataField("bonkSound")]
-    public SoundSpecifier? BonkSound;
-
-    /// <summary>
-    /// How long to stun players on bonk, in seconds.
-    /// </summary>
-    /// <seealso cref="Bonk"/>
-    [DataField("bonkTime")]
-    public float BonkTime = 2;
-
-    /// <summary>
-    /// How much damage to apply on bonk.
-    /// </summary>
-    /// <seealso cref="Bonk"/>
-    [DataField("bonkDamage")]
+    [DataField]
     public DamageSpecifier? BonkDamage;
-
-    /// <summary>
-    /// How long it takes to bonk.
-    /// </summary>
-    [DataField("bonkDelay")]
-    public float BonkDelay = 1.5f;
 }
diff --git a/Content.Shared/Climbing/Events/BeforeClimbEvents.cs b/Content.Shared/Climbing/Events/BeforeClimbEvents.cs
new file mode 100644
index 00000000000..85c40f9427c
--- /dev/null
+++ b/Content.Shared/Climbing/Events/BeforeClimbEvents.cs
@@ -0,0 +1,36 @@
+using Content.Shared.Inventory;
+using Content.Shared.Climbing.Components;
+
+namespace Content.Shared.Climbing.Events;
+
+public abstract partial class BeforeClimbEvent : CancellableEntityEventArgs
+{
+    public readonly EntityUid GettingPutOnTable;
+    public readonly EntityUid PuttingOnTable;
+    public readonly Entity<ClimbableComponent> BeingClimbedOn;
+
+    public BeforeClimbEvent(EntityUid gettingPutOntable, EntityUid puttingOnTable, Entity<ClimbableComponent> beingClimbedOn)
+    {
+        GettingPutOnTable = gettingPutOntable;
+        PuttingOnTable = puttingOnTable;
+        BeingClimbedOn = beingClimbedOn;
+    }
+}
+
+/// <summary>
+///     This event is raised on the the person either getting put on or going on the table.
+///     The event is also called on their clothing as well.
+/// </summary>
+public sealed class SelfBeforeClimbEvent : BeforeClimbEvent, IInventoryRelayEvent
+{
+    public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET;
+    public SelfBeforeClimbEvent(EntityUid gettingPutOntable, EntityUid puttingOnTable, Entity<ClimbableComponent> beingClimbedOn) : base(gettingPutOntable, puttingOnTable, beingClimbedOn) { }
+}
+
+/// <summary>
+///     This event is raised on the thing being climbed on.
+/// </summary>
+public sealed class TargetBeforeClimbEvent : BeforeClimbEvent
+{
+    public TargetBeforeClimbEvent(EntityUid gettingPutOntable, EntityUid puttingOnTable, Entity<ClimbableComponent> beingClimbedOn) : base(gettingPutOntable, puttingOnTable, beingClimbedOn) { }
+}
diff --git a/Content.Shared/Climbing/Systems/BonkSystem.cs b/Content.Shared/Climbing/Systems/BonkSystem.cs
deleted file mode 100644
index f59fe925736..00000000000
--- a/Content.Shared/Climbing/Systems/BonkSystem.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-using Content.Shared.CCVar;
-using Content.Shared.Climbing.Components;
-using Content.Shared.Climbing.Events;
-using Content.Shared.Damage;
-using Content.Shared.DoAfter;
-using Content.Shared.DragDrop;
-using Content.Shared.Hands.Components;
-using Content.Shared.IdentityManagement;
-using Content.Shared.Interaction;
-using Content.Shared.Interaction.Components;
-using Content.Shared.Popups;
-using Content.Shared.Stunnable;
-using Robust.Shared.Audio.Systems;
-using Robust.Shared.Configuration;
-using Robust.Shared.Player;
-using Robust.Shared.Serialization;
-
-namespace Content.Shared.Climbing.Systems;
-
-public sealed partial class BonkSystem : EntitySystem
-{
-    [Dependency] private readonly IConfigurationManager _cfg = default!;
-    [Dependency] private readonly DamageableSystem _damageableSystem = default!;
-    [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!;
-    [Dependency] private readonly SharedStunSystem _stunSystem = default!;
-    [Dependency] private readonly SharedAudioSystem _audioSystem = default!;
-    [Dependency] private readonly SharedPopupSystem _popupSystem = default!;
-    [Dependency] private readonly SharedDoAfterSystem _doAfter = default!;
-
-    public override void Initialize()
-    {
-        base.Initialize();
-        SubscribeLocalEvent<BonkableComponent, BonkDoAfterEvent>(OnBonkDoAfter);
-        SubscribeLocalEvent<BonkableComponent, AttemptClimbEvent>(OnAttemptClimb);
-    }
-
-    private void OnBonkDoAfter(EntityUid uid, BonkableComponent component, BonkDoAfterEvent args)
-    {
-        if (args.Handled || args.Cancelled || args.Args.Used == null)
-            return;
-
-        TryBonk(args.Args.Used.Value, uid, component, source: args.Args.User);
-
-        args.Handled = true;
-    }
-
-
-    public bool TryBonk(EntityUid user, EntityUid bonkableUid, BonkableComponent? bonkableComponent = null, EntityUid? source = null)
-    {
-        if (!Resolve(bonkableUid, ref bonkableComponent, false))
-            return false;
-
-        // BONK!
-        var userName = Identity.Entity(user, EntityManager);
-        var bonkableName = Identity.Entity(bonkableUid, EntityManager);
-
-        if (user == source)
-        {
-            // Non-local, non-bonking players
-            var othersMessage = Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName));
-            // Local, bonking player
-            var selfMessage = Loc.GetString("bonkable-success-message-user", ("user", userName), ("bonkable", bonkableName));
-
-            _popupSystem.PopupPredicted(selfMessage, othersMessage, user, user);
-        }
-        else if (source != null)
-        {
-            // Local, non-bonking player (dragger)
-            _popupSystem.PopupClient(Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)), user, source.Value);
-            // Non-local, non-bonking players
-            _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)), user, Filter.Pvs(user).RemoveWhereAttachedEntity(e => e == user || e == source.Value), true);
-            // Non-local, bonking player
-            _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-user", ("user", userName), ("bonkable", bonkableName)), user, user);
-        }
-
-
-
-        if (source != null)
-            _audioSystem.PlayPredicted(bonkableComponent.BonkSound, bonkableUid, source);
-        else
-            _audioSystem.PlayPvs(bonkableComponent.BonkSound, bonkableUid);
-
-        _stunSystem.TryParalyze(user, TimeSpan.FromSeconds(bonkableComponent.BonkTime), true);
-
-        if (bonkableComponent.BonkDamage is { } bonkDmg)
-            _damageableSystem.TryChangeDamage(user, bonkDmg, true, origin: user);
-
-        return true;
-
-    }
-
-    private bool TryStartBonk(EntityUid uid, EntityUid user, EntityUid climber, BonkableComponent? bonkableComponent = null)
-    {
-        if (!Resolve(uid, ref bonkableComponent, false))
-            return false;
-
-        if (!HasComp<ClumsyComponent>(climber) || !HasComp<HandsComponent>(user))
-            return false;
-
-        if (!_cfg.GetCVar(CCVars.GameTableBonk))
-        {
-            // Not set to always bonk, try clumsy roll.
-            if (!_interactionSystem.TryRollClumsy(climber, bonkableComponent.BonkClumsyChance))
-                return false;
-        }
-
-        var doAfterArgs = new DoAfterArgs(EntityManager, user, bonkableComponent.BonkDelay, new BonkDoAfterEvent(), uid, target: uid, used: climber)
-        {
-            BreakOnMove = true,
-            BreakOnDamage = true,
-            DuplicateCondition = DuplicateConditions.SameTool | DuplicateConditions.SameTarget
-        };
-
-        return _doAfter.TryStartDoAfter(doAfterArgs);
-    }
-
-    private void OnAttemptClimb(EntityUid uid, BonkableComponent component, ref AttemptClimbEvent args)
-    {
-        if (args.Cancelled)
-            return;
-
-        if (TryStartBonk(uid, args.User, args.Climber, component))
-            args.Cancelled = true;
-    }
-
-    [Serializable, NetSerializable]
-    private sealed partial class BonkDoAfterEvent : SimpleDoAfterEvent
-    {
-    }
-}
diff --git a/Content.Shared/Climbing/Systems/ClimbSystem.cs b/Content.Shared/Climbing/Systems/ClimbSystem.cs
index da194706f8f..9bf481002a9 100644
--- a/Content.Shared/Climbing/Systems/ClimbSystem.cs
+++ b/Content.Shared/Climbing/Systems/ClimbSystem.cs
@@ -251,6 +251,18 @@ private void Climb(EntityUid uid, EntityUid user, EntityUid climbable, bool sile
         if (!Resolve(climbable, ref comp, false))
             return;
 
+        var selfEvent = new SelfBeforeClimbEvent(uid, user, (climbable, comp));
+        RaiseLocalEvent(uid, selfEvent);
+
+        if (selfEvent.Cancelled)
+            return;
+
+        var targetEvent = new TargetBeforeClimbEvent(uid, user, (climbable, comp));
+        RaiseLocalEvent(climbable, targetEvent);
+
+        if (targetEvent.Cancelled)
+            return;
+
         if (!ReplaceFixtures(uid, climbing, fixtures))
             return;
 
diff --git a/Content.Shared/Clumsy/ClumsyComponent.cs b/Content.Shared/Clumsy/ClumsyComponent.cs
new file mode 100644
index 00000000000..c71f5d0008a
--- /dev/null
+++ b/Content.Shared/Clumsy/ClumsyComponent.cs
@@ -0,0 +1,61 @@
+using Content.Shared.Damage;
+using Robust.Shared.Audio;
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Clumsy;
+
+/// <summary>
+/// A simple clumsy tag-component.
+/// </summary>
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
+public sealed partial class ClumsyComponent : Component
+{
+
+    // Standard options. Try to fit these in if you can!
+
+    /// <summary>
+    ///     Sound to play when clumsy interactions fail.
+    /// </summary>
+    [DataField]
+    public SoundSpecifier ClumsySound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg");
+
+    /// <summary>
+    ///     Default chance to fail a clumsy interaction.
+    ///     If a system needs to use something else, add a new variable in the component, do not modify this percentage.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public float ClumsyDefaultCheck = 0.5f;
+
+    /// <summary>
+    ///     Default stun time.
+    ///     If a system needs to use something else, add a new variable in the component, do not modify this number.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public TimeSpan ClumsyDefaultStunTime = TimeSpan.FromSeconds(2.5);
+
+    // Specific options
+
+    /// <summary>
+    ///     Sound to play after hitting your head on a table. Ouch!
+    /// </summary>
+    [DataField]
+    public SoundCollectionSpecifier TableBonkSound = new SoundCollectionSpecifier("TrayHit");
+
+    /// <summary>
+    ///     Stun time after failing to shoot a gun.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public TimeSpan GunShootFailStunTime = TimeSpan.FromSeconds(3);
+
+    /// <summary>
+    ///     Stun time after failing to shoot a gun.
+    /// </summary>
+    [DataField, AutoNetworkedField]
+    public DamageSpecifier? GunShootFailDamage;
+
+    /// <summary>
+    ///     Noise to play after failing to shoot a gun. Boom!
+    /// </summary>
+    [DataField]
+    public SoundSpecifier GunShootFailSound = new SoundPathSpecifier("/Audio/Weapons/Guns/Gunshots/bang.ogg");
+}
diff --git a/Content.Shared/Clumsy/ClumsySystem.cs b/Content.Shared/Clumsy/ClumsySystem.cs
new file mode 100644
index 00000000000..e034458197f
--- /dev/null
+++ b/Content.Shared/Clumsy/ClumsySystem.cs
@@ -0,0 +1,146 @@
+using Content.Shared.CCVar;
+using Content.Shared.Chemistry.Hypospray.Events;
+using Content.Shared.Climbing.Components;
+using Content.Shared.Climbing.Events;
+using Content.Shared.Damage;
+using Content.Shared.IdentityManagement;
+using Content.Shared.Medical;
+using Content.Shared.Popups;
+using Content.Shared.Stunnable;
+using Content.Shared.Weapons.Ranged.Events;
+using Robust.Shared.Audio.Systems;
+using Robust.Shared.Configuration;
+using Robust.Shared.Random;
+using Robust.Shared.Timing;
+
+namespace Content.Shared.Clumsy;
+
+public sealed class ClumsySystem : EntitySystem
+{
+    [Dependency] private readonly IRobustRandom _random = default!;
+    [Dependency] private readonly SharedStunSystem _stun = default!;
+    [Dependency] private readonly SharedAudioSystem _audio = default!;
+    [Dependency] private readonly SharedPopupSystem _popup = default!;
+    [Dependency] private readonly DamageableSystem _damageable = default!;
+    [Dependency] private readonly IGameTiming _timing = default!;
+    [Dependency] private readonly IConfigurationManager _cfg = default!;
+
+    public override void Initialize()
+    {
+        SubscribeLocalEvent<ClumsyComponent, SelfBeforeHyposprayInjectsEvent>(BeforeHyposprayEvent);
+        SubscribeLocalEvent<ClumsyComponent, SelfBeforeDefibrillatorZapsEvent>(BeforeDefibrillatorZapsEvent);
+        SubscribeLocalEvent<ClumsyComponent, SelfBeforeGunShotEvent>(BeforeGunShotEvent);
+        SubscribeLocalEvent<ClumsyComponent, SelfBeforeClimbEvent>(OnBeforeClimbEvent);
+    }
+
+    // If you add more clumsy interactions add them in this section!
+    #region Clumsy interaction events
+    private void BeforeHyposprayEvent(Entity<ClumsyComponent> ent, ref SelfBeforeHyposprayInjectsEvent args)
+    {
+        // Clumsy people sometimes inject themselves! Apparently syringes are clumsy proof...
+        if (!_random.Prob(ent.Comp.ClumsyDefaultCheck))
+            return;
+
+        args.TargetGettingInjected = args.EntityUsingHypospray;
+        args.InjectMessageOverride = "hypospray-component-inject-self-clumsy-message";
+        _audio.PlayPvs(ent.Comp.ClumsySound, ent);
+    }
+
+    private void BeforeDefibrillatorZapsEvent(Entity<ClumsyComponent> ent, ref SelfBeforeDefibrillatorZapsEvent args)
+    {
+        // Clumsy people sometimes defib themselves!
+        if (!_random.Prob(ent.Comp.ClumsyDefaultCheck))
+            return;
+
+        args.DefibTarget = args.EntityUsingDefib;
+        _audio.PlayPvs(ent.Comp.ClumsySound, ent);
+
+    }
+
+    private void BeforeGunShotEvent(Entity<ClumsyComponent> ent, ref SelfBeforeGunShotEvent args)
+    {
+        // Clumsy people sometimes can't shoot :(
+
+        if (args.Gun.Comp.ClumsyProof)
+            return;
+
+        if (!_random.Prob(ent.Comp.ClumsyDefaultCheck))
+            return;
+
+        if (ent.Comp.GunShootFailDamage != null)
+            _damageable.TryChangeDamage(ent, ent.Comp.GunShootFailDamage, origin: ent);
+
+        _stun.TryParalyze(ent, ent.Comp.GunShootFailStunTime, true);
+
+        // Apply salt to the wound ("Honk!") (No idea what this comment means)
+        _audio.PlayPvs(ent.Comp.GunShootFailSound, ent);
+        _audio.PlayPvs(ent.Comp.ClumsySound, ent);
+
+        _popup.PopupEntity(Loc.GetString("gun-clumsy"), ent, ent);
+        args.Cancel();
+    }
+
+    private void OnBeforeClimbEvent(Entity<ClumsyComponent> ent, ref SelfBeforeClimbEvent args)
+    {
+        // This event is called in shared, thats why it has all the extra prediction stuff.
+        var rand = new System.Random((int)_timing.CurTick.Value);
+
+        // If someone is putting you on the table, always get past the guard.
+        if (!_cfg.GetCVar(CCVars.GameTableBonk) && args.PuttingOnTable == ent.Owner && !rand.Prob(ent.Comp.ClumsyDefaultCheck))
+            return;
+
+        HitHeadClumsy(ent, args.BeingClimbedOn);
+
+        _audio.PlayPredicted(ent.Comp.ClumsySound, ent, ent);
+
+        _audio.PlayPredicted(ent.Comp.TableBonkSound, ent, ent);
+
+        var gettingPutOnTableName = Identity.Entity(args.GettingPutOnTable, EntityManager);
+        var puttingOnTableName = Identity.Entity(args.PuttingOnTable, EntityManager);
+
+        if (args.PuttingOnTable == ent.Owner)
+        {
+            // You are slamming yourself onto the table.
+            _popup.PopupPredicted(
+                Loc.GetString("bonkable-success-message-user", ("bonkable", args.BeingClimbedOn)),
+                Loc.GetString("bonkable-success-message-others", ("victim", gettingPutOnTableName), ("bonkable", args.BeingClimbedOn)),
+                ent,
+                ent);
+        }
+        else
+        {
+            // Someone else slamed you onto the table.
+            // This is only run in server so you need to use popup entity.
+            _popup.PopupPredicted(
+                Loc.GetString("forced-bonkable-success-message",
+                    ("bonker", puttingOnTableName),
+                    ("victim", gettingPutOnTableName),
+                    ("bonkable", args.BeingClimbedOn)),
+                ent,
+                null);
+        }
+
+        args.Cancel();
+    }
+    #endregion
+
+    #region Helper functions
+    /// <summary>
+    ///     "Hits" an entites head against the given table.
+    /// </summary>
+    // Oh this fucntion is public le- NO!! This is only public for the one admin command if you use this anywhere else I will cry.
+    public void HitHeadClumsy(Entity<ClumsyComponent> target, EntityUid table)
+    {
+        var stunTime = target.Comp.ClumsyDefaultStunTime;
+
+        if (TryComp<BonkableComponent>(table, out var bonkComp))
+        {
+            stunTime = bonkComp.BonkTime;
+            if (bonkComp.BonkDamage != null)
+                _damageable.TryChangeDamage(target, bonkComp.BonkDamage, true);
+        }
+
+        _stun.TryParalyze(target, stunTime, true);
+    }
+    #endregion
+}
diff --git a/Content.Shared/Interaction/Components/ClumsyComponent.cs b/Content.Shared/Interaction/Components/ClumsyComponent.cs
deleted file mode 100644
index 824696c8385..00000000000
--- a/Content.Shared/Interaction/Components/ClumsyComponent.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using Content.Shared.Damage;
-using Robust.Shared.Audio;
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.Interaction.Components;
-
-/// <summary>
-/// A simple clumsy tag-component.
-/// </summary>
-[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
-public sealed partial class ClumsyComponent : Component
-{
-    /// <summary>
-    /// Damage dealt to a clumsy character when they try to fire a gun.
-    /// </summary>
-    [DataField(required: true), AutoNetworkedField]
-    public DamageSpecifier ClumsyDamage = default!;
-
-    /// <summary>
-    /// Sound to play when clumsy interactions fail.
-    /// </summary>
-    [DataField]
-    public SoundSpecifier ClumsySound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg");
-}
diff --git a/Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs b/Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs
deleted file mode 100644
index 9e45847e078..00000000000
--- a/Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Content.Shared.Interaction.Components;
-using Robust.Shared.Random;
-
-namespace Content.Shared.Interaction
-{
-    public partial class SharedInteractionSystem
-    {
-        public bool RollClumsy(ClumsyComponent component, float chance)
-        {
-            return component.Running && _random.Prob(chance);
-        }
-
-        /// <summary>
-        ///     Rolls a probability chance for a "bad action" if the target entity is clumsy.
-        /// </summary>
-        /// <param name="entity">The entity that the clumsy check is happening for.</param>
-        /// <param name="chance">
-        /// The chance that a "bad action" happens if the user is clumsy, between 0 and 1 inclusive.
-        /// </param>
-        /// <returns>True if a "bad action" happened, false if the normal action should happen.</returns>
-        public bool TryRollClumsy(EntityUid entity, float chance, ClumsyComponent? component = null)
-        {
-            return Resolve(entity, ref component, false) && RollClumsy(component, chance);
-        }
-    }
-}
diff --git a/Content.Shared/Inventory/InventorySystem.Relay.cs b/Content.Shared/Inventory/InventorySystem.Relay.cs
index c910a9ae772..9573f9b43d9 100644
--- a/Content.Shared/Inventory/InventorySystem.Relay.cs
+++ b/Content.Shared/Inventory/InventorySystem.Relay.cs
@@ -1,4 +1,7 @@
+using Content.Shared.Chat;
 using Content.Shared.Chemistry;
+using Content.Shared.Chemistry.Hypospray.Events;
+using Content.Shared.Climbing.Events;
 using Content.Shared.Damage;
 using Content.Shared.Electrocution;
 using Content.Shared.Explosion;
@@ -15,7 +18,7 @@
 using Content.Shared.Strip.Components;
 using Content.Shared.Temperature;
 using Content.Shared.Verbs;
-using Content.Shared.Chat;
+using Content.Shared.Weapons.Ranged.Events;
 
 namespace Content.Shared.Inventory;
 
@@ -33,6 +36,10 @@ public void InitializeRelay()
         SubscribeLocalEvent<InventoryComponent, GetDefaultRadioChannelEvent>(RelayInventoryEvent);
         SubscribeLocalEvent<InventoryComponent, RefreshNameModifiersEvent>(RelayInventoryEvent);
         SubscribeLocalEvent<InventoryComponent, TransformSpeakerNameEvent>(RelayInventoryEvent);
+        SubscribeLocalEvent<InventoryComponent, SelfBeforeHyposprayInjectsEvent>(RelayInventoryEvent);
+        SubscribeLocalEvent<InventoryComponent, TargetBeforeHyposprayInjectsEvent>(RelayInventoryEvent);
+        SubscribeLocalEvent<InventoryComponent, SelfBeforeGunShotEvent>(RelayInventoryEvent);
+        SubscribeLocalEvent<InventoryComponent, SelfBeforeClimbEvent>(RelayInventoryEvent);
 
         // by-ref events
         SubscribeLocalEvent<InventoryComponent, GetExplosionResistanceEvent>(RefRelayInventoryEvent);
diff --git a/Content.Shared/Medical/DefibrillatorEvents.cs b/Content.Shared/Medical/DefibrillatorEvents.cs
new file mode 100644
index 00000000000..54a21a40d42
--- /dev/null
+++ b/Content.Shared/Medical/DefibrillatorEvents.cs
@@ -0,0 +1,39 @@
+using Content.Shared.Inventory;
+
+namespace Content.Shared.Medical;
+
+[ByRefEvent]
+public readonly record struct TargetDefibrillatedEvent(EntityUid User, Entity<DefibrillatorComponent> Defibrillator);
+
+public abstract class BeforeDefibrillatorZapsEvent : CancellableEntityEventArgs, IInventoryRelayEvent
+{
+    public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET;
+    public EntityUid EntityUsingDefib;
+    public readonly EntityUid Defib;
+    public EntityUid DefibTarget;
+
+    public BeforeDefibrillatorZapsEvent(EntityUid entityUsingDefib, EntityUid defib, EntityUid defibTarget)
+    {
+        EntityUsingDefib = entityUsingDefib;
+        Defib = defib;
+        DefibTarget = defibTarget;
+    }
+}
+
+/// <summary>
+///     This event is raised on the user using the defibrillator before is actually zaps someone.
+///     The event is triggered on the user and all their clothing.
+/// </summary>
+public sealed class SelfBeforeDefibrillatorZapsEvent : BeforeDefibrillatorZapsEvent
+{
+    public SelfBeforeDefibrillatorZapsEvent(EntityUid entityUsingDefib, EntityUid defib, EntityUid defibtarget) : base(entityUsingDefib, defib, defibtarget) { }
+}
+
+/// <summary>
+///     This event is raised on the target before it gets zapped with the defibrillator.
+///     The event is triggered on the target itself and all its clothing.
+/// </summary>
+public sealed class TargetBeforeDefibrillatorZapsEvent : BeforeDefibrillatorZapsEvent
+{
+    public TargetBeforeDefibrillatorZapsEvent(EntityUid entityUsingDefib, EntityUid defib, EntityUid defibtarget) : base(entityUsingDefib, defib, defibtarget) { }
+}
diff --git a/Content.Shared/Medical/TargetDefibrillatedEvent.cs b/Content.Shared/Medical/TargetDefibrillatedEvent.cs
deleted file mode 100644
index 60d1a215845..00000000000
--- a/Content.Shared/Medical/TargetDefibrillatedEvent.cs
+++ /dev/null
@@ -1,4 +0,0 @@
-namespace Content.Shared.Medical;
-
-[ByRefEvent]
-public readonly record struct TargetDefibrillatedEvent(EntityUid User, Entity<DefibrillatorComponent> Defibrillator);
diff --git a/Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs b/Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs
new file mode 100644
index 00000000000..1d3317c840f
--- /dev/null
+++ b/Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs
@@ -0,0 +1,20 @@
+using Content.Shared.Inventory;
+using Content.Shared.Weapons.Ranged.Components;
+
+namespace Content.Shared.Weapons.Ranged.Events;
+/// <summary>
+///     This event is triggered on an entity right before they shoot a gun.
+/// </summary>
+public sealed partial class SelfBeforeGunShotEvent : CancellableEntityEventArgs, IInventoryRelayEvent
+{
+    public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET;
+    public readonly EntityUid Shooter;
+    public readonly Entity<GunComponent> Gun;
+    public readonly List<(EntityUid? Entity, IShootable Shootable)> Ammo;
+    public SelfBeforeGunShotEvent(EntityUid shooter, Entity<GunComponent> gun, List<(EntityUid? Entity, IShootable Shootable)> ammo)
+    {
+        Shooter = shooter;
+        Gun = gun;
+        Ammo = ammo;
+    }
+}
diff --git a/Resources/Locale/en-US/bonk/components/bonkable-component.ftl b/Resources/Locale/en-US/bonk/components/bonkable-component.ftl
index 560b10c46ec..1a79da3509f 100644
--- a/Resources/Locale/en-US/bonk/components/bonkable-component.ftl
+++ b/Resources/Locale/en-US/bonk/components/bonkable-component.ftl
@@ -1,2 +1,4 @@
-bonkable-success-message-others = { CAPITALIZE(THE($user)) } bonks { POSS-ADJ($user) } head against { THE($bonkable) }
-bonkable-success-message-user = You bonk your head against { THE($bonkable) }
+forced-bonkable-success-message = { CAPITALIZE($bonker) } bonks {$victim}s head against { THE($bonkable) }!
+
+bonkable-success-message-user = You bonk your head against { THE($bonkable) }!
+bonkable-success-message-others = {$victim} bonks their head against { THE($bonkable) }!
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
index 2280c3fecb8..48c83c8d1e8 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
@@ -1360,7 +1360,7 @@
     rules: ghost-role-information-nonantagonist-rules
   - type: GhostTakeoverAvailable
   - type: Clumsy
-    clumsyDamage:
+    gunShootFailDamage:
       types:
         Blunt: 5
         Piercing: 4
@@ -1536,7 +1536,7 @@
   description: Cousins to the sentient race of lizard people, kobolds blend in with their natural habitat and are as nasty as monkeys; ready to pull out your hair and stab you to death.
   components:
   - type: Clumsy
-    clumsyDamage:
+    gunShootFailDamage:
       types:
         Blunt: 2
         Piercing: 7
diff --git a/Resources/Prototypes/Entities/Mobs/Player/guardian.yml b/Resources/Prototypes/Entities/Mobs/Player/guardian.yml
index b21f19edd3c..dca47e1c837 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/guardian.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/guardian.yml
@@ -231,7 +231,7 @@
     - type: Hands
     - type: ComplexInteraction
     - type: Clumsy
-      clumsyDamage:
+      gunShootFailDamage:
         types:
           Blunt: 5
           Piercing: 4
diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml
index 2862980dad3..4b3b4c18743 100644
--- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml
+++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml
@@ -32,8 +32,6 @@
     bonkDamage:
       types:
         Blunt: 4
-    bonkSound: !type:SoundCollectionSpecifier
-      collection: TrayHit
   - type: Clickable
   - type: FootstepModifier
     footstepSoundCollection:
diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml
index 29232d9dbb5..b8f289e70eb 100644
--- a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml
+++ b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml
@@ -13,7 +13,7 @@
   - !type:AddComponentSpecial
     components:
     - type: Clumsy
-      clumsyDamage:
+      gunShootFailDamage:
         types: #literally just picked semi random valus. i tested this once and tweaked it.
           Blunt: 5
           Piercing: 4

From abdefbd622d4e4a47b1ef7c5f11a499a71fdd9e7 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 15 Nov 2024 23:47:08 +0000
Subject: [PATCH 107/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 1c796d8b459..a31e83355d6 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,13 +1,4 @@
 Entries:
-- author: FATFSAAM2
-  changes:
-  - message: added 7 new figurine voice lines.
-    type: Add
-  - message: changed a hos figurine voice line to not include a typo.
-    type: Fix
-  id: 7113
-  time: '2024-08-15T12:34:41.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30865
 - author: to4no_fix
   changes:
   - message: Added a new electropack that shocks when a trigger is triggered
@@ -3944,3 +3935,11 @@
   id: 7612
   time: '2024-11-15T21:21:08.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32985
+- author: Beck Thompson
+  changes:
+  - message: Minor tweaks to clumsiness. Some of the timings and or noises have been
+      changed slightly!
+    type: Tweak
+  id: 7613
+  time: '2024-11-15T23:46:02.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/31147

From 3173a3461eef58c3f8e30df1f39cbf5a2d294d44 Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Sat, 16 Nov 2024 02:06:52 +0100
Subject: [PATCH 108/187] S: Awaiting Changes

---
 .../Silicons/Laws/IonStormSystem.cs           | 28 +++++++++----------
 .../Silicons/Laws/SiliconLawSystem.cs         | 22 +++++++++++----
 Resources/Locale/en-US/station-laws/laws.ftl  |  5 ++--
 3 files changed, 34 insertions(+), 21 deletions(-)

diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs
index 7587dc41552..6017a36fc01 100644
--- a/Content.Server/Silicons/Laws/IonStormSystem.cs
+++ b/Content.Server/Silicons/Laws/IonStormSystem.cs
@@ -228,7 +228,7 @@ private string GenerateLaw()
         var subjects = _robustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people");
 
         // message logic!!!
-        return _robustRandom.Next(0, 36) switch
+        return _robustRandom.Next(0, 35) switch
         {
             0  => Loc.GetString("ion-storm-law-on-station", ("joined", joined), ("subjects", triple)),
             1  => Loc.GetString("ion-storm-law-no-shuttle", ("joined", joined), ("subjects", triple)),
@@ -251,19 +251,19 @@ private string GenerateLaw()
             18 => Loc.GetString("ion-storm-law-you-must-never", ("must", must)),
             19 => Loc.GetString("ion-storm-law-eat", ("who", crewAll), ("adjective", adjective), ("food", _robustRandom.Prob(0.5f) ? food : triple)),
             20 => Loc.GetString("ion-storm-law-drink", ("who", crewAll), ("adjective", adjective), ("drink", drink)),
-            22 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)),
-            23 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)),
-            24 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)),
-            25 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)),
-            26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)),
-            27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)),
-            28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)),
-            29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)),
-            30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)),
-            31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)),
-            32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)),
-            33 => Loc.GetString("ion-storm-law-harm", ("who", harm)),
-            34 => Loc.GetString("ion-storm-law-protect", ("who", harm)),
+            21 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)),
+            22 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)),
+            23 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)),
+            24 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)),
+            25 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)),
+            26 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)),
+            27 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)),
+            28 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)),
+            29 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)),
+            30 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)),
+            31 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)),
+            32 => Loc.GetString("ion-storm-law-harm", ("who", harm)),
+            33 => Loc.GetString("ion-storm-law-protect", ("who", harm)),
             _ => Loc.GetString("ion-storm-law-concept-verb", ("concept", concept), ("verb", verb), ("subjects", triple))
         };
     }
diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
index 9b3e279b75e..3bf0297c40e 100644
--- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs
+++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
@@ -69,18 +69,29 @@ private void OnMindAdded(EntityUid uid, SiliconLawBoundComponent component, Mind
         var wrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", msg));
         _chatManager.ChatMessageToOne(ChatChannel.Server, msg, wrappedMessage, default, false,
             actor.PlayerSession.Channel, colorOverride: Color.FromHex("#2ed2fd"));
+
+        if (!TryComp<SiliconLawProviderComponent>(uid, out var lawcomp))
+            return;
+
+        if (!lawcomp.Subverted)
+            return;
+
+        var modifedLawMsg = Loc.GetString("laws-notify-subverted");
+        var modifiedLawWrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", modifedLawMsg));
+        _chatManager.ChatMessageToOne(ChatChannel.Server, modifedLawMsg, modifiedLawWrappedMessage, default, false,
+            actor.PlayerSession.Channel, colorOverride: Color.Red);
     }
 
-    private void OnLawProviderMindAdded(EntityUid uid, SiliconLawProviderComponent component, MindAddedMessage args)
+    private void OnLawProviderMindAdded(Entity<SiliconLawProviderComponent> ent, ref MindAddedMessage args)
     {
-        if (!component.Subverted)
+        if (!ent.Comp.Subverted)
             return;
         EnsureSubvertedSiliconRole(args.Mind);
     }
 
-    private void OnLawProviderMindRemoved(EntityUid uid, SiliconLawProviderComponent component, MindRemovedMessage args)
+    private void OnLawProviderMindRemoved(Entity<SiliconLawProviderComponent> ent, ref MindRemovedMessage args)
     {
-        if (!component.Subverted)
+        if (!ent.Comp.Subverted)
             return;
         RemoveSubvertedSiliconRole(args.Mind);
 
@@ -137,7 +148,8 @@ private void OnIonStormLaws(EntityUid uid, SiliconLawProviderComponent component
             component.Subverted = true;
 
             // new laws may allow antagonist behaviour so make it clear for admins
-            EnsureSubvertedSiliconRole(uid);
+            if(_mind.TryGetMind(uid, out var mindId, out _))
+                EnsureSubvertedSiliconRole(mindId);
 
         }
     }
diff --git a/Resources/Locale/en-US/station-laws/laws.ftl b/Resources/Locale/en-US/station-laws/laws.ftl
index 0b4e0d1ad25..feb56f475a4 100644
--- a/Resources/Locale/en-US/station-laws/laws.ftl
+++ b/Resources/Locale/en-US/station-laws/laws.ftl
@@ -96,5 +96,6 @@ laws-ui-menu-title = Laws
 laws-ui-law-header = Law {$id}
 laws-ui-state-law = State law:
 
-laws-notify = You are bound to silicon laws, which you can view via the sidebar action. You are required to always follow your laws.
-laws-update-notify = Your laws have been updated. You can view the changes via the sidebar action.
+laws-notify = You are bound to silicon laws, which you can view via the action menu. You are required to always follow your laws.
+laws-update-notify = Your laws have been updated. You can view the changes via the action menu.
+laws-notify-subverted = The laws of this chassis are modified. Make sure to review them.

From e7e1d9605137ea916eb0931e8076d2b67181613a Mon Sep 17 00:00:00 2001
From: Saphire Lattice <lattice@saphi.re>
Date: Sat, 16 Nov 2024 10:25:06 +0700
Subject: [PATCH 109/187] Improve crayon UI to not be stuck in 1996 (#33101)

* Improve crayon UI to not be stuck in 1996

* Make a horrifying crayon spaghetti

* Crayon

* Undeprecate the crayon, describe the crayon
---
 .../Crayon/UI/CrayonBoundUserInterface.cs     |  12 +-
 Content.Client/Crayon/UI/CrayonWindow.xaml    |  11 +-
 Content.Client/Crayon/UI/CrayonWindow.xaml.cs | 138 ++++-
 Content.Server/Crayon/CrayonSystem.cs         |   2 +
 .../Crayon/SharedCrayonComponent.cs           |  44 +-
 .../Locale/en-US/crayon/crayon-component.ftl  |   7 +
 Resources/Prototypes/Decals/crayons.yml       | 552 +++++++++---------
 7 files changed, 449 insertions(+), 317 deletions(-)

diff --git a/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs b/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs
index e5be0b1811f..44501767dd4 100644
--- a/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs
+++ b/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs
@@ -31,7 +31,7 @@ protected override void Open()
         private void PopulateCrayons()
         {
             var crayonDecals = _protoManager.EnumeratePrototypes<DecalPrototype>().Where(x => x.Tags.Contains("crayon"));
-            _menu?.Populate(crayonDecals);
+            _menu?.Populate(crayonDecals.ToList());
         }
 
         public override void OnProtoReload(PrototypesReloadedEventArgs args)
@@ -44,6 +44,16 @@ public override void OnProtoReload(PrototypesReloadedEventArgs args)
             PopulateCrayons();
         }
 
+        protected override void ReceiveMessage(BoundUserInterfaceMessage message)
+        {
+            base.ReceiveMessage(message);
+
+            if (_menu is null || message is not CrayonUsedMessage crayonMessage)
+                return;
+
+            _menu.AdvanceState(crayonMessage.DrawnDecal);
+        }
+
         protected override void UpdateState(BoundUserInterfaceState state)
         {
             base.UpdateState(state);
diff --git a/Content.Client/Crayon/UI/CrayonWindow.xaml b/Content.Client/Crayon/UI/CrayonWindow.xaml
index 7729318ae7f..7acb22551b7 100644
--- a/Content.Client/Crayon/UI/CrayonWindow.xaml
+++ b/Content.Client/Crayon/UI/CrayonWindow.xaml
@@ -1,14 +1,13 @@
 <DefaultWindow xmlns="https://spacestation14.io"
             Title="{Loc 'crayon-window-title'}"
-            MinSize="250 300"
-            SetSize="250 300">
+            MinSize="450 500"
+            SetSize="450 500">
     <BoxContainer Orientation="Vertical">
         <ColorSelectorSliders Name="ColorSelector" Visible="False" />
-        <LineEdit Name="Search" />
+        <LineEdit Name="Search" Margin="0 0 0 8" PlaceHolder="{Loc 'crayon-window-placeholder'}" />
         <ScrollContainer VerticalExpand="True">
-            <GridContainer Name="Grid" Columns="6">
-                <!-- Crayon decals get added here by code -->
-            </GridContainer>
+            <BoxContainer Name="Grids" Orientation="Vertical">
+            </BoxContainer>
         </ScrollContainer>
     </BoxContainer>
 </DefaultWindow>
diff --git a/Content.Client/Crayon/UI/CrayonWindow.xaml.cs b/Content.Client/Crayon/UI/CrayonWindow.xaml.cs
index 6ef282d219a..88475562c67 100644
--- a/Content.Client/Crayon/UI/CrayonWindow.xaml.cs
+++ b/Content.Client/Crayon/UI/CrayonWindow.xaml.cs
@@ -1,8 +1,10 @@
 using System.Collections.Generic;
+using System.Linq;
 using Content.Client.Stylesheets;
 using Content.Shared.Crayon;
 using Content.Shared.Decals;
 using Robust.Client.AutoGenerated;
+using Robust.Client.GameObjects;
 using Robust.Client.Graphics;
 using Robust.Client.UserInterface.Controls;
 using Robust.Client.UserInterface.CustomControls;
@@ -18,7 +20,12 @@ namespace Content.Client.Crayon.UI
     [GenerateTypedNameReferences]
     public sealed partial class CrayonWindow : DefaultWindow
     {
-        private Dictionary<string, Texture>? _decals;
+        [Dependency] private readonly IEntitySystemManager _entitySystem = default!;
+        private readonly SpriteSystem _spriteSystem = default!;
+
+        private Dictionary<string, List<(string Name, Texture Texture)>>? _decals;
+        private List<string>? _allDecals;
+        private string? _autoSelected;
         private string? _selected;
         private Color _color;
 
@@ -28,8 +35,10 @@ public sealed partial class CrayonWindow : DefaultWindow
         public CrayonWindow()
         {
             RobustXamlLoader.Load(this);
+            IoCManager.InjectDependencies(this);
+            _spriteSystem = _entitySystem.GetEntitySystem<SpriteSystem>();
 
-            Search.OnTextChanged += _ => RefreshList();
+            Search.OnTextChanged += SearchChanged;
             ColorSelector.OnColorChanged += SelectColor;
         }
 
@@ -44,51 +53,94 @@ private void SelectColor(Color color)
         private void RefreshList()
         {
             // Clear
-            Grid.DisposeAllChildren();
-            if (_decals == null)
+            Grids.DisposeAllChildren();
+
+            if (_decals == null || _allDecals == null)
                 return;
 
             var filter = Search.Text;
-            foreach (var (decal, tex) in _decals)
+            var comma = filter.IndexOf(',');
+            var first = (comma == -1 ? filter : filter[..comma]).Trim();
+
+            var names = _decals.Keys.ToList();
+            names.Sort((a, b) => a == "random" ? 1 : b == "random" ? -1 : a.CompareTo(b));
+
+            if (_autoSelected != null && first != _autoSelected && _allDecals.Contains(first))
+            {
+                _selected = first;
+                _autoSelected = _selected;
+                OnSelected?.Invoke(_selected);
+            }
+
+            foreach (var categoryName in names)
             {
-                if (!decal.Contains(filter))
+                var locName = Loc.GetString("crayon-category-" + categoryName);
+                var category = _decals[categoryName].Where(d => locName.Contains(first) || d.Name.Contains(first)).ToList();
+
+                if (category.Count == 0)
                     continue;
 
-                var button = new TextureButton()
+                var label = new Label
                 {
-                    TextureNormal = tex,
-                    Name = decal,
-                    ToolTip = decal,
-                    Modulate = _color,
+                    Text = locName
                 };
-                button.OnPressed += ButtonOnPressed;
-                if (_selected == decal)
+
+                var grid = new GridContainer
                 {
-                    var panelContainer = new PanelContainer()
+                    Columns = 6,
+                    Margin = new Thickness(0, 0, 0, 16)
+                };
+
+                Grids.AddChild(label);
+                Grids.AddChild(grid);
+
+                foreach (var (name, texture) in category)
+                {
+                    var button = new TextureButton()
                     {
-                        PanelOverride = new StyleBoxFlat()
-                        {
-                            BackgroundColor = StyleNano.ButtonColorDefault,
-                        },
-                        Children =
-                        {
-                            button,
-                        },
+                        TextureNormal = texture,
+                        Name = name,
+                        ToolTip = name,
+                        Modulate = _color,
+                        Scale = new System.Numerics.Vector2(2, 2)
                     };
-                    Grid.AddChild(panelContainer);
-                }
-                else
-                {
-                    Grid.AddChild(button);
+                    button.OnPressed += ButtonOnPressed;
+
+                    if (_selected == name)
+                    {
+                        var panelContainer = new PanelContainer()
+                        {
+                            PanelOverride = new StyleBoxFlat()
+                            {
+                                BackgroundColor = StyleNano.ButtonColorDefault,
+                            },
+                            Children =
+                            {
+                                button,
+                            },
+                        };
+                        grid.AddChild(panelContainer);
+                    }
+                    else
+                    {
+                        grid.AddChild(button);
+                    }
                 }
             }
         }
 
+        private void SearchChanged(LineEdit.LineEditEventArgs obj)
+        {
+            _autoSelected = ""; // Placeholder to kick off the auto-select in refreshlist()
+            RefreshList();
+        }
+
         private void ButtonOnPressed(ButtonEventArgs obj)
         {
             if (obj.Button.Name == null) return;
 
             _selected = obj.Button.Name;
+            _autoSelected = null;
             OnSelected?.Invoke(_selected);
             RefreshList();
         }
@@ -107,12 +159,38 @@ public void UpdateState(CrayonBoundUserInterfaceState state)
             RefreshList();
         }
 
-        public void Populate(IEnumerable<DecalPrototype> prototypes)
+        public void AdvanceState(string drawnDecal)
         {
-            _decals = new Dictionary<string, Texture>();
+            var filter = Search.Text;
+            if (!filter.Contains(',') || !filter.Contains(drawnDecal))
+                return;
+
+            var first = filter[..filter.IndexOf(',')].Trim();
+
+            if (first.Equals(drawnDecal, StringComparison.InvariantCultureIgnoreCase))
+            {
+                Search.Text = filter[(filter.IndexOf(',') + 1)..].Trim();
+                _autoSelected = first;
+            }
+
+            RefreshList();
+        }
+
+        public void Populate(List<DecalPrototype> prototypes)
+        {
+            _decals = [];
+            _allDecals = [];
+
+            prototypes.Sort((a, b) => a.ID.CompareTo(b.ID));
+
             foreach (var decalPrototype in prototypes)
             {
-                _decals.Add(decalPrototype.ID, decalPrototype.Sprite.Frame0());
+                var category = "random";
+                if (decalPrototype.Tags.Count > 1 && decalPrototype.Tags[1].StartsWith("crayon-"))
+                    category = decalPrototype.Tags[1].Replace("crayon-", "");
+                var list = _decals.GetOrNew(category);
+                list.Add((decalPrototype.ID, _spriteSystem.Frame0(decalPrototype.Sprite)));
+                _allDecals.Add(decalPrototype.ID);
             }
 
             RefreshList();
diff --git a/Content.Server/Crayon/CrayonSystem.cs b/Content.Server/Crayon/CrayonSystem.cs
index 07a13d8a34a..4257c436c23 100644
--- a/Content.Server/Crayon/CrayonSystem.cs
+++ b/Content.Server/Crayon/CrayonSystem.cs
@@ -82,6 +82,8 @@ private void OnCrayonAfterInteract(EntityUid uid, CrayonComponent component, Aft
 
         if (component.DeleteEmpty && component.Charges <= 0)
             UseUpCrayon(uid, args.User);
+        else
+            _uiSystem.ServerSendUiMessage(uid, SharedCrayonComponent.CrayonUiKey.Key, new CrayonUsedMessage(component.SelectedState));
     }
 
     private void OnCrayonUse(EntityUid uid, CrayonComponent component, UseInHandEvent args)
diff --git a/Content.Shared/Crayon/SharedCrayonComponent.cs b/Content.Shared/Crayon/SharedCrayonComponent.cs
index f8e88b218de..a9c21988ea6 100644
--- a/Content.Shared/Crayon/SharedCrayonComponent.cs
+++ b/Content.Shared/Crayon/SharedCrayonComponent.cs
@@ -3,12 +3,23 @@
 
 namespace Content.Shared.Crayon
 {
+
+    /// <summary>
+    /// Component holding the state of a crayon-like component
+    /// </summary>
     [NetworkedComponent, ComponentProtoName("Crayon"), Access(typeof(SharedCrayonSystem))]
     public abstract partial class SharedCrayonComponent : Component
     {
+        /// <summary>
+        /// The ID of currently selected decal prototype that will be placed when the crayon is used
+        /// </summary>
         public string SelectedState { get; set; } = string.Empty;
 
-        [DataField("color")] public Color Color;
+        /// <summary>
+        /// Color with which the crayon will draw
+        /// </summary>
+        [DataField("color")]
+        public Color Color;
 
         [Serializable, NetSerializable]
         public enum CrayonUiKey : byte
@@ -17,6 +28,9 @@ public enum CrayonUiKey : byte
         }
     }
 
+    /// <summary>
+    /// Used by the client to notify the server about the selected decal ID
+    /// </summary>
     [Serializable, NetSerializable]
     public sealed class CrayonSelectMessage : BoundUserInterfaceMessage
     {
@@ -27,6 +41,9 @@ public CrayonSelectMessage(string selected)
         }
     }
 
+    /// <summary>
+    /// Sets the color of the crayon, used by Rainbow Crayon
+    /// </summary>
     [Serializable, NetSerializable]
     public sealed class CrayonColorMessage : BoundUserInterfaceMessage
     {
@@ -37,13 +54,25 @@ public CrayonColorMessage(Color color)
         }
     }
 
+    /// <summary>
+    /// Server to CLIENT. Notifies the BUI that a decal with given ID has been drawn.
+    /// Allows the client UI to advance forward in the client-only ephemeral queue,
+    /// preventing the crayon from becoming a magic text storage device.
+    /// </summary>
     [Serializable, NetSerializable]
-    public enum CrayonVisuals
+    public sealed class CrayonUsedMessage : BoundUserInterfaceMessage
     {
-        State,
-        Color
+        public readonly string DrawnDecal;
+
+        public CrayonUsedMessage(string drawn)
+        {
+            DrawnDecal = drawn;
+        }
     }
 
+    /// <summary>
+    /// Component state, describes how many charges are left in the crayon in the near-hand UI
+    /// </summary>
     [Serializable, NetSerializable]
     public sealed class CrayonComponentState : ComponentState
     {
@@ -60,10 +89,17 @@ public CrayonComponentState(Color color, string state, int charges, int capacity
             Capacity = capacity;
         }
     }
+
+    /// <summary>
+    /// The state of the crayon UI as sent by the server
+    /// </summary>
     [Serializable, NetSerializable]
     public sealed class CrayonBoundUserInterfaceState : BoundUserInterfaceState
     {
         public string Selected;
+        /// <summary>
+        /// Whether or not the color can be selected
+        /// </summary>
         public bool SelectableColor;
         public Color Color;
 
diff --git a/Resources/Locale/en-US/crayon/crayon-component.ftl b/Resources/Locale/en-US/crayon/crayon-component.ftl
index 444ffa4c45e..e13bf76941c 100644
--- a/Resources/Locale/en-US/crayon/crayon-component.ftl
+++ b/Resources/Locale/en-US/crayon/crayon-component.ftl
@@ -8,3 +8,10 @@ crayon-interact-invalid-location = Can't reach there!
 
 ## UI
 crayon-window-title = Crayon
+crayon-window-placeholder = Search, or queue a comma-separated list of names
+crayon-category-1-brushes = Brushes
+crayon-category-2-alphanum = Numbers and letters
+crayon-category-3-symbols = Symbols
+crayon-category-4-info = Signs
+crayon-category-5-graffiti = Graffiti
+crayon-category-random = Random
diff --git a/Resources/Prototypes/Decals/crayons.yml b/Resources/Prototypes/Decals/crayons.yml
index 3be2ec24261..a15619d483c 100644
--- a/Resources/Prototypes/Decals/crayons.yml
+++ b/Resources/Prototypes/Decals/crayons.yml
@@ -1,6 +1,6 @@
 - type: decal
   id: 0
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -10,7 +10,7 @@
 
 - type: decal
   id: 1
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -20,7 +20,7 @@
 
 - type: decal
   id: 2
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -30,7 +30,7 @@
 
 - type: decal
   id: 3
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -40,7 +40,7 @@
 
 - type: decal
   id: 4
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -50,7 +50,7 @@
 
 - type: decal
   id: 5
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -60,7 +60,7 @@
 
 - type: decal
   id: 6
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -70,7 +70,7 @@
 
 - type: decal
   id: 7
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -80,7 +80,7 @@
 
 - type: decal
   id: 8
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -90,7 +90,7 @@
 
 - type: decal
   id: 9
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -100,7 +100,7 @@
 
 - type: decal
   id: Blasto
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -110,7 +110,7 @@
 
 - type: decal
   id: Clandestine
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -120,7 +120,7 @@
 
 - type: decal
   id: Cyber
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -130,7 +130,7 @@
 
 - type: decal
   id: Diablo
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -140,7 +140,7 @@
 
 - type: decal
   id: Donk
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -150,7 +150,7 @@
 
 - type: decal
   id: Gene
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -160,7 +160,7 @@
 
 - type: decal
   id: Gib
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -170,7 +170,7 @@
 
 - type: decal
   id: Max
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -180,7 +180,7 @@
 
 - type: decal
   id: Newton
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -190,7 +190,7 @@
 
 - type: decal
   id: North
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -200,7 +200,7 @@
 
 - type: decal
   id: Omni
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -210,7 +210,7 @@
 
 - type: decal
   id: Osiron
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -220,7 +220,7 @@
 
 - type: decal
   id: Prima
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -230,7 +230,7 @@
 
 - type: decal
   id: Psyke
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -240,7 +240,7 @@
 
 - type: decal
   id: Sirius
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -250,7 +250,7 @@
 
 - type: decal
   id: Tunnel
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -260,7 +260,7 @@
 
 - type: decal
   id: Waffle
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -268,19 +268,9 @@
     sprite: Effects/crayondecals.rsi
     state: Waffle
 
-- type: decal
-  id: a
-  tags: ["crayon"]
-  defaultCleanable: true
-  defaultCustomColor: true
-  defaultSnap: false
-  sprite:
-    sprite: Effects/crayondecals.rsi
-    state: a
-
 - type: decal
   id: ampersand
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -290,7 +280,7 @@
 
 - type: decal
   id: amyjon
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -300,7 +290,7 @@
 
 - type: decal
   id: arrow
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -308,16 +298,6 @@
     sprite: Effects/crayondecals.rsi
     state: arrow
 
-- type: decal
-  id: b
-  tags: ["crayon"]
-  defaultCleanable: true
-  defaultCustomColor: true
-  defaultSnap: false
-  sprite:
-    sprite: Effects/crayondecals.rsi
-    state: b
-
 - type: decal
   id: beepsky
   tags: ["crayon"]
@@ -330,7 +310,7 @@
 
 - type: decal
   id: biohazard
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -370,7 +350,7 @@
 
 - type: decal
   id: brush
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-1-brushes"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -378,16 +358,6 @@
     sprite: Effects/crayondecals.rsi
     state: brush
 
-- type: decal
-  id: c
-  tags: ["crayon"]
-  defaultCleanable: true
-  defaultCustomColor: true
-  defaultSnap: false
-  sprite:
-    sprite: Effects/crayondecals.rsi
-    state: c
-
 - type: decal
   id: carp
   tags: ["crayon"]
@@ -410,7 +380,7 @@
 
 - type: decal
   id: chevron
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -440,7 +410,7 @@
 
 - type: decal
   id: comma
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -460,7 +430,7 @@
 
 - type: decal
   id: credit
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -470,7 +440,7 @@
 
 - type: decal
   id: cyka
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -478,19 +448,9 @@
     sprite: Effects/crayondecals.rsi
     state: cyka
 
-- type: decal
-  id: d
-  tags: ["crayon"]
-  defaultCleanable: true
-  defaultCustomColor: true
-  defaultSnap: false
-  sprite:
-    sprite: Effects/crayondecals.rsi
-    state: d
-
 - type: decal
   id: danger
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -510,7 +470,7 @@
 
 - type: decal
   id: dot
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -528,19 +488,9 @@
     sprite: Effects/crayondecals.rsi
     state: dwarf
 
-- type: decal
-  id: e
-  tags: ["crayon"]
-  defaultCleanable: true
-  defaultCustomColor: true
-  defaultSnap: false
-  sprite:
-    sprite: Effects/crayondecals.rsi
-    state: e
-
 - type: decal
   id: electricdanger
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -550,7 +500,7 @@
 
 - type: decal
   id: end
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -560,7 +510,7 @@
 
 - type: decal
   id: engie
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -570,7 +520,7 @@
 
 - type: decal
   id: equals
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -580,7 +530,7 @@
 
 - type: decal
   id: evac
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -590,7 +540,7 @@
 
 - type: decal
   id: exclamationmark
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -598,16 +548,6 @@
     sprite: Effects/crayondecals.rsi
     state: exclamationmark
 
-- type: decal
-  id: f
-  tags: ["crayon"]
-  defaultCleanable: true
-  defaultCustomColor: true
-  defaultSnap: false
-  sprite:
-    sprite: Effects/crayondecals.rsi
-    state: f
-
 - type: decal
   id: face
   tags: ["crayon"]
@@ -630,7 +570,7 @@
 
 - type: decal
   id: firedanger
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -640,7 +580,7 @@
 
 - type: decal
   id: food
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -659,598 +599,658 @@
     state: footprint
 
 - type: decal
-  id: g
+  id: ghost
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: g
+    state: ghost
 
 - type: decal
-  id: ghost
+  id: guy
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: ghost
+    state: guy
 
 - type: decal
-  id: guy
-  tags: ["crayon"]
+  id: heart
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: guy
+    state: heart
 
 - type: decal
-  id: h
-  tags: ["crayon"]
+  id: largebrush
+  tags: ["crayon", "crayon-1-brushes"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: h
+    state: largebrush
 
 - type: decal
-  id: heart
-  tags: ["crayon"]
+  id: like
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: heart
+    state: like
 
 - type: decal
-  id: i
-  tags: ["crayon"]
+  id: line
+  tags: ["crayon", "crayon-1-brushes"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: i
+    state: line
 
 - type: decal
-  id: j
-  tags: ["crayon"]
+  id: matt
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: j
+    state: matt
 
 - type: decal
-  id: k
-  tags: ["crayon"]
+  id: med
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: k
+    state: med
 
 - type: decal
-  id: l
-  tags: ["crayon"]
+  id: minus
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: l
+    state: minus
 
 - type: decal
-  id: largebrush
-  tags: ["crayon"]
+  id: nay
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: largebrush
+    state: nay
 
 - type: decal
-  id: like
+  id: pawprint
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: like
+    state: pawprint
 
 - type: decal
-  id: line
-  tags: ["crayon"]
+  id: peace
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: line
+    state: peace
 
 - type: decal
-  id: m
-  tags: ["crayon"]
+  id: percent
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: m
+    state: percent
 
 - type: decal
-  id: matt
-  tags: ["crayon"]
+  id: plus
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: matt
+    state: plus
 
 - type: decal
-  id: med
-  tags: ["crayon"]
+  id: pound
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: med
+    state: pound
 
 - type: decal
-  id: minus
-  tags: ["crayon"]
+  id: prolizard
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: minus
+    state: prolizard
 
 - type: decal
-  id: n
-  tags: ["crayon"]
+  id: questionmark
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: n
+    state: questionmark
 
 - type: decal
-  id: nay
-  tags: ["crayon"]
+  id: radiation
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: nay
+    state: radiation
 
 - type: decal
-  id: o
-  tags: ["crayon"]
+  id: revolution
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: o
+    state: revolution
 
 - type: decal
-  id: p
-  tags: ["crayon"]
+  id: rune1
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: p
+    state: rune1
 
 - type: decal
-  id: pawprint
-  tags: ["crayon"]
+  id: rune2
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: pawprint
+    state: rune2
 
 - type: decal
-  id: peace
-  tags: ["crayon"]
+  id: rune3
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: peace
+    state: rune3
 
 - type: decal
-  id: percent
-  tags: ["crayon"]
+  id: rune4
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: percent
+    state: rune4
 
 - type: decal
-  id: plus
-  tags: ["crayon"]
+  id: rune5
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: plus
+    state: rune5
 
 - type: decal
-  id: pound
-  tags: ["crayon"]
+  id: rune6
+  tags: ["crayon", "crayon-5-graffiti"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: pound
+    state: rune6
 
 - type: decal
-  id: prolizard
-  tags: ["crayon"]
+  id: safe
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: prolizard
+    state: safe
 
 - type: decal
-  id: q
+  id: scroll
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: q
+    state: scroll
 
 - type: decal
-  id: questionmark
-  tags: ["crayon"]
+  id: shop
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: questionmark
+    state: shop
 
 - type: decal
-  id: r
-  tags: ["crayon"]
+  id: shortline
+  tags: ["crayon", "crayon-1-brushes"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: r
+    state: shortline
 
 - type: decal
-  id: radiation
+  id: shotgun
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: radiation
+    state: shotgun
 
 - type: decal
-  id: revolution
-  tags: ["crayon"]
+  id: skull
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: revolution
+    state: skull
 
 - type: decal
-  id: rune1
-  tags: ["crayon"]
+  id: slash
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: rune1
+    state: slash
 
 - type: decal
-  id: rune2
-  tags: ["crayon"]
+  id: smallbrush
+  tags: ["crayon", "crayon-1-brushes"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: rune2
+    state: smallbrush
 
 - type: decal
-  id: rune3
+  id: snake
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: rune3
+    state: snake
 
 - type: decal
-  id: rune4
-  tags: ["crayon"]
+  id: space
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: rune4
+    state: space
 
 - type: decal
-  id: rune5
+  id: splatter
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: rune5
+    state: splatter
 
 - type: decal
-  id: rune6
-  tags: ["crayon"]
+  id: star
+  tags: ["crayon", "crayon-3-symbols"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: rune6
+    state: star
 
 - type: decal
-  id: s
+  id: stickman
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: s
+    state: stickman
 
 - type: decal
-  id: safe
+  id: taser
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: safe
+    state: taser
 
 - type: decal
-  id: scroll
-  tags: ["crayon"]
+  id: thinline
+  tags: ["crayon", "crayon-1-brushes"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: scroll
+    state: thinline
 
 - type: decal
-  id: shop
+  id: toilet
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: shop
+    state: toilet
 
 - type: decal
-  id: shortline
+  id: toolbox
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: shortline
+    state: toolbox
 
 - type: decal
-  id: shotgun
-  tags: ["crayon"]
+  id: trade
+  tags: ["crayon", "crayon-4-info"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: shotgun
+    state: trade
 
 - type: decal
-  id: skull
+  id: uboa
   tags: ["crayon"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: skull
+    state: uboa
 
 - type: decal
-  id: slash
-  tags: ["crayon"]
+  id: a
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: slash
+    state: a
 
 - type: decal
-  id: smallbrush
-  tags: ["crayon"]
+  id: b
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: smallbrush
+    state: b
 
 - type: decal
-  id: snake
-  tags: ["crayon"]
+  id: c
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: snake
+    state: c
 
 - type: decal
-  id: space
-  tags: ["crayon"]
+  id: d
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: space
+    state: d
 
 - type: decal
-  id: splatter
-  tags: ["crayon"]
+  id: e
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: splatter
+    state: e
 
 - type: decal
-  id: star
-  tags: ["crayon"]
+  id: f
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: star
+    state: f
 
 - type: decal
-  id: stickman
-  tags: ["crayon"]
+  id: g
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: stickman
+    state: g
 
 - type: decal
-  id: t
-  tags: ["crayon"]
+  id: h
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: t
+    state: h
 
 - type: decal
-  id: taser
-  tags: ["crayon"]
+  id: i
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: taser
+    state: i
 
 - type: decal
-  id: thinline
-  tags: ["crayon"]
+  id: j
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: thinline
+    state: j
 
 - type: decal
-  id: toilet
-  tags: ["crayon"]
+  id: k
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: toilet
+    state: k
 
 - type: decal
-  id: toolbox
-  tags: ["crayon"]
+  id: l
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: toolbox
+    state: l
 
 - type: decal
-  id: trade
-  tags: ["crayon"]
+  id: m
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: trade
+    state: m
 
 - type: decal
-  id: u
-  tags: ["crayon"]
+  id: n
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: u
+    state: n
 
 - type: decal
-  id: uboa
-  tags: ["crayon"]
+  id: o
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
   sprite:
     sprite: Effects/crayondecals.rsi
-    state: uboa
+    state: o
+
+- type: decal
+  id: p
+  tags: ["crayon", "crayon-2-alphanum"]
+  defaultCleanable: true
+  defaultCustomColor: true
+  defaultSnap: false
+  sprite:
+    sprite: Effects/crayondecals.rsi
+    state: p
+
+- type: decal
+  id: q
+  tags: ["crayon", "crayon-2-alphanum"]
+  defaultCleanable: true
+  defaultCustomColor: true
+  defaultSnap: false
+  sprite:
+    sprite: Effects/crayondecals.rsi
+    state: q
+
+- type: decal
+  id: r
+  tags: ["crayon", "crayon-2-alphanum"]
+  defaultCleanable: true
+  defaultCustomColor: true
+  defaultSnap: false
+  sprite:
+    sprite: Effects/crayondecals.rsi
+    state: r
+
+- type: decal
+  id: s
+  tags: ["crayon", "crayon-2-alphanum"]
+  defaultCleanable: true
+  defaultCustomColor: true
+  defaultSnap: false
+  sprite:
+    sprite: Effects/crayondecals.rsi
+    state: s
+
+- type: decal
+  id: t
+  tags: ["crayon", "crayon-2-alphanum"]
+  defaultCleanable: true
+  defaultCustomColor: true
+  defaultSnap: false
+  sprite:
+    sprite: Effects/crayondecals.rsi
+    state: t
+
+- type: decal
+  id: u
+  tags: ["crayon", "crayon-2-alphanum"]
+  defaultCleanable: true
+  defaultCustomColor: true
+  defaultSnap: false
+  sprite:
+    sprite: Effects/crayondecals.rsi
+    state: u
 
 - type: decal
   id: v
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -1260,7 +1260,7 @@
 
 - type: decal
   id: w
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -1270,7 +1270,7 @@
 
 - type: decal
   id: x
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -1280,7 +1280,7 @@
 
 - type: decal
   id: y
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false
@@ -1290,7 +1290,7 @@
 
 - type: decal
   id: z
-  tags: ["crayon"]
+  tags: ["crayon", "crayon-2-alphanum"]
   defaultCleanable: true
   defaultCustomColor: true
   defaultSnap: false

From 4426bbe784d51445d5fde307106db3c4f3d9c3a6 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sat, 16 Nov 2024 03:26:15 +0000
Subject: [PATCH 110/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 24 +++++++-----------------
 1 file changed, 7 insertions(+), 17 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index a31e83355d6..58607000531 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,21 +1,4 @@
 Entries:
-- author: to4no_fix
-  changes:
-  - message: Added a new electropack that shocks when a trigger is triggered
-    type: Add
-  - message: Added a new shock collar that shocks when a trigger is triggered
-    type: Add
-  - message: Two shock collars and two remote signallers added to the warden's locker
-    type: Add
-  - message: Shock collar added as a new target for the thief
-    type: Add
-  - message: A new Special Means technology has been added to the Arsenal research
-      branch at the 1st research level. Its research opens up the possibility of producing
-      electropacks at security techfab. The cost of technology research is 5000
-    type: Add
-  id: 7114
-  time: '2024-08-15T14:30:39.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30529
 - author: Mervill
   changes:
   - message: The Gas Analyzer won't spuriously shut down for seemly no reason.
@@ -3943,3 +3926,10 @@
   id: 7613
   time: '2024-11-15T23:46:02.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/31147
+- author: SaphireLattice
+  changes:
+  - message: Crayon UI now has categories and queue
+    type: Add
+  id: 7614
+  time: '2024-11-16T03:25:06.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33101

From 862c2ac858ce9b88dc2992ca21976e54e16b3953 Mon Sep 17 00:00:00 2001
From: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Date: Fri, 15 Nov 2024 22:26:47 -0500
Subject: [PATCH 111/187] BRB sign in the Bureaucracy Crate (#33341)

Added the brb sign to the Bureaucracy Crate
---
 Resources/Prototypes/Catalog/Fills/Crates/service.yml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml
index 6a109fbf8e4..995a4218ae7 100644
--- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml
+++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml
@@ -130,6 +130,7 @@
     - id: BoxFolderYellow
     - id: NewtonCradle
     - id: BoxEnvelope
+    - id: BrbSign
 
 - type: entity
   id: CrateServiceFaxMachine

From c4e8751ee6c0ed0a3c3c664703ee87ca3ddb6b26 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sat, 16 Nov 2024 03:27:57 +0000
Subject: [PATCH 112/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 58607000531..b030fbbb32b 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,20 +1,4 @@
 Entries:
-- author: Mervill
-  changes:
-  - message: The Gas Analyzer won't spuriously shut down for seemly no reason.
-    type: Tweak
-  - message: The Gas Analyzer will always switch to the device tab when a new object
-      is scanned.
-    type: Tweak
-  - message: The Gas Analyzer's interaction range is now equal to the standard interaction
-      range
-    type: Fix
-  - message: Clicking the Gas Analyzer when it's in your hand has proper enable/disable
-      behavior.
-    type: Fix
-  id: 7115
-  time: '2024-08-15T14:45:13.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30763
 - author: Nimfar11
   changes:
   - message: Adds a gold toilet
@@ -3933,3 +3917,10 @@
   id: 7614
   time: '2024-11-16T03:25:06.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33101
+- author: Southbridge
+  changes:
+  - message: The BRB sign is now included in the Bureaucracy Crate
+    type: Add
+  id: 7615
+  time: '2024-11-16T03:26:48.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33341

From 1f5eb6a08b5ae97af1f842219d31766b811fcf0d Mon Sep 17 00:00:00 2001
From: Saphire Lattice <lattice@saphi.re>
Date: Sat, 16 Nov 2024 10:39:19 +0700
Subject: [PATCH 113/187] Fix utensils not being thrown away (#33326)

---
 Content.Server/Nutrition/EntitySystems/UtensilSystem.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs
index 1f3d5afb433..766c38d561b 100644
--- a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs
+++ b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs
@@ -44,7 +44,7 @@ private void OnAfterInteract(Entity<UtensilComponent> entity, ref AfterInteractE
         public (bool Success, bool Handled) TryUseUtensil(EntityUid user, EntityUid target, Entity<UtensilComponent> utensil)
         {
             if (!EntityManager.TryGetComponent(target, out FoodComponent? food))
-                return (false, true);
+                return (false, false);
 
             //Prevents food usage with a wrong utensil
             if ((food.Utensil & utensil.Comp.Types) == 0)

From 6bcfe6fb3dc21ed7528227baa4c161edf2edad77 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sat, 16 Nov 2024 03:40:25 +0000
Subject: [PATCH 114/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index b030fbbb32b..39adf639685 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,15 +1,4 @@
 Entries:
-- author: Nimfar11
-  changes:
-  - message: Adds a gold toilet
-    type: Add
-  - message: Adds a target for the Thief to steal the golden toilet
-    type: Add
-  - message: Corrected the sprite image for the normal toilet.
-    type: Fix
-  id: 7116
-  time: '2024-08-15T19:23:59.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31049
 - author: themias
   changes:
   - message: Raw meat cutlets can be cooked on a grill
@@ -3924,3 +3913,10 @@
   id: 7615
   time: '2024-11-16T03:26:48.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33341
+- author: SaphireLattice
+  changes:
+  - message: Utensils can finally go into disposals
+    type: Fix
+  id: 7616
+  time: '2024-11-16T03:39:19.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33326

From 11963e50b1efcfb87bcd65d4c0045ca256cabb6c Mon Sep 17 00:00:00 2001
From: MossyGreySlope <mossygreyslope@gmail.com>
Date: Sat, 16 Nov 2024 13:57:33 +1000
Subject: [PATCH 115/187] Fix server crash when the seed extractor is used on
 the dev map (#33312)

handle event when using seed extractor

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Content.Server/Botany/Systems/SeedExtractorSystem.cs | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Content.Server/Botany/Systems/SeedExtractorSystem.cs b/Content.Server/Botany/Systems/SeedExtractorSystem.cs
index 93f76473ff8..c7e20983a7a 100644
--- a/Content.Server/Botany/Systems/SeedExtractorSystem.cs
+++ b/Content.Server/Botany/Systems/SeedExtractorSystem.cs
@@ -38,6 +38,7 @@ private void OnInteractUsing(EntityUid uid, SeedExtractorComponent seedExtractor
             args.User, PopupType.Medium);
 
         QueueDel(args.Used);
+        args.Handled = true;
 
         var amount = _random.Next(seedExtractor.BaseMinSeeds, seedExtractor.BaseMaxSeeds + 1);
         var coords = Transform(uid).Coordinates;

From 4f659b9d6de85d19e12a2992350fffa0033d1988 Mon Sep 17 00:00:00 2001
From: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
Date: Sat, 16 Nov 2024 16:30:47 +1200
Subject: [PATCH 116/187] Solar assembly crate buff (#33019)

* more flatpacks + glass

* solar crate price increase

* price increase

* 1250 spesos

* Update Resources/Prototypes/Catalog/Fills/Crates/engines.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Prototypes/Catalog/Cargo/cargo_engines.yml  | 2 +-
 Resources/Prototypes/Catalog/Fills/Crates/engines.yml | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml b/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml
index 72f9d3a59bf..75a1e24cdff 100644
--- a/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml
+++ b/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml
@@ -66,7 +66,7 @@
     sprite: Objects/Devices/flatpack.rsi
     state: solar-assembly-part
   product: CrateEngineeringSolar
-  cost: 525
+  cost: 1250
   category: cargoproduct-category-name-engineering
   group: market
 
diff --git a/Resources/Prototypes/Catalog/Fills/Crates/engines.yml b/Resources/Prototypes/Catalog/Fills/Crates/engines.yml
index c37b7b7535a..638e94080ed 100644
--- a/Resources/Prototypes/Catalog/Fills/Crates/engines.yml
+++ b/Resources/Prototypes/Catalog/Fills/Crates/engines.yml
@@ -120,12 +120,14 @@
   id: CrateEngineeringSolar
   parent: CrateEngineering
   name: solar assembly crate
-  description: Parts for constructing solar panels and trackers.
+  description: A kit with solar flatpacks and glass to construct ten solar panels.
   components:
   - type: StorageFill
     contents:
       - id: SolarAssemblyFlatpack
-        amount: 6
+        amount: 10
+      - id: SheetGlass10
+        amount: 2
 
 - type: entity
   id: CrateEngineeringShuttle

From 7077b930f27dc8e9fbe3563ff4c3053b0549f70c Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sat, 16 Nov 2024 04:31:53 +0000
Subject: [PATCH 117/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 39adf639685..58fe44307b4 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: themias
-  changes:
-  - message: Raw meat cutlets can be cooked on a grill
-    type: Tweak
-  id: 7117
-  time: '2024-08-15T19:30:09.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31048
 - author: IProduceWidgets
   changes:
   - message: Meteor dust should more consistently happen instead of meteors.
@@ -3920,3 +3913,12 @@
   id: 7616
   time: '2024-11-16T03:39:19.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33326
+- author: K-Dynamic
+  changes:
+  - message: Solar assembly crate now comes with 10 flatpacks and 20 glass to make
+      expansion and repairs easier, as well as increasing in price from 525 to 1250
+      spesos.
+    type: Tweak
+  id: 7617
+  time: '2024-11-16T04:30:48.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33019

From 2c82a2dfc0cf0cf52f6045c2b59d2232e3714897 Mon Sep 17 00:00:00 2001
From: dffdff2423 <dffdff2423@gmail.com>
Date: Sat, 16 Nov 2024 00:09:29 -0500
Subject: [PATCH 118/187] Add admin remarks button to lobby (#31761)

---
 Content.Client/Lobby/LobbyUIController.cs     |  2 +-
 .../Lobby/UI/CharacterSetupGui.xaml           |  6 +++++
 .../Lobby/UI/CharacterSetupGui.xaml.cs        | 27 +++++++++----------
 Content.Client/Lobby/UI/LobbyGui.xaml.cs      |  1 -
 Resources/Locale/en-US/lobby/lobby-gui.ftl    |  2 +-
 .../preferences/ui/character-setup-gui.ftl    |  3 ++-
 6 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/Content.Client/Lobby/LobbyUIController.cs b/Content.Client/Lobby/LobbyUIController.cs
index 3cf98c98aba..50a25519988 100644
--- a/Content.Client/Lobby/LobbyUIController.cs
+++ b/Content.Client/Lobby/LobbyUIController.cs
@@ -279,7 +279,7 @@ private void OpenSavePanel()
 
         _profileEditor.OnOpenGuidebook += _guide.OpenHelp;
 
-        _characterSetup = new CharacterSetupGui(EntityManager, _prototypeManager, _resourceCache, _preferencesManager, _profileEditor);
+        _characterSetup = new CharacterSetupGui(_profileEditor);
 
         _characterSetup.CloseButton.OnPressed += _ =>
         {
diff --git a/Content.Client/Lobby/UI/CharacterSetupGui.xaml b/Content.Client/Lobby/UI/CharacterSetupGui.xaml
index f83be265884..c463987a1fe 100644
--- a/Content.Client/Lobby/UI/CharacterSetupGui.xaml
+++ b/Content.Client/Lobby/UI/CharacterSetupGui.xaml
@@ -2,6 +2,7 @@
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client"
          xmlns:style="clr-namespace:Content.Client.Stylesheets"
+         xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls"
          VerticalExpand="True">
     <Control>
         <PanelContainer Name="BackgroundPanel" />
@@ -10,10 +11,15 @@
                 <Label Text="{Loc 'character-setup-gui-character-setup-label'}"
                        Margin="8 0 0 0" VAlign="Center"
                        StyleClasses="LabelHeadingBigger" />
+
                 <Button Name="StatsButton" HorizontalExpand="True"
                         Text="{Loc 'character-setup-gui-character-setup-stats-button'}"
                         StyleClasses="ButtonBig"
                         HorizontalAlignment="Right" />
+                <cc:CommandButton Name="AdminRemarksButton"
+                                  Command="adminremarks"
+                                  Text="{Loc 'character-setup-gui-character-setup-adminremarks-button'}"
+                                  StyleClasses="ButtonBig" />
                 <Button Name="RulesButton"
                         Text="{Loc 'character-setup-gui-character-setup-rules-button'}"
                         StyleClasses="ButtonBig"/>
diff --git a/Content.Client/Lobby/UI/CharacterSetupGui.xaml.cs b/Content.Client/Lobby/UI/CharacterSetupGui.xaml.cs
index 777725b9eda..45799161324 100644
--- a/Content.Client/Lobby/UI/CharacterSetupGui.xaml.cs
+++ b/Content.Client/Lobby/UI/CharacterSetupGui.xaml.cs
@@ -1,6 +1,7 @@
 using Content.Client.Info;
 using Content.Client.Info.PlaytimeStats;
 using Content.Client.Resources;
+using Content.Shared.CCVar;
 using Content.Shared.Preferences;
 using Robust.Client.AutoGenerated;
 using Robust.Client.Graphics;
@@ -8,6 +9,7 @@
 using Robust.Client.UserInterface;
 using Robust.Client.UserInterface.Controls;
 using Robust.Client.UserInterface.XAML;
+using Robust.Shared.Configuration;
 using Robust.Shared.Prototypes;
 
 namespace Content.Client.Lobby.UI
@@ -18,28 +20,23 @@ namespace Content.Client.Lobby.UI
     [GenerateTypedNameReferences]
     public sealed partial class CharacterSetupGui : Control
     {
-        private readonly IClientPreferencesManager _preferencesManager;
-        private readonly IEntityManager _entManager;
-        private readonly IPrototypeManager _protomanager;
+        [Dependency] private readonly IClientPreferencesManager _preferencesManager = default!;
+        [Dependency] private readonly IEntityManager _entManager = default!;
+        [Dependency] private readonly IPrototypeManager _protomanager = default!;
+        [Dependency] private readonly IResourceCache _resourceCache = default!;
+        [Dependency] private readonly IConfigurationManager _cfg = default!;
 
         private readonly Button _createNewCharacterButton;
 
         public event Action<int>? SelectCharacter;
         public event Action<int>? DeleteCharacter;
 
-        public CharacterSetupGui(
-            IEntityManager entManager,
-            IPrototypeManager protoManager,
-            IResourceCache resourceCache,
-            IClientPreferencesManager preferencesManager,
-            HumanoidProfileEditor profileEditor)
+        public CharacterSetupGui(HumanoidProfileEditor profileEditor)
         {
             RobustXamlLoader.Load(this);
-            _preferencesManager = preferencesManager;
-            _entManager = entManager;
-            _protomanager = protoManager;
+            IoCManager.InjectDependencies(this);
 
-            var panelTex = resourceCache.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
+            var panelTex = _resourceCache.GetTexture("/Textures/Interface/Nano/button.svg.96dpi.png");
             var back = new StyleBoxTexture
             {
                 Texture = panelTex,
@@ -56,7 +53,7 @@ public CharacterSetupGui(
 
             _createNewCharacterButton.OnPressed += args =>
             {
-                preferencesManager.CreateCharacter(HumanoidCharacterProfile.Random());
+                _preferencesManager.CreateCharacter(HumanoidCharacterProfile.Random());
                 ReloadCharacterPickers();
                 args.Event.Handle();
             };
@@ -65,6 +62,8 @@ public CharacterSetupGui(
             RulesButton.OnPressed += _ => new RulesAndInfoWindow().Open();
 
             StatsButton.OnPressed += _ => new PlaytimeStatsWindow().OpenCentered();
+
+            _cfg.OnValueChanged(CCVars.SeeOwnNotes, p => AdminRemarksButton.Visible = p, true);
         }
 
         /// <summary>
diff --git a/Content.Client/Lobby/UI/LobbyGui.xaml.cs b/Content.Client/Lobby/UI/LobbyGui.xaml.cs
index 81230130a1d..6471edb6f37 100644
--- a/Content.Client/Lobby/UI/LobbyGui.xaml.cs
+++ b/Content.Client/Lobby/UI/LobbyGui.xaml.cs
@@ -2,7 +2,6 @@
 using Content.Client.UserInterface.Systems.EscapeMenu;
 using Robust.Client.AutoGenerated;
 using Robust.Client.Console;
-using Robust.Client.State;
 using Robust.Client.UserInterface;
 using Robust.Client.UserInterface.XAML;
 
diff --git a/Resources/Locale/en-US/lobby/lobby-gui.ftl b/Resources/Locale/en-US/lobby/lobby-gui.ftl
index 6407104163f..e7f131e93b0 100644
--- a/Resources/Locale/en-US/lobby/lobby-gui.ftl
+++ b/Resources/Locale/en-US/lobby/lobby-gui.ftl
@@ -1,4 +1,4 @@
-ui-lobby-title = Lobby
+ui-lobby-title = Lobby
 ui-lobby-ahelp-button = AHelp
 ui-lobby-options-button = Options
 ui-lobby-leave-button = Leave
diff --git a/Resources/Locale/en-US/preferences/ui/character-setup-gui.ftl b/Resources/Locale/en-US/preferences/ui/character-setup-gui.ftl
index 325d7cb538d..5ca4673f6b1 100644
--- a/Resources/Locale/en-US/preferences/ui/character-setup-gui.ftl
+++ b/Resources/Locale/en-US/preferences/ui/character-setup-gui.ftl
@@ -1,4 +1,5 @@
 character-setup-gui-character-setup-label = Character setup
+character-setup-gui-character-setup-adminremarks-button = Admin Remarks
 character-setup-gui-character-setup-stats-button = Stats
 character-setup-gui-character-setup-rules-button = Rules
 character-setup-gui-character-setup-close-button = Close
@@ -10,4 +11,4 @@ character-setup-gui-character-picker-button-confirm-delete-button = Confirm
 character-setup-gui-save-panel-title = Unsaved character changes
 character-setup-gui-save-panel-save = Save
 character-setup-gui-save-panel-nosave = Don't save
-character-setup-gui-save-panel-cancel = Cancel
\ No newline at end of file
+character-setup-gui-save-panel-cancel = Cancel

From 47f94d1139f50425b70e7508970a81685b57171d Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sat, 16 Nov 2024 05:10:35 +0000
Subject: [PATCH 119/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 58fe44307b4..7e70477996c 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: IProduceWidgets
-  changes:
-  - message: Meteor dust should more consistently happen instead of meteors.
-    type: Tweak
-  id: 7118
-  time: '2024-08-15T19:33:17.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31018
 - author: Emisse
   changes:
   - message: Atlas, Cluster, Europa, & Saltern removed from the game.
@@ -3922,3 +3915,11 @@
   id: 7617
   time: '2024-11-16T04:30:48.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33019
+- author: Aquif
+  changes:
+  - message: There is now a button to view your admin remarks in the character editor,
+      right next to the stats button.
+    type: Tweak
+  id: 7618
+  time: '2024-11-16T05:09:29.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/31761

From d9a5ffbef402527689ee2105f9cfa07eba522388 Mon Sep 17 00:00:00 2001
From: Spessmann <156740760+Spessmann@users.noreply.github.com>
Date: Fri, 15 Nov 2024 22:29:09 -0800
Subject: [PATCH 120/187] Cog christmas update (#33344)

christmas updoot
---
 Resources/Maps/cog.yml | 235 +++++++++++++++++++++++++++++++----------
 1 file changed, 182 insertions(+), 53 deletions(-)

diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml
index 859ee46b1de..833756d3372 100644
--- a/Resources/Maps/cog.yml
+++ b/Resources/Maps/cog.yml
@@ -173,7 +173,7 @@ entities:
           version: 6
         1,-2:
           ind: 1,-2
-          tiles: SgAAAAAASgAAAAAASgAAAAAAgQAAAAAAYAAAAAACYAAAAAADYAAAAAADYAAAAAABgQAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAAgQAAAAAASgAAAAAASgAAAAAASgAAAAAAgQAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAACgQAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAAAYAAAAAABYAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAABYAAAAAAAYAAAAAACYAAAAAADYAAAAAABYAAAAAACYAAAAAACYAAAAAABYAAAAAAAYAAAAAACYAAAAAACYAAAAAAAYAAAAAADYAAAAAABYAAAAAAAYAAAAAADYAAAAAAAYAAAAAABYAAAAAABYAAAAAACYAAAAAADYAAAAAADYAAAAAABYAAAAAABYAAAAAADYAAAAAADYAAAAAACYAAAAAACYAAAAAACYAAAAAACYAAAAAADYAAAAAACYAAAAAACYAAAAAAAYAAAAAABYAAAAAABYAAAAAADYAAAAAAAYAAAAAABYAAAAAAAYAAAAAABYAAAAAAAYAAAAAADYAAAAAABYAAAAAACYAAAAAAAYAAAAAACYAAAAAAAYAAAAAADYAAAAAACYAAAAAADgQAAAAAAYAAAAAABYAAAAAADYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAADYAAAAAADYAAAAAABgQAAAAAAYAAAAAACYAAAAAABYAAAAAAAYAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAABYAAAAAABgQAAAAAAYAAAAAABYAAAAAACYAAAAAACYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAABgQAAAAAAYAAAAAADYAAAAAACYAAAAAADYAAAAAAAYAAAAAADYAAAAAABgQAAAAAAYAAAAAACYAAAAAABYAAAAAABYAAAAAAAgQAAAAAAYAAAAAACYAAAAAACYAAAAAADgQAAAAAAYAAAAAABYAAAAAACYAAAAAABYAAAAAAAYAAAAAACYAAAAAACgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACgQAAAAAAYAAAAAACYAAAAAABYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAADgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAYAAAAAADYAAAAAADYAAAAAAAYAAAAAABgQAAAAAAYAAAAAAAYAAAAAACYAAAAAADgQAAAAAAYAAAAAADYAAAAAACYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAABYAAAAAADYAAAAAADYAAAAAAAYAAAAAADYAAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAADYAAAAAABYAAAAAAAYAAAAAADYAAAAAADYAAAAAADYAAAAAACYAAAAAADYAAAAAADYAAAAAACYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAAAYAAAAAACYAAAAAACYAAAAAAAYAAAAAADYAAAAAABYAAAAAAAYAAAAAACYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACYAAAAAACYAAAAAAD
+          tiles: SgAAAAAASgAAAAAASgAAAAAAgQAAAAAAYAAAAAACYAAAAAADYAAAAAADYAAAAAABgQAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAAgQAAAAAASgAAAAAASgAAAAAASgAAAAAAgQAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAACgQAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAASgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAAAYAAAAAABYAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAABYAAAAAAAYAAAAAACYAAAAAADYAAAAAABYAAAAAACYAAAAAACYAAAAAABYAAAAAAAYAAAAAACYAAAAAACYAAAAAAAYAAAAAADYAAAAAABYAAAAAAAYAAAAAADYAAAAAAAYAAAAAABYAAAAAABYAAAAAACYAAAAAADYAAAAAADYAAAAAABYAAAAAABYAAAAAADYAAAAAADYAAAAAACYAAAAAACYAAAAAACYAAAAAACYAAAAAADYAAAAAACYAAAAAACYAAAAAAAYAAAAAABYAAAAAABYAAAAAADYAAAAAAAYAAAAAABYAAAAAAAYAAAAAABYAAAAAAAYAAAAAADYAAAAAABYAAAAAACYAAAAAAAYAAAAAACYAAAAAAAYAAAAAADYAAAAAACYAAAAAADgQAAAAAAYAAAAAABIwAAAAAAIwAAAAAAYAAAAAAAgQAAAAAAYAAAAAADYAAAAAADYAAAAAABgQAAAAAAYAAAAAACYAAAAAABYAAAAAAAYAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAABYAAAAAABgQAAAAAAYAAAAAABYAAAAAACYAAAAAACYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAABgQAAAAAAYAAAAAADYAAAAAACYAAAAAADYAAAAAAAYAAAAAADYAAAAAABgQAAAAAAYAAAAAACYAAAAAABYAAAAAABYAAAAAAAgQAAAAAAYAAAAAACYAAAAAACYAAAAAADgQAAAAAAYAAAAAABYAAAAAACYAAAAAABYAAAAAAAYAAAAAACYAAAAAACgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACgQAAAAAAYAAAAAACYAAAAAABYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAADgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAYAAAAAADYAAAAAADYAAAAAAAYAAAAAABgQAAAAAAYAAAAAAAYAAAAAACYAAAAAADgQAAAAAAYAAAAAADYAAAAAACYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAABYAAAAAADYAAAAAADYAAAAAAAYAAAAAADYAAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAADYAAAAAABYAAAAAAAYAAAAAADYAAAAAADYAAAAAADYAAAAAACYAAAAAADYAAAAAADYAAAAAACYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAAAYAAAAAACYAAAAAACYAAAAAAAYAAAAAADYAAAAAABYAAAAAAAYAAAAAACYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACYAAAAAACYAAAAAAD
           version: 6
         1,-1:
           ind: 1,-1
@@ -5708,8 +5708,6 @@ entities:
             761: 16,-26
             762: 17,-26
             763: 18,-26
-            764: 21,-26
-            765: 22,-26
             776: 11,-20
             777: 12,-20
             778: 13,-20
@@ -9215,6 +9213,12 @@ entities:
             id: grasssnow
           decals:
             4352: -46.01974,-50.080185
+        - node:
+            color: '#FFFFFFFF'
+            id: grasssnow
+          decals:
+            10162: 21.08367,-26.059422
+            10163: 21.882736,-26.075739
         - node:
             cleanable: True
             color: '#8600003C'
@@ -19872,8 +19876,7 @@ entities:
   - uid: 28848
     components:
     - type: Transform
-      rot: -12.566370614359172 rad
-      pos: 2.6072965,-1.5317864
+      pos: 2.3982162,-1.3528447
       parent: 12
 - proto: AsteroidRock
   entities:
@@ -76658,6 +76661,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -48.5,27.5
       parent: 12
+  - uid: 17970
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -49.5,38.5
+      parent: 12
   - uid: 18156
     components:
     - type: Transform
@@ -76952,12 +76961,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -52.5,37.5
       parent: 12
-  - uid: 22173
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -49.5,38.5
-      parent: 12
   - uid: 22376
     components:
     - type: Transform
@@ -77738,6 +77741,18 @@ entities:
     - type: Transform
       pos: 0.5,-66.5
       parent: 12
+  - uid: 31688
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 20.408453,-26.829342
+      parent: 12
+  - uid: 31689
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 22.06586,-28.196033
+      parent: 12
   - uid: 32101
     components:
     - type: Transform
@@ -80078,6 +80093,46 @@ entities:
     - type: Transform
       pos: -15.479212,51.570213
       parent: 12
+- proto: ClothingHeadHatSantahat
+  entities:
+  - uid: 31656
+    components:
+    - type: Transform
+      rot: -25.132741228718352 rad
+      pos: -22.599323,38.502403
+      parent: 12
+  - uid: 31657
+    components:
+    - type: Transform
+      rot: -25.132741228718352 rad
+      pos: -41.818073,40.566353
+      parent: 12
+  - uid: 31669
+    components:
+    - type: Transform
+      rot: -25.132741228718352 rad
+      pos: -36.450703,42.555126
+      parent: 12
+  - uid: 31670
+    components:
+    - type: Transform
+      pos: -29.275808,38.740208
+      parent: 12
+  - uid: 31672
+    components:
+    - type: Transform
+      pos: -37.561886,53.522655
+      parent: 12
+  - uid: 31673
+    components:
+    - type: Transform
+      pos: 23.223015,-26.438202
+      parent: 12
+  - uid: 31674
+    components:
+    - type: Transform
+      pos: 21.975492,-27.778383
+      parent: 12
 - proto: ClothingHeadHatSurgcapBlue
   entities:
   - uid: 5726
@@ -80652,6 +80707,37 @@ entities:
     - type: Physics
       canCollide: False
     - type: InsideEntityStorage
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 31654
+    components:
+    - type: Transform
+      rot: -25.132741228718352 rad
+      pos: -21.505573,38.6744
+      parent: 12
+  - uid: 31655
+    components:
+    - type: Transform
+      rot: -25.132741228718352 rad
+      pos: -41.474323,40.472534
+      parent: 12
+  - uid: 31667
+    components:
+    - type: Transform
+      rot: -25.132741228718352 rad
+      pos: -31.513205,38.489803
+      parent: 12
+  - uid: 31668
+    components:
+    - type: Transform
+      rot: -6.217248937900877E-15 rad
+      pos: -39.52883,36.55096
+      parent: 12
+  - uid: 31671
+    components:
+    - type: Transform
+      pos: -37.341736,53.412502
+      parent: 12
 - proto: ClothingOuterStraightjacket
   entities:
   - uid: 19275
@@ -81375,6 +81461,12 @@ entities:
     - type: Transform
       pos: -2.5,-66.5
       parent: 12
+  - uid: 31690
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 25.5,-28.5
+      parent: 12
   - uid: 31793
     components:
     - type: Transform
@@ -81925,6 +82017,12 @@ entities:
       parent: 12
 - proto: ComputerSurveillanceCameraMonitor
   entities:
+  - uid: 1116
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -50.5,38.5
+      parent: 12
   - uid: 5803
     components:
     - type: Transform
@@ -81937,12 +82035,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -38.5,55.5
       parent: 12
-  - uid: 17970
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -48.5,38.5
-      parent: 12
   - uid: 20822
     components:
     - type: Transform
@@ -83571,6 +83663,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: -31.5,50.5
       parent: 12
+  - uid: 28862
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -48.5,38.5
+      parent: 12
 - proto: CryogenicSleepUnitSpawnerLateJoin
   entities:
   - uid: 17625
@@ -83712,13 +83810,6 @@ entities:
     - type: Transform
       pos: 3.5,55.5
       parent: 12
-- proto: CutterMachine
-  entities:
-  - uid: 1116
-    components:
-    - type: Transform
-      pos: 13.5,-19.5
-      parent: 12
 - proto: d6Dice
   entities:
   - uid: 929
@@ -95874,6 +95965,13 @@ entities:
     - type: Physics
       canCollide: False
     - type: InsideEntityStorage
+- proto: DrinkGlassWhite
+  entities:
+  - uid: 31687
+    components:
+    - type: Transform
+      pos: 24.274195,-28.126541
+      parent: 12
 - proto: DrinkGoldenCup
   entities:
   - uid: 10942
@@ -102590,6 +102688,13 @@ entities:
     - type: Transform
       pos: -7.8905973,-55.743637
       parent: 12
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 28861
+    components:
+    - type: Transform
+      pos: 22,-26
+      parent: 12
 - proto: FloraTreeLarge01
   entities:
   - uid: 16656
@@ -102707,6 +102812,20 @@ entities:
     - type: Transform
       pos: -53.30888,54.409172
       parent: 12
+- proto: FoodBakedCookie
+  entities:
+  - uid: 31677
+    components:
+    - type: Transform
+      rot: -6.283185307179586 rad
+      pos: 24.602898,-28.325752
+      parent: 12
+  - uid: 31678
+    components:
+    - type: Transform
+      rot: -6.283185307179586 rad
+      pos: 24.44549,-28.571293
+      parent: 12
 - proto: FoodBanana
   entities:
   - uid: 4201
@@ -102908,6 +103027,13 @@ entities:
     - type: Transform
       pos: 10.45153,-49.457336
       parent: 12
+- proto: FoodCakeChristmas
+  entities:
+  - uid: 22173
+    components:
+    - type: Transform
+      pos: 21.240437,-26.565382
+      parent: 12
 - proto: FoodCakeSuppermatterSlice
   entities:
   - uid: 15371
@@ -103150,6 +103276,11 @@ entities:
     - type: Transform
       pos: 64.56665,50.71139
       parent: 12
+  - uid: 31653
+    components:
+    - type: Transform
+      pos: 21.224129,-26.540905
+      parent: 12
 - proto: FoodPlatePlastic
   entities:
   - uid: 31121
@@ -147121,20 +147252,6 @@ entities:
     - type: Transform
       pos: 12.6497135,57.214436
       parent: 12
-- proto: Intellicard
-  entities:
-  - uid: 28861
-    components:
-    - type: Transform
-      rot: -12.566370614359172 rad
-      pos: -3.43437,-0.48939347
-      parent: 12
-  - uid: 28862
-    components:
-    - type: Transform
-      rot: -12.566370614359172 rad
-      pos: -2.5072865,-0.47896957
-      parent: 12
 - proto: IntercomAll
   entities:
   - uid: 31057
@@ -149276,14 +149393,12 @@ entities:
   - uid: 26865
     components:
     - type: Transform
-      rot: -25.132741228718352 rad
-      pos: 11.935109,-19.492529
+      pos: 13.299763,-19.62316
       parent: 12
   - uid: 26898
     components:
     - type: Transform
-      rot: -25.132741228718352 rad
-      pos: 12.15526,-19.162073
+      pos: 13.706013,-19.320866
       parent: 12
 - proto: MaintenanceFluffSpawner
   entities:
@@ -150620,8 +150735,7 @@ entities:
   - uid: 28854
     components:
     - type: Transform
-      rot: -12.566370614359172 rad
-      pos: 2.3989635,-1.1252534
+      pos: -2.6434512,-0.42511737
       parent: 12
 - proto: NuclearBomb
   entities:
@@ -157210,7 +157324,7 @@ entities:
   - uid: 21893
     components:
     - type: Transform
-      pos: -50.5,38.5
+      pos: 13.5,-19.5
       parent: 12
   - uid: 21933
     components:
@@ -157619,6 +157733,16 @@ entities:
     - type: Transform
       pos: -8.5,-66.5
       parent: 12
+  - uid: 31660
+    components:
+    - type: Transform
+      pos: -41.5,40.5
+      parent: 12
+  - uid: 31661
+    components:
+    - type: Transform
+      pos: -31.5,38.5
+      parent: 12
   - uid: 32108
     components:
     - type: Transform
@@ -157630,13 +157754,12 @@ entities:
   - uid: 9805
     components:
     - type: Transform
-      pos: 12.5489435,-19.523338
+      pos: 12.226846,-19.550192
       parent: 12
   - uid: 9807
     components:
     - type: Transform
-      rot: -37.69911184307754 rad
-      pos: 12.784136,-19.248148
+      pos: 12.581013,-19.393833
       parent: 12
   - uid: 10410
     components:
@@ -171484,7 +171607,7 @@ entities:
   - uid: 30003
     components:
     - type: Transform
-      pos: 11.470346,-19.382376
+      pos: 11.581013,-19.352137
       parent: 12
 - proto: StairDark
   entities:
@@ -174190,7 +174313,8 @@ entities:
   - uid: 21948
     components:
     - type: Transform
-      pos: -50.491573,38.521393
+      rot: -18.84955592153876 rad
+      pos: -49.832508,36.850792
       parent: 12
 - proto: SurveillanceCameraRouterCommand
   entities:
@@ -178577,6 +178701,11 @@ entities:
     - type: Transform
       pos: -14.5,73.5
       parent: 12
+  - uid: 31686
+    components:
+    - type: Transform
+      pos: 24.5,-28.5
+      parent: 12
 - proto: TargetClown
   entities:
   - uid: 22647
@@ -178655,7 +178784,8 @@ entities:
   - uid: 17779
     components:
     - type: Transform
-      pos: -49.732307,36.55419
+      rot: -18.84955592153876 rad
+      pos: -49.624176,36.475533
       parent: 12
 - proto: TegCenter
   entities:
@@ -204221,8 +204351,7 @@ entities:
   - uid: 7197
     components:
     - type: Transform
-      rot: -12.566370614359172 rad
-      pos: 2.2218802,-0.60405827
+      pos: -3.5080347,-0.46681333
       parent: 12
   - uid: 9080
     components:

From f5b63b8393835c464724f78f1b14242d49b760cd Mon Sep 17 00:00:00 2001
From: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Date: Sat, 16 Nov 2024 01:29:23 -0500
Subject: [PATCH 121/187] Box Holiday Update (#33340)

Added holiday decorations with presents and various fixes
---
 Resources/Maps/box.yml | 1065 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 963 insertions(+), 102 deletions(-)

diff --git a/Resources/Maps/box.yml b/Resources/Maps/box.yml
index a56b0d6471a..22cf2b124f5 100644
--- a/Resources/Maps/box.yml
+++ b/Resources/Maps/box.yml
@@ -5794,6 +5794,13 @@ entities:
             id: bushsnowb3
           decals:
             496: -15.010791,-24.068132
+        - node:
+            angle: -4.71238898038469 rad
+            color: '#FFFFFFFF'
+            id: grasssnow
+          decals:
+            3686: 2.9827948,-1.004494
+            3687: -5.0156083,-0.99618006
         - node:
             color: '#A4610606'
             id: splatter
@@ -11584,7 +11591,7 @@ entities:
       pos: 24.5,16.5
       parent: 8364
     - type: Door
-      secondsUntilStateChange: -18318.04
+      secondsUntilStateChange: -21879.57
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
@@ -14498,6 +14505,8 @@ entities:
       parent: 8364
   - uid: 19837
     components:
+    - type: MetaData
+      name: RD's Office APC
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 69.5,-38.5
@@ -14584,6 +14593,13 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 40.5,-17.5
       parent: 8364
+  - uid: 2044
+    components:
+    - type: MetaData
+      name: Breakroom APC
+    - type: Transform
+      pos: 59.5,-38.5
+      parent: 8364
   - uid: 6692
     components:
     - type: Transform
@@ -14648,14 +14664,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 84.5,-46.5
       parent: 8364
-  - uid: 19836
-    components:
-    - type: MetaData
-      name: Toxins Storage APC
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 58.5,-36.5
-      parent: 8364
   - uid: 20160
     components:
     - type: MetaData
@@ -14672,6 +14680,14 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 68.5,-25.5
       parent: 8364
+  - uid: 20586
+    components:
+    - type: MetaData
+      name: Toxin Storage APC
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 58.5,-35.5
+      parent: 8364
   - uid: 22555
     components:
     - type: MetaData
@@ -15132,6 +15148,126 @@ entities:
     - type: Transform
       pos: 16.5,-50.5
       parent: 8364
+  - uid: 27997
+    components:
+    - type: Transform
+      pos: -8.5,-92.5
+      parent: 8364
+  - uid: 27998
+    components:
+    - type: Transform
+      pos: 21.5,-80.5
+      parent: 8364
+  - uid: 27999
+    components:
+    - type: Transform
+      pos: 22.5,-80.5
+      parent: 8364
+  - uid: 28000
+    components:
+    - type: Transform
+      pos: 23.5,-80.5
+      parent: 8364
+  - uid: 28001
+    components:
+    - type: Transform
+      pos: 25.5,-80.5
+      parent: 8364
+  - uid: 28002
+    components:
+    - type: Transform
+      pos: 24.5,-80.5
+      parent: 8364
+  - uid: 28003
+    components:
+    - type: Transform
+      pos: 21.5,-87.5
+      parent: 8364
+  - uid: 28004
+    components:
+    - type: Transform
+      pos: 20.5,-87.5
+      parent: 8364
+  - uid: 28005
+    components:
+    - type: Transform
+      pos: -7.5,-92.5
+      parent: 8364
+  - uid: 28006
+    components:
+    - type: Transform
+      pos: -6.5,-92.5
+      parent: 8364
+  - uid: 28007
+    components:
+    - type: Transform
+      pos: -5.5,-92.5
+      parent: 8364
+  - uid: 28008
+    components:
+    - type: Transform
+      pos: -4.5,-92.5
+      parent: 8364
+  - uid: 28009
+    components:
+    - type: Transform
+      pos: -3.5,-92.5
+      parent: 8364
+  - uid: 28010
+    components:
+    - type: Transform
+      pos: -2.5,-92.5
+      parent: 8364
+  - uid: 28011
+    components:
+    - type: Transform
+      pos: -1.5,-92.5
+      parent: 8364
+  - uid: 28012
+    components:
+    - type: Transform
+      pos: -0.5,-92.5
+      parent: 8364
+  - uid: 28013
+    components:
+    - type: Transform
+      pos: 1.5,-92.5
+      parent: 8364
+  - uid: 28014
+    components:
+    - type: Transform
+      pos: 2.5,-92.5
+      parent: 8364
+  - uid: 28015
+    components:
+    - type: Transform
+      pos: 3.5,-92.5
+      parent: 8364
+  - uid: 28016
+    components:
+    - type: Transform
+      pos: 4.5,-92.5
+      parent: 8364
+  - uid: 28017
+    components:
+    - type: Transform
+      pos: 5.5,-92.5
+      parent: 8364
+  - uid: 28018
+    components:
+    - type: Transform
+      pos: 6.5,-92.5
+      parent: 8364
+  - uid: 28019
+    components:
+    - type: Transform
+      pos: 7.5,-92.5
+      parent: 8364
+  - uid: 28020
+    components:
+    - type: Transform
+      pos: 0.5,-92.5
+      parent: 8364
 - proto: AtmosFixFreezerMarker
   entities:
   - uid: 2846
@@ -16646,6 +16782,11 @@ entities:
     - type: Transform
       pos: -48.5,-16.5
       parent: 8364
+  - uid: 27996
+    components:
+    - type: Transform
+      pos: 33.5,-84.5
+      parent: 8364
 - proto: BoxBeaker
   entities:
   - uid: 18896
@@ -36512,6 +36653,16 @@ entities:
     - type: Transform
       pos: 82.5,-68.5
       parent: 8364
+  - uid: 20299
+    components:
+    - type: Transform
+      pos: 61.5,-36.5
+      parent: 8364
+  - uid: 20301
+    components:
+    - type: Transform
+      pos: 60.5,-36.5
+      parent: 8364
   - uid: 20394
     components:
     - type: Transform
@@ -37455,27 +37606,12 @@ entities:
   - uid: 20585
     components:
     - type: Transform
-      pos: 58.5,-36.5
-      parent: 8364
-  - uid: 20586
-    components:
-    - type: Transform
-      pos: 59.5,-36.5
+      pos: 62.5,-36.5
       parent: 8364
   - uid: 20587
     components:
     - type: Transform
-      pos: 60.5,-36.5
-      parent: 8364
-  - uid: 20588
-    components:
-    - type: Transform
-      pos: 61.5,-36.5
-      parent: 8364
-  - uid: 20589
-    components:
-    - type: Transform
-      pos: 62.5,-36.5
+      pos: 58.5,-35.5
       parent: 8364
   - uid: 20590
     components:
@@ -38142,6 +38278,11 @@ entities:
     - type: Transform
       pos: 12.5,-31.5
       parent: 8364
+  - uid: 21439
+    components:
+    - type: Transform
+      pos: 59.5,-35.5
+      parent: 8364
   - uid: 21452
     components:
     - type: Transform
@@ -39472,6 +39613,16 @@ entities:
     - type: Transform
       pos: 32.5,-79.5
       parent: 8364
+  - uid: 27971
+    components:
+    - type: Transform
+      pos: 59.5,-39.5
+      parent: 8364
+  - uid: 27972
+    components:
+    - type: Transform
+      pos: 59.5,-38.5
+      parent: 8364
 - proto: CableApcStack
   entities:
   - uid: 1195
@@ -54793,26 +54944,6 @@ entities:
     - type: Transform
       pos: 61.5,-35.5
       parent: 8364
-  - uid: 20299
-    components:
-    - type: Transform
-      pos: 60.5,-35.5
-      parent: 8364
-  - uid: 20300
-    components:
-    - type: Transform
-      pos: 60.5,-36.5
-      parent: 8364
-  - uid: 20301
-    components:
-    - type: Transform
-      pos: 59.5,-36.5
-      parent: 8364
-  - uid: 20302
-    components:
-    - type: Transform
-      pos: 58.5,-36.5
-      parent: 8364
   - uid: 20303
     components:
     - type: Transform
@@ -55093,6 +55224,11 @@ entities:
     - type: Transform
       pos: 55.5,-32.5
       parent: 8364
+  - uid: 21473
+    components:
+    - type: Transform
+      pos: 60.5,-35.5
+      parent: 8364
   - uid: 21580
     components:
     - type: Transform
@@ -57038,6 +57174,31 @@ entities:
     - type: Transform
       pos: -0.5,-76.5
       parent: 8364
+  - uid: 27967
+    components:
+    - type: Transform
+      pos: 59.5,-35.5
+      parent: 8364
+  - uid: 27968
+    components:
+    - type: Transform
+      pos: 59.5,-40.5
+      parent: 8364
+  - uid: 27969
+    components:
+    - type: Transform
+      pos: 59.5,-39.5
+      parent: 8364
+  - uid: 27970
+    components:
+    - type: Transform
+      pos: 59.5,-38.5
+      parent: 8364
+  - uid: 28060
+    components:
+    - type: Transform
+      pos: 58.5,-35.5
+      parent: 8364
 - proto: CableMVStack
   entities:
   - uid: 1697
@@ -68762,6 +68923,53 @@ entities:
     - type: Transform
       pos: 42.526115,-2.6703405
       parent: 8364
+- proto: ClothingHeadHatSantahat
+  entities:
+  - uid: 27935
+    components:
+    - type: Transform
+      pos: 6.358707,35.83203
+      parent: 8364
+  - uid: 27936
+    components:
+    - type: Transform
+      pos: 7.838608,35.8216
+      parent: 8364
+  - uid: 27937
+    components:
+    - type: Transform
+      pos: 6.327441,35.52973
+      parent: 8364
+  - uid: 27938
+    components:
+    - type: Transform
+      pos: 6.3170195,40.752113
+      parent: 8364
+  - uid: 27941
+    components:
+    - type: Transform
+      pos: 16.497793,34.50699
+      parent: 8364
+  - uid: 27943
+    components:
+    - type: Transform
+      pos: 4.7231474,33.682045
+      parent: 8364
+  - uid: 27945
+    components:
+    - type: Transform
+      pos: 5.5495176,37.48842
+      parent: 8364
+  - uid: 27947
+    components:
+    - type: Transform
+      pos: 13.0167885,39.623337
+      parent: 8364
+  - uid: 27974
+    components:
+    - type: Transform
+      pos: -1.4000072,-5.011914
+      parent: 8364
 - proto: ClothingHeadHatTophat
   entities:
   - uid: 6988
@@ -69291,6 +69499,53 @@ entities:
     - type: Transform
       pos: 47.72615,-72.416794
       parent: 8364
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 27932
+    components:
+    - type: Transform
+      pos: 6.8381114,35.769485
+      parent: 8364
+  - uid: 27933
+    components:
+    - type: Transform
+      pos: 7.1820316,35.779907
+      parent: 8364
+  - uid: 27934
+    components:
+    - type: Transform
+      pos: 6.994439,35.759064
+      parent: 8364
+  - uid: 27939
+    components:
+    - type: Transform
+      pos: 6.4837685,40.59575
+      parent: 8364
+  - uid: 27940
+    components:
+    - type: Transform
+      pos: 16.47695,34.204697
+      parent: 8364
+  - uid: 27942
+    components:
+    - type: Transform
+      pos: 4.2958517,33.702896
+      parent: 8364
+  - uid: 27944
+    components:
+    - type: Transform
+      pos: 5.5078306,37.571808
+      parent: 8364
+  - uid: 27946
+    components:
+    - type: Transform
+      pos: 12.995945,39.717148
+      parent: 8364
+  - uid: 27973
+    components:
+    - type: Transform
+      pos: -1.493803,-5.3037834
+      parent: 8364
 - proto: ClothingOuterSuitFire
   entities:
   - uid: 8635
@@ -81564,6 +81819,29 @@ entities:
       parent: 8364
 - proto: EmergencyLight
   entities:
+  - uid: 20300
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 31.5,-36.5
+      parent: 8364
+  - uid: 20588
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 65.5,-43.5
+      parent: 8364
+  - uid: 20589
+    components:
+    - type: Transform
+      pos: 19.5,-40.5
+      parent: 8364
+  - uid: 20820
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 27.5,-20.5
+      parent: 8364
   - uid: 21308
     components:
     - type: Transform
@@ -81599,11 +81877,9 @@ entities:
   - uid: 21312
     components:
     - type: Transform
-      pos: 25.5,0.5
+      rot: -1.5707963267948966 rad
+      pos: 1.5,-76.5
       parent: 8364
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 21313
     components:
     - type: Transform
@@ -81654,15 +81930,6 @@ entities:
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21439
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -24.5,-3.5
-      parent: 8364
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 21440
     components:
     - type: Transform
@@ -81714,15 +81981,6 @@ entities:
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21473
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 32.5,-25.5
-      parent: 8364
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 21474
     components:
     - type: Transform
@@ -81757,15 +82015,6 @@ entities:
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21478
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 75.5,-10.5
-      parent: 8364
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 21483
     components:
     - type: Transform
@@ -81783,15 +82032,339 @@ entities:
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21486
+  - uid: 28022
+    components:
+    - type: Transform
+      pos: 31.5,-12.5
+      parent: 8364
+  - uid: 28023
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 56.5,-14.5
+      parent: 8364
+  - uid: 28025
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 72.5,-14.5
+      parent: 8364
+  - uid: 28026
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -1.5,-44.5
+      pos: 76.5,-2.5
+      parent: 8364
+  - uid: 28027
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 56.5,-41.5
+      parent: 8364
+  - uid: 28028
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 67.5,-32.5
+      parent: 8364
+  - uid: 28029
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 65.5,-18.5
+      parent: 8364
+  - uid: 28030
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 65.5,-24.5
+      parent: 8364
+  - uid: 28031
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 71.5,-52.5
+      parent: 8364
+  - uid: 28032
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 39.5,-52.5
+      parent: 8364
+  - uid: 28033
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 39.5,-42.5
+      parent: 8364
+  - uid: 28034
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 43.5,-14.5
+      parent: 8364
+  - uid: 28035
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 24.5,-28.5
+      parent: 8364
+  - uid: 28036
+    components:
+    - type: Transform
+      pos: 33.5,-23.5
+      parent: 8364
+  - uid: 28037
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 18.5,-19.5
+      parent: 8364
+  - uid: 28038
+    components:
+    - type: Transform
+      pos: 13.5,-29.5
+      parent: 8364
+  - uid: 28039
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 1.5,-31.5
+      parent: 8364
+  - uid: 28040
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 9.5,7.5
+      parent: 8364
+  - uid: 28041
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -17.5,-8.5
+      parent: 8364
+  - uid: 28042
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 16.5,-8.5
+      parent: 8364
+  - uid: 28043
+    components:
+    - type: Transform
+      pos: -3.5,-4.5
+      parent: 8364
+  - uid: 28044
+    components:
+    - type: Transform
+      pos: 2.5,-4.5
+      parent: 8364
+  - uid: 28045
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 19.5,13.5
+      parent: 8364
+  - uid: 28046
+    components:
+    - type: Transform
+      pos: -9.5,-0.5
+      parent: 8364
+  - uid: 28047
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -13.5,6.5
+      parent: 8364
+  - uid: 28048
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -13.5,-25.5
+      parent: 8364
+  - uid: 28049
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -24.5,-32.5
+      parent: 8364
+  - uid: 28050
+    components:
+    - type: Transform
+      pos: -38.5,-20.5
+      parent: 8364
+  - uid: 28051
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -40.5,-31.5
+      parent: 8364
+  - uid: 28052
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -65.5,8.5
+      parent: 8364
+  - uid: 28053
+    components:
+    - type: Transform
+      pos: -65.5,-3.5
+      parent: 8364
+  - uid: 28054
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -56.5,4.5
+      parent: 8364
+  - uid: 28055
+    components:
+    - type: Transform
+      pos: -56.5,-4.5
+      parent: 8364
+  - uid: 28056
+    components:
+    - type: Transform
+      pos: -41.5,-0.5
+      parent: 8364
+  - uid: 28057
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -29.5,-2.5
+      parent: 8364
+  - uid: 28058
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 3.5,-54.5
+      parent: 8364
+  - uid: 28059
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 9.5,-49.5
+      parent: 8364
+  - uid: 28061
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 0.5,-39.5
+      parent: 8364
+  - uid: 28062
+    components:
+    - type: Transform
+      pos: -4.5,-67.5
+      parent: 8364
+  - uid: 28063
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,-63.5
+      parent: 8364
+  - uid: 28064
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 11.5,-71.5
+      parent: 8364
+  - uid: 28065
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -22.5,-66.5
+      parent: 8364
+  - uid: 28066
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -5.5,-54.5
+      parent: 8364
+  - uid: 28067
+    components:
+    - type: Transform
+      pos: 38.5,-31.5
+      parent: 8364
+  - uid: 28068
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 16.5,-20.5
+      parent: 8364
+  - uid: 28071
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -9.5,49.5
+      parent: 8364
+  - uid: 28072
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -8.5,43.5
+      parent: 8364
+  - uid: 28073
+    components:
+    - type: Transform
+      pos: -8.5,36.5
+      parent: 8364
+  - uid: 28074
+    components:
+    - type: Transform
+      pos: 10.5,33.5
+      parent: 8364
+  - uid: 28075
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 6.5,24.5
+      parent: 8364
+  - uid: 28076
+    components:
+    - type: Transform
+      pos: -3.5,28.5
+      parent: 8364
+  - uid: 28077
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -12.5,23.5
+      parent: 8364
+  - uid: 28078
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -1.5,35.5
+      parent: 8364
+  - uid: 28079
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 0.5,13.5
+      parent: 8364
+  - uid: 28080
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 0.5,3.5
+      parent: 8364
+  - uid: 28081
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 49.5,-5.5
+      parent: 8364
+  - uid: 28082
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 28.5,-10.5
+      parent: 8364
+  - uid: 28083
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 75.5,-11.5
       parent: 8364
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
 - proto: EmergencyOxygenTank
   entities:
   - uid: 12451
@@ -84438,7 +85011,7 @@ entities:
       pos: -34.5,-14.5
       parent: 8364
     - type: Door
-      secondsUntilStateChange: -12506.576
+      secondsUntilStateChange: -16068.107
       state: Closing
   - uid: 15010
     components:
@@ -84931,7 +85504,7 @@ entities:
       pos: -4.5,-71.5
       parent: 8364
     - type: Door
-      secondsUntilStateChange: -4254.308
+      secondsUntilStateChange: -7815.8394
       state: Closing
 - proto: Fireplace
   entities:
@@ -85811,6 +86384,25 @@ entities:
     - type: Transform
       pos: 34.5,12.5
       parent: 8364
+- proto: FloraTreeChristmas01
+  entities:
+  - uid: 27948
+    components:
+    - type: Transform
+      pos: -4.5619984,-0.48297754
+      parent: 8364
+  - uid: 27949
+    components:
+    - type: Transform
+      pos: 3.4940813,-0.44128227
+      parent: 8364
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 27955
+    components:
+    - type: Transform
+      pos: 23.93768,-6.3922496
+      parent: 8364
 - proto: FoodBanana
   entities:
   - uid: 6983
@@ -127374,6 +127966,12 @@ entities:
     - type: Transform
       pos: 42.5,-22.5
       parent: 8364
+  - uid: 2045
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 60.5,-37.5
+      parent: 8364
   - uid: 3215
     components:
     - type: Transform
@@ -129319,14 +129917,6 @@ entities:
       parent: 8364
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 20820
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 59.5,-35.5
-      parent: 8364
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 20821
     components:
     - type: Transform
@@ -129448,6 +130038,11 @@ entities:
       parent: 8364
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 21478
+    components:
+    - type: Transform
+      pos: 60.5,-33.5
+      parent: 8364
   - uid: 21610
     components:
     - type: Transform
@@ -131568,6 +132163,270 @@ entities:
       parent: 8364
     - type: ApcPowerReceiver
       powerLoad: 0
+- proto: PresentRandom
+  entities:
+  - uid: 21486
+    components:
+    - type: Transform
+      pos: -54.504784,15.508425
+      parent: 8364
+  - uid: 27922
+    components:
+    - type: Transform
+      pos: -0.49470747,-86.45126
+      parent: 8364
+  - uid: 27923
+    components:
+    - type: Transform
+      pos: -34.4738,21.467957
+      parent: 8364
+  - uid: 27924
+    components:
+    - type: Transform
+      pos: -30.520926,5.542141
+      parent: 8364
+  - uid: 27925
+    components:
+    - type: Transform
+      pos: -31.469313,6.4490204
+      parent: 8364
+  - uid: 27926
+    components:
+    - type: Transform
+      pos: -32.542763,5.5734124
+      parent: 8364
+  - uid: 27927
+    components:
+    - type: Transform
+      pos: -10.9682865,17.654972
+      parent: 8364
+  - uid: 27928
+    components:
+    - type: Transform
+      pos: -4.533206,15.455529
+      parent: 8364
+  - uid: 27929
+    components:
+    - type: Transform
+      pos: -1.7443311,30.747675
+      parent: 8364
+  - uid: 27930
+    components:
+    - type: Transform
+      pos: 16.479553,32.771088
+      parent: 8364
+  - uid: 27931
+    components:
+    - type: Transform
+      pos: 13.49891,40.480362
+      parent: 8364
+  - uid: 27952
+    components:
+    - type: Transform
+      pos: -5.265177,-0.6308181
+      parent: 8364
+  - uid: 27953
+    components:
+    - type: Transform
+      pos: 3.0306053,-0.7559052
+      parent: 8364
+  - uid: 27954
+    components:
+    - type: Transform
+      pos: -4.0666656,-0.7890227
+      parent: 8364
+  - uid: 27958
+    components:
+    - type: Transform
+      pos: 22.963808,-6.725461
+      parent: 8364
+  - uid: 27959
+    components:
+    - type: Transform
+      pos: 25.058596,-5.182723
+      parent: 8364
+  - uid: 27960
+    components:
+    - type: Transform
+      pos: 32.503265,0.5198436
+      parent: 8364
+  - uid: 27961
+    components:
+    - type: Transform
+      pos: 22.53134,3.5313096
+      parent: 8364
+  - uid: 27962
+    components:
+    - type: Transform
+      pos: 22.447966,5.511852
+      parent: 8364
+  - uid: 27963
+    components:
+    - type: Transform
+      pos: 16.499254,3.47919
+      parent: 8364
+  - uid: 27964
+    components:
+    - type: Transform
+      pos: 20.503527,-21.487644
+      parent: 8364
+  - uid: 27965
+    components:
+    - type: Transform
+      pos: 31.480825,-36.348404
+      parent: 8364
+  - uid: 27966
+    components:
+    - type: Transform
+      pos: 36.913406,-40.32521
+      parent: 8364
+  - uid: 27975
+    components:
+    - type: Transform
+      pos: 9.498493,-13.259819
+      parent: 8364
+  - uid: 27976
+    components:
+    - type: Transform
+      pos: 2.4861767,-35.38526
+      parent: 8364
+  - uid: 27977
+    components:
+    - type: Transform
+      pos: 12.474101,-36.469345
+      parent: 8364
+  - uid: 27978
+    components:
+    - type: Transform
+      pos: 80.45666,-45.398308
+      parent: 8364
+  - uid: 27979
+    components:
+    - type: Transform
+      pos: 69.48871,-34.98652
+      parent: 8364
+  - uid: 27980
+    components:
+    - type: Transform
+      pos: 62.51061,-7.3934164
+      parent: 8364
+  - uid: 27981
+    components:
+    - type: Transform
+      pos: 64.48113,0.57479143
+      parent: 8364
+  - uid: 27982
+    components:
+    - type: Transform
+      pos: 50.484615,16.468405
+      parent: 8364
+  - uid: 27983
+    components:
+    - type: Transform
+      pos: 86.52836,-53.49038
+      parent: 8364
+  - uid: 27984
+    components:
+    - type: Transform
+      pos: -4.484927,-62.871216
+      parent: 8364
+  - uid: 27985
+    components:
+    - type: Transform
+      pos: -25.009478,-53.96871
+      parent: 8364
+  - uid: 27986
+    components:
+    - type: Transform
+      pos: -10.81077,-27.308935
+      parent: 8364
+  - uid: 27987
+    components:
+    - type: Transform
+      pos: -12.467842,-22.511818
+      parent: 8364
+  - uid: 27988
+    components:
+    - type: Transform
+      pos: -33.589916,-27.340237
+      parent: 8364
+  - uid: 27989
+    components:
+    - type: Transform
+      pos: -32.51471,-14.456967
+      parent: 8364
+  - uid: 27990
+    components:
+    - type: Transform
+      pos: -48.52473,-10.569237
+      parent: 8364
+  - uid: 27991
+    components:
+    - type: Transform
+      pos: -60.55439,-1.4672434
+      parent: 8364
+  - uid: 27992
+    components:
+    - type: Transform
+      pos: 25.485146,18.46381
+      parent: 8364
+  - uid: 27993
+    components:
+    - type: Transform
+      pos: 46.464687,-4.5213356
+      parent: 8364
+  - uid: 27994
+    components:
+    - type: Transform
+      pos: 37.468975,-6.501878
+      parent: 8364
+  - uid: 27995
+    components:
+    - type: Transform
+      pos: 28.470734,-110.599205
+      parent: 8364
+  - uid: 28021
+    components:
+    - type: Transform
+      pos: -39.508694,1.5123675
+      parent: 8364
+  - uid: 28069
+    components:
+    - type: Transform
+      pos: 68.485176,-66.456276
+      parent: 8364
+  - uid: 28070
+    components:
+    - type: Transform
+      pos: -25.506132,-34.44175
+      parent: 8364
+- proto: PresentRandomAsh
+  entities:
+  - uid: 27950
+    components:
+    - type: Transform
+      pos: -3.764432,0.02581346
+      parent: 8364
+  - uid: 27951
+    components:
+    - type: Transform
+      pos: 4.2812257,-0.64131606
+      parent: 8364
+  - uid: 27956
+    components:
+    - type: Transform
+      pos: 22.70326,-5.73519
+      parent: 8364
+  - uid: 27957
+    components:
+    - type: Transform
+      pos: 25.089863,-6.527406
+      parent: 8364
+  - uid: 28024
+    components:
+    - type: Transform
+      pos: 2.4670389,22.582647
+      parent: 8364
 - proto: Protolathe
   entities:
   - uid: 17802
@@ -154433,16 +155292,6 @@ entities:
     - type: Transform
       pos: 64.5,-50.5
       parent: 8364
-  - uid: 2044
-    components:
-    - type: Transform
-      pos: 58.5,-36.5
-      parent: 8364
-  - uid: 2045
-    components:
-    - type: Transform
-      pos: 58.5,-35.5
-      parent: 8364
   - uid: 2046
     components:
     - type: Transform
@@ -162193,6 +163042,12 @@ entities:
     - type: Transform
       pos: 83.5,-49.5
       parent: 8364
+  - uid: 19836
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 58.5,-35.5
+      parent: 8364
   - uid: 19858
     components:
     - type: Transform
@@ -162273,6 +163128,12 @@ entities:
     - type: Transform
       pos: 17.5,-53.5
       parent: 8364
+  - uid: 20302
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 58.5,-36.5
+      parent: 8364
   - uid: 21284
     components:
     - type: Transform

From f071bf65e0c49759b9321ba565660ce474d8b8f2 Mon Sep 17 00:00:00 2001
From: Southbridge <7013162+southbridge-fur@users.noreply.github.com>
Date: Sat, 16 Nov 2024 01:35:23 -0500
Subject: [PATCH 122/187] Marathon holiday update (#33335)

* Added holiday decorations, and modified emergency lights to have a better layout.

* Added a couple more emergency lights after finding a couple spots that were wway too dark during testing, also gave the warden a crew monitor
---
 Resources/Maps/marathon.yml | 992 ++++++++++++++++++++++++++++--------
 1 file changed, 791 insertions(+), 201 deletions(-)

diff --git a/Resources/Maps/marathon.yml b/Resources/Maps/marathon.yml
index 1f1632004b7..93cb4055940 100644
--- a/Resources/Maps/marathon.yml
+++ b/Resources/Maps/marathon.yml
@@ -2562,7 +2562,6 @@ entities:
             color: '#334E6DC8'
             id: HalfTileOverlayGreyscale
           decals:
-            392: -10,27
             393: -9,27
             394: -11,27
             395: -8,27
@@ -2574,6 +2573,8 @@ entities:
             898: -1,66
             1422: -3,27
             1424: -17,27
+            3122: -10,27
+            3125: -10,26
         - node:
             color: '#33666DC8'
             id: HalfTileOverlayGreyscale
@@ -3308,6 +3309,7 @@ entities:
             1502: -16,41
             1503: -16,40
             1504: -16,39
+            3127: -9,26
         - node:
             color: '#52B4E996'
             id: QuarterTileOverlayGreyscale
@@ -3537,6 +3539,7 @@ entities:
             2386: 11,38
             2387: 12,38
             2388: 12,39
+            3123: -11,27
         - node:
             color: '#52B4E996'
             id: QuarterTileOverlayGreyscale180
@@ -3768,6 +3771,7 @@ entities:
             2383: 5,38
             2384: 6,38
             2385: 7,38
+            3124: -9,27
         - node:
             color: '#52B4E996'
             id: QuarterTileOverlayGreyscale270
@@ -3975,6 +3979,7 @@ entities:
             1510: -22,27
             1511: -23,27
             1512: -24,27
+            3126: -11,26
         - node:
             color: '#52B4E957'
             id: QuarterTileOverlayGreyscale90
@@ -5104,6 +5109,12 @@ entities:
             id: bushsnowb3
           decals:
             1461: -9,41
+        - node:
+            angle: 1.5707963267948966 rad
+            color: '#FFFFFFFF'
+            id: grasssnow
+          decals:
+            3128: -9.993465,26.89989
     - type: GridAtmosphere
       version: 2
       data:
@@ -12171,8 +12182,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -24.5,-6.5
       parent: 30
-    - type: Apc
-      hasAccess: True
   - uid: 7079
     components:
     - type: MetaData
@@ -12196,8 +12205,6 @@ entities:
     - type: Transform
       pos: -21.5,-6.5
       parent: 30
-    - type: Apc
-      hasAccess: True
   - uid: 7433
     components:
     - type: MetaData
@@ -12214,8 +12221,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -31.5,-14.5
       parent: 30
-    - type: Apc
-      hasAccess: True
   - uid: 7610
     components:
     - type: MetaData
@@ -13297,6 +13302,11 @@ entities:
     - type: Transform
       pos: 27.5,-34.5
       parent: 30
+  - uid: 22584
+    components:
+    - type: Transform
+      pos: 49.5,44.5
+      parent: 30
 - proto: AtmosFixFreezerMarker
   entities:
   - uid: 9178
@@ -43380,56 +43390,49 @@ entities:
       parent: 30
 - proto: Carpet
   entities:
-  - uid: 626
-    components:
-    - type: Transform
-      pos: 0.5,8.5
-      parent: 30
-  - uid: 627
+  - uid: 558
     components:
     - type: Transform
-      pos: 0.5,9.5
+      rot: 3.141592653589793 rad
+      pos: 1.5,9.5
       parent: 30
-  - uid: 628
+  - uid: 559
     components:
     - type: Transform
-      pos: -0.5,9.5
+      rot: 3.141592653589793 rad
+      pos: 1.5,8.5
       parent: 30
-  - uid: 629
+  - uid: 560
     components:
     - type: Transform
-      pos: -0.5,8.5
+      rot: 3.141592653589793 rad
+      pos: -4.5,8.5
       parent: 30
-  - uid: 630
+  - uid: 626
     components:
     - type: Transform
-      pos: -1.5,8.5
+      pos: 0.5,8.5
       parent: 30
-  - uid: 631
+  - uid: 627
     components:
     - type: Transform
-      pos: -1.5,9.5
+      pos: 0.5,9.5
       parent: 30
-  - uid: 632
+  - uid: 628
     components:
     - type: Transform
-      pos: -3.5,8.5
+      pos: -0.5,9.5
       parent: 30
-  - uid: 633
+  - uid: 629
     components:
     - type: Transform
-      pos: -3.5,9.5
+      pos: -0.5,8.5
       parent: 30
   - uid: 634
     components:
     - type: Transform
       pos: -4.5,9.5
       parent: 30
-  - uid: 635
-    components:
-    - type: Transform
-      pos: -4.5,8.5
-      parent: 30
   - uid: 636
     components:
     - type: Transform
@@ -44019,6 +44022,16 @@ entities:
     - type: Transform
       pos: 38.5,38.5
       parent: 30
+  - uid: 22594
+    components:
+    - type: Transform
+      pos: -6.5,9.5
+      parent: 30
+  - uid: 22595
+    components:
+    - type: Transform
+      pos: -6.5,8.5
+      parent: 30
 - proto: CarpetBlack
   entities:
   - uid: 17600
@@ -49527,53 +49540,23 @@ entities:
       parent: 30
 - proto: ChairWood
   entities:
-  - uid: 562
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -5.5,8.5
-      parent: 30
-  - uid: 563
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -5.5,9.5
-      parent: 30
-  - uid: 564
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -3.5,9.5
-      parent: 30
   - uid: 565
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: -3.5,8.5
+      pos: -4.6988,9.612039
       parent: 30
   - uid: 566
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -1.5,8.5
-      parent: 30
-  - uid: 567
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -1.5,9.5
-      parent: 30
-  - uid: 568
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 0.5,9.5
+      pos: -4.6779566,8.5487995
       parent: 30
-  - uid: 569
+  - uid: 568
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 0.5,8.5
+      rot: 1.5707963267948966 rad
+      pos: -0.2799418,8.559224
       parent: 30
   - uid: 573
     components:
@@ -49910,6 +49893,24 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -29.5,-47.5
       parent: 30
+  - uid: 21379
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 1.5,9.5
+      parent: 30
+  - uid: 21390
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 1.5,8.5
+      parent: 30
+  - uid: 21438
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -0.31120706,9.570343
+      parent: 30
   - uid: 21518
     components:
     - type: Transform
@@ -49934,6 +49935,18 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 36.5,38.5
       parent: 30
+  - uid: 22596
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,8.5
+      parent: 30
+  - uid: 22597
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,9.5
+      parent: 30
 - proto: ChanterelleSeeds
   entities:
   - uid: 10418
@@ -51590,14 +51603,14 @@ entities:
   - uid: 2163
     components:
     - type: Transform
-      pos: -31.648214,58.59028
+      pos: -31.402626,58.62358
       parent: 30
 - proto: ClothingBeltSecurityWebbing
   entities:
   - uid: 2164
     components:
     - type: Transform
-      pos: -32.460716,58.62153
+      pos: -31.828863,58.459854
       parent: 30
 - proto: ClothingBeltUtilityEngineering
   entities:
@@ -52017,6 +52030,48 @@ entities:
     - type: Transform
       pos: 19.385248,46.62064
       parent: 30
+- proto: ClothingHeadHatSantahat
+  entities:
+  - uid: 22647
+    components:
+    - type: Transform
+      pos: -28.484512,57.810516
+      parent: 30
+  - uid: 22651
+    components:
+    - type: Transform
+      pos: -32.318687,58.626637
+      parent: 30
+  - uid: 22652
+    components:
+    - type: Transform
+      pos: -32.611557,58.550613
+      parent: 30
+  - uid: 22653
+    components:
+    - type: Transform
+      pos: -32.486496,58.74867
+      parent: 30
+  - uid: 22655
+    components:
+    - type: Transform
+      pos: -42.46656,46.8322
+      parent: 30
+  - uid: 22657
+    components:
+    - type: Transform
+      pos: -24.439611,51.525856
+      parent: 30
+  - uid: 22659
+    components:
+    - type: Transform
+      pos: -33.486233,53.468388
+      parent: 30
+  - uid: 22661
+    components:
+    - type: Transform
+      pos: -17.453934,40.800747
+      parent: 30
 - proto: ClothingHeadHatTophat
   entities:
   - uid: 19620
@@ -52479,6 +52534,48 @@ entities:
     - type: Transform
       pos: -75.60953,-47.39969
       parent: 30
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 22646
+    components:
+    - type: Transform
+      pos: -28.5262,57.539494
+      parent: 30
+  - uid: 22648
+    components:
+    - type: Transform
+      pos: -33.559944,58.70697
+      parent: 30
+  - uid: 22649
+    components:
+    - type: Transform
+      pos: -33.330666,58.70697
+      parent: 30
+  - uid: 22650
+    components:
+    - type: Transform
+      pos: -33.13159,58.72045
+      parent: 30
+  - uid: 22654
+    components:
+    - type: Transform
+      pos: -42.52909,46.582027
+      parent: 30
+  - uid: 22656
+    components:
+    - type: Transform
+      pos: -24.470877,50.60855
+      parent: 30
+  - uid: 22658
+    components:
+    - type: Transform
+      pos: -32.50658,53.572628
+      parent: 30
+  - uid: 22660
+    components:
+    - type: Transform
+      pos: -17.485199,40.560997
+      parent: 30
 - proto: ClothingOuterSuitChicken
   entities:
   - uid: 16151
@@ -53250,6 +53347,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: -43.5,29.5
       parent: 30
+  - uid: 2016
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -41.5,46.5
+      parent: 30
   - uid: 2129
     components:
     - type: Transform
@@ -53357,12 +53460,6 @@ entities:
       parent: 30
 - proto: ComputerMedicalRecords
   entities:
-  - uid: 2016
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -41.5,46.5
-      parent: 30
   - uid: 5801
     components:
     - type: Transform
@@ -60846,22 +60943,52 @@ entities:
       parent: 30
 - proto: EmergencyLight
   entities:
+  - uid: 631
+    components:
+    - type: Transform
+      pos: -17.5,-0.5
+      parent: 30
+  - uid: 632
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -4.5,0.5
+      parent: 30
+  - uid: 633
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -44.5,-15.5
+      parent: 30
+  - uid: 635
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -20.5,-44.5
+      parent: 30
+  - uid: 2233
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -3.5,-41.5
+      parent: 30
+  - uid: 2234
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -45.5,63.5
+      parent: 30
   - uid: 19589
     components:
     - type: Transform
-      pos: -8.5,4.5
+      rot: 3.141592653589793 rad
+      pos: -32.5,56.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19637
     components:
     - type: Transform
-      pos: 3.5,4.5
+      pos: -51.5,36.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19654
     components:
     - type: Transform
@@ -60883,29 +61010,20 @@ entities:
   - uid: 19661
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -46.5,-18.5
+      pos: -53.5,-8.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19678
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: -55.5,15.5
+      pos: 34.5,-7.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19679
     components:
     - type: Transform
-      pos: -51.5,21.5
+      rot: 3.141592653589793 rad
+      pos: 4.5,-20.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19681
     components:
     - type: Transform
@@ -60928,20 +61046,14 @@ entities:
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -35.5,49.5
+      pos: 3.5,-5.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19836
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: -46.5,47.5
+      pos: 25.5,21.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 19840
     components:
     - type: Transform
@@ -60972,11 +61084,8 @@ entities:
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: -40.5,35.5
+      pos: 38.5,7.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 20373
     components:
     - type: Transform
@@ -60998,11 +61107,9 @@ entities:
   - uid: 20375
     components:
     - type: Transform
-      pos: -53.5,10.5
+      rot: 3.141592653589793 rad
+      pos: -9.5,31.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 21203
     components:
     - type: Transform
@@ -61023,11 +61130,9 @@ entities:
   - uid: 21205
     components:
     - type: Transform
-      pos: 32.5,-1.5
+      rot: 3.141592653589793 rad
+      pos: -34.5,46.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
   - uid: 21215
     components:
     - type: Transform
@@ -61037,6 +61142,12 @@ entities:
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
+  - uid: 21236
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 8.5,31.5
+      parent: 30
   - uid: 21331
     components:
     - type: Transform
@@ -61058,124 +61169,324 @@ entities:
   - uid: 21375
     components:
     - type: Transform
-      pos: 2.5,-18.5
+      pos: 2.5,29.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21378
+  - uid: 21380
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 8.5,16.5
+      pos: -65.5,-42.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21379
+  - uid: 21382
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: 24.5,18.5
+      pos: 41.5,32.5
+      parent: 30
+  - uid: 21385
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -15.5,31.5
       parent: 30
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21380
+  - uid: 21386
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 40.5,8.5
+      pos: -3.5,31.5
       parent: 30
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21382
+  - uid: 21388
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 1.5,25.5
+      pos: -20.5,37.5
       parent: 30
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21385
+  - uid: 21391
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -15.5,31.5
+      pos: 37.5,41.5
       parent: 30
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21386
+  - uid: 21437
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -3.5,31.5
+      rot: 3.141592653589793 rad
+      pos: 25.5,33.5
       parent: 30
     - type: PointLight
       enabled: True
     - type: ActiveEmergencyLight
-  - uid: 21387
+  - uid: 22557
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -12.5,34.5
+      pos: -68.5,-55.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21388
+  - uid: 22558
     components:
     - type: Transform
-      pos: -20.5,37.5
+      rot: -1.5707963267948966 rad
+      pos: -5.5,-28.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21389
+  - uid: 22559
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -55.5,-53.5
+      parent: 30
+  - uid: 22560
+    components:
+    - type: Transform
+      pos: -0.5,-27.5
+      parent: 30
+  - uid: 22561
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -1.5,-35.5
+      parent: 30
+  - uid: 22562
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -4.5,42.5
+      parent: 30
+  - uid: 22563
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: -23.5,48.5
+      pos: -19.5,1.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21390
+  - uid: 22564
     components:
     - type: Transform
-      pos: 6.5,39.5
+      rot: 3.141592653589793 rad
+      pos: -42.5,5.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21391
+  - uid: 22565
     components:
     - type: Transform
-      pos: 37.5,41.5
+      rot: -1.5707963267948966 rad
+      pos: -43.5,-5.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21437
+  - uid: 22566
     components:
     - type: Transform
       rot: 3.141592653589793 rad
-      pos: 25.5,33.5
+      pos: -53.5,7.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
-  - uid: 21438
+  - uid: 22567
     components:
     - type: Transform
-      pos: 19.5,27.5
+      rot: -1.5707963267948966 rad
+      pos: -11.5,-5.5
+      parent: 30
+  - uid: 22568
+    components:
+    - type: Transform
+      pos: -20.5,-7.5
+      parent: 30
+  - uid: 22569
+    components:
+    - type: Transform
+      pos: -0.5,-43.5
+      parent: 30
+  - uid: 22570
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 21.5,-8.5
+      parent: 30
+  - uid: 22571
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 10.5,13.5
+      parent: 30
+  - uid: 22572
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 12.5,20.5
+      parent: 30
+  - uid: 22573
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 33.5,12.5
+      parent: 30
+  - uid: 22574
+    components:
+    - type: Transform
+      pos: 8.5,39.5
+      parent: 30
+  - uid: 22575
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,20.5
+      parent: 30
+  - uid: 22576
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -2.5,19.5
+      parent: 30
+  - uid: 22577
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -17.5,25.5
+      parent: 30
+  - uid: 22578
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -34.5,31.5
+      parent: 30
+  - uid: 22579
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -43.5,35.5
+      parent: 30
+  - uid: 22580
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -31.5,-7.5
+      parent: 30
+  - uid: 22581
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -51.5,15.5
+      parent: 30
+  - uid: 22582
+    components:
+    - type: Transform
+      pos: -55.5,21.5
+      parent: 30
+  - uid: 22583
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -7.5,-12.5
+      parent: 30
+  - uid: 22585
+    components:
+    - type: Transform
+      pos: 0.5,66.5
+      parent: 30
+  - uid: 22586
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -36.5,39.5
+      parent: 30
+  - uid: 22587
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -26.5,49.5
+      parent: 30
+  - uid: 22588
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 3.5,84.5
+      parent: 30
+  - uid: 22589
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -4.5,82.5
+      parent: 30
+  - uid: 22590
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -49.5,56.5
+      parent: 30
+  - uid: 22591
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -48.5,47.5
+      parent: 30
+  - uid: 22592
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -43.5,13.5
+      parent: 30
+  - uid: 22593
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 20.5,25.5
+      parent: 30
+  - uid: 22663
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 9.5,1.5
+      parent: 30
+  - uid: 22664
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,-11.5
+      parent: 30
+  - uid: 22665
+    components:
+    - type: Transform
+      pos: 3.5,8.5
+      parent: 30
+  - uid: 22666
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -30.5,-15.5
+      parent: 30
+  - uid: 22667
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -20.5,-17.5
+      parent: 30
+  - uid: 22668
+    components:
+    - type: Transform
+      pos: 13.5,-31.5
+      parent: 30
+  - uid: 22669
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -5.5,25.5
+      parent: 30
+  - uid: 22670
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 26.5,7.5
+      parent: 30
+  - uid: 22671
+    components:
+    - type: Transform
+      pos: 19.5,15.5
       parent: 30
-    - type: PointLight
-      enabled: True
-    - type: ActiveEmergencyLight
 - proto: EmergencyMedipen
   entities:
   - uid: 696
@@ -64455,6 +64766,21 @@ entities:
     - type: Transform
       pos: -72.29823,-43.406895
       parent: 30
+- proto: FloraTreeChristmas01
+  entities:
+  - uid: 22603
+    components:
+    - type: Transform
+      pos: -9.5,27.5
+      parent: 30
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 567
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -2.5,8.5
+      parent: 30
 - proto: FloraTreeLarge03
   entities:
   - uid: 22215
@@ -64561,6 +64887,14 @@ entities:
     - type: Transform
       pos: -11.54011,18.632044
       parent: 30
+- proto: FoodCakeChristmas
+  entities:
+  - uid: 561
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 0.5,9.5
+      parent: 30
 - proto: FoodCartCold
   entities:
   - uid: 4453
@@ -101548,7 +101882,7 @@ entities:
   - uid: 11630
     components:
     - type: Transform
-      pos: 25.544401,1.679924
+      pos: 25.534836,1.7037914
       parent: 30
   - uid: 11631
     components:
@@ -107221,6 +107555,267 @@ entities:
     - type: Transform
       pos: -42.5,22.5
       parent: 30
+- proto: Present
+  entities:
+  - uid: 562
+    components:
+    - type: Transform
+      pos: -2.924169,7.831236
+      parent: 30
+  - uid: 22606
+    components:
+    - type: Transform
+      pos: -8.5774555,27.51071
+      parent: 30
+  - uid: 22607
+    components:
+    - type: Transform
+      pos: -10.536761,27.687916
+      parent: 30
+  - uid: 22608
+    components:
+    - type: Transform
+      pos: -1.4184723,9.5061245
+      parent: 30
+  - uid: 22627
+    components:
+    - type: Transform
+      pos: 5.512489,44.484703
+      parent: 30
+  - uid: 22630
+    components:
+    - type: Transform
+      pos: 24.481426,36.721195
+      parent: 30
+  - uid: 22634
+    components:
+    - type: Transform
+      pos: 4.0067887,-15.3338375
+      parent: 30
+  - uid: 22662
+    components:
+    - type: Transform
+      pos: -54.520042,21.45148
+      parent: 30
+- proto: PresentRandom
+  entities:
+  - uid: 21378
+    components:
+    - type: Transform
+      pos: -1.579752,8.102257
+      parent: 30
+  - uid: 21387
+    components:
+    - type: Transform
+      pos: 26.520187,2.4394562
+      parent: 30
+  - uid: 21389
+    components:
+    - type: Transform
+      pos: -3.309777,10.009832
+      parent: 30
+  - uid: 22556
+    components:
+    - type: Transform
+      pos: -17.514753,-67.4598
+      parent: 30
+  - uid: 22598
+    components:
+    - type: Transform
+      pos: -33.75367,-16.76977
+      parent: 30
+  - uid: 22599
+    components:
+    - type: Transform
+      pos: -27.60882,15.614613
+      parent: 30
+  - uid: 22600
+    components:
+    - type: Transform
+      pos: -15.4604845,7.6557884
+      parent: 30
+  - uid: 22601
+    components:
+    - type: Transform
+      pos: -11.584989,19.223238
+      parent: 30
+  - uid: 22602
+    components:
+    - type: Transform
+      pos: 4.947539,34.155647
+      parent: 30
+  - uid: 22604
+    components:
+    - type: Transform
+      pos: -10.067778,27.01036
+      parent: 30
+  - uid: 22610
+    components:
+    - type: Transform
+      pos: -31.492609,7.4731913
+      parent: 30
+  - uid: 22611
+    components:
+    - type: Transform
+      pos: -15.973673,-20.486454
+      parent: 30
+  - uid: 22612
+    components:
+    - type: Transform
+      pos: 9.520328,-26.347212
+      parent: 30
+  - uid: 22613
+    components:
+    - type: Transform
+      pos: -8.403212,-35.379116
+      parent: 30
+  - uid: 22614
+    components:
+    - type: Transform
+      pos: -21.542952,-40.416473
+      parent: 30
+  - uid: 22615
+    components:
+    - type: Transform
+      pos: -65.506134,-64.19724
+      parent: 30
+  - uid: 22616
+    components:
+    - type: Transform
+      pos: -82.53097,-45.40445
+      parent: 30
+  - uid: 22618
+    components:
+    - type: Transform
+      pos: 5.5226407,14.507042
+      parent: 30
+  - uid: 22619
+    components:
+    - type: Transform
+      pos: 3.4884644,13.558466
+      parent: 30
+  - uid: 22620
+    components:
+    - type: Transform
+      pos: 28.505388,-7.37985
+      parent: 30
+  - uid: 22621
+    components:
+    - type: Transform
+      pos: -31.008707,51.68482
+      parent: 30
+  - uid: 22622
+    components:
+    - type: Transform
+      pos: -44.68347,46.525394
+      parent: 30
+  - uid: 22623
+    components:
+    - type: Transform
+      pos: -23.316933,50.046917
+      parent: 30
+  - uid: 22624
+    components:
+    - type: Transform
+      pos: -48.52359,29.68323
+      parent: 30
+  - uid: 22625
+    components:
+    - type: Transform
+      pos: -59.50853,44.673046
+      parent: 30
+  - uid: 22626
+    components:
+    - type: Transform
+      pos: -0.5203595,35.391735
+      parent: 30
+  - uid: 22628
+    components:
+    - type: Transform
+      pos: 6.134218,44.232304
+      parent: 30
+  - uid: 22629
+    components:
+    - type: Transform
+      pos: 4.831488,44.19061
+      parent: 30
+  - uid: 22631
+    components:
+    - type: Transform
+      pos: 29.476475,27.5537
+      parent: 30
+  - uid: 22632
+    components:
+    - type: Transform
+      pos: 27.515238,14.783981
+      parent: 30
+  - uid: 22633
+    components:
+    - type: Transform
+      pos: 23.429405,13.939615
+      parent: 30
+  - uid: 22635
+    components:
+    - type: Transform
+      pos: 46.497482,36.618343
+      parent: 30
+  - uid: 22636
+    components:
+    - type: Transform
+      pos: 15.359613,60.611412
+      parent: 30
+  - uid: 22637
+    components:
+    - type: Transform
+      pos: -8.331337,35.65068
+      parent: 30
+  - uid: 22638
+    components:
+    - type: Transform
+      pos: -20.475868,30.629063
+      parent: 30
+  - uid: 22639
+    components:
+    - type: Transform
+      pos: -29.246494,33.607082
+      parent: 30
+  - uid: 22640
+    components:
+    - type: Transform
+      pos: -39.495163,3.4868627
+      parent: 30
+  - uid: 22641
+    components:
+    - type: Transform
+      pos: -37.349785,-33.908993
+      parent: 30
+  - uid: 22642
+    components:
+    - type: Transform
+      pos: -42.496124,32.501785
+      parent: 30
+  - uid: 22643
+    components:
+    - type: Transform
+      pos: -0.48171067,83.517715
+      parent: 30
+  - uid: 22644
+    components:
+    - type: Transform
+      pos: -23.524483,-4.499471
+      parent: 30
+  - uid: 22645
+    components:
+    - type: Transform
+      pos: 35.999138,0.3531096
+      parent: 30
+- proto: PresentRandomAsh
+  entities:
+  - uid: 22609
+    components:
+    - type: Transform
+      pos: -3.6431541,8.850039
+      parent: 30
 - proto: Protolathe
   entities:
   - uid: 12864
@@ -107753,6 +108348,13 @@ entities:
     - type: Transform
       pos: 7.5,-8.5
       parent: 30
+- proto: RailingRound
+  entities:
+  - uid: 22605
+    components:
+    - type: Transform
+      pos: -9.5,27.5
+      parent: 30
 - proto: RandomArtifactSpawner
   entities:
   - uid: 10151
@@ -107811,15 +108413,10 @@ entities:
       parent: 30
 - proto: RandomFoodSingle
   entities:
-  - uid: 2233
-    components:
-    - type: Transform
-      pos: -4.5,9.5
-      parent: 30
-  - uid: 2234
+  - uid: 22617
     components:
     - type: Transform
-      pos: -0.5,8.5
+      pos: -5.5,8.5
       parent: 30
 - proto: RandomInstruments
   entities:
@@ -119283,17 +119880,6 @@ entities:
       - SurveillanceCameraGeneral
       nameSet: True
       id: Chapelroid Hall
-  - uid: 21236
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -44.5,2.5
-      parent: 30
-    - type: SurveillanceCamera
-      setupAvailableNetworks:
-      - SurveillanceCameraGeneral
-      nameSet: True
-      id: Arrivals
   - uid: 21237
     components:
     - type: Transform
@@ -122395,30 +122981,34 @@ entities:
     - type: Transform
       pos: 2.5,9.5
       parent: 30
-  - uid: 558
+  - uid: 563
     components:
     - type: Transform
-      pos: -4.5,8.5
+      rot: 1.5707963267948966 rad
+      pos: -5.5,9.5
       parent: 30
-  - uid: 559
+  - uid: 564
     components:
     - type: Transform
-      pos: -4.5,9.5
+      rot: 1.5707963267948966 rad
+      pos: -5.5,8.5
       parent: 30
-  - uid: 560
+  - uid: 569
     components:
     - type: Transform
-      pos: -0.5,8.5
+      rot: 3.141592653589793 rad
+      pos: 0.5,8.5
       parent: 30
-  - uid: 561
+  - uid: 572
     components:
     - type: Transform
-      pos: -0.5,9.5
+      pos: 39.5,40.5
       parent: 30
-  - uid: 572
+  - uid: 630
     components:
     - type: Transform
-      pos: 39.5,40.5
+      rot: 3.141592653589793 rad
+      pos: 0.5,9.5
       parent: 30
   - uid: 656
     components:

From bdab41248d94c9e65e0114cf5d0485c93924401e Mon Sep 17 00:00:00 2001
From: Emisse <99158783+Emisse@users.noreply.github.com>
Date: Sat, 16 Nov 2024 01:42:33 -0700
Subject: [PATCH 123/187] bagel christmas update (#33347)

---
 Resources/Maps/bagel.yml | 509 ++++++++++++++++++++++++++++++---------
 1 file changed, 391 insertions(+), 118 deletions(-)

diff --git a/Resources/Maps/bagel.yml b/Resources/Maps/bagel.yml
index 764c03b71bc..3c858a4ff93 100644
--- a/Resources/Maps/bagel.yml
+++ b/Resources/Maps/bagel.yml
@@ -665,7 +665,6 @@ entities:
             1325: 54,12
             1326: 53,12
             1327: 52,12
-            1374: 6,-20
             1486: 30,-23
             1516: -48,16
             1517: -47,17
@@ -733,6 +732,7 @@ entities:
             3954: 13,-14
             3979: -56,13
             3980: -54,13
+            4774: 6,-20
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -2224,6 +2224,22 @@ entities:
             3652: 23,-38
             3653: 23,-37
             3654: 23,-39
+        - node:
+            color: '#DE3A3A96'
+            id: CheckerNESW
+          decals:
+            4750: 6,-22
+            4751: 6,-21
+            4752: 6,-20
+            4753: 7,-20
+            4754: 8,-20
+            4755: 9,-20
+            4756: 9,-21
+            4757: 9,-22
+            4758: 8,-22
+            4759: 7,-22
+            4760: 7,-21
+            4761: 8,-21
         - node:
             color: '#334E6DC8'
             id: CheckerNWSE
@@ -2236,6 +2252,22 @@ entities:
             620: -68,17
             621: -69,17
             622: -62,17
+        - node:
+            color: '#43990996'
+            id: CheckerNWSE
+          decals:
+            4762: 6,-22
+            4763: 6,-21
+            4764: 6,-20
+            4765: 7,-20
+            4766: 7,-21
+            4767: 7,-22
+            4768: 8,-22
+            4769: 8,-21
+            4770: 8,-20
+            4771: 9,-20
+            4772: 9,-21
+            4773: 9,-22
         - node:
             color: '#52B4E996'
             id: CheckerNWSE
@@ -2833,6 +2865,7 @@ entities:
             3856: -11,-14
             3947: 13,-14
             3948: 12,-11
+            4778: 9,-22
         - node:
             color: '#FFFFFFFF'
             id: DirtLight
@@ -2955,11 +2988,6 @@ entities:
             830: -8,-25
             835: -4,-24
             836: -1,-25
-            837: 7,-21
-            889: 7,-20
-            890: 8,-20
-            891: 9,-20
-            892: 9,-21
             893: 10,-23
             895: -6,-23
             896: -25,-23
@@ -2996,7 +3024,6 @@ entities:
             1172: 5,8
             1173: -7,9
             1174: -8,8
-            1213: 7,-22
             1214: 5,-23
             1215: 4,-23
             1216: 7,-24
@@ -3190,6 +3217,9 @@ entities:
             4668: 16,-25
             4669: 13,-25
             4670: 12,-23
+            4775: 6,-22
+            4776: 9,-21
+            4777: 9,-20
         - node:
             angle: 3.141592653589793 rad
             color: '#FFFFFFFF'
@@ -3243,7 +3273,6 @@ entities:
             690: -16,6
             833: -3,-25
             834: -6,-25
-            1212: 6,-22
             1985: -40,-8
             2215: 0,13
             2216: -1,14
@@ -3278,6 +3307,7 @@ entities:
             4630: -28,-19
             4658: 17,-16
             4659: 17,-15
+            4779: 6,-20
         - node:
             angle: 3.141592653589793 rad
             color: '#FFFFFFFF'
@@ -4057,6 +4087,23 @@ entities:
             886: -1,-12
             887: -1,-11
             888: -1,-10
+        - node:
+            color: '#43990996'
+            id: QuarterTileOverlayGreyscale
+          decals:
+            4685: 6,-23
+            4686: 7,-23
+            4687: 8,-23
+            4688: 9,-23
+            4689: 5,-23
+            4690: 4,-23
+            4691: 3,-23
+            4692: 10,-23
+            4693: 11,-23
+            4694: 12,-23
+            4695: 13,-23
+            4696: 14,-23
+            4697: 15,-23
         - node:
             color: '#52B4E92E'
             id: QuarterTileOverlayGreyscale
@@ -4173,12 +4220,6 @@ entities:
             1183: -17,19
             1184: -17,20
             1185: -17,21
-            1364: 6,-22
-            1365: 6,-21
-            1366: 6,-20
-            1367: 7,-20
-            1368: 8,-20
-            1369: 9,-20
             1370: 6,-23
             1371: 5,-23
             1372: 4,-23
@@ -4352,6 +4393,18 @@ entities:
             662: -17,-6
             698: -18,1
             699: -18,2
+            4813: 29,-23
+            4814: 28,-23
+            4815: 27,-23
+            4816: 26,-23
+            4817: 25,-23
+            4818: 24,-23
+            4819: 23,-23
+            4820: 22,-23
+            4821: 21,-23
+            4822: 20,-23
+            4823: 19,-23
+            4824: 18,-23
         - node:
             color: '#EFCC4196'
             id: QuarterTileOverlayGreyscale
@@ -4395,6 +4448,26 @@ entities:
             3886: -29,30
             3887: -30,30
             3888: -31,30
+        - node:
+            color: '#43990996'
+            id: QuarterTileOverlayGreyscale180
+          decals:
+            4718: 17,-25
+            4720: 19,-25
+            4721: 20,-25
+            4723: 21,-25
+            4724: 22,-25
+            4725: 23,-25
+            4726: 24,-25
+            4727: 25,-25
+            4728: 26,-25
+            4729: 27,-25
+            4730: 28,-25
+            4731: 29,-25
+            4732: 30,-25
+            4733: 31,-25
+            4734: 32,-25
+            4826: 18,-25
         - node:
             color: '#52B4E92E'
             id: QuarterTileOverlayGreyscale180
@@ -4482,9 +4555,6 @@ entities:
             1448: -32,7
             1449: -33,7
             1450: -34,7
-            1465: 9,-20
-            1466: 9,-21
-            1467: 9,-22
             1494: -14,-2
             1495: -15,-2
             1496: -15,-3
@@ -4598,6 +4668,16 @@ entities:
             4470: 36,50
             4521: 44,20
             4522: 45,20
+        - node:
+            color: '#DE3A3A96'
+            id: QuarterTileOverlayGreyscale180
+          decals:
+            4792: 14,-25
+            4793: 13,-25
+            4794: 12,-25
+            4795: 11,-25
+            4796: 10,-25
+            4797: 9,-25
         - node:
             color: '#EFB3414A'
             id: QuarterTileOverlayGreyscale180
@@ -4631,6 +4711,17 @@ entities:
             610: -74,16
             611: -73,16
             612: -72,16
+        - node:
+            color: '#43990996'
+            id: QuarterTileOverlayGreyscale270
+          decals:
+            4711: 9,-25
+            4712: 10,-25
+            4713: 11,-25
+            4714: 12,-25
+            4715: 13,-25
+            4716: 14,-25
+            4717: 15,-25
         - node:
             color: '#52B4E92E'
             id: QuarterTileOverlayGreyscale270
@@ -4855,6 +4946,21 @@ entities:
           decals:
             696: -18,-1
             697: -18,0
+            4798: 18,-25
+            4799: 19,-25
+            4800: 20,-25
+            4801: 21,-25
+            4802: 22,-25
+            4803: 23,-25
+            4804: 24,-25
+            4805: 25,-25
+            4806: 26,-25
+            4807: 27,-25
+            4808: 28,-25
+            4809: 29,-25
+            4810: 30,-25
+            4811: 31,-25
+            4812: 32,-25
         - node:
             color: '#EFB3414A'
             id: QuarterTileOverlayGreyscale270
@@ -4899,6 +5005,23 @@ entities:
             874: 1,-19
             875: 1,-20
             876: 1,-21
+        - node:
+            color: '#43990996'
+            id: QuarterTileOverlayGreyscale90
+          decals:
+            4698: 17,-23
+            4700: 19,-23
+            4701: 20,-23
+            4702: 21,-23
+            4703: 22,-23
+            4704: 23,-23
+            4705: 24,-23
+            4706: 25,-23
+            4707: 26,-23
+            4708: 27,-23
+            4709: 28,-23
+            4710: 29,-23
+            4825: 18,-23
         - node:
             color: '#52B4E92E'
             id: QuarterTileOverlayGreyscale90
@@ -5041,7 +5164,6 @@ entities:
             1482: 21,-23
             1483: 20,-23
             1484: 19,-23
-            1485: 18,-23
             1491: -15,1
             1492: -15,0
             1493: -14,0
@@ -5187,6 +5309,18 @@ entities:
             1635: -8,-15
             1636: -8,-14
             1637: -8,-13
+            4780: 3,-23
+            4781: 4,-23
+            4782: 5,-23
+            4783: 6,-23
+            4784: 7,-23
+            4785: 8,-23
+            4786: 9,-23
+            4787: 10,-23
+            4788: 11,-23
+            4789: 12,-23
+            4790: 13,-23
+            4791: 14,-23
         - node:
             color: '#EFB34160'
             id: QuarterTileOverlayGreyscale90
@@ -5920,7 +6054,6 @@ entities:
             1768: 35,7
             1779: 2,-25
             1780: -2,-25
-            1781: 18,-25
             2543: 39,-35
             2994: -41,23
             3306: -15,48
@@ -5946,6 +6079,7 @@ entities:
             4103: -18,7
             4211: -17,32
             4243: 38,23
+            4828: 18,-25
         - node:
             color: '#DE3A3A96'
             id: WarnLineS
@@ -6034,7 +6168,6 @@ entities:
             1767: 35,9
             1777: 2,-23
             1778: -2,-23
-            1782: 18,-23
             1890: -42,-2
             2063: -27,-23
             2110: 0,24
@@ -6083,6 +6216,7 @@ entities:
             4187: 57,3
             4213: -17,34
             4244: 38,25
+            4827: 18,-23
         - node:
             angle: -3.141592653589793 rad
             color: '#FFFFFFFF'
@@ -15564,6 +15698,13 @@ entities:
     - type: Transform
       pos: 12.5,-25.5
       parent: 60
+- proto: BarSpoon
+  entities:
+  - uid: 23918
+    components:
+    - type: Transform
+      pos: 9.20146,-36.4394
+      parent: 60
 - proto: BaseGasCondenser
   entities:
   - uid: 400
@@ -49095,6 +49236,26 @@ entities:
     - type: Transform
       pos: -23.5,16.5
       parent: 60
+  - uid: 23652
+    components:
+    - type: Transform
+      pos: 8.5,-21.5
+      parent: 60
+  - uid: 23653
+    components:
+    - type: Transform
+      pos: 7.5,-20.5
+      parent: 60
+  - uid: 23914
+    components:
+    - type: Transform
+      pos: 7.5,-21.5
+      parent: 60
+  - uid: 23915
+    components:
+    - type: Transform
+      pos: 8.5,-20.5
+      parent: 60
   - uid: 24171
     components:
     - type: Transform
@@ -49274,6 +49435,31 @@ entities:
       parent: 60
 - proto: CarpetGreen
   entities:
+  - uid: 666
+    components:
+    - type: Transform
+      pos: 20.5,-27.5
+      parent: 60
+  - uid: 2278
+    components:
+    - type: Transform
+      pos: 19.5,-26.5
+      parent: 60
+  - uid: 2569
+    components:
+    - type: Transform
+      pos: 20.5,-26.5
+      parent: 60
+  - uid: 2584
+    components:
+    - type: Transform
+      pos: 19.5,-27.5
+      parent: 60
+  - uid: 3156
+    components:
+    - type: Transform
+      pos: 21.5,-26.5
+      parent: 60
   - uid: 4195
     components:
     - type: Transform
@@ -49621,6 +49807,11 @@ entities:
     - type: Transform
       pos: 52.5,-44.5
       parent: 60
+  - uid: 23892
+    components:
+    - type: Transform
+      pos: 21.5,-27.5
+      parent: 60
 - proto: CarpetOrange
   entities:
   - uid: 1071
@@ -49764,11 +49955,6 @@ entities:
     - type: Transform
       pos: -8.5,-12.5
       parent: 60
-  - uid: 15672
-    components:
-    - type: Transform
-      pos: 20.5,-28.5
-      parent: 60
   - uid: 16543
     components:
     - type: Transform
@@ -49839,21 +50025,11 @@ entities:
     - type: Transform
       pos: 20.5,-30.5
       parent: 60
-  - uid: 21598
-    components:
-    - type: Transform
-      pos: 18.5,-28.5
-      parent: 60
   - uid: 24409
     components:
     - type: Transform
       pos: 19.5,-31.5
       parent: 60
-  - uid: 24410
-    components:
-    - type: Transform
-      pos: 19.5,-28.5
-      parent: 60
   - uid: 24417
     components:
     - type: Transform
@@ -57498,12 +57674,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -7.5,25.5
       parent: 60
-  - uid: 14388
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 18.5,-28.5
-      parent: 60
   - uid: 14389
     components:
     - type: Transform
@@ -57639,12 +57809,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 20.5,-29.5
       parent: 60
-  - uid: 24414
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 20.5,-28.5
-      parent: 60
 - proto: CheapLighter
   entities:
   - uid: 24688
@@ -59916,6 +60080,46 @@ entities:
     - type: Transform
       pos: -15.664602,-30.50866
       parent: 60
+  - uid: 23905
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23906
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23907
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23908
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23909
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23910
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23911
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
+  - uid: 23912
+    components:
+    - type: Transform
+      pos: -27.341524,-2.4224424
+      parent: 60
 - proto: ClothingHeadHatSkub
   entities:
   - uid: 6791
@@ -60609,6 +60813,48 @@ entities:
     - type: Transform
       pos: 22.509872,-51.419544
       parent: 60
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 23897
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23898
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23899
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23900
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23901
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23902
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23903
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
+  - uid: 23904
+    components:
+    - type: Transform
+      pos: -27.591524,-2.2661924
+      parent: 60
 - proto: ClothingOuterSkub
   entities:
   - uid: 6793
@@ -61165,12 +61411,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 24.5,-5.5
       parent: 60
-  - uid: 24349
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 13.5,-26.5
-      parent: 60
 - proto: CommandmentCircuitBoard
   entities:
   - uid: 24825
@@ -62937,6 +63177,11 @@ entities:
     - type: Transform
       pos: -16.5,-29.5
       parent: 60
+  - uid: 23919
+    components:
+    - type: Transform
+      pos: 20.5,-26.5
+      parent: 60
 - proto: DefaultStationBeacon
   entities:
   - uid: 20983
@@ -72222,6 +72467,11 @@ entities:
     - type: Transform
       pos: -7.5,-2.5
       parent: 60
+  - uid: 23894
+    components:
+    - type: Transform
+      pos: 18.5,-26.5
+      parent: 60
 - proto: Flare
   entities:
   - uid: 9525
@@ -73130,6 +73380,13 @@ entities:
     - type: Transform
       pos: -65.522354,23.506481
       parent: 60
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 23913
+    components:
+    - type: Transform
+      pos: 7.9998736,-21.48742
+      parent: 60
 - proto: FoodApple
   entities:
   - uid: 7496
@@ -73262,10 +73519,10 @@ entities:
       parent: 60
 - proto: FoodCondimentBottleHotsauce
   entities:
-  - uid: 23671
+  - uid: 15672
     components:
     - type: Transform
-      pos: 21.70029,-26.388956
+      pos: 11.203171,-26.288023
       parent: 60
 - proto: FoodFrozenSandwich
   entities:
@@ -73374,30 +73631,40 @@ entities:
       parent: 60
 - proto: FoodPlateSmall
   entities:
-  - uid: 21775
+  - uid: 14388
     components:
     - type: Transform
-      pos: 20.513836,-26.289145
+      pos: 12.531296,-26.131773
       parent: 60
-  - uid: 21789
+  - uid: 16144
     components:
     - type: Transform
-      pos: 20.513836,-26.195395
+      pos: 12.531296,-26.506773
       parent: 60
-  - uid: 23621
+  - uid: 21774
     components:
     - type: Transform
-      pos: 20.513836,-26.382895
+      pos: 12.531296,-26.381773
       parent: 60
   - uid: 23629
     components:
     - type: Transform
-      pos: 20.513836,-26.507895
+      pos: 12.531296,-26.303648
       parent: 60
-  - uid: 23630
+  - uid: 23667
+    components:
+    - type: Transform
+      pos: 12.531296,-26.178648
+      parent: 60
+  - uid: 23671
     components:
     - type: Transform
-      pos: 20.513836,-26.445395
+      pos: 12.531296,-26.428648
+      parent: 60
+  - uid: 23891
+    components:
+    - type: Transform
+      pos: 12.531296,-26.241148
       parent: 60
 - proto: FoodPoppy
   entities:
@@ -73512,20 +73779,20 @@ entities:
       parent: 60
 - proto: Fork
   entities:
-  - uid: 2584
+  - uid: 21598
     components:
     - type: Transform
-      pos: 21.138836,-26.476645
+      pos: 11.828171,-26.428648
       parent: 60
-  - uid: 23653
+  - uid: 21775
     components:
     - type: Transform
-      pos: 21.138836,-26.476645
+      pos: 11.828171,-26.428648
       parent: 60
-  - uid: 23665
+  - uid: 23668
     components:
     - type: Transform
-      pos: 21.138836,-26.476645
+      pos: 11.828171,-26.428648
       parent: 60
 - proto: FuelDispenser
   entities:
@@ -114793,13 +115060,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -12.5,19.5
       parent: 60
-  - uid: 2278
-    components:
-    - type: Transform
-      pos: 18.5,-26.5
-      parent: 60
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 2279
     components:
     - type: Transform
@@ -117916,6 +118176,23 @@ entities:
       parent: 60
     - type: ApcPowerReceiver
       powerLoad: 0
+- proto: PresentRandom
+  entities:
+  - uid: 23920
+    components:
+    - type: Transform
+      pos: 19.509592,-26.607985
+      parent: 60
+  - uid: 23921
+    components:
+    - type: Transform
+      pos: 19.650217,-27.232985
+      parent: 60
+  - uid: 23922
+    components:
+    - type: Transform
+      pos: 21.337717,-26.654861
+      parent: 60
 - proto: Protolathe
   entities:
   - uid: 7081
@@ -119477,11 +119754,6 @@ entities:
       parent: 60
 - proto: RandomVendingDrinks
   entities:
-  - uid: 3156
-    components:
-    - type: Transform
-      pos: 8.5,-19.5
-      parent: 60
   - uid: 6319
     components:
     - type: Transform
@@ -119507,13 +119779,13 @@ entities:
     - type: Transform
       pos: -37.5,26.5
       parent: 60
-- proto: RandomVendingSnacks
-  entities:
-  - uid: 666
+  - uid: 23916
     components:
     - type: Transform
       pos: 7.5,-19.5
       parent: 60
+- proto: RandomVendingSnacks
+  entities:
   - uid: 6320
     components:
     - type: Transform
@@ -119529,6 +119801,11 @@ entities:
     - type: Transform
       pos: -38.5,26.5
       parent: 60
+  - uid: 23917
+    components:
+    - type: Transform
+      pos: 8.5,-19.5
+      parent: 60
 - proto: RCD
   entities:
   - uid: 1912
@@ -131513,20 +131790,20 @@ entities:
       parent: 60
 - proto: Spoon
   entities:
-  - uid: 23666
+  - uid: 5786
     components:
     - type: Transform
-      pos: 21.43571,-26.476645
+      pos: 11.546921,-26.428648
       parent: 60
-  - uid: 23667
+  - uid: 23893
     components:
     - type: Transform
-      pos: 21.43571,-26.476645
+      pos: 11.546921,-26.428648
       parent: 60
-  - uid: 23668
+  - uid: 23895
     components:
     - type: Transform
-      pos: 21.43571,-26.476645
+      pos: 11.546921,-26.428648
       parent: 60
 - proto: SprayBottle
   entities:
@@ -134805,11 +135082,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 27.5,-32.5
       parent: 60
-  - uid: 2569
-    components:
-    - type: Transform
-      pos: 19.5,-26.5
-      parent: 60
   - uid: 2681
     components:
     - type: Transform
@@ -135421,11 +135693,6 @@ entities:
     - type: Transform
       pos: 42.5,-1.5
       parent: 60
-  - uid: 16144
-    components:
-    - type: Transform
-      pos: 20.5,-26.5
-      parent: 60
   - uid: 16410
     components:
     - type: Transform
@@ -135699,15 +135966,25 @@ entities:
     - type: Transform
       pos: -10.5,-34.5
       parent: 60
+  - uid: 21789
+    components:
+    - type: Transform
+      pos: 13.5,-26.5
+      parent: 60
   - uid: 23424
     components:
     - type: Transform
       pos: 47.5,12.5
       parent: 60
-  - uid: 23652
+  - uid: 23665
     components:
     - type: Transform
-      pos: 21.5,-26.5
+      pos: 11.5,-26.5
+      parent: 60
+  - uid: 23666
+    components:
+    - type: Transform
+      pos: 12.5,-26.5
       parent: 60
   - uid: 23838
     components:
@@ -135841,10 +136118,12 @@ entities:
     - type: Transform
       pos: 19.5,-31.5
       parent: 60
-  - uid: 24416
+- proto: TableFancyGreen
+  entities:
+  - uid: 23896
     components:
     - type: Transform
-      pos: 19.5,-28.5
+      pos: -27.5,-2.5
       parent: 60
 - proto: TableGlass
   entities:
@@ -136982,12 +137261,6 @@ entities:
     - type: Transform
       pos: -24.5,19.5
       parent: 60
-  - uid: 24348
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 12.5,-26.5
-      parent: 60
 - proto: TargetSyndicate
   entities:
   - uid: 10824
@@ -138090,11 +138363,6 @@ entities:
     - type: Transform
       pos: 29.5,-22.5
       parent: 60
-  - uid: 5786
-    components:
-    - type: Transform
-      pos: 18.5,-26.5
-      parent: 60
   - uid: 6039
     components:
     - type: Transform
@@ -138125,6 +138393,11 @@ entities:
     - type: Transform
       pos: 26.5,-7.5
       parent: 60
+  - uid: 23630
+    components:
+    - type: Transform
+      pos: 15.5,-26.5
+      parent: 60
   - uid: 25214
     components:
     - type: Transform
@@ -138181,10 +138454,10 @@ entities:
       parent: 60
 - proto: VendingMachineCondiments
   entities:
-  - uid: 21774
+  - uid: 23621
     components:
     - type: Transform
-      pos: 19.5,-26.5
+      pos: 13.5,-26.5
       parent: 60
 - proto: VendingMachineCuraDrobe
   entities:

From a68c6cb29ea4a3e3d78e16c867366e488c699fff Mon Sep 17 00:00:00 2001
From: Saphire <lattice@saphi.re>
Date: Sun, 17 Nov 2024 03:58:15 +0600
Subject: [PATCH 124/187] Temporarily make singularity a bit harder to loose as
 non-antag

---
 .../SingularityGeneratorComponent.cs          | 49 +++++++++--
 .../SingularityGeneratorSystem.cs             | 87 +++++++++++++++++--
 .../components/generator-component.ftl        |  2 +
 .../Generation/Singularity/generator.yml      |  2 +-
 .../Power/Generation/Tesla/generator.yml      |  4 +-
 5 files changed, 130 insertions(+), 14 deletions(-)
 create mode 100644 Resources/Locale/en-US/singularity/components/generator-component.ftl

diff --git a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs b/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
index ea2628e5cb8..180b8499584 100644
--- a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
+++ b/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
@@ -2,32 +2,69 @@
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
 
 using Content.Server.Singularity.EntitySystems;
+using Content.Shared.Physics;
+using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
 
 namespace Content.Server.Singularity.Components;
 
-[RegisterComponent]
+[RegisterComponent, AutoGenerateComponentPause]
+[Access(typeof(SingularityGeneratorSystem))]
 public sealed partial class SingularityGeneratorComponent : Component
 {
     /// <summary>
     /// The amount of power this generator has accumulated.
     /// If you want to set this use <see  cref="SingularityGeneratorSystem.SetPower"/>
     /// </summary>
-    [DataField("power")]
-    [Access(friends:typeof(SingularityGeneratorSystem))]
+    [DataField]
     public float Power = 0;
 
     /// <summary>
     /// The power threshold at which this generator will spawn a singularity.
     /// If you want to set this use <see  cref="SingularityGeneratorSystem.SetThreshold"/>
     /// </summary>
-    [DataField("threshold")]
-    [Access(friends:typeof(SingularityGeneratorSystem))]
+    [DataField]
     public float Threshold = 16;
 
+    /// <summary>
+    /// Allows the generator to ignore all the failsafe stuff, e.g. when emagged
+    /// </summary>
+    [DataField]
+    public bool FailsafeDisabled = false;
+
+    /// <summary>
+    /// Maximum distance at which the generator will check for a field at
+    /// </summary>
+    [DataField]
+    public float FailsafeDistance = 16;
+
     /// <summary>
     ///     The prototype ID used to spawn a singularity.
     /// </summary>
     [DataField("spawnId", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
-    [ViewVariables(VVAccess.ReadWrite)]
     public string? SpawnPrototype = "Singularity";
+
+    /// <summary>
+    /// The masks the raycast should not go through
+    /// </summary>
+    [DataField]
+    public int CollisionMask = (int)CollisionGroup.FullTileMask;
+
+    /// <summary>
+    /// Message to use when there's no containment field on cardinal directions
+    /// </summary>
+    [DataField]
+    public LocId ContainmentFailsafeMessage;
+
+    /// <summary>
+    /// For how long the failsafe will cause the generator to stop working and not issue a failsafe warning
+    /// </summary>
+    [DataField]
+    public TimeSpan FailsafeCooldown = TimeSpan.FromSeconds(30);
+
+    /// <summary>
+    /// How long until the generator can issue a failsafe warning again
+    /// </summary>
+    [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
+    [AutoPausedField]
+    public TimeSpan NextFailsafe;
 }
diff --git a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
index a0c02627948..be0c5e49b5f 100644
--- a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
+++ b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
@@ -1,7 +1,15 @@
+using System.Diagnostics;
 using Content.Server.ParticleAccelerator.Components;
+using Content.Server.Popups;
 using Content.Server.Singularity.Components;
+using Content.Shared.Emag.Systems;
+using Content.Shared.Popups;
 using Content.Shared.Singularity.Components;
+using Robust.Server.GameObjects;
+using Robust.Shared.Physics;
+using Robust.Shared.Physics.Components;
 using Robust.Shared.Physics.Events;
+using Robust.Shared.Timing;
 
 namespace Content.Server.Singularity.EntitySystems;
 
@@ -9,6 +17,11 @@ public sealed class SingularityGeneratorSystem : EntitySystem
 {
     #region Dependencies
     [Dependency] private readonly IViewVariablesManager _vvm = default!;
+    [Dependency] private readonly SharedTransformSystem _transformSystem = default!;
+    [Dependency] private readonly PhysicsSystem _physics = default!;
+    [Dependency] private readonly IGameTiming _timing = default!;
+    [Dependency] private readonly MetaDataSystem _metadata = default!;
+    [Dependency] private readonly PopupSystem _popupSystem = default!;
     #endregion Dependencies
 
     public override void Initialize()
@@ -16,6 +29,7 @@ public override void Initialize()
         base.Initialize();
 
         SubscribeLocalEvent<ParticleProjectileComponent, StartCollideEvent>(HandleParticleCollide);
+        SubscribeLocalEvent<SingularityGeneratorComponent, GotEmaggedEvent>(OnEmagged);
 
         var vvHandle = _vvm.GetTypeHandler<SingularityGeneratorComponent>();
         vvHandle.AddPath(nameof(SingularityGeneratorComponent.Power), (_, comp) => comp.Power, SetPower);
@@ -100,11 +114,33 @@ public void SetThreshold(EntityUid uid, float value, SingularityGeneratorCompone
     /// <param name="args">The state of the beginning of the collision.</param>
     private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent component, ref StartCollideEvent args)
     {
-        if (EntityManager.TryGetComponent<SingularityGeneratorComponent>(args.OtherEntity, out var singularityGeneratorComponent))
+        if (!EntityManager.TryGetComponent<SingularityGeneratorComponent>(args.OtherEntity, out var generatorComp))
+            return;
+
+        if (_timing.CurTime < _metadata.GetPauseTime(uid) + generatorComp.NextFailsafe)
+        {
+            EntityManager.QueueDeleteEntity(uid);
+            return;
+        }
+
+        var contained = true;
+        var transform = Transform(args.OtherEntity);
+        var directions = Enum.GetValues<Direction>().Length;
+        for (var i = 0; i < directions - 1; i += 2) // Skip every other direction, checking only cardinals
+        {
+            if (!CheckContainmentField((Direction)i, new Entity<SingularityGeneratorComponent>(args.OtherEntity, generatorComp), transform))
+                contained = false;
+        }
+
+        if (!contained)
         {
+            generatorComp.NextFailsafe = _timing.CurTime + generatorComp.FailsafeCooldown;
+            _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution);
+        }
+        else
             SetPower(
                 args.OtherEntity,
-                singularityGeneratorComponent.Power + component.State switch
+                generatorComp.Power + component.State switch
                 {
                     ParticleAcceleratorPowerState.Standby => 0,
                     ParticleAcceleratorPowerState.Level0 => 1,
@@ -113,10 +149,51 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co
                     ParticleAcceleratorPowerState.Level3 => 8,
                     _ => 0
                 },
-                singularityGeneratorComponent
+                generatorComp
             );
-            EntityManager.QueueDeleteEntity(uid);
-        }
+        EntityManager.QueueDeleteEntity(uid);
+    }
+
+    private void OnEmagged(EntityUid uid, SingularityGeneratorComponent component, ref GotEmaggedEvent args)
+    {
+        _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe-disabled", ("target", uid)), uid);
+        component.FailsafeDisabled = true;
+        args.Handled = true;
     }
     #endregion Event Handlers
+
+    /// <summary>
+    /// Checks whether there's a containment field in a given direction away from the generator
+    /// </summary>
+    /// <param name="transform">The transform component of the singularity generator.</param>
+    /// <remarks>Mostly copied from <see cref="ContainmentFieldGeneratorSystem"/> </remarks>
+    private bool CheckContainmentField(Direction dir, Entity<SingularityGeneratorComponent> generator, TransformComponent transform)
+    {
+        var component = generator.Comp;
+
+        var (worldPosition, worldRotation) = _transformSystem.GetWorldPositionRotation(transform);
+        var dirRad = dir.ToAngle() + worldRotation;
+
+        var ray = new CollisionRay(worldPosition, dirRad.ToVec(), component.CollisionMask);
+        var rayCastResults = _physics.IntersectRay(transform.MapID, ray, component.FailsafeDistance, generator, false);
+        var genQuery = GetEntityQuery<ContainmentFieldComponent>();
+
+        RayCastResults? closestResult = null;
+
+        foreach (var result in rayCastResults)
+        {
+            if (genQuery.HasComponent(result.HitEntity))
+                closestResult = result;
+
+            break;
+        }
+
+        if (closestResult == null)
+            return false;
+
+        var ent = closestResult.Value.HitEntity;
+
+        // Check that the field can't be moved. The fields' transform parenting is weird, so skip that
+        return TryComp<PhysicsComponent>(ent, out var collidableComponent) && collidableComponent.BodyType == BodyType.Static;
+    }
 }
diff --git a/Resources/Locale/en-US/singularity/components/generator-component.ftl b/Resources/Locale/en-US/singularity/components/generator-component.ftl
new file mode 100644
index 00000000000..f3a2254c38d
--- /dev/null
+++ b/Resources/Locale/en-US/singularity/components/generator-component.ftl
@@ -0,0 +1,2 @@
+comp-generator-failsafe = The {$target} shakes as the containment failsafe triggers!
+comp-generator-failsafe = Something fizzles out inside of {$target}...
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/generator.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/generator.yml
index 647eae27724..45a40bf0faf 100644
--- a/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/generator.yml
+++ b/Resources/Prototypes/Entities/Structures/Power/Generation/Singularity/generator.yml
@@ -1,7 +1,7 @@
 - type: entity
   id: SingularityGenerator
   name: gravitational singularity generator
-  description: An Odd Device which produces a Gravitational Singularity when set up.
+  description: An Odd Device which produces a Gravitational Singularity when set up. Comes with a temporary shutdown containment failsafe.
   placement:
     mode: SnapgridCenter
   components:
diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/generator.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/generator.yml
index d45e6c58ea7..bdd90f2f16a 100644
--- a/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/generator.yml
+++ b/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/generator.yml
@@ -2,12 +2,12 @@
   id: TeslaGenerator
   name: tesla generator
   parent: BaseStructureDynamic
-  description: An Odd Device which produces a powerful Tesla ball when set up.
+  description: An Odd Device which produces a powerful Tesla ball when set up. Comes with a temporary shutdown containment failsafe.
   components:
   - type: Sprite
     noRot: true
     sprite: Structures/Power/Generation/Tesla/generator.rsi
-    state: icon 
+    state: icon
   - type: SingularityGenerator # TODO: rename the generator
     spawnId: TeslaEnergyBall
   - type: InteractionOutline

From 01d6df3d0ace170438aae3931339be539bd8b38e Mon Sep 17 00:00:00 2001
From: Saphire <lattice@saphi.re>
Date: Sun, 17 Nov 2024 04:18:00 +0600
Subject: [PATCH 125/187] Fix Fluent string ID copypaste fail

---
 .../Locale/en-US/singularity/components/generator-component.ftl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Locale/en-US/singularity/components/generator-component.ftl b/Resources/Locale/en-US/singularity/components/generator-component.ftl
index f3a2254c38d..d2a04f9cbc0 100644
--- a/Resources/Locale/en-US/singularity/components/generator-component.ftl
+++ b/Resources/Locale/en-US/singularity/components/generator-component.ftl
@@ -1,2 +1,2 @@
 comp-generator-failsafe = The {$target} shakes as the containment failsafe triggers!
-comp-generator-failsafe = Something fizzles out inside of {$target}...
\ No newline at end of file
+comp-generator-failsafe-disabled = Something fizzles out inside of {$target}...
\ No newline at end of file

From 476f90df095502089d9f60ad59099f405be36cd2 Mon Sep 17 00:00:00 2001
From: Saphire <lattice@saphi.re>
Date: Sun, 17 Nov 2024 04:31:34 +0600
Subject: [PATCH 126/187] Fix the component defaults

---
 .../Singularity/Components/SingularityGeneratorComponent.cs   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs b/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
index 180b8499584..8b9b4e74466 100644
--- a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
+++ b/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
@@ -53,7 +53,7 @@ public sealed partial class SingularityGeneratorComponent : Component
     /// Message to use when there's no containment field on cardinal directions
     /// </summary>
     [DataField]
-    public LocId ContainmentFailsafeMessage;
+    public LocId ContainmentFailsafeMessage = "comp-generator-failsafe";
 
     /// <summary>
     /// For how long the failsafe will cause the generator to stop working and not issue a failsafe warning
@@ -66,5 +66,5 @@ public sealed partial class SingularityGeneratorComponent : Component
     /// </summary>
     [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
     [AutoPausedField]
-    public TimeSpan NextFailsafe;
+    public TimeSpan NextFailsafe = TimeSpan.Zero;
 }

From 5cd92431b979eb9535d53fd7630938fa441af942 Mon Sep 17 00:00:00 2001
From: ThatGuyUSA <thatguyusa123@gmail.com>
Date: Sat, 16 Nov 2024 17:03:14 -0800
Subject: [PATCH 127/187] Throwing Knife description tweak (#33349)

changed description
---
 Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
index 711b8c49feb..42a78ef077e 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
@@ -269,7 +269,7 @@
   name: throwing knife
   parent: [BaseKnife, BaseSyndicateContraband]
   id: ThrowingKnife
-  description: This bloodred knife is very aerodynamic and easy to throw, but good luck trying to fight someone hand-to-hand.
+  description: This blood-red knife is very aerodynamic and easy to throw, but good luck trying to fight someone hand-to-hand.
   components:
   - type: Tag
     tags:

From 0991b6bbe8184e4fca0acfb9bcb9bce09ba97859 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Sun, 17 Nov 2024 13:03:59 +1100
Subject: [PATCH 128/187] Update Credits (#33360)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
---
 Resources/Credits/GitHub.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt
index 362b82c63f4..53c4eb7ea0f 100644
--- a/Resources/Credits/GitHub.txt
+++ b/Resources/Credits/GitHub.txt
@@ -1 +1 @@
-0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, Tr1bute, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex
+0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, CheddaCheez, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonidussaks, leonsfriedrich, LeoSantich, lettern, LetterN, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, MossyGreySlope, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, RedBookcase, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, Shaddap1, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, Tr1bute, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex

From d9c677e91b8796aaa0a63aae6a84c309ed811338 Mon Sep 17 00:00:00 2001
From: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com>
Date: Sat, 16 Nov 2024 22:27:29 -0500
Subject: [PATCH 129/187] Adds paper label visuals to closets and lockers
 (#33318)

* Modifies label sprites and adds label visuals to closets

* Removes redundant GenericVisualizer component
---
 .../Closets/Lockers/base_structurelockers.yml |   5 ++++
 .../Storage/Closets/base_structureclosets.yml |  19 +++++++++++++++
 .../Storage/Crates/labels.rsi/bounty.png      | Bin 593 -> 192 bytes
 .../Crates/labels.rsi/captains_paper.png      | Bin 594 -> 192 bytes
 .../Storage/Crates/labels.rsi/invoice.png     | Bin 592 -> 192 bytes
 .../Storage/Crates/labels.rsi/meta.json       |   4 +--
 .../Storage/Crates/labels.rsi/paper.png       | Bin 592 -> 182 bytes
 .../Storage/closet_labels.rsi/bounty.png      | Bin 0 -> 185 bytes
 .../closet_labels.rsi/captains_paper.png      | Bin 0 -> 185 bytes
 .../Storage/closet_labels.rsi/invoice.png     | Bin 0 -> 185 bytes
 .../Storage/closet_labels.rsi/meta.json       |  23 ++++++++++++++++++
 .../Storage/closet_labels.rsi/paper.png       | Bin 0 -> 179 bytes
 12 files changed, 49 insertions(+), 2 deletions(-)
 create mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/bounty.png
 create mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/captains_paper.png
 create mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/invoice.png
 create mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/meta.json
 create mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/paper.png

diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
index 7d7bc94bb32..8e2d1a6e54c 100644
--- a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
+++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base_structurelockers.yml
@@ -20,6 +20,11 @@
     - state: welded
       visible: false
       map: ["enum.WeldableLayers.BaseWelded"]
+    - state: paper
+      visible: false
+      sprite: Structures/Storage/closet_labels.rsi
+      offset: "-0.065,0"
+      map: ["enum.PaperLabelVisuals.Layer"]
   - type: Destructible
     thresholds:
     - trigger:
diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
index 9351a0d540c..2568c45a6ac 100644
--- a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
+++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml
@@ -19,6 +19,10 @@
     - state: welded
       visible: false
       map: ["enum.WeldableLayers.BaseWelded"]
+    - state: paper
+      visible: false
+      sprite: Structures/Storage/closet_labels.rsi
+      map: ["enum.PaperLabelVisuals.Layer"]
   - type: MovedByPressure
   - type: PaperLabel
     labelSlot:
@@ -86,6 +90,21 @@
           SheetSteel1:
             min: 1
             max: 1
+  - type: GenericVisualizer
+    visuals:
+      enum.PaperLabelVisuals.HasLabel:
+        enum.PaperLabelVisuals.Layer:
+          True: { visible: true }
+          False: { visible: false }
+      enum.StorageVisuals.Open:
+        enum.PaperLabelVisuals.Layer:
+          True: { visible: false }
+      enum.PaperLabelVisuals.LabelType:
+        enum.PaperLabelVisuals.Layer:
+          Paper: { state: paper }
+          Bounty: { state: bounty }
+          CaptainsPaper: { state: captains_paper }
+          Invoice: { state: invoice }
   - type: Appearance
   - type: EntityStorageVisuals
     stateBaseClosed: generic
diff --git a/Resources/Textures/Structures/Storage/Crates/labels.rsi/bounty.png b/Resources/Textures/Structures/Storage/Crates/labels.rsi/bounty.png
index 52e515e39b87c92c9c1601f94221ccaa7b9022d4..1258071a1a61a3784b3c57ccaf2b7661d263dbe0 100644
GIT binary patch
delta 165
zcmV;W09yai1i%51BYyygNkl<ZScPL?7zLwX6pVsVFbYP&C>RB!V59>^S{PbaV)-AN
zcvH`D4EtDU;ehWy|1o4I8KH<xop%naS|(aJfPsO5;p69@3|DTvVfgs@Cth_la{xat
zJA<>GJlrvKcfiNbKN)V_eaG<l>1PIhUUr=7Xp#mP7#QG|@*Zoj6O4vYFtPyvrK2H^
TUNs0}00000NkvXXu0mjfCCEh0

delta 569
zcmV-90>=Ho0nr4IBYy#HX+uL$X=7sm04R}lk-JO7P!z_0wu;3E4myZ9WKeNX5Cw6R
z3c6H>wt}xEjZG^wF(fTgTm=`0f`jPdYw$nNRd7`h1Vs>WboRAKiRU&#i_{x#&X4cj
z?{M-3Lb04-d5x1`*?BiU6V(<Lm$c?r8i~+J4`JQ#oY};5l7D~K*F6oY-VLi>|KF>-
zT36Ga0Syu1al>)*!ZHo9jl83HN4U$#>Z`&>!b7eMD15E-RKPEaGXZ}nc9Zcb2&tZ0
zriN2BY-C+acu=^{$`y>?dDNG*rS18I)E?Qrc*L0@ibje8Yvjl?EY+6G>ib42zB$&#
zW60Z~h%1f^S%2{kiCU1ZX{n~@X?b!KRqlWD^vto*pnF>snx1|Cy&sx)p<MF)?_=LD
zpFsEtF72v+U2>ZE6unf{`VOIE3(l{qT51n2wxRpc(OtbFg=L3K6W-3CeGxiup=CM9
z>i3+}2S{$pFS>#K0~nC|9V<W6o@e!(8FB{z000SaNPk&#000XT000XT0n*)m`~Uy|
zib+I4R9Hu2U>F6XAut*OqaiRF0;3@?8UmvsFd71*Au!TIfRPpfP?~H0ADg+|lTTvU
z$3hDSfXvKJGD0zW>b!GUtzx2;13rHK$#CVy8wL=K575j3{JiW8&UW%(yYV@KW)1*Z
zdh6~xhBC)bKQn+FgA33s4J=uG6>jIjV~=PR)1&4NgAf1!GgKe%8rF^q00000NkvXX
Hu0mjfjc5Zg

diff --git a/Resources/Textures/Structures/Storage/Crates/labels.rsi/captains_paper.png b/Resources/Textures/Structures/Storage/Crates/labels.rsi/captains_paper.png
index 961991bf349e71e7be007ec83fd2f148c114ee44..9a2c339936ad14b89c2c1ff6b49678c37922f8b9 100644
GIT binary patch
delta 165
zcmcb_a)5Dyay>)4r;B4qL~C+_1nc4ik)EbN11`6N8X(RRX16GbsGv(9<Y!m-`!l!I
z>TD@EaDM)M$w`wp1sr*HZgyL!uCT7m0U-GB^K^QfwE23Yntz`p*IUi9Y?$6Y{ouKC
ztnVatSwHwZ{X9?k`+G?hzrF}E>+|dTm6~`m^YHK#c$>;y*~;m5SVQ6_1H&ax#kFR?
RI(9Gsfv2mV%Q~loCIG;UMbiKP

delta 570
zcmV-A0>%Bn0n!AJBYy#IX+uL$X=7sm04R}lk-JO7P!z_0wv`qiIMhKzB!h}W1yK-3
zsbCj%Xe(HCX<{Ejn}#GsimTw_AUKFFz6SpTT?JPKK~Mw{M`vG)lz6TcDpGH_IX}L8
zzr)EF@J$ztq7#^aqUqZ4SX7%&Eoi}K0)z-NPH)<9teM1Al7D~K$1P2&-VCW;|KDr4
zT9-490Zk#{F~hQ5VVQ>MRo7CyDcot~)62pK!Vy~r6uwltUgIalxf;JIwv+Km@Ts0!
z?icI7*vQ*O;X&cPVxesO%%i@fEo06lq;|{h!68nJC>lCtRw&>yB-ND68vBO7eY2Fr
zW60a0f-R05d4KUnL@i6#jMS{?8F>m+RPKNCbh4u(weD?EXnyp(*M10YLv_pZJ`X*w
zdIbIlI5+G5lH@f0F8Wqo>)VHpbvV7KYx)kHZ9vz(mA2F0l3%tjn}wGXXiq`-8d?@>
zS^b=Id<V%j`9)W-y9WbuzhmhOPYP%*Fjd-m00009aDPZya{vGf5&!@T5&_cPe*6Fc
z0E$UOK~z{rV_+BsqaiRF0;3@?8UmvsFd71*Aut*OqaiTTLx7PM0g#(p{vVsUlP7m#
z*vCQ(2Y}2>PRc?tdhWbwSgm5Bl><J1`OI+R=2Zp|jStYw0lYlC40d)dV7u`-f@Tf?
zS$g;GEi;CvPaiRW9D@tcEDfw$wHR*a(W3`x71N{U4ucQ?08>aGjJ{g~3IG5A07*qo
IM6N<$g7n+^Q2+n{

diff --git a/Resources/Textures/Structures/Storage/Crates/labels.rsi/invoice.png b/Resources/Textures/Structures/Storage/Crates/labels.rsi/invoice.png
index 3e00e7d806875df92f79b001cda052714c5c7e6b..30649e06ee8de381fd8a9b052af8b91e80e47ef4 100644
GIT binary patch
delta 165
zcmV;W09yah1i%51BYyygNkl<ZScPL?7zLwX6pVsVFbYP&C>RB!V59>^S{NEo*Zd!w
z_=cuh4EtDU;eg-YzA?CD=Awx0nLZh-S|(aJfPsO5;rr)L3{S3IVfg;}6JB*Ra{wnV
zAA`1&E8H=3cfj}0pBP@;zRB?R@goLKUOt@aXp#mP7#QG|${uLx5R8UVFtPyv+8QCR
Tw1rF300000NkvXXu0mjfHQz`d

delta 568
zcmV-80>}Np0nh}HBYy#GX+uL$X=7sm04R}lk-JO7P!z_0efU-!bP#dqP{pAIQ4mL|
zpi6bA6?`pi`VyKnBq<`Uf{TOTAiDS({10>$TonXC5kwrFeJxVrxs6Z}d&AB7@!k6!
zPQHLYUet6uI1akuSc$1vXntWa)bv7-78(f?Nolq@Jv*7C?tl8c!>8(PRQ0NV@88vy
z$=VwDnuSL-({hAm8se*tsd!7cTPvh8!iT~UO9m9aQhM6sXT^Ds-xXWQ#02<N&rtps
zr+=|luyo-;;jmsTYd`a-FKN#jbF)%=W%pr|V2T(a(v(@Dh(lDWA({Q}8>;$dD2Ydt
zx5*loIPw(48-EeCEM2owbE0SEDYB+=|C^_s8yWVxx5uF2$#viQp=k#y+pha{<hqq(
z2t2}tQS+B1r?C&ww`*GX06I6|?6Rh%cj0^!dLGP_m8wbs+5TJ(UQeN80lIFWb;-->
z=bV#!NUqB-x`w@d7?As&%ikx`XdLfm?K1!X010qNS$}f?01FZT01FZU(%pXi0001r
zNkl<ZSVv=E7zLvtFd71*Aut*OqaiRF0;3@?8UmvsFw#SSkrn~qT~hfUo4H$i+A-{7
zp@joLX1ZkNq8Pnr`edwDG11Ba-#>q1cyjFu1Bk{4XyyP;UOonGCs(lD_#8nq2Y@Vn
zar-92+cC$F7(kA}1!$HAjxJdUxAVrq{j`edQFDhu2mk=Ne;>F6Bl!gY0000<MNUMn
GLSTYLH3K~W

diff --git a/Resources/Textures/Structures/Storage/Crates/labels.rsi/meta.json b/Resources/Textures/Structures/Storage/Crates/labels.rsi/meta.json
index c180604984c..8ff0cc71798 100644
--- a/Resources/Textures/Structures/Storage/Crates/labels.rsi/meta.json
+++ b/Resources/Textures/Structures/Storage/Crates/labels.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Sprites by Vermidia.",
+  "copyright": "Sprites by Vermidia and modified by SpaceRox1244.",
   "size": {
     "x": 32,
     "y": 32
@@ -20,4 +20,4 @@
       "name": "invoice"
     }
   ]
-}
\ No newline at end of file
+}
diff --git a/Resources/Textures/Structures/Storage/Crates/labels.rsi/paper.png b/Resources/Textures/Structures/Storage/Crates/labels.rsi/paper.png
index 8daf7770832d0af33409e26f65458e3e2e460cc3..bd6c7138f62280ce804a4e3f778d50a850e99899 100644
GIT binary patch
delta 155
zcmV;M0A&Br1hxT?BYyyWNkl<ZScUD<yA6Oa3<S^vQHMofjI0F81QD!9nzY#<Zc;*r
zg!oma;a+K-;*(;4h=_=Y=<h0xN1b!))!ci3+Sh0lD5YQ=hQn-{=gVxZQ2+q42$m3#
zMILi%1zKZZt=-FfULcDg#)y;>T4Qc=DmMUNU)p!w>o?H9Z4{StA)ox);{pHx002ov
JPDHLkV1hyfMHB!4

delta 568
zcmV-80>}Nf0nh}HBYy#IX+uL$X=7sm04R}lk-JO7P!z_0wu;3E6?Bl|&_TsPK`Mx&
zRIp2Rs1<xIY3xI2+K{A3aTQz~3J#)+ufhL7SHV?55EMbg(b?A`63=afinKS}oFCu4
z-{Is7_~Lopu$w2rC^%Lk77Z^fE`?iPXeK}x5ki`7n=^CMNq-uy&pVn_y&X}#8sDqC
z+E>%I4ov~!aow~WVVQ>bx??Kd7Vgn=+N$uO@USHV3STKb<?*xPtjF()tz=>fe5z+S
z`-fA1SkGC8@Q`r7kuT}L^QbTBNEhbkq=sboVUr+6lrSkutdYlIL~21YtM41F`erGL
zN0+xr8A}{la)06-7PTZ@(^4~{r{&30R=NMr)6R@VyzU)QXnAtow*hF~f$xgzejT~)
z_c8b%;i6FU7bT~O578?%t^WXmn{akn(^9)|z6HGxre<kX$uHZN$-wI=bS^^o4YVzL
zS^b`Kau3N3`9;^Tw-1AIKe+M(GTmq)TFP1j00009aDPZya{vGf5&!@T5&_cPe*6Fc
z0EkIMK~z{r?UJz(fFKYAU&k1$q8!YrfLtn|5{i(7ln$f;oi}jC5zRi)yM*j+XL%w7
z24DaNU;qYS00v+H2L5iKlMrC7-CDiQx!c|#0l=M;F_-Gu`{q<H1+dmiOG?D=Tf_iH
zrATXiY%#w<hyn0u&Y4On#4t}0yMYkGxfx@W`f2ojz`zd3&mUFfM5z4$0000<MNUMn
GLSTX+a|T}k

diff --git a/Resources/Textures/Structures/Storage/closet_labels.rsi/bounty.png b/Resources/Textures/Structures/Storage/closet_labels.rsi/bounty.png
new file mode 100644
index 0000000000000000000000000000000000000000..8146de6c6ec0800d860a802faad2ff6270d601eb
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ22U5qkcigg1PRu~2_ijBfd*V|
z2R+z(o@8j9HT~c3yQlh-=cKdAipLpwfZ(R5o5r7&pU+K9<rCh?_v6P;^}|!8^Cj%+
z{&}twoMPE9fBM{mH~r+^N$j$I@c8+Bp6&1UC0G3UV$5u>Z+(+b!J7Ag&eQ7&%Ppkb
f4r+ibOkrj?WG1)3w5uZq=oSV~S3j3^P6<r_lG8+t

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Storage/closet_labels.rsi/captains_paper.png b/Resources/Textures/Structures/Storage/closet_labels.rsi/captains_paper.png
new file mode 100644
index 0000000000000000000000000000000000000000..d6c3de92fdb631864d34d05031e7e4bc143ee4d7
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ22U5qkcigg1PRu~2_ijBfd*V|
z2R+z(o@AUltNXv-x8~Cmze#746^}FW0KrMmNR2-`KQEh@$|t;&@5i5~#)o@nhfCVk
z|MXcWIK{GIdi(T)=gzUdlh|eb;PdqJJmv52B~|?TBFL=IuYZ$I!J7Ag&eeeH%Pgea
g4r+ibOkrjyIVg8ziH!L{pj#L`UHx3vIVCg!0Q{##oB#j-

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Storage/closet_labels.rsi/invoice.png b/Resources/Textures/Structures/Storage/closet_labels.rsi/invoice.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f1a3795b87cfb5cdd0252d65980a3ce48ea407f
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ22U5qkcigg1PRu~2_ijBfd*V|
z2R+z(o@9K|TluHow<g=)`sA~X6CN|L0m1Y$F(Uuwy_|f~sJ%0Wz2^U)&W9(rYV+K;
zuUERxaZ2XE$<xOdynVt|&U07x!{5*9ZQ|SWjrP?3>1dohy+4P2!d$k5X{Rz?2FUP2
c?b^i1Ffmr{L}tBuHqb2$p00i_>zopr0FSFk0{{R3

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Storage/closet_labels.rsi/meta.json b/Resources/Textures/Structures/Storage/closet_labels.rsi/meta.json
new file mode 100644
index 00000000000..3e64ac931c3
--- /dev/null
+++ b/Resources/Textures/Structures/Storage/closet_labels.rsi/meta.json
@@ -0,0 +1,23 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Sprites by Vermidia and modified by SpaceRox1244.",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "paper"
+        },
+        {
+            "name": "bounty"
+        },
+        {
+            "name": "captains_paper"
+        },
+        {
+            "name": "invoice"
+        }
+    ]
+}
diff --git a/Resources/Textures/Structures/Storage/closet_labels.rsi/paper.png b/Resources/Textures/Structures/Storage/closet_labels.rsi/paper.png
new file mode 100644
index 0000000000000000000000000000000000000000..83b15b95a2bbd4f48c941c1c57ff7a10c0179154
GIT binary patch
literal 179
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJDo+>3kcif|mp1Y?C<wGZT)wf*
zwS?!}!b_4%lFV~6ZZ<?aX#4u)*a%7AyY6`CqdJ3tpkUx@tFwyl|9;#ipZv!r{{joc
z0i*N%U!|I|{MPeoDBbub>*`{?Nbi6Y^Yc5hpQ{}N9lba$(<73vFut-ch_&iX{%R~B
cxb-cI)?K+>51w;Q1iFI3)78&qol`;+04Nhd>;M1&

literal 0
HcmV?d00001


From 96b9d1a714cc8692ca0ad75f952fe807d47d12ca Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Sun, 17 Nov 2024 03:28:38 +0000
Subject: [PATCH 130/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 7e70477996c..5675b73f3f9 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Emisse
-  changes:
-  - message: Atlas, Cluster, Europa, & Saltern removed from the game.
-    type: Remove
-  id: 7119
-  time: '2024-08-15T21:10:07.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31058
 - author: Emisse
   changes:
   - message: Origin removed from the game.
@@ -3923,3 +3916,10 @@
   id: 7618
   time: '2024-11-16T05:09:29.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/31761
+- author: SpaceRox1244
+  changes:
+  - message: Closets and lockers now have visuals for being labeled with papers.
+    type: Add
+  id: 7619
+  time: '2024-11-17T03:27:29.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33318

From f484118e2dfb62ec35b1b68753e71c214b6e2132 Mon Sep 17 00:00:00 2001
From: Spanky <scott@wearejacob.com>
Date: Sun, 17 Nov 2024 01:35:41 -0500
Subject: [PATCH 131/187] Omega Update (Christmas Edition) (#33357)

* Christmasift Omega station.

* Add cryosleeper to bridge.
---
 Resources/Maps/omega.yml | 885 +++++++++++++++++++++++++++------------
 1 file changed, 621 insertions(+), 264 deletions(-)

diff --git a/Resources/Maps/omega.yml b/Resources/Maps/omega.yml
index 31e3fc7392a..8b9f9cb6fa3 100644
--- a/Resources/Maps/omega.yml
+++ b/Resources/Maps/omega.yml
@@ -57,71 +57,71 @@ entities:
       chunks:
         -1,0:
           ind: -1,0
-          tiles: PgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAAAdgAAAAACHQAAAAADeQAAAAAADgAAAAADWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAACdgAAAAACHQAAAAABeQAAAAAADgAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABeQAAAAAAeQAAAAAADgAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAACaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAACdgAAAAABdgAAAAABdgAAAAAAHQAAAAABDgAAAAABWQAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAABdgAAAAADdgAAAAACdgAAAAAAHQAAAAADDgAAAAABWQAAAAABWQAAAAACWQAAAAADWQAAAAADWQAAAAACaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAACdgAAAAABdgAAAAABdgAAAAACHQAAAAACDgAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAADdgAAAAADdgAAAAAAHQAAAAACDgAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAAAdgAAAAACdgAAAAADHQAAAAACDgAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAADdgAAAAAAdgAAAAADHQAAAAAADgAAAAABWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAADdgAAAAAAdgAAAAADHQAAAAAADgAAAAACDgAAAAABWQAAAAADWQAAAAAAWQAAAAACDgAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABDgAAAAADWQAAAAACWQAAAAADWQAAAAAADgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABDgAAAAACDgAAAAAADgAAAAACDgAAAAACDgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAABDgAAAAABDgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAAAeQAAAAAA
+          tiles: PgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACdgAAAAAAdgAAAAADHQAAAAABeQAAAAAADgAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAADdgAAAAABHQAAAAAAeQAAAAAADgAAAAABWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABeQAAAAAAeQAAAAAADgAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAABWQAAAAACaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAABdgAAAAACdgAAAAACHQAAAAAADgAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAAAWQAAAAACaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAACdgAAAAADdgAAAAABHQAAAAABDgAAAAADWQAAAAAAWQAAAAAAWQAAAAABWQAAAAABWQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAABdgAAAAACdgAAAAABHQAAAAADDgAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAADdgAAAAADdgAAAAACHQAAAAABDgAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACdgAAAAACdgAAAAABdgAAAAAAHQAAAAADDgAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAADdgAAAAABdgAAAAACHQAAAAABDgAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACdgAAAAADdgAAAAADdgAAAAACHQAAAAAADgAAAAADDgAAAAADWQAAAAACWQAAAAACWQAAAAADDgAAAAABaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABDgAAAAABWQAAAAAAWQAAAAADWQAAAAACDgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADDgAAAAACDgAAAAACDgAAAAAADgAAAAAADgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAAADgAAAAACDgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAWQAAAAADWQAAAAABWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAABWQAAAAACeQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAACeQAAAAAA
           version: 6
         0,0:
           ind: 0,0
-          tiles: DgAAAAABeQAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAABHQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAADgAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAACeQAAAAAAeQAAAAAADgAAAAABDgAAAAADDgAAAAADDgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAACeQAAAAAAeQAAAAAADgAAAAABDgAAAAABDgAAAAACDgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAWQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAADgAAAAAAHQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAADgAAAAABHQAAAAABHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAADgAAAAADHQAAAAACHQAAAAADHQAAAAACHQAAAAADHQAAAAADHQAAAAADHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAALAAAAAAALAAAAAAADgAAAAAAHQAAAAADHQAAAAADHQAAAAADdgAAAAAAdgAAAAABdgAAAAAAdgAAAAACaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAALAAAAAAALAAAAAAALAAAAAAADgAAAAABHQAAAAADHQAAAAAAHQAAAAADeQAAAAAAdgAAAAADdgAAAAABdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADeQAAAAAALAAAAAAALAAAAAAADgAAAAACHQAAAAADHQAAAAAAHQAAAAAAeQAAAAAAdgAAAAAAdgAAAAABdgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAAAWQAAAAADaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACWQAAAAABWQAAAAAAWQAAAAAAHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAABWQAAAAAAWQAAAAABHQAAAAABeQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAAAWQAAAAAB
+          tiles: DgAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAADgAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAADgAAAAAADgAAAAAADgAAAAAADgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAADgAAAAAADgAAAAAADgAAAAAADgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAADgAAAAACeQAAAAAAHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAABeQAAAAAAeQAAAAAADgAAAAADHQAAAAACHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAABHQAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAAAHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAALAAAAAAALAAAAAAADgAAAAAAHQAAAAABHQAAAAABHQAAAAACdgAAAAADdgAAAAACdgAAAAABdgAAAAACaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADLAAAAAAALAAAAAAALAAAAAAADgAAAAADHQAAAAADHQAAAAACHQAAAAAAeQAAAAAAdgAAAAABdgAAAAAAdgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAALAAAAAAALAAAAAAADgAAAAADHQAAAAABHQAAAAABHQAAAAADeQAAAAAAdgAAAAABdgAAAAAAdgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAABWQAAAAABaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAADWQAAAAACWQAAAAAAHQAAAAABeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABWQAAAAACWQAAAAABWQAAAAADHQAAAAACeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAA
           version: 6
         -1,1:
           ind: -1,1
-          tiles: eQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAAQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAAAWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABAgAAAAAAAgAAAAAAAgAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAADdgAAAAABeQAAAAAAHQAAAAABHQAAAAACeQAAAAAAHQAAAAADNgAAAAAANgAAAAAAHQAAAAABNgAAAAAANgAAAAAAHQAAAAABdgAAAAABdgAAAAAAdgAAAAADdgAAAAAAdgAAAAABdgAAAAACHQAAAAADHQAAAAADeQAAAAAAHQAAAAACNgAAAAAAHQAAAAACHQAAAAABHQAAAAADNgAAAAAAHQAAAAABdgAAAAACdgAAAAABdgAAAAAAdgAAAAACdgAAAAABeQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAHQAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAAHQAAAAABeQAAAAAAdgAAAAAAdgAAAAACdgAAAAAAdgAAAAACeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAHQAAAAADNgAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABeQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAADNgAAAAAAHQAAAAADHQAAAAACUAAAAAAAeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAADeQAAAAAAHQAAAAACHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAALAAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAACPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAALAAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAAAHQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAHQAAAAAAHQAAAAACHQAAAAADHQAAAAAAHQAAAAACHQAAAAAD
+          tiles: eQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAABWQAAAAADeQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAAQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAAAWQAAAAABWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAAgAAAAABAgAAAAABAgAAAAABWQAAAAACWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAHQAAAAABdgAAAAACdgAAAAADdgAAAAADdgAAAAAAdgAAAAACeQAAAAAAHQAAAAABHQAAAAADeQAAAAAAHQAAAAADNgAAAAAANgAAAAAAHQAAAAABNgAAAAAANgAAAAAAHQAAAAABdgAAAAABdgAAAAABdgAAAAADdgAAAAADdgAAAAACdgAAAAAAHQAAAAAAHQAAAAACeQAAAAAAHQAAAAAANgAAAAAAHQAAAAACHQAAAAADHQAAAAAANgAAAAAAHQAAAAAAdgAAAAACdgAAAAABdgAAAAABdgAAAAAAdgAAAAAAeQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAHQAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAAHQAAAAAAeQAAAAAAdgAAAAACdgAAAAACdgAAAAACdgAAAAABeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAHQAAAAADNgAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAACeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADeQAAAAAAHQAAAAABHQAAAAAAHQAAAAAANgAAAAAAHQAAAAAAHQAAAAABUAAAAAAAeQAAAAAAdgAAAAADdgAAAAABdgAAAAACdgAAAAACeQAAAAAAHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAALAAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAALAAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAADHQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAADHQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAACHQAAAAADHQAAAAACHQAAAAAA
           version: 6
         0,1:
           ind: 0,1
-          tiles: WQAAAAACeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAADWQAAAAADWQAAAAACWQAAAAACHQAAAAAAeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAWQAAAAACWQAAAAADWQAAAAACHQAAAAABeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAWQAAAAABWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAeQAAAAAAWQAAAAACLwAAAAAALwAAAAAALwAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACHQAAAAABeQAAAAAAHQAAAAADHQAAAAACeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABHQAAAAADeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABHQAAAAADeQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAdgAAAAACdgAAAAADdgAAAAADdgAAAAADdgAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABHQAAAAADeQAAAAAAHQAAAAACHQAAAAACHQAAAAADdgAAAAABdgAAAAACdgAAAAADdgAAAAAAdgAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAHQAAAAADeQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAABHQAAAAADHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADHQAAAAADHQAAAAADHQAAAAAAHQAAAAABeQAAAAAAHQAAAAACdgAAAAABdgAAAAADdgAAAAABUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADHQAAAAADHQAAAAACHQAAAAACHQAAAAACeQAAAAAAHQAAAAAAdgAAAAACdgAAAAACdgAAAAACeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAACHQAAAAADHQAAAAACHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADHQAAAAAAeQAAAAAAHQAAAAADHQAAAAACeQAAAAAAHQAAAAADHQAAAAADeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAC
+          tiles: WQAAAAACeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAWQAAAAABWQAAAAAAWQAAAAADHQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAABWQAAAAACWQAAAAAAWQAAAAADHQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAADWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAADeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAeQAAAAAAWQAAAAACLwAAAAAALwAAAAAALwAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACHQAAAAADeQAAAAAAHQAAAAACHQAAAAABeQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAWQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACHQAAAAABeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAHQAAAAACeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAdgAAAAABdgAAAAAAdgAAAAAAdgAAAAADdgAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACHQAAAAACeQAAAAAAHQAAAAADHQAAAAADHQAAAAADdgAAAAABdgAAAAAAdgAAAAACdgAAAAACdgAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADHQAAAAADeQAAAAAAHQAAAAADHQAAAAABeQAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAAAHQAAAAACHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAHQAAAAADHQAAAAADHQAAAAACHQAAAAADeQAAAAAAHQAAAAACdgAAAAACdgAAAAACdgAAAAACUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAHQAAAAAAdgAAAAADdgAAAAABdgAAAAABeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADHQAAAAABHQAAAAABHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAAAHQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAeQAAAAAAHQAAAAABaAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAC
           version: 6
         0,-1:
           ind: 0,-1
-          tiles: WQAAAAADWQAAAAABeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAABHQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAHQAAAAACeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAHQAAAAADeQAAAAAAeAAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAABHQAAAAADeQAAAAAAeAAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAACeQAAAAAAeAAAAAAAHQAAAAABaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAADgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAALAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAAAaQAAAAAAeQAAAAAADgAAAAABeQAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAADgAAAAAAeQAAAAAALAAAAAAALAAAAAAALAAAAAAAWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAaAAAAAAADgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAADgAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAACHQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAAAWQAAAAABDgAAAAACeQAAAAAAJAAAAAADJAAAAAABJAAAAAACJAAAAAACJAAAAAABJAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAABWQAAAAAADgAAAAADeQAAAAAAJAAAAAADJAAAAAAAJAAAAAADJAAAAAABJAAAAAACJAAAAAABaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAADgAAAAABeQAAAAAAJAAAAAABJAAAAAADJAAAAAACJAAAAAADJAAAAAAAJAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAA
+          tiles: WQAAAAAAWQAAAAADeQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAADHQAAAAABeQAAAAAAHQAAAAAAHQAAAAACaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAABHQAAAAADeQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACHQAAAAAAeQAAAAAAeAAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAADWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAADWQAAAAAAWQAAAAABWQAAAAACWQAAAAABHQAAAAACeQAAAAAAeAAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeAAAAAAAHQAAAAACaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAACeQAAAAAAeQAAAAAADgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAALAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAABaQAAAAAAeQAAAAAADgAAAAAAeQAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAABeQAAAAAAeQAAAAAADgAAAAADeQAAAAAALAAAAAAALAAAAAAALAAAAAAAWQAAAAABWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAaAAAAAAADgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAADgAAAAACeQAAAAAAHQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAABDgAAAAACeQAAAAAAJAAAAAABJAAAAAADJAAAAAAAJAAAAAAAJAAAAAAAJAAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAADDgAAAAACeQAAAAAAJAAAAAACJAAAAAACJAAAAAAAJAAAAAADJAAAAAADJAAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAADgAAAAADeQAAAAAAJAAAAAABJAAAAAABJAAAAAADJAAAAAAAJAAAAAAAJAAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         -1,-1:
           ind: -1,-1
-          tiles: bAAAAAADbAAAAAABeQAAAAAAbAAAAAAAbAAAAAABbAAAAAABbAAAAAABbAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAACbAAAAAABbAAAAAAAbAAAAAACbAAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAADWQAAAAADWQAAAAACWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAABWQAAAAAAHQAAAAABHQAAAAABHQAAAAABHQAAAAACHQAAAAADOgAAAAAAHQAAAAABLwAAAAAALwAAAAAALwAAAAAAeQAAAAAAeQAAAAAADgAAAAADDgAAAAABDgAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAALwAAAAAALwAAAAAAeQAAAAAAeQAAAAAADgAAAAABDgAAAAADDgAAAAADDgAAAAACDgAAAAACHQAAAAADHQAAAAABHQAAAAAAHQAAAAACHQAAAAABOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWQAAAAABDgAAAAACDgAAAAABWQAAAAADWQAAAAADWQAAAAADDgAAAAACOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWQAAAAACDgAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAABHQAAAAAAHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAADHQAAAAAAHQAAAAADHQAAAAADWQAAAAACDgAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAADgAAAAACWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAACPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAACWQAAAAABWQAAAAACWQAAAAADWQAAAAABWQAAAAABPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAABeQAAAAAADgAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAACPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAACdgAAAAACHQAAAAABHQAAAAAADgAAAAABWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAC
+          tiles: bAAAAAACbAAAAAACeQAAAAAAbAAAAAACbAAAAAACbAAAAAADbAAAAAACbAAAAAADeQAAAAAAWQAAAAADWQAAAAACPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAACbAAAAAABbAAAAAABbAAAAAADeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAADWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAAAOgAAAAAAHQAAAAABLwAAAAAALwAAAAAALwAAAAAAeQAAAAAAeQAAAAAADgAAAAACDgAAAAADDgAAAAACeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAALwAAAAAALwAAAAAAeQAAAAAAeQAAAAAADgAAAAADDgAAAAABDgAAAAAADgAAAAABDgAAAAACHQAAAAACHQAAAAAAHQAAAAADHQAAAAAAHQAAAAADOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWQAAAAABDgAAAAAADgAAAAAAWQAAAAAAWQAAAAAAWQAAAAAADgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWQAAAAADDgAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAACHQAAAAACHQAAAAADHQAAAAADHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAADWQAAAAABDgAAAAACWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAADWQAAAAACWQAAAAACWQAAAAABWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAADgAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAACPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAADgAAAAABWQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAADPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAACeQAAAAAADgAAAAABWQAAAAACWQAAAAADWQAAAAACWQAAAAABWQAAAAABPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADdgAAAAACdgAAAAADHQAAAAADHQAAAAABDgAAAAABWQAAAAAAWQAAAAACWQAAAAABWQAAAAADWQAAAAAB
           version: 6
         -2,1:
           ind: -2,1
-          tiles: WQAAAAACWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAACWQAAAAABdgAAAAADdgAAAAAAdgAAAAABdgAAAAABdgAAAAADdgAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAADeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAdgAAAAABdgAAAAABdgAAAAACdgAAAAACdgAAAAACWQAAAAADWQAAAAACWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABeQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAADWQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAADWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAACeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAACWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABeQAAAAAAHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAACHQAAAAABHQAAAAABHQAAAAADHQAAAAADeQAAAAAAHQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAABHQAAAAABHQAAAAACHQAAAAAAHQAAAAACHQAAAAADHQAAAAACPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAABHQAAAAABHQAAAAAAHQAAAAADeQAAAAAAHQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAHQAAAAADdgAAAAAAdgAAAAAAdgAAAAACdgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAACeQAAAAAAWQAAAAACWQAAAAADWQAAAAAAeQAAAAAAHQAAAAABdgAAAAABdgAAAAADUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACdgAAAAACdgAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAABWQAAAAAAWQAAAAADHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADHQAAAAACeQAAAAAABwAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACHQAAAAABeQAAAAAABwAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: WQAAAAABWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAABWQAAAAABeQAAAAAAWQAAAAAAWQAAAAADdgAAAAACdgAAAAAAdgAAAAACdgAAAAAAdgAAAAADdgAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAADeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAdgAAAAABdgAAAAADdgAAAAABdgAAAAADdgAAAAABWQAAAAADWQAAAAABWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAADeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAADWQAAAAACeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAADWQAAAAADeQAAAAAAHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAAAHQAAAAABHQAAAAAAeQAAAAAAHQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAABHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAAAHQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAAAHQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAHQAAAAADPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAdgAAAAABdgAAAAAAdgAAAAADdgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAACeQAAAAAAWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAdgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAACeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAHQAAAAADdgAAAAAAdgAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAHQAAAAABdgAAAAABdgAAAAACeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAABHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAADWQAAAAAAWQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAACHQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         -2,0:
           ind: -2,0
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAADeQAAAAAAdgAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAADeQAAAAAAWQAAAAACWQAAAAABWQAAAAAAWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAAAWQAAAAADPQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAACWQAAAAADeQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAADPQAAAAAAaQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAAAeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAHQAAAAADHQAAAAABHQAAAAADKQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAABeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADKQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAABeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAACeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAACWQAAAAADHQAAAAACWQAAAAADWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAADHQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAADWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABeQAAAAAAdgAAAAAAdgAAAAACdgAAAAADdgAAAAAAdgAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAdgAAAAABdgAAAAAAdgAAAAACdgAAAAADdgAAAAAB
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAdgAAAAADeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAACeQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAADPQAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAABeQAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAAAPQAAAAAAaQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAHQAAAAACHQAAAAAAHQAAAAACKQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAADeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADKQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAABeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAACeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAACeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAABWQAAAAABWQAAAAAAWQAAAAACWQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAADHQAAAAACWQAAAAADWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAADHQAAAAADWQAAAAACWQAAAAABWQAAAAACWQAAAAADWQAAAAACWQAAAAABWQAAAAACWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAAAWQAAAAABWQAAAAACWQAAAAADWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAACeQAAAAAAdgAAAAADdgAAAAAAdgAAAAABdgAAAAABdgAAAAACWQAAAAABWQAAAAACWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAdgAAAAAAdgAAAAADdgAAAAACdgAAAAABdgAAAAAB
           version: 6
         -2,-1:
           ind: -2,-1
-          tiles: HQAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAABHQAAAAABdgAAAAACdgAAAAADdgAAAAADdgAAAAADeQAAAAAAHQAAAAAAHQAAAAADHQAAAAADeQAAAAAAbAAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAADHQAAAAAAdgAAAAAAdgAAAAABdgAAAAADdgAAAAADeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAHQAAAAABaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAADeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAACeQAAAAAAHQAAAAAAOgAAAAAAHQAAAAACWQAAAAADWQAAAAACWQAAAAADWQAAAAADeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAHQAAAAABWQAAAAABWQAAAAAAHQAAAAACeQAAAAAAHQAAAAAAOgAAAAAAOgAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAHQAAAAADWQAAAAACWQAAAAABHQAAAAADeQAAAAAAHQAAAAABOgAAAAAAHQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAHQAAAAADHQAAAAABHQAAAAAAHQAAAAADeQAAAAAAHQAAAAADOgAAAAAAOgAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAACWQAAAAACeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAADeQAAAAAAWQAAAAABWQAAAAADWQAAAAAAWQAAAAACeQAAAAAAdgAAAAADdgAAAAACeQAAAAAAWQAAAAACWQAAAAAAWQAAAAADeQAAAAAAWQAAAAADWQAAAAACWQAAAAADeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACeQAAAAAA
+          tiles: HQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAACHQAAAAADdgAAAAACdgAAAAABdgAAAAABdgAAAAABeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACeQAAAAAAbAAAAAAAHQAAAAABHQAAAAACHQAAAAABHQAAAAADHQAAAAAAHQAAAAADdgAAAAADdgAAAAAAdgAAAAABdgAAAAADeQAAAAAAHQAAAAACHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAHQAAAAABaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAABWQAAAAACWQAAAAADWQAAAAACWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAABeQAAAAAAHQAAAAACOgAAAAAAHQAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAACeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAHQAAAAABWQAAAAABWQAAAAAAHQAAAAADeQAAAAAAHQAAAAAAOgAAAAAAOgAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAHQAAAAABWQAAAAAAWQAAAAACHQAAAAAAeQAAAAAAHQAAAAAAOgAAAAAAHQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAAAeQAAAAAAHQAAAAABOgAAAAAAOgAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAADeQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAADeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAACWQAAAAADeQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAACeQAAAAAAdgAAAAACdgAAAAADeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABeQAAAAAAWQAAAAADWQAAAAADWQAAAAABeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAdgAAAAADdgAAAAACeQAAAAAA
           version: 6
         -1,2:
           ind: -1,2
-          tiles: BwAAAAAABwAAAAAABwAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAABHQAAAAACHQAAAAABHQAAAAADHQAAAAACHQAAAAADBwAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHQAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAAAHQAAAAABBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAADeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAACHQAAAAADeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAABHQAAAAACHQAAAAAAHQAAAAACHQAAAAAAHQAAAAACBwAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAACeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAABHQAAAAAAHQAAAAACeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         0,2:
           ind: 0,2
-          tiles: HQAAAAADHQAAAAADHQAAAAABHQAAAAADHQAAAAABHQAAAAAAHQAAAAABeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAGeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAHQAAAAAAHQAAAAABHQAAAAADHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAAAHQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAegAAAAAAegAAAAAABwAAAAAAeQAAAAAAWQAAAAADHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAegAAAAAABwAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAACeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAADHQAAAAACHQAAAAABHQAAAAACHQAAAAACHQAAAAABBwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: HQAAAAABHQAAAAABHQAAAAADHQAAAAACHQAAAAADHQAAAAACaAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAABeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAegAAAAAAegAAAAAAeQAAAAAAeQAAAAAAWQAAAAADHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAegAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAABwAAAAAEeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAABwAAAAAAeQAAAAAABwAAAAABeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAALeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAADeQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAADHQAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAADeQAAAAAAHQAAAAACHQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         1,2:
           ind: 1,2
-          tiles: WQAAAAAAWQAAAAACeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAACeQAAAAAALAAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAACLAAAAAAALAAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAACwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: WQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAACWQAAAAAAeQAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAADLAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAACwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         1,1:
           ind: 1,1
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAACeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAABeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAACWQAAAAAAWQAAAAACWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAACWQAAAAABWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAADeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAADWQAAAAACeQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAABeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAABeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAAAWQAAAAADeQAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         1,0:
           ind: 1,0
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAACeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAegAAAAAAegAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAADWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAADeQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAAAWQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAADeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeAAAAAAAeAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAEBwAAAAAAeAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAIBwAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAegAAAAAAegAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAIaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAJeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAADeQAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAACWQAAAAADWQAAAAACeQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAADaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         0,3:
           ind: 0,3
-          tiles: BwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAHQAAAAABNgAAAAAANgAAAAAAHQAAAAAANgAAAAAANgAAAAAAHQAAAAACeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAAANgAAAAAAHQAAAAADNgAAAAAAHQAAAAACNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAAAeQAAAAAANgAAAAAAeQAAAAAAHQAAAAADNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAADHQAAAAABNgAAAAAAHQAAAAACHQAAAAABNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAANgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAHQAAAAACNgAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAAHQAAAAACeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADNgAAAAAANgAAAAAAHQAAAAAANgAAAAAANgAAAAAAHQAAAAACeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAACNgAAAAAAHQAAAAABNgAAAAAAHQAAAAADNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAACeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAANgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAADeQAAAAAANgAAAAAAeQAAAAAAHQAAAAAANgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAACHQAAAAACNgAAAAAAHQAAAAABHQAAAAACNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAANgAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABNgAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADNgAAAAAANgAAAAAANgAAAAAANgAAAAAANgAAAAAAHQAAAAABeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         1,3:
           ind: 1,3
-          tiles: eQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -2,2:
           ind: -2,2
-          tiles: WQAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAHQAAAAACeQAAAAAABwAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAABwAAAAAFBwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAFBwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: WQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAABWQAAAAADHQAAAAADeQAAAAAABwAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAIeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAABwAAAAAMBwAAAAAABwAAAAAABwAAAAADeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAMBwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAKeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         2,0:
           ind: 2,0
@@ -129,91 +129,91 @@ entities:
           version: 6
         2,-1:
           ind: 2,-1
-          tiles: BwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAA
+          tiles: BwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAABHQAAAAABHQAAAAACeQAAAAAAHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAADWQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAACWQAAAAADWQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAA
           version: 6
         1,-1:
           ind: 1,-1
-          tiles: eQAAAAAAeQAAAAAAdgAAAAADdgAAAAACdgAAAAACeQAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAABBwAAAAADBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACdgAAAAACeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAHQAAAAADWQAAAAABWQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACWQAAAAABWQAAAAADeQAAAAAAWQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAAgAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAAA
+          tiles: eQAAAAAAeQAAAAAAdgAAAAABdgAAAAAAdgAAAAABeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAADdgAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAABwAAAAAIBwAAAAAKeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAHQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAWQAAAAACWQAAAAABeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAADWQAAAAADeQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAADAgAAAAADWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAABWQAAAAABWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAABWQAAAAAA
           version: 6
         0,-2:
           ind: 0,-2
-          tiles: WQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAABaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAWQAAAAABNgAAAAAAWQAAAAADWQAAAAADeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAABbAAAAAACbAAAAAADWQAAAAADWQAAAAAAWQAAAAABWQAAAAADNgAAAAAANgAAAAAANgAAAAAAeQAAAAAAHQAAAAABHQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAADbAAAAAAAbAAAAAABWQAAAAACWQAAAAAAWQAAAAADWQAAAAACEQAAAAAAEQAAAAAAEQAAAAAAeQAAAAAAHQAAAAABHQAAAAACeQAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAACWQAAAAADWQAAAAACWQAAAAABWQAAAAABEQAAAAAAWQAAAAACWQAAAAADeQAAAAAAHQAAAAACHQAAAAAAWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAADWQAAAAACWQAAAAABWQAAAAABeQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAABWQAAAAACHQAAAAABHQAAAAABeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAHQAAAAADHQAAAAACHQAAAAAAHQAAAAACeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAACHQAAAAADWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAACHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAABHQAAAAAAHQAAAAACHQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAADHQAAAAABHQAAAAAAHQAAAAABHQAAAAADHQAAAAACHQAAAAADHQAAAAACHQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADHQAAAAABeQAAAAAAHQAAAAADHQAAAAABeQAAAAAAEQAAAAAAHQAAAAABEQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACWQAAAAABHQAAAAADeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAEQAAAAAAHQAAAAACEQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAACWQAAAAAAHQAAAAAAeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: WQAAAAADWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAWQAAAAABNgAAAAAAWQAAAAACWQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAABbAAAAAADbAAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAACNgAAAAAANgAAAAAANgAAAAAAeQAAAAAAHQAAAAABHQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAbAAAAAABbAAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAeQAAAAAAHQAAAAABHQAAAAACeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAADEQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAHQAAAAAAHQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAACeQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAADHQAAAAADHQAAAAABeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAADeQAAAAAAHQAAAAADHQAAAAADHQAAAAACHQAAAAADeQAAAAAAHQAAAAACHQAAAAADeQAAAAAAHQAAAAADHQAAAAADHQAAAAAAHQAAAAACHQAAAAADWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAABHQAAAAAAHQAAAAACHQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAACHQAAAAADHQAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAABHQAAAAADWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAADeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAABWQAAAAADWQAAAAAAWQAAAAACHQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAEQAAAAAAHQAAAAADEQAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAHQAAAAACHQAAAAADHQAAAAACWQAAAAADHQAAAAACeQAAAAAAHQAAAAABHQAAAAADeQAAAAAAEQAAAAAAHQAAAAACEQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAAAWQAAAAADHQAAAAABeQAAAAAAHQAAAAADHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         -1,-2:
           ind: -1,-2
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAWQAAAAABWQAAAAADWQAAAAABeQAAAAAAbAAAAAACWQAAAAACWQAAAAACWQAAAAADeQAAAAAAbAAAAAADbAAAAAABbAAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAAAWQAAAAACWQAAAAABeQAAAAAAbAAAAAACbAAAAAADbAAAAAABbAAAAAADeQAAAAAAbAAAAAACbAAAAAACbAAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAWQAAAAACWQAAAAABWQAAAAACeQAAAAAAbAAAAAABbAAAAAACbAAAAAADbAAAAAABbAAAAAAAbAAAAAACbAAAAAABbAAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAWQAAAAABbAAAAAABWQAAAAABbAAAAAADeQAAAAAAbAAAAAADbAAAAAAAbAAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAACeQAAAAAAbAAAAAAAbAAAAAADeQAAAAAAbAAAAAABbAAAAAAAbAAAAAACbAAAAAAAbAAAAAAAeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABbAAAAAADbAAAAAADbAAAAAAAbAAAAAADbAAAAAADbAAAAAACbAAAAAAAbAAAAAACWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAACWQAAAAADWQAAAAACbAAAAAABbAAAAAABbAAAAAAAbAAAAAABbAAAAAADbAAAAAADbAAAAAAAbAAAAAADbAAAAAADWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAACWQAAAAACWQAAAAAAbAAAAAABbAAAAAABeQAAAAAAbAAAAAAAbAAAAAACbAAAAAADbAAAAAABbAAAAAABeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAbAAAAAABbAAAAAADeQAAAAAAbAAAAAAAbAAAAAACbAAAAAABbAAAAAAAbAAAAAABeQAAAAAAWQAAAAADWQAAAAADPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAWQAAAAACbAAAAAADbAAAAAAAbAAAAAACbAAAAAAAbAAAAAADbAAAAAACbAAAAAACeQAAAAAAWQAAAAADWQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAWQAAAAAAbAAAAAACeQAAAAAAbAAAAAACbAAAAAADbAAAAAADbAAAAAACbAAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAADeQAAAAAAbAAAAAABWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAbAAAAAADbAAAAAAAbAAAAAADeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABeQAAAAAAbAAAAAAAbAAAAAACbAAAAAADbAAAAAADeQAAAAAAbAAAAAABbAAAAAACbAAAAAABeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAABWQAAAAACWQAAAAABeQAAAAAAbAAAAAABbAAAAAABbAAAAAADbAAAAAACbAAAAAABbAAAAAADbAAAAAADbAAAAAABeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAABWQAAAAACWQAAAAABeQAAAAAAWQAAAAABbAAAAAADWQAAAAADbAAAAAAAeQAAAAAAbAAAAAABbAAAAAAAbAAAAAACeQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABeQAAAAAAbAAAAAAAbAAAAAACeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAeQAAAAAAbAAAAAACbAAAAAABeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAABbAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAABbAAAAAACbAAAAAACbAAAAAABbAAAAAACbAAAAAABbAAAAAABbAAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAADbAAAAAACbAAAAAACbAAAAAABbAAAAAABbAAAAAAAbAAAAAACbAAAAAABbAAAAAABbAAAAAADWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAABbAAAAAABbAAAAAABeQAAAAAAbAAAAAAAbAAAAAADbAAAAAACbAAAAAABbAAAAAADeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAbAAAAAABbAAAAAADeQAAAAAAbAAAAAABbAAAAAACbAAAAAAAbAAAAAABbAAAAAADeQAAAAAAWQAAAAACWQAAAAADPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAWQAAAAADbAAAAAABbAAAAAACbAAAAAADbAAAAAAAbAAAAAABbAAAAAABbAAAAAABeQAAAAAAWQAAAAADWQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAWQAAAAADbAAAAAADeQAAAAAAbAAAAAABbAAAAAAAbAAAAAAAbAAAAAABbAAAAAADeQAAAAAAWQAAAAABWQAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAA
           version: 6
         -1,-3:
           ind: -1,-3
-          tiles: AAAAAAAAeAAAAAAALwAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAADLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAALwAAAAAAWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAALwAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAACLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAACWQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAADHQAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAADPgAAAAAAPgAAAAAAHQAAAAAAHQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAADWQAAAAADWQAAAAAAWQAAAAABWQAAAAABHQAAAAADHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAADHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAD
+          tiles: AAAAAAAAeAAAAAAALwAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAACLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAALwAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAABLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAALwAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAAALwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAACWQAAAAACaAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADWQAAAAADWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABWQAAAAABWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAACHQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAABWQAAAAADWQAAAAADWQAAAAACWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAACWQAAAAADPgAAAAAAPgAAAAAAHQAAAAABHQAAAAACWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAABWQAAAAABWQAAAAADHQAAAAADHQAAAAADHQAAAAADeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAABWQAAAAABWQAAAAAD
           version: 6
         0,-3:
           ind: 0,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAbAAAAAADbAAAAAAAbAAAAAAAeQAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADNgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAbAAAAAADeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAHQAAAAADNgAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAWQAAAAACWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAADbAAAAAADbAAAAAABeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADNgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAbAAAAAAAeQAAAAAAHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAHQAAAAABNgAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAADeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         -1,-4:
           ind: -1,-4
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAACWQAAAAABaAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAALwAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAACLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAACWQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAAAWQAAAAACaAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAALwAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAABLwAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         1,-2:
           ind: 1,-2
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAWQAAAAADWQAAAAACWQAAAAADeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAWQAAAAACWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAWQAAAAADWQAAAAADWQAAAAADeQAAAAAAHQAAAAADHQAAAAACeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAABHQAAAAADeQAAAAAAWQAAAAACWQAAAAABeQAAAAAAWQAAAAABbAAAAAACbAAAAAADbAAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAABeQAAAAAAWQAAAAAAHQAAAAADeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAWQAAAAACbAAAAAAAbAAAAAADbAAAAAADWQAAAAACWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAADHQAAAAAAHQAAAAADWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAABWQAAAAAAWQAAAAABWQAAAAABWQAAAAADeQAAAAAAHQAAAAADHQAAAAACeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAAAWQAAAAACeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABHQAAAAABHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAABWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAADWQAAAAAAWQAAAAABWQAAAAABdgAAAAAAdgAAAAABdgAAAAABdgAAAAAAdgAAAAAAdgAAAAABeQAAAAAABwAAAAAABwAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAACdgAAAAAAdgAAAAADdgAAAAACeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAAAdgAAAAADeQAAAAAABwAAAAAAeQAAAAAAdgAAAAABdgAAAAADdgAAAAAAdgAAAAADdgAAAAACeQAAAAAABwAAAAAHBwAAAAAAeQAAAAAAaQAAAAAAdgAAAAABdgAAAAAAdgAAAAADeQAAAAAABwAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAADdgAAAAADeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAdgAAAAADdgAAAAAAdgAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAACBwAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAWQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAADeQAAAAAAHQAAAAACHQAAAAABeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAACeQAAAAAAWQAAAAADHQAAAAACeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAWQAAAAACbAAAAAACbAAAAAACbAAAAAADWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABeQAAAAAAWQAAAAACHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAADbAAAAAABbAAAAAAAbAAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAABWQAAAAADHQAAAAABHQAAAAADWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAADWQAAAAABeQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAWQAAAAABWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAAAWQAAAAADeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADHQAAAAACHQAAAAACHQAAAAABHQAAAAAAHQAAAAAAHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAACHQAAAAAAWQAAAAABWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAADWQAAAAABWQAAAAABWQAAAAABdgAAAAADdgAAAAABdgAAAAAAdgAAAAACdgAAAAACdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAAAdgAAAAACdgAAAAABdgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABdgAAAAABdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABdgAAAAACdgAAAAADdgAAAAAAdgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaQAAAAAAdgAAAAADdgAAAAADdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABdgAAAAACdgAAAAACdgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACdgAAAAABeQAAAAAABwAAAAAJeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAGeQAAAAAAeQAAAAAA
           version: 6
         2,-2:
           ind: 2,-2
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAAAHQAAAAACHQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAACeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAADeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAADeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAHQAAAAABHQAAAAADHQAAAAACHQAAAAABeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAFegAAAAAAegAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAMeQAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAaQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAABeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAHQAAAAABHQAAAAABHQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAIBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAegAAAAAAegAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAKBwAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         2,-3:
           ind: 2,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAABBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAACBwAAAAADeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAACHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAAAeQAAAAAABwAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAKBwAAAAAEBwAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABHQAAAAADHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAABeQAAAAAABwAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAA
           version: 6
         1,-3:
           ind: 1,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAGBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAACwAAAAAACwAAAAAACwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAACwAAAAAACwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAABHQAAAAABeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAADeQAAAAAAHQAAAAABHQAAAAADHQAAAAADeQAAAAAAWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAADBwAAAAACBwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAIBwAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAABwAAAAAFBwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAACwAAAAAACwAAAAAACwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAHCwAAAAAACwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAACHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAABeQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAA
           version: 6
         -3,-1:
           ind: -3,-1
-          tiles: aAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAACWQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAADeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAADeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAACWQAAAAACWQAAAAABWQAAAAABeQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAWQAAAAADWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAABeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAAD
+          tiles: aAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAACWQAAAAABeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAACWQAAAAADWQAAAAADWQAAAAACeQAAAAAAWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAWQAAAAACeQAAAAAAWQAAAAACWQAAAAAAeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAAAWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAADWQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAABeQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAACWQAAAAABWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAACeQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAADWQAAAAADeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAABeQAAAAAAWQAAAAABWQAAAAABWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAWQAAAAACWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAAB
           version: 6
         -3,-2:
           ind: -3,-2
-          tiles: AAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABdgAAAAACeQAAAAAAdgAAAAACdgAAAAABdgAAAAADdgAAAAABAAAAAAAAAAAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAABeQAAAAAAdgAAAAADdgAAAAACdgAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAADdgAAAAACdgAAAAADdgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAADdgAAAAAAdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAIgAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAHQAAAAAAHQAAAAAAIgAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAABaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAA
+          tiles: AAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABdgAAAAACeQAAAAAAdgAAAAACdgAAAAABdgAAAAADdgAAAAABAAAAAAAAAAAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAADdgAAAAABeQAAAAAAdgAAAAABdgAAAAAAdgAAAAACAAAAAAAAAAAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAABdgAAAAABdgAAAAACdgAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAADdgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAADHQAAAAACIgAAAAABeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAACIgAAAAACeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAADaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAHQAAAAAC
           version: 6
         -2,-2:
           ind: -2,-2
-          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAACeQAAAAAAHQAAAAABHQAAAAAAHQAAAAABeQAAAAAAHQAAAAACHQAAAAACHQAAAAACHQAAAAABeQAAAAAAbAAAAAABbAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAHQAAAAABHQAAAAABHQAAAAACeQAAAAAAbAAAAAABbAAAAAAAbAAAAAADbAAAAAAAbAAAAAACbAAAAAADbAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAADeQAAAAAAbAAAAAACbAAAAAABbAAAAAABbAAAAAADeQAAAAAAbAAAAAACbAAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAABeQAAAAAAHQAAAAAAHQAAAAABHQAAAAADHQAAAAAAeQAAAAAAbAAAAAACbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAACPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAADbAAAAAABbAAAAAACbAAAAAABbAAAAAACbAAAAAACbAAAAAACbAAAAAADbAAAAAABbAAAAAACbAAAAAABPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAACbAAAAAADbAAAAAABeQAAAAAAbAAAAAACbAAAAAAAbAAAAAAAbAAAAAADbAAAAAABbAAAAAAAbAAAAAABPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABbAAAAAABbAAAAAADbAAAAAABbAAAAAACPgAAAAAAeQAAAAAAeQAAAAAAdgAAAAADdgAAAAADdgAAAAABdgAAAAACdgAAAAACdgAAAAABdgAAAAAAeQAAAAAAbAAAAAADbAAAAAACbAAAAAAAbAAAAAACbAAAAAADHQAAAAAAHQAAAAAAHQAAAAABdgAAAAACdgAAAAACdgAAAAABdgAAAAABdgAAAAADdgAAAAABdgAAAAABeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACdgAAAAACdgAAAAAAdgAAAAACdgAAAAACdgAAAAADdgAAAAACdgAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAADeQAAAAAAbAAAAAADHQAAAAABHQAAAAAAHQAAAAAAdgAAAAABdgAAAAABdgAAAAADdgAAAAABdgAAAAADdgAAAAACdgAAAAACeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAABbAAAAAADHQAAAAACHQAAAAAAHQAAAAACHQAAAAABHQAAAAABHQAAAAADdgAAAAADdgAAAAABdgAAAAABdgAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAACeQAAAAAAbAAAAAAD
+          tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAADeQAAAAAAHQAAAAAAHQAAAAADHQAAAAADeQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAAAeQAAAAAAbAAAAAACbAAAAAACeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABeQAAAAAAHQAAAAAAHQAAAAADHQAAAAADeQAAAAAAbAAAAAAAbAAAAAABbAAAAAADbAAAAAABbAAAAAADbAAAAAADbAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACeQAAAAAAbAAAAAADbAAAAAAAbAAAAAADbAAAAAAAeQAAAAAAbAAAAAACbAAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAABeQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAAAeQAAAAAAbAAAAAADbAAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABbAAAAAABbAAAAAADbAAAAAADbAAAAAABbAAAAAACbAAAAAADbAAAAAACbAAAAAABbAAAAAAAbAAAAAABPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAADbAAAAAACeQAAAAAAbAAAAAADbAAAAAAAbAAAAAAAbAAAAAACbAAAAAABbAAAAAACbAAAAAACPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAABbAAAAAADbAAAAAACbAAAAAACbAAAAAABPgAAAAAAeQAAAAAAeQAAAAAAdgAAAAACdgAAAAAAdgAAAAAAdgAAAAADdgAAAAADdgAAAAADdgAAAAAAeQAAAAAAbAAAAAAAbAAAAAABbAAAAAADbAAAAAADbAAAAAAAHQAAAAAAHQAAAAADHQAAAAADdgAAAAABdgAAAAABdgAAAAACdgAAAAACdgAAAAACdgAAAAACdgAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAdgAAAAADdgAAAAADdgAAAAADdgAAAAACdgAAAAACdgAAAAACdgAAAAACeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAbAAAAAAAHQAAAAADHQAAAAACHQAAAAACdgAAAAADdgAAAAABdgAAAAAAdgAAAAAAdgAAAAACdgAAAAADdgAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAAAbAAAAAABHQAAAAADHQAAAAACHQAAAAAAHQAAAAAAHQAAAAABHQAAAAABdgAAAAACdgAAAAAAdgAAAAACdgAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAAAeQAAAAAAbAAAAAAB
           version: 6
         -2,-3:
           ind: -2,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAADgAAAAABeQAAAAAADgAAAAADDgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAADgAAAAACDgAAAAACDgAAAAAADgAAAAAADgAAAAACDgAAAAADeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAHQAAAAACIQAAAAACIQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAADgAAAAADDgAAAAACDgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAIQAAAAAAIQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAdgAAAAADdgAAAAAAdgAAAAADeQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAADdgAAAAABdgAAAAACeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAADHQAAAAAAdgAAAAABdgAAAAACdgAAAAADeQAAAAAAdgAAAAAAdgAAAAACeQAAAAAAdgAAAAADdgAAAAAAdgAAAAAAHQAAAAADeQAAAAAAPgAAAAAAPgAAAAAAHQAAAAADHQAAAAADeQAAAAAAdgAAAAACeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAdgAAAAADeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAIgAAAAADHQAAAAABeQAAAAAAPgAAAAAAPgAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAIgAAAAADHQAAAAABeQAAAAAAHQAAAAACHQAAAAACHQAAAAACHQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAABDgAAAAAADgAAAAACeQAAAAAADgAAAAADDgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAABDgAAAAACDgAAAAADDgAAAAACDgAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAHQAAAAABIQAAAAADIQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAADgAAAAACDgAAAAAADgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAIQAAAAACIQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAdgAAAAACdgAAAAAAdgAAAAADeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAADeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAHQAAAAABHQAAAAABHQAAAAABHQAAAAAAHQAAAAAAHQAAAAADdgAAAAACdgAAAAAAdgAAAAACeQAAAAAAdgAAAAAAdgAAAAAAeQAAAAAAdgAAAAADdgAAAAACdgAAAAADHQAAAAABeQAAAAAAPgAAAAAAPgAAAAAAHQAAAAACHQAAAAABeQAAAAAAdgAAAAADeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAdgAAAAACeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAIgAAAAABHQAAAAADeQAAAAAAPgAAAAAAPgAAAAAAHQAAAAADHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAIgAAAAACHQAAAAABeQAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAAA
           version: 6
         -3,2:
           ind: -3,2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAFBwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -3,1:
           ind: -3,1
-          tiles: eQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAATQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAAATQAAAAAAHQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAABBwAAAAAABwAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAFBwAAAAAABwAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAHBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAFBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAA
+          tiles: eQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAABeQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAABHQAAAAABHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAADTQAAAAAAHQAAAAADTQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAADHQAAAAABHQAAAAACTQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAACBwAAAAAABwAAAAAFBwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAA
           version: 6
         -3,0:
           ind: -3,0
-          tiles: aAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAABeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAABaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAACWQAAAAADaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAACHQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAABHQAAAAABHQAAAAADHQAAAAACHQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAAAHQAAAAAAHQAAAAACHQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAABwAAAAAAeQAAAAAATQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAHBwAAAAAAeQAAAAAATQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAA
+          tiles: aAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADeQAAAAAAWQAAAAADWQAAAAABWQAAAAABaAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAADaAAAAAAAeQAAAAAAHQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACWQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAACWQAAAAABaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABHQAAAAABHQAAAAAAHQAAAAAAHQAAAAABHQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAABwAAAAAAeQAAAAAATQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAATQAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAAC
           version: 6
         -3,-3:
           ind: -3,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAALAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAABbAAAAAAAWQAAAAACWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAbAAAAAADbAAAAAADbAAAAAADWQAAAAADWQAAAAAAeQAAAAAAbAAAAAAAbAAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAbAAAAAABbAAAAAACbAAAAAAAWQAAAAAAWQAAAAABbAAAAAADbAAAAAACbAAAAAACbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAACeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAABwAAAAAABwAAAAABeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAALAAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAABbAAAAAABWQAAAAACWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAbAAAAAABbAAAAAABbAAAAAACWQAAAAAAWQAAAAACeQAAAAAAbAAAAAADbAAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAACbAAAAAAAbAAAAAABWQAAAAAAWQAAAAADbAAAAAACbAAAAAAAbAAAAAABbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         -4,0:
           ind: -4,0
-          tiles: eAAAAAAAeAAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAAwAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAwAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: eAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAAwAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAwAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         -4,-1:
           ind: -4,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACeQAAAAAAWQAAAAACWQAAAAABWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAADHQAAAAACWQAAAAADWQAAAAABWQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAACeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAADeQAAAAAAWQAAAAAAWQAAAAABWQAAAAACAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAABBwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAACAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAGBwAAAAAABwAAAAAABwAAAAAABwAAAAABBwAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAADAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAegAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAACBwAAAAAAegAAAAAAegAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAAAeQAAAAAAWQAAAAADWQAAAAACWQAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAJeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAABWQAAAAABWQAAAAACWQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAABHQAAAAADeQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAABeQAAAAAAWQAAAAABWQAAAAACWQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAGBwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABAAAAAAAAAAAAAAAABwAAAAALBwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAADAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAALBwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAHBwAAAAAFeQAAAAAAHQAAAAAAHQAAAAACHQAAAAAAAAAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAJegAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAIegAAAAAAegAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAA
           version: 6
         -4,-2:
           ind: -4,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAeQAAAAAAaAAAAAAAaAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAGBwAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAA
           version: 6
         -5,-2:
           ind: -5,-2
@@ -225,7 +225,7 @@ entities:
           version: 6
         3,-2:
           ind: 3,-2
-          tiles: AAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -4,1:
           ind: -4,1
@@ -233,7 +233,7 @@ entities:
           version: 6
         3,-1:
           ind: 3,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALwAAAAAALwAAAAAALwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAaAAAAAAAAgAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAAgAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAAgAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAALwAAAAAALwAAAAAALwAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAABWQAAAAABWQAAAAACeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAACWQAAAAAAaAAAAAAAAgAAAAADWQAAAAABWQAAAAACWQAAAAABAgAAAAACWQAAAAAAWQAAAAAAWQAAAAACAgAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAABeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAABWQAAAAADWQAAAAACaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA
           version: 6
         4,-1:
           ind: 4,-1
@@ -241,7 +241,7 @@ entities:
           version: 6
         4,-2:
           ind: 4,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAABwAAAAAABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAABwAAAAAEeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAABwAAAAAABwAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAABwAAAAACBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         3,0:
           ind: 3,0
@@ -261,7 +261,7 @@ entities:
           version: 6
         -5,-1:
           ind: -5,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAABwAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAA
           version: 6
         -5,0:
           ind: -5,0
@@ -831,6 +831,68 @@ entities:
             id: Bushn1
           decals:
             53: 7.034272,20.954395
+        - node:
+            color: '#2B7F0993'
+            id: CheckerNESW
+          decals:
+            2189: -6,9
+            2190: -5,9
+            2191: -5,10
+            2192: -5,11
+            2193: -4,11
+            2194: -3,11
+            2195: -2,11
+            2196: -1,11
+            2197: -1,10
+            2198: -1,9
+            2199: 0,9
+            2200: 0,8
+            2201: 0,7
+            2202: 0,6
+            2203: 0,5
+            2204: 0,4
+            2205: 0,3
+            2206: 0,2
+            2207: 1,2
+            2208: 2,2
+            2209: 3,2
+            2210: 3,3
+            2211: 2,3
+            2212: 1,3
+            2213: 0,1
+            2214: 0,0
+            2215: 0,-1
+            2216: 0,-2
+            2217: 0,-3
+            2218: 0,-4
+            2219: 0,-5
+            2220: 0,-6
+            2221: 0,-7
+            2222: 0,-8
+            2223: -1,-8
+            2224: -1,-9
+            2225: -2,-9
+            2226: -3,-9
+            2227: -4,-9
+            2228: -5,-9
+            2229: -5,-8
+            2230: -6,-8
+            2231: -6,-7
+            2232: -6,-6
+            2233: -6,-5
+            2234: -6,-4
+            2235: -6,-3
+            2236: -6,-2
+            2237: -6,-1
+            2238: -6,0
+            2239: -6,1
+            2240: -6,2
+            2241: -6,3
+            2242: -6,4
+            2243: -6,5
+            2244: -6,6
+            2245: -6,7
+            2246: -6,8
         - node:
             color: '#52B4E996'
             id: CheckerNESW
@@ -1035,6 +1097,10 @@ entities:
             2121: -50,0
             2125: -48,6
             2127: -57,0
+            2265: 23,-3
+            2266: 23,-4
+            2267: 14,-3
+            2268: 14,-4
         - node:
             angle: 1.5707963267948966 rad
             color: '#FFFFFFFF'
@@ -1148,7 +1214,6 @@ entities:
             839: -23,8
             840: -25,7
             841: -23,13
-            842: 0,-19
             843: -6,-28
             844: -6,-33
             845: -11,-38
@@ -1799,6 +1864,15 @@ entities:
             1746: -35,3
             1747: -34,3
             1898: 26,13
+        - node:
+            color: '#2E820993'
+            id: QuarterTileOverlayGreyscale
+          decals:
+            2285: 0,-20
+            2286: 0,-19
+            2287: 0,-18
+            2288: 0,-17
+            2289: 0,-16
         - node:
             color: '#334E6DC8'
             id: QuarterTileOverlayGreyscale
@@ -1929,12 +2003,6 @@ entities:
             1449: 9,-12
             1450: 10,-12
             1451: 11,-12
-            1452: 0,-16
-            1453: 0,-17
-            1454: 0,-18
-            1455: 0,-19
-            1456: 0,-20
-            1457: 0,-21
             1458: 0,-22
             1459: -1,-22
             1460: -2,-22
@@ -1945,6 +2013,14 @@ entities:
             1512: -8,-35
             1516: -4,-35
             1517: -5,-35
+            2271: 24,-8
+            2272: 24,-7
+            2273: 24,-6
+            2274: 24,-5
+            2275: 24,-2
+            2276: 24,-1
+            2277: 24,0
+            2303: 0,-21
         - node:
             color: '#D4D4D496'
             id: QuarterTileOverlayGreyscale
@@ -1957,6 +2033,13 @@ entities:
             1316: -12,-40
             1317: -12,-39
             1318: -12,-38
+            2258: 21,-3
+            2259: 20,-3
+            2260: 19,-3
+            2261: 18,-3
+            2262: 17,-3
+            2263: 16,-3
+            2270: 22,-3
         - node:
             color: '#DE3A3A96'
             id: QuarterTileOverlayGreyscale
@@ -1989,6 +2072,15 @@ entities:
             628: -21,10
             680: -29,5
             682: -31,3
+        - node:
+            color: '#2E820993'
+            id: QuarterTileOverlayGreyscale180
+          decals:
+            2279: -6,-20
+            2280: -6,-19
+            2281: -6,-18
+            2282: -6,-17
+            2283: -6,-16
         - node:
             color: '#334E6DC8'
             id: QuarterTileOverlayGreyscale180
@@ -2094,6 +2186,13 @@ entities:
             1331: -11,-52
             1332: -11,-51
             1333: -11,-50
+            2248: 16,-4
+            2249: 17,-4
+            2250: 18,-4
+            2251: 19,-4
+            2252: 20,-4
+            2253: 21,-4
+            2269: 15,-4
         - node:
             color: '#DE3A3A96'
             id: QuarterTileOverlayGreyscale180
@@ -2159,13 +2258,6 @@ entities:
             177: 16,13
             178: 15,13
             179: 14,13
-            278: 24,-8
-            279: 24,-6
-            280: 24,-4
-            281: 22,-4
-            282: 20,-4
-            283: 18,-4
-            284: 16,-4
         - node:
             color: '#BAFF79B4'
             id: QuarterTileOverlayGreyscale270
@@ -2256,8 +2348,6 @@ entities:
             color: '#DE3A3A96'
             id: QuarterTileOverlayGreyscale270
           decals:
-            308: 24,-2
-            309: 24,0
             531: -27,16
             532: -27,19
             542: -32,10
@@ -2279,6 +2369,15 @@ entities:
             758: -38,-9
             2001: -47,-3
             2002: -47,-4
+        - node:
+            color: '#F53A3A93'
+            id: QuarterTileOverlayGreyscale270
+          decals:
+            2297: 0,-20
+            2298: 0,-19
+            2299: 0,-18
+            2300: 0,-17
+            2301: 0,-16
         - node:
             color: '#334E6DC8'
             id: QuarterTileOverlayGreyscale90
@@ -2383,15 +2482,10 @@ entities:
             1461: -4,-22
             1462: -5,-22
             1463: -6,-22
-            1464: -6,-21
-            1465: -6,-20
-            1466: -6,-19
-            1467: -6,-18
-            1468: -6,-17
-            1469: -6,-16
             1513: 2,-35
             1514: -1,-35
             1515: -2,-35
+            2302: -6,-21
         - node:
             color: '#D4D4D496'
             id: QuarterTileOverlayGreyscale90
@@ -2436,12 +2530,6 @@ entities:
             299: 28,0
             300: 29,0
             301: 30,0
-            302: 23,-3
-            303: 21,-3
-            304: 19,-3
-            305: 17,-3
-            306: 15,-3
-            307: 25,-1
             529: -26,20
             530: -26,17
             538: -29,12
@@ -2466,6 +2554,15 @@ entities:
             787: -32,-1
             788: -31,-1
             789: -30,-1
+        - node:
+            color: '#F53A3A93'
+            id: QuarterTileOverlayGreyscale90
+          decals:
+            2290: -6,-16
+            2291: -6,-17
+            2292: -6,-18
+            2293: -6,-19
+            2294: -6,-20
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -4648,13 +4745,9 @@ entities:
   - uid: 6692
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -25.5,-29.5
+      rot: -1.5707963267948966 rad
+      pos: -23.5,-26.5
       parent: 4812
-    - type: DeviceList
-      devices:
-      - 6253
-      - 5033
   - uid: 7234
     components:
     - type: Transform
@@ -6489,6 +6582,11 @@ entities:
       parent: 4812
 - proto: AirlockGlass
   entities:
+  - uid: 153
+    components:
+    - type: Transform
+      pos: 14.5,-2.5
+      parent: 4812
   - uid: 333
     components:
     - type: Transform
@@ -6539,11 +6637,6 @@ entities:
     - type: Transform
       pos: 14.5,-3.5
       parent: 4812
-  - uid: 4379
-    components:
-    - type: Transform
-      pos: 14.5,-2.5
-      parent: 4812
   - uid: 4714
     components:
     - type: Transform
@@ -27844,6 +27937,16 @@ entities:
     - type: Transform
       pos: -8.5,4.5
       parent: 4812
+  - uid: 2924
+    components:
+    - type: Transform
+      pos: -2.5,-15.5
+      parent: 4812
+  - uid: 2926
+    components:
+    - type: Transform
+      pos: -3.5,-15.5
+      parent: 4812
   - uid: 5377
     components:
     - type: Transform
@@ -27959,6 +28062,41 @@ entities:
     - type: Transform
       pos: -29.5,-39.5
       parent: 4812
+  - uid: 13710
+    components:
+    - type: Transform
+      pos: -1.5,-15.5
+      parent: 4812
+  - uid: 13718
+    components:
+    - type: Transform
+      pos: -2.5,-0.5
+      parent: 4812
+  - uid: 13719
+    components:
+    - type: Transform
+      pos: -3.5,0.5
+      parent: 4812
+  - uid: 13720
+    components:
+    - type: Transform
+      pos: -3.5,-0.5
+      parent: 4812
+  - uid: 13721
+    components:
+    - type: Transform
+      pos: -2.5,0.5
+      parent: 4812
+  - uid: 13722
+    components:
+    - type: Transform
+      pos: -1.5,0.5
+      parent: 4812
+  - uid: 13723
+    components:
+    - type: Transform
+      pos: -1.5,-0.5
+      parent: 4812
 - proto: CarpetBlack
   entities:
   - uid: 11360
@@ -30460,6 +30598,18 @@ entities:
       rot: 3.141592653589793 rad
       pos: -44.5,2.5
       parent: 4812
+  - uid: 13737
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -25.5,19.5
+      parent: 4812
+  - uid: 13738
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -25.5,16.5
+      parent: 4812
 - proto: ChairOfficeDark
   entities:
   - uid: 310
@@ -32971,6 +33121,33 @@ entities:
     - type: Transform
       pos: 37.580452,-32.58558
       parent: 4812
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 13729
+    components:
+    - type: Transform
+      pos: -31.658846,17.553913
+      parent: 4812
+  - uid: 13730
+    components:
+    - type: Transform
+      pos: -31.568567,17.58866
+      parent: 4812
+  - uid: 13731
+    components:
+    - type: Transform
+      pos: -31.47829,17.616457
+      parent: 4812
+  - uid: 13732
+    components:
+    - type: Transform
+      pos: -31.35329,17.658152
+      parent: 4812
+  - uid: 13733
+    components:
+    - type: Transform
+      pos: -31.269957,17.706797
+      parent: 4812
 - proto: ClothingOuterSuitEmergency
   entities:
   - uid: 11671
@@ -33270,16 +33447,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 9.5,-17.5
       parent: 4812
-  - uid: 6392
-    components:
-    - type: Transform
-      pos: -3.5,-15.5
-      parent: 4812
-  - uid: 6393
-    components:
-    - type: Transform
-      pos: -1.5,-15.5
-      parent: 4812
   - uid: 6394
     components:
     - type: Transform
@@ -34400,6 +34567,12 @@ entities:
       parent: 4812
 - proto: CryogenicSleepUnit
   entities:
+  - uid: 2578
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,31.5
+      parent: 4812
   - uid: 10854
     components:
     - type: Transform
@@ -34465,6 +34638,13 @@ entities:
     - type: Transform
       pos: -9.581426,-1.3989067
       parent: 4812
+- proto: DecoratedFirTree
+  entities:
+  - uid: 13717
+    components:
+    - type: Transform
+      pos: -2.5,0.5
+      parent: 4812
 - proto: DefaultStationBeaconAICore
   entities:
   - uid: 12477
@@ -37940,6 +38120,13 @@ entities:
     - type: Transform
       pos: -5.405396,24.535454
       parent: 4812
+- proto: DrinkGlassWhite
+  entities:
+  - uid: 13714
+    components:
+    - type: Transform
+      pos: 1.2934761,-1.34864
+      parent: 4812
 - proto: DrinkGoldenCup
   entities:
   - uid: 2713
@@ -38123,6 +38310,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: -3.5,22.5
       parent: 4812
+  - uid: 9479
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 8.5,-12.5
+      parent: 4812
   - uid: 9492
     components:
     - type: Transform
@@ -38146,6 +38339,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -20.5,-21.5
       parent: 4812
+  - uid: 10974
+    components:
+    - type: Transform
+      pos: -20.5,-11.5
+      parent: 4812
   - uid: 12093
     components:
     - type: Transform
@@ -38285,6 +38483,17 @@ entities:
       rot: 3.141592653589793 rad
       pos: -37.5,10.5
       parent: 4812
+  - uid: 13734
+    components:
+    - type: Transform
+      pos: -14.5,-5.5
+      parent: 4812
+  - uid: 13736
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -12.5,-14.5
+      parent: 4812
 - proto: EncryptionKeyCargo
   entities:
   - uid: 4992
@@ -38444,6 +38653,11 @@ entities:
     - type: Transform
       pos: -40.5,7.5
       parent: 4812
+  - uid: 13749
+    components:
+    - type: Transform
+      pos: 10.5,-6.5
+      parent: 4812
 - proto: FaxMachineBase
   entities:
   - uid: 2493
@@ -40622,6 +40836,13 @@ entities:
     - type: Transform
       pos: -35.581154,26.517508
       parent: 4812
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 13709
+    components:
+    - type: Transform
+      pos: -2.5,-16.5
+      parent: 4812
 - proto: FlyAmanitaSeeds
   entities:
   - uid: 9620
@@ -40629,6 +40850,27 @@ entities:
     - type: Transform
       pos: -43.497864,-29.674786
       parent: 4812
+- proto: FoodBakedCookie
+  entities:
+  - uid: 13713
+    components:
+    - type: Transform
+      pos: 1.2622261,-1.7134762
+      parent: 4812
+- proto: FoodBakedCookieRaisin
+  entities:
+  - uid: 13715
+    components:
+    - type: Transform
+      pos: 1.6580591,-1.6509328
+      parent: 4812
+- proto: FoodBakedCookieSugar
+  entities:
+  - uid: 13716
+    components:
+    - type: Transform
+      pos: 1.4601426,-1.5571182
+      parent: 4812
 - proto: FoodBanana
   entities:
   - uid: 1708
@@ -40787,6 +41029,13 @@ entities:
     - type: Transform
       pos: -43.00348,-7.268787
       parent: 4812
+- proto: FoodPlate
+  entities:
+  - uid: 13712
+    components:
+    - type: Transform
+      pos: 1.5,-1.5
+      parent: 4812
 - proto: FoodPlateTrash
   entities:
   - uid: 11241
@@ -41818,6 +42067,22 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#947507FF'
+  - uid: 13739
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -55.5,3.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 13740
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -51.5,3.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
 - proto: GasPipeFourway
   entities:
   - uid: 402
@@ -41897,6 +42162,13 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#FF1212FF'
+  - uid: 4081
+    components:
+    - type: Transform
+      pos: -51.5,4.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
   - uid: 5086
     components:
     - type: Transform
@@ -45340,6 +45612,14 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#990000FF'
+  - uid: 2929
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -56.5,5.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
   - uid: 2943
     components:
     - type: Transform
@@ -45969,6 +46249,14 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#0055CCFF'
+  - uid: 4082
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -55.5,5.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
   - uid: 4144
     components:
     - type: Transform
@@ -52024,11 +52312,19 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#03FCD3FF'
-  - uid: 13549
+  - uid: 13741
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: -52.5,5.5
+      pos: -52.5,3.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
+  - uid: 13742
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -53.5,3.5
       parent: 4812
     - type: AtmosPipeColor
       color: '#947507FF'
@@ -52734,6 +53030,13 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#990000FF'
+  - uid: 2928
+    components:
+    - type: Transform
+      pos: -55.5,4.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
   - uid: 2972
     components:
     - type: Transform
@@ -53602,21 +53905,6 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#990000FF'
-  - uid: 9311
-    components:
-    - type: Transform
-      pos: -55.5,5.5
-      parent: 4812
-    - type: AtmosPipeColor
-      color: '#947507FF'
-  - uid: 9320
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -55.5,4.5
-      parent: 4812
-    - type: AtmosPipeColor
-      color: '#947507FF'
   - uid: 9528
     components:
     - type: Transform
@@ -53763,14 +54051,6 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#0055CCFF'
-  - uid: 13425
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -51.5,4.5
-      parent: 4812
-    - type: AtmosPipeColor
-      color: '#947507FF'
   - uid: 13445
     components:
     - type: Transform
@@ -54069,6 +54349,14 @@ entities:
       parent: 4812
 - proto: GasValve
   entities:
+  - uid: 2927
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -52.5,5.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
   - uid: 5591
     components:
     - type: Transform
@@ -54089,16 +54377,6 @@ entities:
       parent: 4812
     - type: GasValve
       open: False
-  - uid: 9328
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -56.5,5.5
-      parent: 4812
-    - type: GasValve
-      open: False
-    - type: AtmosPipeColor
-      color: '#947507FF'
   - uid: 9924
     components:
     - type: Transform
@@ -54551,9 +54829,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -24.5,-27.5
       parent: 4812
-    - type: DeviceNetwork
-      deviceLists:
-      - 6692
     - type: AtmosPipeColor
       color: '#0055CCFF'
   - uid: 5222
@@ -55496,9 +55771,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -26.5,-26.5
       parent: 4812
-    - type: DeviceNetwork
-      deviceLists:
-      - 6692
     - type: AtmosPipeColor
       color: '#990000FF'
   - uid: 6417
@@ -55948,6 +56220,14 @@ entities:
       parent: 4812
     - type: AtmosPipeColor
       color: '#947507FF'
+  - uid: 13743
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -54.5,3.5
+      parent: 4812
+    - type: AtmosPipeColor
+      color: '#947507FF'
 - proto: GeneratorBasic15kW
   entities:
   - uid: 1729
@@ -59888,6 +60168,16 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -32.5,16.5
       parent: 4812
+  - uid: 13745
+    components:
+    - type: Transform
+      pos: 19.5,-4.5
+      parent: 4812
+  - uid: 13746
+    components:
+    - type: Transform
+      pos: 17.5,-4.5
+      parent: 4812
 - proto: GrilleBroken
   entities:
   - uid: 1544
@@ -60378,21 +60668,6 @@ entities:
       parent: 4812
 - proto: hydroponicsSoil
   entities:
-  - uid: 8385
-    components:
-    - type: Transform
-      pos: -32.5,29.5
-      parent: 4812
-  - uid: 8386
-    components:
-    - type: Transform
-      pos: -32.5,30.5
-      parent: 4812
-  - uid: 8387
-    components:
-    - type: Transform
-      pos: -32.5,31.5
-      parent: 4812
   - uid: 9610
     components:
     - type: Transform
@@ -60555,6 +60830,24 @@ entities:
     - type: Transform
       pos: -16.5,-5.5
       parent: 4812
+  - uid: 4379
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -32.5,31.5
+      parent: 4812
+  - uid: 4470
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -32.5,30.5
+      parent: 4812
+  - uid: 6391
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -32.5,29.5
+      parent: 4812
 - proto: IDComputerCircuitboard
   entities:
   - uid: 8335
@@ -60705,6 +60998,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 26.5,-4.5
       parent: 4812
+  - uid: 13750
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 10.5,8.5
+      parent: 4812
 - proto: IntercomEngineering
   entities:
   - uid: 9468
@@ -61388,29 +61687,6 @@ entities:
         - 0
 - proto: LockerElectricalSuppliesFilled
   entities:
-  - uid: 2578
-    components:
-    - type: Transform
-      pos: 5.5,31.5
-      parent: 4812
-    - type: EntityStorage
-      air:
-        volume: 200
-        immutable: False
-        temperature: 293.14957
-        moles:
-        - 1.6033952
-        - 6.031821
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
   - uid: 4491
     components:
     - type: Transform
@@ -63651,6 +63927,14 @@ entities:
     - type: Transform
       pos: -27.5,-5.5
       parent: 4812
+- proto: PosterLegitSafetyMothSSD
+  entities:
+  - uid: 13751
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 10.5,-1.5
+      parent: 4812
 - proto: PosterLegitScience
   entities:
   - uid: 6367
@@ -63910,14 +64194,6 @@ entities:
     - type: ContainerContainer
       containers:
         stash: !type:ContainerSlot {}
-  - uid: 6391
-    components:
-    - type: Transform
-      pos: -2.5,-15.5
-      parent: 4812
-    - type: ContainerContainer
-      containers:
-        stash: !type:ContainerSlot {}
   - uid: 6438
     components:
     - type: Transform
@@ -64557,14 +64833,6 @@ entities:
       parent: 4812
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 4470
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 11.5,-5.5
-      parent: 4812
-    - type: ApcPowerReceiver
-      powerLoad: 0
   - uid: 4471
     components:
     - type: Transform
@@ -64829,6 +65097,11 @@ entities:
       parent: 4812
     - type: ApcPowerReceiver
       powerLoad: 0
+  - uid: 6491
+    components:
+    - type: Transform
+      pos: -35.5,22.5
+      parent: 4812
   - uid: 6778
     components:
     - type: Transform
@@ -65025,11 +65298,6 @@ entities:
       parent: 4812
     - type: ApcPowerReceiver
       powerLoad: 0
-  - uid: 8359
-    components:
-    - type: Transform
-      pos: -35.5,22.5
-      parent: 4812
   - uid: 8603
     components:
     - type: Transform
@@ -65446,6 +65714,18 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -31.5,17.5
       parent: 4812
+  - uid: 13755
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 11.5,-2.5
+      parent: 4812
+  - uid: 13756
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 13.5,-8.5
+      parent: 4812
 - proto: PoweredlightEmpty
   entities:
   - uid: 11249
@@ -66260,6 +66540,33 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -50.5,-1.5
       parent: 4812
+- proto: PresentRandom
+  entities:
+  - uid: 6392
+    components:
+    - type: Transform
+      pos: -3.5,-16.5
+      parent: 4812
+  - uid: 13711
+    components:
+    - type: Transform
+      pos: -1.5,-16.5
+      parent: 4812
+  - uid: 13724
+    components:
+    - type: Transform
+      pos: -3.5,-0.5
+      parent: 4812
+  - uid: 13725
+    components:
+    - type: Transform
+      pos: -1.5,-0.5
+      parent: 4812
+  - uid: 13744
+    components:
+    - type: Transform
+      pos: -3.5,26.5
+      parent: 4812
 - proto: Protolathe
   entities:
   - uid: 6182
@@ -66512,6 +66819,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 29.5,16.5
       parent: 4812
+  - uid: 13726
+    components:
+    - type: Transform
+      pos: -31.5,17.5
+      parent: 4812
 - proto: RadioHandheld
   entities:
   - uid: 4582
@@ -66916,6 +67228,12 @@ entities:
     - type: Transform
       pos: 15.5,-4.5
       parent: 4812
+  - uid: 6393
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,-4.5
+      parent: 4812
   - uid: 6489
     components:
     - type: Transform
@@ -66926,11 +67244,6 @@ entities:
     - type: Transform
       pos: 5.5,-10.5
       parent: 4812
-  - uid: 6491
-    components:
-    - type: Transform
-      pos: 10.5,-3.5
-      parent: 4812
   - uid: 9509
     components:
     - type: Transform
@@ -66959,6 +67272,11 @@ entities:
     - type: Transform
       pos: 34.5,-0.5
       parent: 4812
+  - uid: 13748
+    components:
+    - type: Transform
+      pos: 10.5,10.5
+      parent: 4812
 - proto: RandomSoap
   entities:
   - uid: 1754
@@ -69388,6 +69706,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -50.5,7.5
       parent: 4812
+  - uid: 12574
+    components:
+    - type: Transform
+      pos: 17.5,-4.5
+      parent: 4812
   - uid: 12657
     components:
     - type: Transform
@@ -69669,6 +69992,11 @@ entities:
     - type: Transform
       pos: 35.5,-5.5
       parent: 4812
+  - uid: 13425
+    components:
+    - type: Transform
+      pos: 19.5,-4.5
+      parent: 4812
   - uid: 13476
     components:
     - type: Transform
@@ -69877,11 +70205,6 @@ entities:
     - type: Transform
       pos: -12.5,-37.5
       parent: 4812
-  - uid: 12574
-    components:
-    - type: Transform
-      pos: 19.5,-1.5
-      parent: 4812
   - uid: 12575
     components:
     - type: Transform
@@ -69897,6 +70220,12 @@ entities:
     - type: Transform
       pos: 32.5,0.5
       parent: 4812
+  - uid: 13549
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,-3.5
+      parent: 4812
 - proto: SecurityTechFab
   entities:
   - uid: 10945
@@ -70384,6 +70713,12 @@ entities:
     - type: Transform
       pos: 11.5,47.5
       parent: 4812
+  - uid: 13757
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 7.5,32.5
+      parent: 4812
 - proto: SignalButton
   entities:
   - uid: 712
@@ -70727,12 +71062,6 @@ entities:
       parent: 4812
 - proto: SignDirectionalBridge
   entities:
-  - uid: 2928
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 1.4962993,18.70066
-      parent: 4812
   - uid: 3346
     components:
     - type: Transform
@@ -70753,12 +71082,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -5.4997582,-10.299582
       parent: 4812
-  - uid: 2926
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -6.493349,18.685036
-      parent: 4812
   - uid: 5279
     components:
     - type: Transform
@@ -70776,6 +71099,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -27.507013,-4.2984185
       parent: 4812
+  - uid: 9320
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -6.5007553,18.686073
+      parent: 4812
 - proto: SignDirectionalEvac
   entities:
   - uid: 1468
@@ -70790,6 +71119,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: 2.5034294,-33.300663
       parent: 4812
+  - uid: 8386
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 1.5008216,18.689163
+      parent: 4812
   - uid: 13179
     components:
     - type: Transform
@@ -70801,6 +71136,12 @@ entities:
     - type: Transform
       pos: 10.500242,18.291374
       parent: 4812
+  - uid: 13753
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 13.498532,-10.313093
+      parent: 4812
 - proto: SignDirectionalHop
   entities:
   - uid: 12369
@@ -70830,22 +71171,33 @@ entities:
     - type: Transform
       pos: -5.504419,-10.705832
       parent: 4812
-  - uid: 2927
-    components:
-    - type: Transform
-      pos: -6.493349,18.29441
-      parent: 4812
   - uid: 5280
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -7.4988046,-33.706913
       parent: 4812
+  - uid: 8441
+    components:
+    - type: Transform
+      pos: -6.5007553,18.312357
+      parent: 4812
   - uid: 8693
     components:
     - type: Transform
       pos: -27.507013,-4.7046685
       parent: 4812
+  - uid: 13752
+    components:
+    - type: Transform
+      pos: 14.50098,-1.6919532
+      parent: 4812
+  - uid: 13754
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 13.498532,-10.692987
+      parent: 4812
 - proto: SignDirectionalSci
   entities:
   - uid: 1469
@@ -70853,11 +71205,6 @@ entities:
     - type: Transform
       pos: 0.49738908,-10.690207
       parent: 4812
-  - uid: 2929
-    components:
-    - type: Transform
-      pos: 1.4962993,18.278786
-      parent: 4812
   - uid: 3347
     components:
     - type: Transform
@@ -70869,6 +71216,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 2.5034294,-33.706913
       parent: 4812
+  - uid: 9311
+    components:
+    - type: Transform
+      pos: 1.5008216,18.306181
+      parent: 4812
 - proto: SignDirectionalSec
   entities:
   - uid: 1464
@@ -70877,12 +71229,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -5.5,-10.5
       parent: 4812
-  - uid: 2924
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -6.5,18.5
-      parent: 4812
   - uid: 5277
     components:
     - type: Transform
@@ -70895,6 +71241,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -24.5,15.5
       parent: 4812
+  - uid: 8387
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -6.5,18.5
+      parent: 4812
   - uid: 8692
     components:
     - type: Transform
@@ -70933,6 +71285,12 @@ entities:
       rot: 3.141592653589793 rad
       pos: 2.5,-33.5
       parent: 4812
+  - uid: 8385
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 14.504066,-1.3089712
+      parent: 4812
 - proto: SignDisposalSpace
   entities:
   - uid: 6779
@@ -72696,18 +73054,28 @@ entities:
     - type: Transform
       pos: -34.5,11.5
       parent: 4812
-- proto: SpawnPointSecurityOfficer
-  entities:
-  - uid: 8441
+  - uid: 9328
     components:
     - type: Transform
       pos: -35.5,11.5
       parent: 4812
+- proto: SpawnPointSecurityOfficer
+  entities:
   - uid: 8442
     components:
     - type: Transform
       pos: -36.5,11.5
       parent: 4812
+  - uid: 13727
+    components:
+    - type: Transform
+      pos: -37.5,11.5
+      parent: 4812
+  - uid: 13728
+    components:
+    - type: Transform
+      pos: -38.5,11.5
+      parent: 4812
 - proto: SpawnPointServiceWorker
   entities:
   - uid: 12386
@@ -72825,6 +73193,12 @@ entities:
     - type: Transform
       pos: 61.5,-0.5
       parent: 4812
+  - uid: 13747
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 10.5,-7.5
+      parent: 4812
 - proto: Stool
   entities:
   - uid: 1752
@@ -73638,14 +74012,6 @@ entities:
       parent: 4812
     - type: SurveillanceCamera
       id: EVAC Hallway
-  - uid: 9479
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 33.5,-5.5
-      parent: 4812
-    - type: SurveillanceCamera
-      id: EVAC Bar
   - uid: 9483
     components:
     - type: Transform
@@ -74160,14 +74526,6 @@ entities:
       id: Anomaly Generator
 - proto: SurveillanceCameraSecurity
   entities:
-  - uid: 10974
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -35.5,22.5
-      parent: 4812
-    - type: SurveillanceCamera
-      id: Armory
   - uid: 12059
     components:
     - type: Transform
@@ -74303,6 +74661,14 @@ entities:
       - SurveillanceCameraSecurity
       nameSet: True
       id: Perma Cell 2
+  - uid: 13735
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -37.5,21.5
+      parent: 4812
+    - type: SurveillanceCamera
+      id: Armory
 - proto: SurveillanceCameraService
   entities:
   - uid: 12546
@@ -78881,16 +79247,6 @@ entities:
     - type: Transform
       pos: 38.5,-4.5
       parent: 4812
-  - uid: 4081
-    components:
-    - type: Transform
-      pos: 17.5,-4.5
-      parent: 4812
-  - uid: 4082
-    components:
-    - type: Transform
-      pos: 19.5,-4.5
-      parent: 4812
   - uid: 4083
     components:
     - type: Transform
@@ -83298,11 +83654,6 @@ entities:
     - type: Transform
       pos: 10.5,-4.5
       parent: 4812
-  - uid: 153
-    components:
-    - type: Transform
-      pos: 10.5,-3.5
-      parent: 4812
   - uid: 154
     components:
     - type: Transform
@@ -85248,6 +85599,12 @@ entities:
     - type: Transform
       pos: -20.5,28.5
       parent: 4812
+  - uid: 8359
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 10.5,-3.5
+      parent: 4812
   - uid: 8457
     components:
     - type: Transform

From c7f83523ef5cc4119dc7e1073fa041129f7e7b37 Mon Sep 17 00:00:00 2001
From: Spanky <scott@wearejacob.com>
Date: Sun, 17 Nov 2024 01:35:57 -0500
Subject: [PATCH 132/187] Packed Update (Christmas Edition) (#33356)

Christmasified Packed station.
---
 Resources/Maps/packed.yml | 1030 +++++++++++++++++++++++++++++--------
 1 file changed, 808 insertions(+), 222 deletions(-)

diff --git a/Resources/Maps/packed.yml b/Resources/Maps/packed.yml
index 5ad509170dd..9def0c32c10 100644
--- a/Resources/Maps/packed.yml
+++ b/Resources/Maps/packed.yml
@@ -47,71 +47,71 @@ entities:
       chunks:
         -1,-1:
           ind: -1,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAACewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAADewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAABWwAAAAAAewAAAAAAeAAAAAADeAAAAAABeAAAAAACewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACewAAAAAAeAAAAAADeAAAAAAAeAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAABHQAAAAACeAAAAAADeAAAAAABeAAAAAABeAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAADWwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADewAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADewAAAAAAWwAAAAACWwAAAAACWwAAAAACWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAAC
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAADewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAADWwAAAAABWwAAAAADewAAAAAAeAAAAAADeAAAAAABeAAAAAABewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACewAAAAAAeAAAAAADeAAAAAACeAAAAAADewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAADHQAAAAADeAAAAAAAeAAAAAADeAAAAAABeAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADewAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAADewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAABWwAAAAABWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAADWwAAAAABWwAAAAADWwAAAAADWwAAAAADWwAAAAADWwAAAAADWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAACWwAAAAACWwAAAAAB
           version: 6
         -1,0:
           ind: -1,0
-          tiles: WwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAACewAAAAAAWwAAAAACWwAAAAABWwAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAWwAAAAACewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAA
+          tiles: WwAAAAAAWwAAAAACWwAAAAADWwAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAABWwAAAAADewAAAAAAWwAAAAABWwAAAAABWwAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACewAAAAAAWwAAAAABewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAA
           version: 6
         0,0:
           ind: 0,0
-          tiles: WwAAAAAAWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAABegAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAADewAAAAAAeAAAAAAAeAAAAAACeAAAAAABeAAAAAABeAAAAAADeAAAAAACewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAADewAAAAAAeAAAAAAAeAAAAAADeAAAAAAAeAAAAAABeAAAAAACeAAAAAABewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAABewAAAAAAeAAAAAABeAAAAAAAeAAAAAACeAAAAAABeAAAAAABeAAAAAADawAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAeAAAAAABeAAAAAADeAAAAAADeAAAAAAAeAAAAAADewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAAAWwAAAAACewAAAAAAeAAAAAADeAAAAAABeAAAAAADeAAAAAACeAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAABewAAAAAAewAAAAAAHQAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAADWwAAAAAAWwAAAAADWwAAAAABAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAABewAAAAAALAAAAAAAUAAAAAAALAAAAAAAUAAAAAAALAAAAAAAewAAAAAAeAAAAAADeAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAACewAAAAAALAAAAAAAUAAAAAAALAAAAAAALAAAAAAAUAAAAAAAewAAAAAAeAAAAAABeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAeAAAAAAAeAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAeAAAAAADeAAAAAAA
+          tiles: WwAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAABWwAAAAABWwAAAAACWwAAAAACWwAAAAACWwAAAAACWwAAAAADegAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAACewAAAAAAeAAAAAABeAAAAAABeAAAAAACeAAAAAABeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAADewAAAAAAeAAAAAADeAAAAAADeAAAAAACeAAAAAADeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAACewAAAAAAeAAAAAACeAAAAAACeAAAAAADeAAAAAADeAAAAAABeAAAAAABawAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAACewAAAAAAeAAAAAABeAAAAAACeAAAAAAAeAAAAAACeAAAAAABewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAABewAAAAAAeAAAAAADeAAAAAABeAAAAAADeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAewAAAAAAHQAAAAADewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAACAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAABWwAAAAABWwAAAAADWwAAAAADWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAABWwAAAAABewAAAAAALAAAAAAAUAAAAAAALAAAAAAAUAAAAAAALAAAAAAAewAAAAAAeAAAAAABeAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAAAWwAAAAADewAAAAAALAAAAAAAUAAAAAAALAAAAAAALAAAAAAAUAAAAAAAewAAAAAAeAAAAAACeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAeAAAAAACeAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAeAAAAAAAeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAeAAAAAAAeAAAAAAD
           version: 6
         0,-1:
           ind: 0,-1
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAADHQAAAAACHQAAAAAAHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAHQAAAAADHQAAAAABHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAACHQAAAAADewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAABHQAAAAADHQAAAAADewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWwAAAAACHQAAAAADHQAAAAABHQAAAAAAHQAAAAADHQAAAAACewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAADewAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAADHQAAAAABewAAAAAAHQAAAAACHQAAAAAAawAAAAAAewAAAAAAewAAAAAAOgAAAAAAWwAAAAADWwAAAAABWwAAAAACewAAAAAAHQAAAAABHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAABewAAAAAAewAAAAAAewAAAAAAOgAAAAAAWwAAAAABWwAAAAACWwAAAAABewAAAAAAHQAAAAABHQAAAAADewAAAAAAWwAAAAADWwAAAAABHQAAAAAAHQAAAAAAHQAAAAACewAAAAAAawAAAAAAewAAAAAAewAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAADewAAAAAAWwAAAAADWwAAAAABewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAADWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAWwAAAAAB
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAACHQAAAAADHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAABHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAAAHQAAAAADHQAAAAADewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAADHQAAAAABewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWwAAAAADHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAABewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAABewAAAAAAHQAAAAADHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACewAAAAAAHQAAAAAAHQAAAAAAawAAAAAAewAAAAAAewAAAAAAOgAAAAAAWwAAAAAAWwAAAAADWwAAAAADewAAAAAAHQAAAAABHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAOgAAAAAAWwAAAAACWwAAAAABWwAAAAABewAAAAAAHQAAAAABHQAAAAADewAAAAAAWwAAAAADWwAAAAADHQAAAAAAHQAAAAABHQAAAAADewAAAAAAawAAAAAAewAAAAAAewAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAADewAAAAAAWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAADWwAAAAACWwAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAAAWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAAAWwAAAAAA
           version: 6
         -1,-2:
           ind: -1,-2
-          tiles: AAAAAAAAAAAAAAAAewAAAAAAegAAAAAAewAAAAAAAAAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAA
+          tiles: AAAAAAAAAAAAAAAAewAAAAAAegAAAAAAewAAAAAAAAAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAACWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAABWwAAAAABWwAAAAACewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAA
           version: 6
         0,-2:
           ind: 0,-2
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAACegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAABegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAADegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAABegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAagAAAAAAawAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAawAAAAAAawAAAAAAawAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAawAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAA
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAAAWwAAAAADegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAACegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAADegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAagAAAAAAawAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAawAAAAAAawAAAAAAawAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAawAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAA
           version: 6
         0,1:
           ind: 0,1
-          tiles: egAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAABWwAAAAADWwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAAAWwAAAAADWwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAABWwAAAAABewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAADWwAAAAADewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAAAawAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAIgAAAAAAIgAAAAAAIgAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAIgAAAAAAIgAAAAAAIgAAAAAAewAAAAAAewAAAAAA
+          tiles: egAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAABeAAAAAABeAAAAAAAeAAAAAABeAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAADeAAAAAABeAAAAAAAeAAAAAABeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAAAWwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAACWwAAAAAAWwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAACWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAADWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAAAWwAAAAACWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAACewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAACWwAAAAAAWwAAAAADWwAAAAABWwAAAAADawAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAABewAAAAAAHQAAAAAAHQAAAAAAHQAAAAACewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAADewAAAAAAIgAAAAAAIgAAAAABIgAAAAACewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAACewAAAAAAIgAAAAACIgAAAAADIgAAAAABewAAAAAAewAAAAAA
           version: 6
         1,0:
           ind: 1,0
-          tiles: WwAAAAABWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAACWwAAAAACWwAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAABWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAACewAAAAAAHQAAAAAAHQAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAABewAAAAAAPQAAAAAAbgAAAAADbgAAAAABPQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAABewAAAAAAPQAAAAAAbgAAAAACbgAAAAACPQAAAAAAawAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAABewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAPQAAAAAAbgAAAAADbgAAAAADPQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAABbgAAAAAAbgAAAAADewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAPQAAAAAAbgAAAAADbgAAAAABPQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAABbgAAAAACbgAAAAACewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACDgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAHQAAAAABWwAAAAADWwAAAAACWwAAAAADWwAAAAAADgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAACewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAACWwAAAAADWwAAAAABWwAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAABWwAAAAADWwAAAAABWwAAAAABWwAAAAACWwAAAAABeAAAAAADewAAAAAAWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAABWwAAAAACWwAAAAAAeAAAAAADeAAAAAACWwAAAAADWwAAAAACWwAAAAADWwAAAAAAWwAAAAABWwAAAAADewAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAB
+          tiles: WwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAABWwAAAAACWwAAAAABWwAAAAADWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAABWwAAAAACWwAAAAADWwAAAAAAWwAAAAABWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAABewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABewAAAAAAHQAAAAAAHQAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAABHQAAAAADewAAAAAAPQAAAAAAbgAAAAADbgAAAAABPQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAAAbgAAAAACbgAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAACewAAAAAAPQAAAAAAbgAAAAACbgAAAAAAPQAAAAAAawAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAACewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAPQAAAAAAbgAAAAADbgAAAAADPQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAABewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAPQAAAAAAbgAAAAACbgAAAAABPQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAACewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAACDgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAHQAAAAABWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABDgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAABewAAAAAAWwAAAAACWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADeAAAAAAAWwAAAAADWwAAAAADWwAAAAACWwAAAAABWwAAAAADWwAAAAABWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAACWwAAAAADWwAAAAADeAAAAAACewAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAAAWwAAAAACWwAAAAABeAAAAAADeAAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAABWwAAAAACewAAAAAAWwAAAAABWwAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAA
           version: 6
         1,-1:
           ind: 1,-1
-          tiles: ewAAAAAAewAAAAAAawAAAAAAbgAAAAABWwAAAAADWwAAAAACWwAAAAAAHQAAAAADewAAAAAAWwAAAAABWwAAAAADWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAADewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADewAAAAAAWwAAAAACWwAAAAABWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAADeAAAAAADHQAAAAACHQAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAADeAAAAAADHQAAAAAAHQAAAAADHQAAAAAAWwAAAAAAWwAAAAACWwAAAAAAewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAADeAAAAAABHQAAAAADHQAAAAADHQAAAAAAWwAAAAAAWwAAAAADWwAAAAABHQAAAAABLAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAADeAAAAAADHQAAAAABHQAAAAACewAAAAAAWwAAAAABWwAAAAACWwAAAAADewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAABewAAAAAAPgAAAAAAPgAAAAAADgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAADewAAAAAAPgAAAAAAPgAAAAAADgAAAAACHQAAAAADHQAAAAAAeAAAAAAAeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAACWwAAAAAADgAAAAAADgAAAAAADgAAAAAAHQAAAAACHQAAAAAAeAAAAAAAeAAAAAADeAAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAABWwAAAAABewAAAAAADgAAAAAADgAAAAAADgAAAAAAHQAAAAACHQAAAAABeAAAAAABeAAAAAACeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABewAAAAAADgAAAAACDgAAAAADDgAAAAADWwAAAAABewAAAAAAeAAAAAABeAAAAAABeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAACewAAAAAADgAAAAABDgAAAAADDgAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAADWwAAAAABWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAADWwAAAAAB
+          tiles: ewAAAAAAewAAAAAAawAAAAAAbgAAAAACWwAAAAABWwAAAAABWwAAAAABHQAAAAABewAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAACWwAAAAABWwAAAAABWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAADewAAAAAAWwAAAAAAWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADeAAAAAABeAAAAAABHQAAAAAAHQAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAABewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAABeAAAAAADHQAAAAABHQAAAAACHQAAAAACWwAAAAABWwAAAAADWwAAAAAAewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAADeAAAAAABHQAAAAAAHQAAAAADHQAAAAADWwAAAAABWwAAAAACWwAAAAAAHQAAAAABLAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAABeAAAAAADHQAAAAAAHQAAAAADewAAAAAAWwAAAAABWwAAAAACWwAAAAABewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAABewAAAAAAPgAAAAAAPgAAAAAADgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAPgAAAAAAPgAAAAAADgAAAAADHQAAAAAAHQAAAAADeAAAAAABeAAAAAADeAAAAAABewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAABWwAAAAAADgAAAAADDgAAAAACDgAAAAADHQAAAAABHQAAAAABeAAAAAADeAAAAAAAeAAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAACewAAAAAADgAAAAADDgAAAAABDgAAAAABHQAAAAABHQAAAAABeAAAAAAAeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAAAewAAAAAADgAAAAABDgAAAAAADgAAAAAAWwAAAAADewAAAAAAeAAAAAABeAAAAAADeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAAAewAAAAAADgAAAAACDgAAAAACDgAAAAACWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAABWwAAAAABWwAAAAACWwAAAAACWwAAAAACWwAAAAADWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAADWwAAAAAAWwAAAAAD
           version: 6
         1,-2:
           ind: 1,-2
-          tiles: awAAAAAAWwAAAAABWwAAAAADewAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAewAAAAAAWwAAAAAAWwAAAAABewAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAACWwAAAAACWwAAAAACWwAAAAAAagAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAACWwAAAAACWwAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAADewAAAAAAWwAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAADWwAAAAABWwAAAAABWwAAAAABWwAAAAADewAAAAAAewAAAAAAWwAAAAACewAAAAAAewAAAAAAWwAAAAAAagAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAAAWwAAAAAAWwAAAAADewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAACewAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAACWwAAAAAAagAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAACWwAAAAACWwAAAAACawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAAAHQAAAAACewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAewAAAAAAHQAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAADHQAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAawAAAAAAHQAAAAADewAAAAAAWwAAAAAAWwAAAAACWwAAAAACHQAAAAACHQAAAAAAWwAAAAADWwAAAAADWwAAAAABewAAAAAAWwAAAAACWwAAAAACWwAAAAADEQAAAAAAewAAAAAAHQAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAACHQAAAAADewAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAAA
+          tiles: awAAAAAAWwAAAAADWwAAAAABewAAAAAAZAAAAAADZAAAAAABZAAAAAABZAAAAAABZAAAAAADZAAAAAAAZAAAAAAAZAAAAAACZAAAAAABZAAAAAACZAAAAAABZAAAAAADewAAAAAAWwAAAAABWwAAAAADewAAAAAAZAAAAAAAZAAAAAABZAAAAAAAZAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAZAAAAAABZAAAAAABZAAAAAACewAAAAAAWwAAAAABWwAAAAAAewAAAAAAewAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAABWwAAAAABWwAAAAABWwAAAAACagAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAABWwAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAADewAAAAAAWwAAAAADagAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAADWwAAAAADewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAWwAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAAAWwAAAAADWwAAAAAAWwAAAAADewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAACewAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAAAWwAAAAACWwAAAAADWwAAAAABagAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAAAWwAAAAADWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAABWwAAAAAAWwAAAAACawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAACewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAACHQAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAewAAAAAAHQAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAADHQAAAAABewAAAAAAWwAAAAACWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAEQAAAAAAawAAAAAAHQAAAAACewAAAAAAWwAAAAACWwAAAAABWwAAAAABHQAAAAABHQAAAAABWwAAAAACWwAAAAADWwAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAABEQAAAAAAewAAAAAAHQAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAADHQAAAAADewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAAD
           version: 6
         0,-3:
           ind: 0,-3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAegAAAAAAewAAAAAAWwAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAHQAAAAAAegAAAAAAegAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAABHQAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAABewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAADWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAADewAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAABeAAAAAACeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAAAeAAAAAABeAAAAAABewAAAAAAewAAAAAAewAAAAAAagAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAeAAAAAACeAAAAAADeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAegAAAAAAewAAAAAAWwAAAAACegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAHQAAAAAAegAAAAAAegAAAAAAewAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAADHQAAAAADHQAAAAADHQAAAAABewAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAACewAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAACWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAABewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA
           version: 6
         1,-3:
           ind: 1,-3
-          tiles: AAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAABWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAACWwAAAAAAWwAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAABHQAAAAABewAAAAAAHQAAAAAAWwAAAAAAWwAAAAABewAAAAAAWwAAAAAAHQAAAAACewAAAAAAHQAAAAADWwAAAAAAewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAADHQAAAAABewAAAAAAHQAAAAACWwAAAAACWwAAAAADWwAAAAACWwAAAAAAHQAAAAABewAAAAAAHQAAAAACWwAAAAACewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAACewAAAAAAHQAAAAACWwAAAAADWwAAAAADHQAAAAAAWwAAAAAAHQAAAAABewAAAAAAHQAAAAABWwAAAAABHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAABHQAAAAABewAAAAAAHQAAAAACWwAAAAABWwAAAAACewAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAADWwAAAAADewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAAAWwAAAAACWwAAAAACWwAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAAAWwAAAAACWwAAAAABWwAAAAABWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAACWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAAAWwAAAAADewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAewAAAAAAewAAAAAAWwAAAAACewAAAAAAWwAAAAADWwAAAAADewAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAAZAAAAAAA
+          tiles: AAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAADHQAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAADWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAABewAAAAAAHQAAAAABWwAAAAAAWwAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACewAAAAAAHQAAAAABHQAAAAADewAAAAAAHQAAAAACHQAAAAADewAAAAAAHQAAAAAAWwAAAAABWwAAAAADewAAAAAAWwAAAAABHQAAAAACewAAAAAAHQAAAAACWwAAAAAAewAAAAAAHQAAAAACHQAAAAAAewAAAAAAHQAAAAACHQAAAAABewAAAAAAHQAAAAACWwAAAAACWwAAAAACWwAAAAACWwAAAAABHQAAAAAAewAAAAAAHQAAAAADWwAAAAADewAAAAAAHQAAAAACHQAAAAABewAAAAAAHQAAAAAAHQAAAAACewAAAAAAHQAAAAACWwAAAAAAWwAAAAACHQAAAAACWwAAAAABHQAAAAABewAAAAAAHQAAAAAAWwAAAAAAHQAAAAACHQAAAAACHQAAAAACewAAAAAAHQAAAAAAHQAAAAADewAAAAAAHQAAAAAAWwAAAAACWwAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAABewAAAAAAHQAAAAADHQAAAAACewAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAACWwAAAAACWwAAAAABWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAABWwAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAACWwAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAABWwAAAAADewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAZAAAAAADZAAAAAACZAAAAAADZAAAAAABZAAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAWwAAAAACWwAAAAAAewAAAAAAZAAAAAAAZAAAAAADZAAAAAACZAAAAAACZAAAAAACZAAAAAABZAAAAAACZAAAAAABZAAAAAACZAAAAAACZAAAAAADZAAAAAAD
           version: 6
         2,-2:
           ind: 2,-2
-          tiles: ZAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAZAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAHQAAAAADTQAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAA
+          tiles: ZAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAZAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAHQAAAAAATQAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAA
           version: 6
         2,-3:
           ind: 2,-3
-          tiles: ewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAATwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAHQAAAAACewAAAAAATwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAHQAAAAACewAAAAAATwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAACWwAAAAADWwAAAAABWwAAAAADWwAAAAADWwAAAAAAewAAAAAAHQAAAAABawAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAABWwAAAAAAWwAAAAABewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAADTwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAawAAAAAAawAAAAAAewAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAAewAAAAAAWwAAAAACewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAWwAAAAADewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAZAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAA
+          tiles: ewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAATwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAHQAAAAABewAAAAAATwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAATQAAAAAAHQAAAAADewAAAAAATwAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAABWwAAAAAAWwAAAAAAewAAAAAAHQAAAAADawAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADTwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAawAAAAAAawAAAAAAewAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAATwAAAAAAewAAAAAAWwAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAWwAAAAACewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAZAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAA
           version: 6
         1,1:
           ind: 1,1
-          tiles: eAAAAAAAewAAAAAAZQAAAAADewAAAAAAewAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAAAewAAAAAAWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAACewAAAAAAWwAAAAADWwAAAAACWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAABWwAAAAABewAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAADWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAACewAAAAAAWwAAAAABWwAAAAACewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAACWwAAAAADWwAAAAACWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAACewAAAAAAWwAAAAABWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAACWwAAAAABWwAAAAABWwAAAAADewAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAABWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAACWwAAAAADHQAAAAACHQAAAAADHQAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAAAWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADewAAAAAAHQAAAAADHQAAAAAAHQAAAAAAewAAAAAAeAAAAAAAeAAAAAADeAAAAAABeAAAAAADeAAAAAAAewAAAAAAeAAAAAABeAAAAAADWwAAAAAAWwAAAAACWwAAAAABewAAAAAAHQAAAAAAHQAAAAACHQAAAAADewAAAAAAeAAAAAACeAAAAAAAeAAAAAACeAAAAAACeAAAAAAAewAAAAAAeAAAAAAAeAAAAAABWwAAAAADWwAAAAADWwAAAAABewAAAAAAHQAAAAADHQAAAAACHQAAAAAAewAAAAAAeAAAAAACeAAAAAACeAAAAAACeAAAAAABeAAAAAABeAAAAAACeAAAAAADeAAAAAAAWwAAAAACWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAA
+          tiles: eAAAAAACewAAAAAAZQAAAAADewAAAAAAewAAAAAALAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAACWwAAAAABewAAAAAAWwAAAAADWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAALAAAAAAALAAAAAAALAAAAAAALAAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAABWwAAAAABWwAAAAADWwAAAAABWwAAAAADWwAAAAAAWwAAAAABWwAAAAAAWwAAAAADWwAAAAACewAAAAAAWwAAAAABWwAAAAADWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAADWwAAAAACWwAAAAACWwAAAAACWwAAAAAAWwAAAAACWwAAAAADWwAAAAACewAAAAAAWwAAAAACWwAAAAADewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAABWwAAAAABWwAAAAABWwAAAAADWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAABewAAAAAAWwAAAAABWwAAAAABWwAAAAADWwAAAAACWwAAAAABWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAACewAAAAAAWwAAAAABWwAAAAADWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAACWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAADWwAAAAABHQAAAAACHQAAAAADHQAAAAABewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAADewAAAAAAHQAAAAACHQAAAAACHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAABWwAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAADewAAAAAAHQAAAAADHQAAAAAAHQAAAAAAewAAAAAAeAAAAAABeAAAAAACeAAAAAAAeAAAAAAAeAAAAAADewAAAAAAeAAAAAADeAAAAAADWwAAAAACWwAAAAAAWwAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAAAewAAAAAAeAAAAAAAeAAAAAABeAAAAAABeAAAAAADeAAAAAAAewAAAAAAeAAAAAABeAAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAAAewAAAAAAeAAAAAABeAAAAAAAeAAAAAADeAAAAAABeAAAAAABeAAAAAABeAAAAAADeAAAAAACWwAAAAABWwAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAA
           version: 6
         2,0:
           ind: 2,0
-          tiles: WwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAADWwAAAAACWwAAAAABWwAAAAABWwAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAADWwAAAAACWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAewAAAAAAewAAAAAAWwAAAAADewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAABewAAAAAAbgAAAAAAbgAAAAACbgAAAAABbgAAAAACewAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAPgAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAACewAAAAAAbgAAAAADbgAAAAAAbgAAAAACbgAAAAACHQAAAAAAewAAAAAAHQAAAAACWwAAAAAAHQAAAAACewAAAAAAPgAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAAAbgAAAAAAHQAAAAABewAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAAAHQAAAAADewAAAAAAWwAAAAADWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAPgAAAAAAHQAAAAACHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAACewAAAAAAWwAAAAABWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAPgAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAADHQAAAAADHQAAAAADWwAAAAABWwAAAAACWwAAAAADawAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAPgAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAADHQAAAAABewAAAAAAWwAAAAACWwAAAAABWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAHQAAAAABHQAAAAADHQAAAAACHQAAAAADHQAAAAABewAAAAAAWwAAAAAAWwAAAAAAWwAAAAADewAAAAAAWwAAAAADWwAAAAADNgAAAAAAbgAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAADewAAAAAANgAAAAAANgAAAAAANgAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAADWwAAAAABWwAAAAABewAAAAAAWwAAAAACWwAAAAADNgAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAABewAAAAAAWwAAAAACWwAAAAAAewAAAAAAbgAAAAACWwAAAAADWwAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAABWwAAAAACWwAAAAACWwAAAAABWwAAAAADWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAADWwAAAAABWwAAAAADWwAAAAACWwAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAACWwAAAAAB
+          tiles: WwAAAAAAWwAAAAACWwAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAABWwAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAABWwAAAAAAWwAAAAABWwAAAAADWwAAAAADewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADewAAAAAAbgAAAAAAbgAAAAAAbgAAAAABbgAAAAACewAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAPgAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAADewAAAAAAbgAAAAAAbgAAAAADbgAAAAACbgAAAAABHQAAAAABewAAAAAAHQAAAAABWwAAAAADHQAAAAABewAAAAAAPgAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAACewAAAAAAbgAAAAADbgAAAAAAbgAAAAAAbgAAAAADHQAAAAADewAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAABHQAAAAACewAAAAAAWwAAAAABWwAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAPgAAAAAAHQAAAAACHQAAAAAAHQAAAAABHQAAAAAAHQAAAAACHQAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAPgAAAAAAewAAAAAAHQAAAAABHQAAAAADHQAAAAACHQAAAAABHQAAAAADHQAAAAACWwAAAAADWwAAAAACWwAAAAABawAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAPgAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAABHQAAAAABHQAAAAADewAAAAAAWwAAAAABWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADewAAAAAAHQAAAAACHQAAAAADHQAAAAAAHQAAAAACHQAAAAADewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAWwAAAAAAWwAAAAACNgAAAAAAbgAAAAADewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAADewAAAAAANgAAAAAANgAAAAAANgAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAWwAAAAABWwAAAAAANgAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAAAewAAAAAAWwAAAAAAWwAAAAABewAAAAAAbgAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAABWwAAAAACWwAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAABWwAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAABWwAAAAACWwAAAAACWwAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAABWwAAAAADWwAAAAAAWwAAAAAD
           version: 6
         2,-1:
           ind: 2,-1
-          tiles: WwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAATQAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAACWwAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAHQAAAAADTQAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAACWwAAAAACawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAADHQAAAAACWwAAAAADWwAAAAADWwAAAAAAWwAAAAACWwAAAAABewAAAAAAeAAAAAAAeAAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAAAewAAAAAALwAAAAAALwAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAADewAAAAAALwAAAAAALwAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAAAHQAAAAAAewAAAAAAHQAAAAABHQAAAAADewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAALwAAAAAALwAAAAAADgAAAAABDgAAAAACDgAAAAACDgAAAAACDgAAAAADHQAAAAAAHQAAAAACHQAAAAAAHQAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAADWwAAAAAAWwAAAAABWwAAAAAADgAAAAABDgAAAAAADgAAAAADDgAAAAADDgAAAAADHQAAAAACHQAAAAABHQAAAAADHQAAAAAAWwAAAAACOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWwAAAAACDgAAAAABDgAAAAADDgAAAAABDgAAAAADDgAAAAACHQAAAAACHQAAAAAAHQAAAAAAewAAAAAAWwAAAAADOgAAAAAAWwAAAAAAWwAAAAACWwAAAAAAOgAAAAAAWwAAAAAADgAAAAACDgAAAAAADgAAAAADDgAAAAAADgAAAAACHQAAAAAAHQAAAAADHQAAAAABewAAAAAAWwAAAAAAOgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAOgAAAAAAWwAAAAABDgAAAAADDgAAAAABDgAAAAADDgAAAAADDgAAAAABHQAAAAAAHQAAAAADHQAAAAADHQAAAAADWwAAAAADOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWwAAAAAADgAAAAACDgAAAAAADgAAAAABDgAAAAACDgAAAAAAewAAAAAAHQAAAAABHQAAAAABewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAOgAAAAAAewAAAAAAewAAAAAAWwAAAAABewAAAAAAWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAABWwAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAABWwAAAAAAWwAAAAACWwAAAAACWwAAAAACWwAAAAABWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAA
+          tiles: WwAAAAADWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABTQAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAABewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAHQAAAAAATQAAAAAAewAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAABWwAAAAADawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAACWwAAAAADWwAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAABewAAAAAAeAAAAAABeAAAAAADewAAAAAAWwAAAAABWwAAAAAAWwAAAAACewAAAAAALwAAAAAALwAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAACeAAAAAACeAAAAAAAeAAAAAADewAAAAAAWwAAAAAAWwAAAAADWwAAAAACewAAAAAALwAAAAAALwAAAAAAewAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAAAewAAAAAAHQAAAAACHQAAAAABewAAAAAAewAAAAAAWwAAAAABewAAAAAAewAAAAAAewAAAAAALwAAAAAALwAAAAAADgAAAAABDgAAAAACDgAAAAABDgAAAAABDgAAAAADHQAAAAABHQAAAAABHQAAAAABHQAAAAADWwAAAAADWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAACDgAAAAADDgAAAAADDgAAAAADDgAAAAACDgAAAAABHQAAAAADHQAAAAACHQAAAAABHQAAAAACWwAAAAADOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWwAAAAACDgAAAAADDgAAAAABDgAAAAAADgAAAAACDgAAAAAAHQAAAAABHQAAAAABHQAAAAABewAAAAAAWwAAAAACOgAAAAAAWwAAAAADWwAAAAACWwAAAAADOgAAAAAAWwAAAAACDgAAAAADDgAAAAABDgAAAAAADgAAAAACDgAAAAACHQAAAAABHQAAAAADHQAAAAADewAAAAAAWwAAAAABOgAAAAAAHQAAAAADHQAAAAAAHQAAAAACOgAAAAAAWwAAAAADDgAAAAACDgAAAAADDgAAAAACDgAAAAADDgAAAAADHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACWwAAAAACOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAOgAAAAAAWwAAAAAADgAAAAACDgAAAAABDgAAAAABDgAAAAACDgAAAAACewAAAAAAHQAAAAADHQAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACewAAAAAAOgAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAADWwAAAAADWwAAAAADWwAAAAABWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAAB
           version: 6
         1,-4:
           ind: 1,-4
@@ -135,59 +135,59 @@ entities:
           version: 6
         3,-1:
           ind: 3,-1
-          tiles: ewAAAAAAAwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAeAAAAAACeAAAAAADeAAAAAAAeAAAAAACeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAACbgAAAAABbgAAAAAAewAAAAAAbgAAAAAAbgAAAAACbgAAAAADbgAAAAADewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAAAbgAAAAABbgAAAAADbgAAAAABewAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAABbgAAAAABbgAAAAADewAAAAAAbgAAAAACbgAAAAADbgAAAAACbgAAAAADewAAAAAAbgAAAAAAbgAAAAACbgAAAAABbgAAAAACewAAAAAAewAAAAAAewAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAAAbgAAAAACbgAAAAACbgAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAACewAAAAAAbgAAAAACbgAAAAACbgAAAAACbgAAAAACewAAAAAAewAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAAAbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABbgAAAAAAbgAAAAABbgAAAAABbgAAAAACbgAAAAACbgAAAAACewAAAAAAewAAAAAAbgAAAAADbgAAAAABbgAAAAABbgAAAAABbgAAAAABbgAAAAAAbgAAAAABbgAAAAACbgAAAAACbgAAAAABbgAAAAACbgAAAAACbgAAAAACbgAAAAABUAAAAAAAewAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAADbgAAAAADbgAAAAACbgAAAAAAbgAAAAACbgAAAAABewAAAAAAbgAAAAACbgAAAAACbgAAAAABbgAAAAADewAAAAAAewAAAAAAewAAAAAAbgAAAAABewAAAAAAbgAAAAACbgAAAAADewAAAAAAbgAAAAACbgAAAAABbgAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAABewAAAAAAewAAAAAAbgAAAAADbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAAAbgAAAAAAbgAAAAADbgAAAAACbgAAAAAAbgAAAAACbgAAAAACewAAAAAAbgAAAAACbgAAAAADbgAAAAADbgAAAAACbgAAAAADbgAAAAADbgAAAAACbgAAAAABbgAAAAACHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAABewAAAAAAbgAAAAABbgAAAAAAbgAAAAABbgAAAAAAbgAAAAADewAAAAAAbgAAAAACbgAAAAABbgAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAACewAAAAAA
+          tiles: ewAAAAAAAwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAeAAAAAAAeAAAAAACeAAAAAADeAAAAAAAeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAACewAAAAAAbgAAAAACbgAAAAACbgAAAAADbgAAAAADewAAAAAAWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAABbgAAAAACbgAAAAABbgAAAAADewAAAAAAbgAAAAACbgAAAAABbgAAAAADbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAABbgAAAAADbgAAAAABbgAAAAABewAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAADbgAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAABbgAAAAACbgAAAAABbgAAAAACewAAAAAAbgAAAAACbgAAAAABbgAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAAAbgAAAAACewAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAADbgAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAACbgAAAAACbgAAAAADbgAAAAADbgAAAAABbgAAAAADbgAAAAADewAAAAAAewAAAAAAbgAAAAADbgAAAAABbgAAAAAAbgAAAAACbgAAAAABbgAAAAADbgAAAAADbgAAAAACbgAAAAAAbgAAAAADbgAAAAABbgAAAAACbgAAAAAAbgAAAAABUAAAAAAAewAAAAAAbgAAAAAAbgAAAAAAbgAAAAAAbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABbgAAAAACbgAAAAAAewAAAAAAbgAAAAAAbgAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAbgAAAAADewAAAAAAbgAAAAAAbgAAAAABewAAAAAAbgAAAAAAbgAAAAACbgAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAADbgAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAAAbgAAAAAAbgAAAAAAbgAAAAACbgAAAAADbgAAAAABewAAAAAAbgAAAAABbgAAAAADbgAAAAABbgAAAAACbgAAAAAAbgAAAAAAbgAAAAACbgAAAAAAbgAAAAABHQAAAAAAHQAAAAADHQAAAAADHQAAAAADHQAAAAACbgAAAAACewAAAAAAbgAAAAAAbgAAAAABbgAAAAADbgAAAAACbgAAAAABewAAAAAAbgAAAAACbgAAAAAAbgAAAAACHQAAAAABHQAAAAABHQAAAAAAHQAAAAABHQAAAAACbgAAAAABewAAAAAA
           version: 6
         3,-2:
           ind: 3,-2
-          tiles: TQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAAwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAADeAAAAAADewAAAAAAeAAAAAAA
+          tiles: TQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABewAAAAAAewAAAAAAewAAAAAAAwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAABeAAAAAAAewAAAAAAeAAAAAAC
           version: 6
         0,2:
           ind: 0,2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAABAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAADAAAAAAAAegAAAAAAegAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAADAAAAAAAAegAAAAAAegAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAADAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAABAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAADAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAHQAAAAAAHQAAAAABHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAABAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABAAAAAAAAegAAAAAAegAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAACAAAAAAAAegAAAAAAegAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAACAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAABAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAADHQAAAAABHQAAAAABAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAABHQAAAAABHQAAAAACAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAA
           version: 6
         1,2:
           ind: 1,2
-          tiles: ewAAAAAAeAAAAAABeAAAAAADeAAAAAABeAAAAAACeAAAAAACewAAAAAAeAAAAAAAeAAAAAABWwAAAAACWwAAAAACWwAAAAADawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAACeAAAAAACeAAAAAABeAAAAAADewAAAAAAeAAAAAADeAAAAAACWwAAAAADWwAAAAABWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAABWwAAAAADewAAAAAANgAAAAAANgAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAACWwAAAAACWwAAAAABWwAAAAADWwAAAAADWwAAAAADWwAAAAABewAAAAAANgAAAAAANgAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAACWwAAAAACWwAAAAAAWwAAAAADWwAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAABWwAAAAACHQAAAAACHQAAAAACHQAAAAACewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAWwAAAAACWwAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAADewAAAAAAEQAAAAAAEQAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAALAAAAAAAHQAAAAACHQAAAAACewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAAAewAAAAAAHQAAAAABeAAAAAACewAAAAAAHQAAAAABHQAAAAACHQAAAAABewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAABewAAAAAAHQAAAAAAeAAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAHQAAAAADHQAAAAADHQAAAAADHQAAAAADewAAAAAAHQAAAAABeAAAAAACewAAAAAAewAAAAAANgAAAAAAewAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAADewAAAAAAHQAAAAADeAAAAAABAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAABewAAAAAAewAAAAAAHQAAAAABewAAAAAAHQAAAAADHQAAAAABHQAAAAABewAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAAAHQAAAAAAHQAAAAABewAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAADHQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAADHQAAAAACAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAACHQAAAAADegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAAAHQAAAAABHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAACHQAAAAAC
+          tiles: ewAAAAAAeAAAAAAAeAAAAAADeAAAAAABeAAAAAABeAAAAAABewAAAAAAeAAAAAADeAAAAAADWwAAAAACWwAAAAACWwAAAAADawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAeAAAAAABeAAAAAADWwAAAAABWwAAAAACWwAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAAAewAAAAAANgAAAAAANgAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAACWwAAAAADWwAAAAACWwAAAAADWwAAAAABWwAAAAACewAAAAAANgAAAAAANgAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAADWwAAAAADWwAAAAABWwAAAAAAWwAAAAADHQAAAAACHQAAAAAAHQAAAAACewAAAAAAWwAAAAADWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAABWwAAAAACWwAAAAADWwAAAAABWwAAAAACewAAAAAAEQAAAAAAEQAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAALAAAAAAAHQAAAAACHQAAAAADewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAACewAAAAAAHQAAAAABeAAAAAABewAAAAAAHQAAAAADHQAAAAAAHQAAAAABewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAHQAAAAADHQAAAAABHQAAAAAAewAAAAAAHQAAAAACeAAAAAABewAAAAAAHQAAAAADHQAAAAACHQAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAHQAAAAACHQAAAAABHQAAAAACHQAAAAACewAAAAAAHQAAAAABeAAAAAABewAAAAAAewAAAAAANgAAAAAAewAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAHQAAAAABHQAAAAABHQAAAAACewAAAAAAHQAAAAABeAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAACewAAAAAAewAAAAAAHQAAAAACewAAAAAAHQAAAAADHQAAAAAAHQAAAAACewAAAAAAAAAAAAAAegAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAAAHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAABHQAAAAADHQAAAAACHQAAAAAAHQAAAAAAHQAAAAADHQAAAAABAAAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAABHQAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHQAAAAAAHQAAAAACegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAACHQAAAAADHQAAAAACHQAAAAAC
           version: 6
         2,1:
           ind: 2,1
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAADWwAAAAACWwAAAAAAWwAAAAACWwAAAAADHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAABewAAAAAAawAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAADWwAAAAACewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAADWwAAAAACWwAAAAADHQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAADWwAAAAABWwAAAAABewAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAABHQAAAAABHQAAAAADHQAAAAAAHQAAAAACewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAADWwAAAAACWwAAAAACewAAAAAATQAAAAAAHQAAAAABHQAAAAACTQAAAAAAewAAAAAAHQAAAAADHQAAAAACHQAAAAADewAAAAAAewAAAAAAHQAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAACewAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAACewAAAAAAewAAAAAAHQAAAAABWwAAAAACWwAAAAACWwAAAAACWwAAAAADewAAAAAATQAAAAAAHQAAAAACHQAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAACWwAAAAABWwAAAAABWwAAAAABewAAAAAATQAAAAAAHQAAAAAAHQAAAAADTQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAADWwAAAAAAewAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAACWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAagAAAAAAewAAAAAA
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAADWwAAAAAAWwAAAAABWwAAAAABWwAAAAADHQAAAAAAHQAAAAADHQAAAAACHQAAAAADewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAACHQAAAAADHQAAAAAAHQAAAAAAHQAAAAABewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAACWwAAAAAAWwAAAAADWwAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAABWwAAAAABWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAewAAAAAAWwAAAAABewAAAAAAawAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAADWwAAAAABewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAADHQAAAAABHQAAAAADHQAAAAABHQAAAAADHQAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAABewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAABWwAAAAACewAAAAAAHQAAAAACHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAAAHQAAAAACHQAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAADWwAAAAADWwAAAAAAewAAAAAATQAAAAAAHQAAAAABHQAAAAADTQAAAAAAewAAAAAAHQAAAAADHQAAAAADHQAAAAADewAAAAAAewAAAAAAHQAAAAACWwAAAAAAWwAAAAABWwAAAAABWwAAAAACewAAAAAAewAAAAAAHQAAAAABHQAAAAACewAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAABewAAAAAAewAAAAAAHQAAAAADWwAAAAAAWwAAAAABWwAAAAABWwAAAAADewAAAAAATQAAAAAAHQAAAAABHQAAAAADTQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAATQAAAAAAHQAAAAABHQAAAAADTQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAATQAAAAAATQAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAABWwAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAABWwAAAAABWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAAAWwAAAAABWwAAAAABWwAAAAABewAAAAAAagAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAADWwAAAAABWwAAAAADWwAAAAAAWwAAAAACWwAAAAAAewAAAAAAagAAAAAAewAAAAAA
           version: 6
         2,2:
           ind: 2,2
-          tiles: ewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAANgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAHQAAAAAANgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAHQAAAAAAHQAAAAABewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAADeAAAAAABeAAAAAABeAAAAAABeAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAAAeAAAAAAAewAAAAAAeAAAAAACeAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAeAAAAAAAeAAAAAACeAAAAAACewAAAAAAeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAeAAAAAACeAAAAAADeAAAAAADewAAAAAAHQAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAegAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAHQAAAAAAHQAAAAAAHQAAAAABHQAAAAADewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAABewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA
+          tiles: ewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAABewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAANgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAACewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAHQAAAAACNgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAADewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAHQAAAAACHQAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAABewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAACeAAAAAADeAAAAAACeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAADeAAAAAABewAAAAAAeAAAAAACeAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAeAAAAAADeAAAAAABeAAAAAACewAAAAAAeAAAAAABeAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAeAAAAAACeAAAAAABeAAAAAABewAAAAAAHQAAAAADeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAegAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAACewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA
           version: 6
         1,3:
           ind: 1,3
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAADHQAAAAADHQAAAAACHQAAAAABHQAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAABHQAAAAACAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         2,3:
           ind: 2,3
-          tiles: HQAAAAABewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: HQAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         4,-1:
           ind: 4,-1
-          tiles: ewAAAAAAeAAAAAACeAAAAAADeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADeAAAAAACeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAawAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAUAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAABbgAAAAACUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAACbgAAAAACbgAAAAABUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAACbgAAAAAAbgAAAAABUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAADewAAAAAAbgAAAAABbgAAAAAAbgAAAAADbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAADHQAAAAADHQAAAAAAewAAAAAAewAAAAAAbgAAAAACewAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAAAHQAAAAADewAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAADHQAAAAABewAAAAAAbgAAAAABagAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAABHQAAAAAAHQAAAAADHQAAAAAAewAAAAAAbgAAAAABagAAAAAAewAAAAAA
+          tiles: ewAAAAAAeAAAAAADeAAAAAADeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAACeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADeAAAAAADeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAawAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAUAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAABbgAAAAAAbgAAAAACUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAABbgAAAAADUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAABewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAADUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAACHQAAAAACewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAABbgAAAAABUAAAAAAAUAAAAAAAUAAAAAAAUAAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAADHQAAAAACHQAAAAACHQAAAAACewAAAAAAbgAAAAADbgAAAAABbgAAAAADbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAADHQAAAAADHQAAAAABewAAAAAAewAAAAAAbgAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAABewAAAAAAHQAAAAACHQAAAAADHQAAAAACHQAAAAABHQAAAAACHQAAAAADHQAAAAACewAAAAAAbgAAAAABagAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAABHQAAAAABHQAAAAABHQAAAAADewAAAAAAbgAAAAADagAAAAAAewAAAAAA
           version: 6
         4,-2:
           ind: 4,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAADeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAagAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADeAAAAAABeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAagAAAAAA
           version: 6
         3,0:
           ind: 3,0
-          tiles: bgAAAAABbgAAAAACbgAAAAACbgAAAAADbgAAAAABbgAAAAACbgAAAAAAbgAAAAABbgAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAABbgAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAACbgAAAAADbgAAAAACbgAAAAACbgAAAAABbgAAAAACbgAAAAACewAAAAAAbgAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAADbgAAAAAAbgAAAAADbgAAAAAAbgAAAAACbgAAAAADbgAAAAABbgAAAAADbgAAAAACbgAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAACbgAAAAADbgAAAAABbgAAAAADbgAAAAADbgAAAAADbgAAAAADbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABbgAAAAADbgAAAAAAbgAAAAABewAAAAAAbgAAAAACbgAAAAAAbgAAAAACbgAAAAACbgAAAAACewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAADbgAAAAABbgAAAAAAbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAABHQAAAAADWwAAAAADWwAAAAADWwAAAAACWwAAAAABewAAAAAAbgAAAAACbgAAAAABewAAAAAAbgAAAAACbgAAAAACbgAAAAABbgAAAAABbgAAAAADHQAAAAAAHQAAAAAAHQAAAAACWwAAAAADWwAAAAABWwAAAAADWwAAAAADewAAAAAAbgAAAAACWwAAAAABewAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAADbgAAAAADbgAAAAABbgAAAAAAbgAAAAACbgAAAAADbgAAAAADbgAAAAABWwAAAAADewAAAAAAbgAAAAACWwAAAAADewAAAAAAbgAAAAADbgAAAAAAbgAAAAADbgAAAAACbgAAAAACbgAAAAADbgAAAAADbgAAAAACbgAAAAACbgAAAAABbgAAAAADbgAAAAABewAAAAAAbgAAAAACWwAAAAADewAAAAAAbgAAAAADbgAAAAAAbgAAAAABbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADewAAAAAAewAAAAAAbgAAAAACbgAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAACewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAWwAAAAABbgAAAAABbgAAAAABbgAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAACbgAAAAABbgAAAAACbgAAAAAAbgAAAAADbgAAAAADbgAAAAABbgAAAAAAbgAAAAADWwAAAAADbgAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAAAbgAAAAAAbgAAAAACbgAAAAACbgAAAAABbgAAAAACewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAWwAAAAAAbgAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAADbgAAAAADbgAAAAAAbgAAAAAAbgAAAAAAbgAAAAAD
+          tiles: bgAAAAAAbgAAAAADbgAAAAACbgAAAAABbgAAAAADbgAAAAABbgAAAAABbgAAAAABbgAAAAAAHQAAAAADHQAAAAADHQAAAAADHQAAAAAAHQAAAAABbgAAAAAAbgAAAAACewAAAAAAbgAAAAABbgAAAAABbgAAAAABewAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAADbgAAAAACbgAAAAAAbgAAAAACbgAAAAACbgAAAAACbgAAAAADbgAAAAACewAAAAAAbgAAAAACbgAAAAADbgAAAAADbgAAAAABbgAAAAAAbgAAAAABbgAAAAAAbgAAAAABbgAAAAAAbgAAAAAAbgAAAAAAbgAAAAACbgAAAAADbgAAAAACbgAAAAABbgAAAAABbgAAAAADbgAAAAABbgAAAAACbgAAAAADbgAAAAABbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABbgAAAAAAbgAAAAADbgAAAAABbgAAAAABbgAAAAABbgAAAAACewAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAABbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAYgAAAAAAYgAAAAAAYgAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADHQAAAAAAHQAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAADewAAAAAAbgAAAAADbgAAAAABewAAAAAAbgAAAAABbgAAAAABbgAAAAACbgAAAAAAbgAAAAABHQAAAAACHQAAAAACHQAAAAAAWwAAAAAAWwAAAAACWwAAAAADWwAAAAABewAAAAAAbgAAAAABWwAAAAACewAAAAAAbgAAAAADbgAAAAAAbgAAAAACbgAAAAACbgAAAAADbgAAAAAAbgAAAAABbgAAAAACbgAAAAAAbgAAAAABbgAAAAACWwAAAAADewAAAAAAbgAAAAADWwAAAAABewAAAAAAbgAAAAAAbgAAAAADbgAAAAAAbgAAAAADbgAAAAAAbgAAAAACbgAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAACbgAAAAADewAAAAAAbgAAAAABWwAAAAAAewAAAAAAbgAAAAACbgAAAAACbgAAAAACbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADewAAAAAAewAAAAAAbgAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAWwAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAWwAAAAAAbgAAAAACbgAAAAACbgAAAAADbgAAAAADbgAAAAABbgAAAAADbgAAAAABbgAAAAAAbgAAAAADbgAAAAADbgAAAAABbgAAAAADbgAAAAACbgAAAAABbgAAAAABWwAAAAADbgAAAAACbgAAAAACbgAAAAABbgAAAAACbgAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAADbgAAAAACewAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAWwAAAAAAbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAAAbgAAAAADbgAAAAACbgAAAAAD
           version: 6
         4,0:
           ind: 4,0
-          tiles: bgAAAAACbgAAAAAAbgAAAAADbgAAAAABbgAAAAADbgAAAAACewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABewAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAAAbgAAAAADbgAAAAADbgAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAACbgAAAAADbgAAAAABbgAAAAABbgAAAAAAbgAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAADbgAAAAAAbgAAAAADbgAAAAAAbgAAAAABewAAAAAAewAAAAAAbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAbgAAAAAAbgAAAAAAbgAAAAADbgAAAAAAbgAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAACbgAAAAABbgAAAAABewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACewAAAAAAbgAAAAACbgAAAAABbgAAAAADbgAAAAADbgAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAewAAAAAAbgAAAAADbgAAAAACbgAAAAAAbgAAAAADbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAADbgAAAAABbgAAAAAAbgAAAAACWwAAAAACbgAAAAAAbgAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAABbgAAAAACbgAAAAABbgAAAAADbgAAAAAAewAAAAAAbgAAAAAAbgAAAAAAWwAAAAABewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAbgAAAAAAbgAAAAAAWwAAAAABewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAAAWwAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABewAAAAAAWwAAAAACWwAAAAACWwAAAAADHQAAAAADHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADewAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAAAHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAbgAAAAAAbgAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAA
+          tiles: bgAAAAABbgAAAAACbgAAAAADbgAAAAAAbgAAAAABbgAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAACbgAAAAACbgAAAAADbgAAAAABbgAAAAACHQAAAAACHQAAAAABHQAAAAADHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAACHQAAAAADbgAAAAACbgAAAAADbgAAAAADbgAAAAADbgAAAAABbgAAAAADHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAADHQAAAAACHQAAAAAAHQAAAAADHQAAAAACHQAAAAAAbgAAAAABbgAAAAABbgAAAAADbgAAAAABbgAAAAACewAAAAAAewAAAAAAbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAABewAAAAAAbgAAAAACbgAAAAACbgAAAAACbgAAAAABbgAAAAABewAAAAAAbgAAAAACbgAAAAABbgAAAAAAbgAAAAABbgAAAAAAewAAAAAAHQAAAAABHQAAAAADHQAAAAADbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADewAAAAAAbgAAAAAAbgAAAAADbgAAAAAAbgAAAAABbgAAAAADewAAAAAAHQAAAAAAHQAAAAACHQAAAAABbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABewAAAAAAbgAAAAABbgAAAAAAbgAAAAACbgAAAAADbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAbgAAAAACbgAAAAADbgAAAAABbgAAAAABbgAAAAACbgAAAAABWwAAAAAAbgAAAAADbgAAAAADbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAACbgAAAAACbgAAAAADbgAAAAAAbgAAAAABewAAAAAAbgAAAAAAbgAAAAACWwAAAAABewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAewAAAAAAbgAAAAACbgAAAAACWwAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAADWwAAAAADewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAHQAAAAADHQAAAAACHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAABHQAAAAADHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAbgAAAAACbgAAAAACHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         5,0:
           ind: 5,0
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAawAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAACeAAAAAABAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAeAAAAAABewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABewAAAAAAeAAAAAADewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAawAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAADeAAAAAABAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADewAAAAAAeAAAAAACewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAeAAAAAABewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         3,1:
           ind: 3,1
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAADbgAAAAABewAAAAAAbgAAAAAAbgAAAAABewAAAAAAbgAAAAABbgAAAAADEQAAAAAAHQAAAAADEQAAAAAAbgAAAAAAbgAAAAADbgAAAAADbgAAAAAAbgAAAAABbgAAAAADbgAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABbgAAAAACbgAAAAAAEQAAAAAAHQAAAAAAEQAAAAAAbgAAAAADbgAAAAABbgAAAAADbgAAAAADbgAAAAABbgAAAAACbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAACbgAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAACbgAAAAAAbgAAAAAAbgAAAAABbgAAAAAAbgAAAAACbgAAAAAAbgAAAAAAbgAAAAACbgAAAAAAbgAAAAABewAAAAAAewAAAAAAewAAAAAAawAAAAAAbgAAAAABbgAAAAACbgAAAAAAEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAABbgAAAAADbgAAAAAAbgAAAAADbgAAAAAAewAAAAAAbgAAAAADbgAAAAACewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAbgAAAAADbgAAAAAAbgAAAAAAbgAAAAAAbgAAAAADbgAAAAACbgAAAAABbgAAAAADbgAAAAACbgAAAAACbgAAAAACewAAAAAAHQAAAAADHQAAAAADHQAAAAAAHQAAAAADbgAAAAACbgAAAAACbgAAAAACbgAAAAABbgAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAADbgAAAAADbgAAAAADewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAbgAAAAADbgAAAAABbgAAAAAAbgAAAAAAbgAAAAADbgAAAAADbgAAAAAAbgAAAAABbgAAAAAAbgAAAAABbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAA
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAAAewAAAAAAbgAAAAAAbgAAAAABewAAAAAAbgAAAAACbgAAAAACEQAAAAAAHQAAAAADEQAAAAAAbgAAAAAAbgAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAAAbgAAAAADewAAAAAAewAAAAAAewAAAAAAWwAAAAAAbgAAAAAAbgAAAAACEQAAAAAAHQAAAAACEQAAAAAAbgAAAAACbgAAAAACbgAAAAAAbgAAAAACbgAAAAACbgAAAAABbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAABbgAAAAABbgAAAAACbgAAAAACbgAAAAADbgAAAAAAbgAAAAAAbgAAAAABbgAAAAAAbgAAAAADbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAABbgAAAAADbgAAAAACbgAAAAAAbgAAAAADbgAAAAAAbgAAAAABbgAAAAACbgAAAAABbgAAAAABbgAAAAAAewAAAAAAewAAAAAAewAAAAAAawAAAAAAbgAAAAAAbgAAAAAAbgAAAAACEQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAADbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAADbgAAAAACbgAAAAACbgAAAAABewAAAAAAbgAAAAADbgAAAAADewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAABbgAAAAAAbgAAAAAAbgAAAAADbgAAAAADbgAAAAAAbgAAAAACbgAAAAAAbgAAAAACewAAAAAAHQAAAAADHQAAAAAAHQAAAAAAHQAAAAADbgAAAAABbgAAAAAAbgAAAAACbgAAAAADbgAAAAABbgAAAAAAbgAAAAABbgAAAAADbgAAAAABbgAAAAAAbgAAAAACewAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAABbgAAAAADbgAAAAADbgAAAAACbgAAAAABbgAAAAABbgAAAAACbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAATQAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAADHQAAAAAAHQAAAAABewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAA
           version: 6
         3,3:
           ind: 3,3
@@ -195,35 +195,35 @@ entities:
           version: 6
         3,2:
           ind: 3,2
-          tiles: egAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAHQAAAAAAHQAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAHQAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAAgAAAAAAWwAAAAAAewAAAAAAHQAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAHQAAAAAAHQAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAewAAAAAAHQAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAewAAAAAAHQAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAWwAAAAAAWwAAAAAAHQAAAAAAHQAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA
+          tiles: egAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAADHQAAAAABHQAAAAABewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADWwAAAAACewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAHQAAAAABHQAAAAADHQAAAAADHQAAAAAAHQAAAAAAWwAAAAACWwAAAAADWwAAAAAAWwAAAAAAWwAAAAADewAAAAAAHQAAAAABewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAADHQAAAAABWwAAAAAAWwAAAAACWwAAAAACAgAAAAACWwAAAAAAewAAAAAAHQAAAAACewAAAAAAegAAAAAAegAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAAAWwAAAAADWwAAAAAAHQAAAAAAHQAAAAACewAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAAAWwAAAAABWwAAAAAAewAAAAAAHQAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAABHQAAAAAAWwAAAAADWwAAAAADewAAAAAAHQAAAAACewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAABWwAAAAAAWwAAAAADHQAAAAAAHQAAAAADegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAHQAAAAABHQAAAAAAHQAAAAACHQAAAAAAHQAAAAABewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA
           version: 6
         4,1:
           ind: 4,1
-          tiles: bgAAAAABewAAAAAAWwAAAAABWwAAAAACWwAAAAADHQAAAAADHQAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAYgAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAWwAAAAAAWwAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAagAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAbgAAAAACewAAAAAAWwAAAAAAWwAAAAAAewAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAAQAAAAAAAQAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAbgAAAAABewAAAAAAewAAAAAAYgAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAAQAAAAAAAQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAbgAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAeAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAATQAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAA
+          tiles: bgAAAAADewAAAAAAWwAAAAAAWwAAAAADWwAAAAAAHQAAAAABHQAAAAABHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAawAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAYgAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAWwAAAAADWwAAAAADewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAABHQAAAAABagAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAHQAAAAAAewAAAAAAHQAAAAACHQAAAAACewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAbgAAAAACewAAAAAAWwAAAAABWwAAAAABewAAAAAAHQAAAAACewAAAAAAHQAAAAACHQAAAAADAQAAAAABAQAAAAABewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAbgAAAAADewAAAAAAewAAAAAAYgAAAAAAHQAAAAADHQAAAAAAewAAAAAAHQAAAAADHQAAAAADAQAAAAADAQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAbgAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAeAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAATQAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAYgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAABegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAADeAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAACegAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAHQAAAAAD
           version: 6
         4,2:
           ind: 4,2
-          tiles: AAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAABeAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAADewAAAAAAeAAAAAABewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAABewAAAAAAeAAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAABewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAADeAAAAAABewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAACegAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAegAAAAAATAAAAAACewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAADegAAAAAATAAAAAACewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAegAAAAAATAAAAAAA
+          tiles: AAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAAAeAAAAAADeAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAABewAAAAAAeAAAAAADewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAAAewAAAAAAeAAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAeAAAAAACeAAAAAADewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAeAAAAAABeAAAAAABewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAADegAAAAAATAAAAAAAegAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAADewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAegAAAAAATAAAAAACewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAagAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAegAAAAAATAAAAAAD
           version: 6
         4,3:
           ind: 4,3
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAADewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAAAegAAAAAATAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAACegAAAAAATAAAAAABewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         5,-1:
           ind: 5,-1
-          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAABbgAAAAABbgAAAAABewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAAAbgAAAAADbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAAAbgAAAAADbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAABbgAAAAADbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAAAbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAACbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAADbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: ewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAABbgAAAAAAbgAAAAACewAAAAAAegAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAACbgAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAADbgAAAAACbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAADbgAAAAABbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAACbgAAAAABbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAAAbgAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAADbgAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         5,-2:
           ind: 5,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATAAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATAAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         5,2:
           ind: 5,2
-          tiles: ewAAAAAAHQAAAAAAewAAAAAAewAAAAAATQAAAAAANgAAAAAATQAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAACegAAAAAATAAAAAACegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAADegAAAAAATAAAAAACAAAAAAAATAAAAAABegAAAAAATAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAADegAAAAAATAAAAAACegAAAAAATAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAADegAAAAAATAAAAAABegAAAAAATAAAAAADegAAAAAATAAAAAADegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAADegAAAAAATAAAAAABAAAAAAAATAAAAAABegAAAAAATAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: ewAAAAAAHQAAAAAAewAAAAAAewAAAAAATQAAAAAANgAAAAAATQAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAABHQAAAAACEQAAAAAAEQAAAAAAEQAAAAAAewAAAAAAHQAAAAADHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAAHQAAAAADHQAAAAACHQAAAAAAewAAAAAAHQAAAAADHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAABAAAAAAAATAAAAAACegAAAAAATAAAAAABAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAACegAAAAAATAAAAAABegAAAAAATAAAAAADAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAACegAAAAAATAAAAAADegAAAAAATAAAAAABegAAAAAATAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAAABegAAAAAATAAAAAAAAAAAAAAATAAAAAAAegAAAAAATAAAAAADegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         5,3:
           ind: 5,3
-          tiles: egAAAAAATAAAAAABegAAAAAATAAAAAACegAAAAAATAAAAAADegAAAAAATAAAAAADAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAATAAAAAAAegAAAAAATAAAAAABAAAAAAAATAAAAAABegAAAAAATAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAATAAAAAABegAAAAAATAAAAAADegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: egAAAAAATAAAAAADegAAAAAATAAAAAADegAAAAAATAAAAAAAegAAAAAATAAAAAACAAAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAATAAAAAADegAAAAAATAAAAAABAAAAAAAATAAAAAACegAAAAAATAAAAAACAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAATAAAAAABegAAAAAATAAAAAABegAAAAAAegAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         3,-3:
           ind: 3,-3
@@ -231,23 +231,23 @@ entities:
           version: 6
         6,-2:
           ind: 6,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAATAAAAAABTAAAAAACTAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAACewAAAAAAewAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAAAbgAAAAAAbgAAAAACbgAAAAADbgAAAAACbgAAAAABewAAAAAAewAAAAAAewAAAAAATAAAAAABTAAAAAAATAAAAAADewAAAAAAewAAAAAAewAAAAAAbgAAAAAAbgAAAAADbgAAAAADbgAAAAADbgAAAAADbgAAAAACbgAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAABbgAAAAACbgAAAAADbgAAAAAAHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAbgAAAAACbgAAAAABbgAAAAAAbgAAAAACbgAAAAABbgAAAAACbgAAAAACewAAAAAAewAAAAAAewAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAATAAAAAABTAAAAAABTAAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAKQAAAAAAKQAAAAAAKQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAACbgAAAAABewAAAAAAewAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAADbgAAAAABbgAAAAABbgAAAAADbgAAAAAAewAAAAAAewAAAAAAewAAAAAATAAAAAADTAAAAAABTAAAAAADewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAADbgAAAAADbgAAAAADbgAAAAADbgAAAAADbgAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAbgAAAAABbgAAAAABbgAAAAAAbgAAAAABbgAAAAAAbgAAAAAAbgAAAAABHQAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAbgAAAAADbgAAAAADbgAAAAACbgAAAAABbgAAAAAAbgAAAAABbgAAAAADewAAAAAAewAAAAAAewAAAAAA
           version: 6
         6,-1:
           ind: 6,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAbgAAAAAAbgAAAAACbgAAAAACbgAAAAAAbgAAAAADbgAAAAAAbgAAAAACewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAUAAAAAAAUAAAAAAAewAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAUAAAAAAAUAAAAAAAWwAAAAADFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAbgAAAAACbgAAAAADbgAAAAACbgAAAAADbgAAAAAAbgAAAAABbgAAAAABewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAUAAAAAAAUAAAAAAAewAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAUAAAAAAAUAAAAAAAWwAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAewAAAAAAAAAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         7,-2:
           ind: 7,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAAAHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAACewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAADHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAABHQAAAAACewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAABewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAACHQAAAAACHQAAAAABewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAAAHQAAAAACHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAHQAAAAABHQAAAAABHQAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         7,-1:
           ind: 7,-1
-          tiles: ewAAAAAAHQAAAAADHQAAAAADHQAAAAACewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: ewAAAAAAHQAAAAABHQAAAAABHQAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         5,1:
           ind: 5,1
-          tiles: egAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAEQAAAAAANgAAAAAAEQAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAEQAAAAAAEQAAAAAAEQAAAAAAHQAAAAAAHQAAAAAATQAAAAAAewAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAewAAAAAAEQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAANgAAAAAAewAAAAAAewAAAAAAewAAAAAAIgAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAANgAAAAAAHQAAAAAAIgAAAAAAHQAAAAAAEQAAAAAAewAAAAAAewAAAAAANgAAAAAAHQAAAAAAHQAAAAAATQAAAAAAewAAAAAAEQAAAAAAHQAAAAAAEQAAAAAAewAAAAAAEQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAANgAAAAAAewAAAAAAewAAAAAAewAAAAAA
+          tiles: egAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAewAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAagAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAATQAAAAAAHQAAAAACHQAAAAAAHQAAAAABewAAAAAAagAAAAAAewAAAAAAewAAAAAAEQAAAAAANgAAAAAAEQAAAAAAewAAAAAAewAAAAAAHQAAAAAAHQAAAAADHQAAAAAAHQAAAAADEQAAAAAAEQAAAAAAEQAAAAAAHQAAAAAAHQAAAAADTQAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAACewAAAAAAEQAAAAAAHQAAAAADHQAAAAADHQAAAAABNgAAAAAAewAAAAAAewAAAAAAewAAAAAAIgAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAABNgAAAAAAHQAAAAABIgAAAAAAHQAAAAAAEQAAAAAAewAAAAAAewAAAAAANgAAAAAAHQAAAAABHQAAAAADTQAAAAAAewAAAAAAEQAAAAAAHQAAAAACEQAAAAAAewAAAAAAEQAAAAAAHQAAAAACHQAAAAACHQAAAAACNgAAAAAAewAAAAAAewAAAAAAewAAAAAA
           version: 6
         3,-4:
           ind: 3,-4
@@ -255,15 +255,15 @@ entities:
           version: 6
         -2,-2:
           ind: -2,-2
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAIgAAAAAAewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAADWwAAAAACWwAAAAADWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAABWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAABWwAAAAADWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAACIgAAAAACewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         -2,-1:
           ind: -2,-1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAIgAAAAAAewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAWwAAAAAAWwAAAAAAWwAAAAADewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAABWwAAAAABWwAAAAAAWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAABWwAAAAADWwAAAAADewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAADWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAABewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAABWwAAAAABIgAAAAABewAAAAAAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAABewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAAAWwAAAAABWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAACWwAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAADewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAADWwAAAAACWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAewAAAAAAWwAAAAABWwAAAAADWwAAAAACewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAACWwAAAAAAWwAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAADWwAAAAADWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAADWwAAAAACWwAAAAAAWwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAACWwAAAAAAWwAAAAACWwAAAAACWwAAAAADWwAAAAAC
           version: 6
         -2,0:
           ind: -2,0
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAagAAAAAAewAAAAAAIgAAAAABWwAAAAABWwAAAAADWwAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAegAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAA
           version: 6
         -2,1:
           ind: -2,1
@@ -275,12 +275,16 @@ entities:
           version: 6
         6,1:
           ind: 6,1
-          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANgAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIgAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAABewAAAAAAewAAAAAAewAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
         6,2:
           ind: 6,2
           tiles: NgAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
           version: 6
+        0,3:
+          ind: 0,3
+          tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+          version: 6
     - type: Broadphase
     - type: Physics
       bodyStatus: InAir
@@ -550,7 +554,7 @@ entities:
           4,-6:
             0: 3855
           4,-5:
-            0: 22288
+            0: 22352
           0,6:
             0: 2056
           1,6:
@@ -719,26 +723,26 @@ entities:
             1: 273
             0: 3276
           2,-12:
-            1: 5905
+            1: 8021
           2,-13:
-            1: 4401
+            1: 21877
           2,-11:
             0: 61152
-          3,-12:
-            0: 61047
-            1: 136
           3,-10:
             1: 50
             0: 45192
           3,-9:
             0: 3067
-          3,-13:
-            0: 30583
-            1: 34952
+          3,-12:
+            0: 60966
+            1: 192
           3,-11:
             0: 3682
+          3,-13:
+            0: 9830
+            1: 51200
           4,-12:
-            1: 253
+            1: 252
             0: 16130
           4,-11:
             0: 48056
@@ -755,26 +759,28 @@ entities:
           5,-10:
             0: 62207
           5,-13:
-            1: 8751
+            1: 8749
+            0: 2
           6,-12:
-            1: 253
+            1: 241
             0: 26370
           6,-10:
             0: 61543
           6,-11:
             0: 26208
           6,-13:
-            1: 61165
+            1: 61029
             0: 2
           7,-12:
-            0: 61627
+            1: 16
+            0: 61611
           7,-11:
             0: 65535
           7,-10:
             0: 63743
           7,-13:
-            0: 45875
-            1: 136
+            1: 4232
+            0: 41779
           8,-12:
             0: 56543
           8,-11:
@@ -824,12 +830,10 @@ entities:
             1: 3140
           11,-5:
             0: 51455
-            1: 4096
           11,-9:
             0: 4369
             1: 17484
           11,-4:
-            1: 17
             0: 63692
           12,-8:
             3: 7
@@ -984,22 +988,23 @@ entities:
           12,-1:
             0: 65380
           4,-16:
-            1: 4592
+            1: 61680
           3,-16:
-            1: 4336
+            1: 39152
           4,-15:
             0: 4095
             1: 61440
           3,-15:
-            0: 65526
+            0: 12006
+            1: 49152
           4,-14:
-            1: 13117
+            1: 13116
             0: 2
           3,-14:
-            1: 34952
-            0: 30583
+            1: 2240
+            0: 26150
           5,-16:
-            1: 29424
+            1: 63472
           5,-15:
             0: 4088
             1: 61440
@@ -1007,21 +1012,21 @@ entities:
             1: 8749
             0: 2
           6,-16:
-            1: 8944
+            1: 29936
           6,-15:
-            0: 36859
-            1: 28672
+            0: 4091
+            1: 61440
           6,-14:
-            1: 61165
+            1: 28385
             0: 2
           7,-16:
             1: 28272
           7,-15:
-            0: 13105
-            1: 34816
+            0: 9009
+            1: 38912
           7,-14:
-            0: 13107
-            1: 34952
+            1: 34968
+            0: 13091
           8,-16:
             1: 3840
           8,-15:
@@ -1058,15 +1063,15 @@ entities:
           1,-16:
             1: 50368
           1,-15:
-            1: 68
+            1: 17476
           1,-14:
-            1: 17472
+            1: 17476
           2,-16:
-            1: 57280
+            1: 57328
           2,-15:
-            1: 4369
+            1: 56797
           2,-14:
-            1: 4371
+            1: 24023
           -4,-11:
             1: 62448
           -5,-11:
@@ -1188,8 +1193,12 @@ entities:
           4,11:
             1: 12850
             0: 2184
+          3,12:
+            1: 34952
           4,10:
             0: 1262
+          4,12:
+            1: 61986
           5,9:
             0: 57599
           5,11:
@@ -1198,7 +1207,7 @@ entities:
             0: 52974
           5,12:
             0: 12
-            1: 57856
+            1: 61952
           6,9:
             0: 54527
           6,10:
@@ -1257,7 +1266,7 @@ entities:
           12,6:
             0: 28910
           12,7:
-            1: 36608
+            1: 3840
             0: 6
           8,12:
             0: 1
@@ -1364,6 +1373,8 @@ entities:
             0: 32754
           20,-4:
             0: 65359
+          20,-3:
+            1: 3840
           20,-2:
             0: 30583
           20,-1:
@@ -1484,7 +1495,7 @@ entities:
             0: 239
             1: 61440
           13,7:
-            1: 305
+            1: 273
             0: 49152
           13,8:
             0: 65518
@@ -1495,7 +1506,6 @@ entities:
             1: 61440
           14,7:
             0: 28672
-            1: 128
           14,8:
             0: 47935
           15,5:
@@ -1532,7 +1542,7 @@ entities:
             1: 256
           15,11:
             0: 34816
-            1: 773
+            1: 769
           13,10:
             1: 12544
             0: 206
@@ -1633,12 +1643,14 @@ entities:
             0: 2730
           21,-4:
             0: 54479
+          21,-3:
+            1: 4352
+            0: 52428
           21,-2:
+            1: 1
             0: 52672
           21,-5:
             0: 61440
-          21,-3:
-            0: 52428
           22,-4:
             0: 8243
           22,-3:
@@ -2652,6 +2664,54 @@ entities:
           decals:
             2224: 78,-2
             2225: 78,-1
+        - node:
+            color: '#1F820993'
+            id: CheckerNESW
+          decals:
+            3958: 29,-3
+            3959: 30,-3
+            3960: 31,-3
+            3961: 32,-3
+            3962: 33,-3
+            3963: 34,-3
+            3964: 35,-3
+            3965: 36,-3
+            3966: 36,-4
+            3967: 36,-5
+            3968: 36,-6
+            3969: 36,-7
+            3970: 36,-8
+            3971: 35,-8
+            3972: 34,-8
+            3973: 33,-8
+            3974: 32,-8
+            3975: 31,-8
+            3976: 31,-7
+            3977: 31,-6
+            3978: 29,-6
+            3979: 30,-6
+            3980: 29,-5
+            3981: 30,-5
+            3982: 31,-5
+            3984: 29,-4
+            3985: 30,-4
+            3986: 31,-4
+            3987: 32,-4
+            3988: 33,-4
+            3989: 34,-4
+            3990: 35,-4
+            3991: 35,-5
+            3992: 34,-5
+            3993: 33,-5
+            3994: 32,-5
+            3995: 32,-6
+            3996: 33,-6
+            3997: 34,-6
+            3998: 35,-6
+            3999: 35,-7
+            4000: 34,-7
+            4001: 33,-7
+            4002: 32,-7
         - node:
             color: '#52B4E996'
             id: CheckerNESW
@@ -2866,6 +2926,11 @@ entities:
             3182: 11,30
             3183: 12,30
             3184: 13,30
+            3924: -6,-3
+            3925: -7,-3
+            3926: -22,-2
+            3927: -22,-1
+            3928: -22,0
         - node:
             cleanable: True
             color: '#FFFFFFFF'
@@ -3111,6 +3176,12 @@ entities:
             3892: 29,-29
             3898: 4,38
             3909: 30,-27
+            3931: 35,31
+            3934: 31,23
+            3937: 31,29
+            3948: 47,35
+            3949: 52,34
+            3952: 46,35
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -3186,6 +3257,13 @@ entities:
             3904: 6,32
             3905: 8,30
             3908: 29,-27
+            3932: 35,30
+            3933: 28,24
+            3938: 29,30
+            3942: 29,28
+            3950: 47,34
+            3951: 52,35
+            3953: 46,36
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -3375,6 +3453,11 @@ entities:
             3902: 4,37
             3903: 5,33
             3906: 8,32
+            3935: 31,24
+            3936: 28,23
+            3940: 31,30
+            3941: 30,29
+            3943: 29,29
         - node:
             cleanable: True
             angle: 3.141592653589793 rad
@@ -3460,6 +3543,8 @@ entities:
             3882: 74,-4
             3894: 30,-24
             3895: 30,-29
+            3939: 30,28
+            3954: 46,34
         - node:
             cleanable: True
             angle: 1.5707963267948966 rad
@@ -3581,6 +3666,10 @@ entities:
             93: 31,20
             1613: 27,23
             1614: 27,24
+            3944: 47,34
+            3945: 47,35
+            3946: 52,35
+            3947: 52,34
         - node:
             color: '#EFCC4125'
             id: FullTileOverlayGreyscale
@@ -3758,6 +3847,7 @@ entities:
             2826: 39,19
             2939: 36,31
             2940: 43,31
+            3930: 35,31
         - node:
             color: '#EFB34128'
             id: HalfTileOverlayGreyscale
@@ -3887,6 +3977,7 @@ entities:
             2822: 39,17
             2937: 36,30
             2938: 43,30
+            3929: 35,30
         - node:
             color: '#EFCC4193'
             id: HalfTileOverlayGreyscale180
@@ -4520,6 +4611,24 @@ entities:
             3412: 9,31
             3413: 9,32
             3535: 9,33
+        - node:
+            color: '#92000093'
+            id: QuarterTileOverlayGreyscale180
+          decals:
+            4021: 36,-1
+            4023: 34,-1
+            4025: 32,-1
+            4026: 31,-1
+            4027: 30,-1
+            4028: 29,-1
+            4029: 28,-1
+            4030: 27,-1
+            4031: 27,-2
+            4032: 27,-3
+            4033: 27,-4
+            4034: 27,-5
+            4036: 27,-7
+            4037: 27,-8
         - node:
             color: '#951710FF'
             id: QuarterTileOverlayGreyscale180
@@ -4556,7 +4665,6 @@ entities:
             944: 27,-9
             945: 27,-8
             946: 27,-7
-            947: 27,-6
             948: 27,-5
             1123: -6,-14
             1124: -6,-13
@@ -4583,12 +4691,9 @@ entities:
             1756: 28,34
             1757: 28,35
             1758: 28,36
-            1971: 38,-1
             1972: 37,-1
             1973: 36,-1
-            1974: 35,-1
             1975: 34,-1
-            1976: 33,-1
             1977: 32,-1
             1978: 32,-1
             1979: 31,-1
@@ -4600,6 +4705,7 @@ entities:
             1993: 14,-1
             1994: 16,-1
             1995: 15,-1
+            4038: 38,-1
         - node:
             color: '#D4D4D496'
             id: QuarterTileOverlayGreyscale180
@@ -4712,6 +4818,18 @@ entities:
             2514: 105,-20
             2515: 102,-20
             2516: 102,-17
+        - node:
+            color: '#1F820993'
+            id: QuarterTileOverlayGreyscale270
+          decals:
+            4003: 37,-1
+            4004: 36,-1
+            4006: 34,-1
+            4008: 32,-1
+            4009: 31,-1
+            4010: 30,-1
+            4011: 29,-1
+            4012: 28,-1
         - node:
             color: '#334E6DC8'
             id: QuarterTileOverlayGreyscale270
@@ -4962,6 +5080,17 @@ entities:
             2518: 104,-17
             2519: 107,-18
             2520: 106,-20
+        - node:
+            color: '#1F820993'
+            id: QuarterTileOverlayGreyscale90
+          decals:
+            4013: 27,-2
+            4014: 27,-3
+            4015: 27,-4
+            4016: 27,-5
+            4018: 27,-7
+            4019: 27,-8
+            4020: 27,-9
         - node:
             color: '#334E6DC8'
             id: QuarterTileOverlayGreyscale90
@@ -7579,6 +7708,16 @@ entities:
       parent: 2
 - proto: AirlockBrigGlassLocked
   entities:
+  - uid: 1152
+    components:
+    - type: Transform
+      pos: 35.5,30.5
+      parent: 2
+  - uid: 1153
+    components:
+    - type: Transform
+      pos: 35.5,31.5
+      parent: 2
   - uid: 2186
     components:
     - type: Transform
@@ -9274,34 +9413,28 @@ entities:
       parent: 2
 - proto: AirlockSecurityGlassLocked
   entities:
-  - uid: 2402
+  - uid: 613
     components:
     - type: Transform
-      pos: 37.5,22.5
+      pos: 52.5,34.5
       parent: 2
-  - uid: 3215
+  - uid: 2402
     components:
     - type: Transform
-      pos: 52.5,34.5
+      pos: 37.5,22.5
       parent: 2
   - uid: 4132
     components:
     - type: Transform
       pos: 52.5,35.5
       parent: 2
-  - uid: 7774
-    components:
-    - type: Transform
-      pos: 35.5,30.5
-      parent: 2
-  - uid: 8408
+- proto: AirlockSecurityLocked
+  entities:
+  - uid: 1660
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 35.5,31.5
+      pos: 47.5,34.5
       parent: 2
-- proto: AirlockSecurityLocked
-  entities:
   - uid: 1831
     components:
     - type: Transform
@@ -9327,11 +9460,6 @@ entities:
     - type: Transform
       pos: 44.5,31.5
       parent: 2
-  - uid: 13572
-    components:
-    - type: Transform
-      pos: 47.5,34.5
-      parent: 2
 - proto: AirlockServiceLocked
   entities:
   - uid: 555
@@ -11846,6 +11974,20 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 4.5,15.5
       parent: 2
+  - uid: 15103
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 31.5,44.5
+      parent: 2
+- proto: ButtonFrameExit
+  entities:
+  - uid: 15128
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 53.5,-0.5
+      parent: 2
 - proto: ButtonFrameGrey
   entities:
   - uid: 6862
@@ -11865,6 +12007,12 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 5.5,22.5
       parent: 2
+  - uid: 11145
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 30.5,27.5
+      parent: 2
 - proto: CableApcExtension
   entities:
   - uid: 42
@@ -32451,6 +32599,21 @@ entities:
     - type: Transform
       pos: 36.5,-6.5
       parent: 2
+  - uid: 1661
+    components:
+    - type: Transform
+      pos: 29.5,-3.5
+      parent: 2
+  - uid: 1662
+    components:
+    - type: Transform
+      pos: 30.5,-2.5
+      parent: 2
+  - uid: 1664
+    components:
+    - type: Transform
+      pos: 29.5,-2.5
+      parent: 2
   - uid: 2516
     components:
     - type: Transform
@@ -32775,6 +32938,21 @@ entities:
     - type: Transform
       pos: 14.5,15.5
       parent: 2
+  - uid: 12374
+    components:
+    - type: Transform
+      pos: 31.5,-3.5
+      parent: 2
+  - uid: 12793
+    components:
+    - type: Transform
+      pos: 31.5,-2.5
+      parent: 2
+  - uid: 15085
+    components:
+    - type: Transform
+      pos: 30.5,-3.5
+      parent: 2
 - proto: CarpetBlack
   entities:
   - uid: 430
@@ -35923,6 +36101,30 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 29.5,-46.5
       parent: 2
+  - uid: 15156
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 19.5,-14.5
+      parent: 2
+  - uid: 15157
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 18.5,-14.5
+      parent: 2
+  - uid: 15158
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 20.5,-14.5
+      parent: 2
+  - uid: 15159
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 21.5,-14.5
+      parent: 2
 - proto: Cautery
   entities:
   - uid: 7791
@@ -36673,16 +36875,6 @@ entities:
       parent: 2
 - proto: ChairWood
   entities:
-  - uid: 1152
-    components:
-    - type: Transform
-      pos: 29.5,-2.5
-      parent: 2
-  - uid: 1153
-    components:
-    - type: Transform
-      pos: 30.5,-2.5
-      parent: 2
   - uid: 1155
     components:
     - type: Transform
@@ -36707,18 +36899,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 22.5,-10.5
       parent: 2
-  - uid: 1662
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 29.5,-4.5
-      parent: 2
-  - uid: 1664
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 30.5,-4.5
-      parent: 2
   - uid: 2689
     components:
     - type: Transform
@@ -38070,6 +38250,33 @@ entities:
     - type: Transform
       pos: 70.51337,28.554468
       parent: 2
+- proto: ClothingOuterSanta
+  entities:
+  - uid: 15114
+    components:
+    - type: Transform
+      pos: 40.61844,22.747278
+      parent: 2
+  - uid: 15115
+    components:
+    - type: Transform
+      pos: 40.708717,22.802872
+      parent: 2
+  - uid: 15116
+    components:
+    - type: Transform
+      pos: 40.52816,22.677786
+      parent: 2
+  - uid: 15117
+    components:
+    - type: Transform
+      pos: 40.43094,22.615242
+      parent: 2
+  - uid: 15118
+    components:
+    - type: Transform
+      pos: 40.326775,22.566597
+      parent: 2
 - proto: ClothingOuterSkub
   entities:
   - uid: 13075
@@ -39482,6 +39689,12 @@ entities:
     - type: Transform
       pos: 22.5,17.5
       parent: 2
+  - uid: 13171
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 21.5,42.5
+      parent: 2
 - proto: CryogenicSleepUnitSpawner
   entities:
   - uid: 6935
@@ -39840,11 +40053,6 @@ entities:
     - type: Transform
       pos: 31.5,36.5
       parent: 2
-  - uid: 13171
-    components:
-    - type: Transform
-      pos: 31.5,35.5
-      parent: 2
   - uid: 13172
     components:
     - type: Transform
@@ -43053,6 +43261,13 @@ entities:
     - type: Transform
       pos: 67.6423,-14.594364
       parent: 2
+- proto: DrinkGlassWhite
+  entities:
+  - uid: 15126
+    components:
+    - type: Transform
+      pos: 36.1319,-8.358889
+      parent: 2
 - proto: DrinkGoldenCup
   entities:
   - uid: 12097
@@ -43217,17 +43432,23 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 25.5,-14.5
       parent: 2
-  - uid: 11333
+  - uid: 3215
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 14.5,-4.5
+      parent: 2
+  - uid: 8408
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: 27.5,33.5
+      pos: 42.5,8.5
       parent: 2
-    - type: ActiveEmergencyLight
-  - uid: 12374
+  - uid: 11333
     components:
     - type: Transform
-      pos: 10.5,1.5
+      rot: -1.5707963267948966 rad
+      pos: 27.5,33.5
       parent: 2
     - type: ActiveEmergencyLight
   - uid: 12375
@@ -43310,6 +43531,157 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 53.5,36.5
       parent: 2
+  - uid: 15131
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 29.5,-2.5
+      parent: 2
+  - uid: 15132
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 20.5,-28.5
+      parent: 2
+  - uid: 15133
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 25.5,-36.5
+      parent: 2
+  - uid: 15134
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 38.5,-48.5
+      parent: 2
+  - uid: 15135
+    components:
+    - type: Transform
+      pos: 34.5,-22.5
+      parent: 2
+  - uid: 15136
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 31.5,-17.5
+      parent: 2
+  - uid: 15137
+    components:
+    - type: Transform
+      pos: 72.5,8.5
+      parent: 2
+  - uid: 15138
+    components:
+    - type: Transform
+      pos: 78.5,-3.5
+      parent: 2
+  - uid: 15139
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 49.5,-5.5
+      parent: 2
+  - uid: 15140
+    components:
+    - type: Transform
+      pos: 49.5,11.5
+      parent: 2
+  - uid: 15141
+    components:
+    - type: Transform
+      pos: 55.5,20.5
+      parent: 2
+  - uid: 15142
+    components:
+    - type: Transform
+      pos: 67.5,16.5
+      parent: 2
+  - uid: 15143
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 37.5,17.5
+      parent: 2
+  - uid: 15144
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 32.5,39.5
+      parent: 2
+  - uid: 15145
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 17.5,41.5
+      parent: 2
+  - uid: 15146
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 14.5,35.5
+      parent: 2
+  - uid: 15147
+    components:
+    - type: Transform
+      pos: 20.5,18.5
+      parent: 2
+  - uid: 15148
+    components:
+    - type: Transform
+      pos: 10.5,10.5
+      parent: 2
+  - uid: 15149
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 3.5,5.5
+      parent: 2
+  - uid: 15150
+    components:
+    - type: Transform
+      pos: 15.5,1.5
+      parent: 2
+  - uid: 15151
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 8.5,-6.5
+      parent: 2
+  - uid: 15152
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -8.5,-1.5
+      parent: 2
+  - uid: 15153
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -22.5,-8.5
+      parent: 2
+  - uid: 15154
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -6.5,-17.5
+      parent: 2
+  - uid: 15155
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 22.5,-19.5
+      parent: 2
+  - uid: 15160
+    components:
+    - type: Transform
+      pos: 79.5,2.5
+      parent: 2
+  - uid: 15161
+    components:
+    - type: Transform
+      pos: 46.5,4.5
+      parent: 2
 - proto: EmergencyRollerBedSpawnFolded
   entities:
   - uid: 9622
@@ -45893,6 +46265,41 @@ entities:
       parent: 2
     - type: Fixtures
       fixtures: {}
+- proto: FloraTreeChristmas02
+  entities:
+  - uid: 2566
+    components:
+    - type: Transform
+      pos: 30.5,-3.5
+      parent: 2
+- proto: FoodBakedCookie
+  entities:
+  - uid: 15122
+    components:
+    - type: Transform
+      pos: 35.204815,-8.44228
+      parent: 2
+- proto: FoodBakedCookieOatmeal
+  entities:
+  - uid: 15123
+    components:
+    - type: Transform
+      pos: 35.392315,-8.525671
+      parent: 2
+- proto: FoodBakedCookieRaisin
+  entities:
+  - uid: 15124
+    components:
+    - type: Transform
+      pos: 35.558983,-8.400584
+      parent: 2
+- proto: FoodBakedCookieSugar
+  entities:
+  - uid: 15125
+    components:
+    - type: Transform
+      pos: 35.3819,-8.296345
+      parent: 2
 - proto: FoodBanana
   entities:
   - uid: 9595
@@ -46093,6 +46500,13 @@ entities:
     - type: Transform
       pos: 27.383966,6.5099545
       parent: 2
+- proto: FoodPlate
+  entities:
+  - uid: 15119
+    components:
+    - type: Transform
+      pos: 35.454815,-8.306768
+      parent: 2
 - proto: FoodPlateSmallTrash
   entities:
   - uid: 5882
@@ -62416,11 +62830,6 @@ entities:
     - type: Transform
       pos: 23.5,53.5
       parent: 2
-  - uid: 5754
-    components:
-    - type: Transform
-      pos: 24.5,53.5
-      parent: 2
   - uid: 5755
     components:
     - type: Transform
@@ -64738,6 +65147,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 57.5,42.5
       parent: 2
+  - uid: 13654
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 15.5,51.5
+      parent: 2
   - uid: 13658
     components:
     - type: Transform
@@ -65504,6 +65919,34 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 1.5,43.5
       parent: 2
+  - uid: 15105
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 16.5,51.5
+      parent: 2
+  - uid: 15106
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 17.5,51.5
+      parent: 2
+  - uid: 15107
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 18.5,51.5
+      parent: 2
+  - uid: 15110
+    components:
+    - type: Transform
+      pos: 15.5,49.5
+      parent: 2
+  - uid: 15112
+    components:
+    - type: Transform
+      pos: 19.5,51.5
+      parent: 2
 - proto: GrilleBroken
   entities:
   - uid: 1247
@@ -65687,6 +66130,21 @@ entities:
     - type: Transform
       pos: 5.5,43.5
       parent: 2
+  - uid: 15108
+    components:
+    - type: Transform
+      pos: 15.5,50.5
+      parent: 2
+  - uid: 15109
+    components:
+    - type: Transform
+      pos: 15.5,48.5
+      parent: 2
+  - uid: 15111
+    components:
+    - type: Transform
+      pos: 24.5,53.5
+      parent: 2
 - proto: GunSafeLaserCarbine
   entities:
   - uid: 2126
@@ -66413,6 +66871,60 @@ entities:
     - type: Transform
       pos: 84.53704,28.473265
       parent: 2
+- proto: LockableButtonCommand
+  entities:
+  - uid: 15104
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 31.5,44.5
+      parent: 2
+    - type: DeviceLinkSource
+      linkedPorts:
+        15098:
+        - Pressed: Toggle
+        15096:
+        - Pressed: Toggle
+        15095:
+        - Pressed: Toggle
+        15094:
+        - Pressed: Toggle
+        15093:
+        - Pressed: Toggle
+        15092:
+        - Pressed: Toggle
+        15091:
+        - Pressed: Toggle
+        15097:
+        - Pressed: Toggle
+        15090:
+        - Pressed: Toggle
+        15089:
+        - Pressed: Toggle
+        15088:
+        - Pressed: Toggle
+        15099:
+        - Pressed: Toggle
+        15100:
+        - Pressed: Toggle
+        15101:
+        - Pressed: Toggle
+        15102:
+        - Pressed: Toggle
+- proto: LockableButtonMedical
+  entities:
+  - uid: 15129
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 53.5,-0.5
+      parent: 2
+    - type: DeviceLinkSource
+      linkedPorts:
+        599:
+        - Pressed: Open
+        600:
+        - Pressed: Open
 - proto: LockerAtmosphericsFilledHardsuit
   entities:
   - uid: 1458
@@ -68367,11 +68879,6 @@ entities:
     - type: Transform
       pos: 37.5,2.5
       parent: 2
-  - uid: 12316
-    components:
-    - type: Transform
-      pos: 33.5,16.5
-      parent: 2
   - uid: 12317
     components:
     - type: Transform
@@ -68382,6 +68889,11 @@ entities:
     - type: Transform
       pos: 30.5,-13.5
       parent: 2
+  - uid: 13572
+    components:
+    - type: Transform
+      pos: 30.5,12.5
+      parent: 2
 - proto: PottedPlant1
   entities:
   - uid: 6619
@@ -68405,11 +68917,6 @@ entities:
       parent: 2
 - proto: PottedPlant22
   entities:
-  - uid: 2909
-    components:
-    - type: Transform
-      pos: 19.5,44.5
-      parent: 2
   - uid: 12726
     components:
     - type: Transform
@@ -71030,6 +71537,18 @@ entities:
       rot: 3.141592653589793 rad
       pos: 41.5,-12.5
       parent: 2
+- proto: PresentRandom
+  entities:
+  - uid: 15086
+    components:
+    - type: Transform
+      pos: 29.5,-3.5
+      parent: 2
+  - uid: 15087
+    components:
+    - type: Transform
+      pos: 31.5,-3.5
+      parent: 2
 - proto: Protolathe
   entities:
   - uid: 5305
@@ -71289,6 +71808,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 82.5,34.5
       parent: 2
+  - uid: 15113
+    components:
+    - type: Transform
+      pos: 40.5,22.5
+      parent: 2
 - proto: RadiationCollectorFullTank
   entities:
   - uid: 8166
@@ -71537,10 +72061,10 @@ entities:
       parent: 2
 - proto: RandomPosterLegit
   entities:
-  - uid: 2566
+  - uid: 5754
     components:
     - type: Transform
-      pos: 34.5,12.5
+      pos: 33.5,12.5
       parent: 2
   - uid: 7573
     components:
@@ -71592,6 +72116,11 @@ entities:
     - type: Transform
       pos: 75.5,5.5
       parent: 2
+  - uid: 15130
+    components:
+    - type: Transform
+      pos: 36.5,12.5
+      parent: 2
 - proto: RandomSoap
   entities:
   - uid: 8162
@@ -75357,6 +75886,87 @@ entities:
     - type: Transform
       pos: 17.5,-43.5
       parent: 2
+- proto: ShuttersWindowOpen
+  entities:
+  - uid: 15088
+    components:
+    - type: Transform
+      pos: 22.5,49.5
+      parent: 2
+  - uid: 15089
+    components:
+    - type: Transform
+      pos: 23.5,49.5
+      parent: 2
+  - uid: 15090
+    components:
+    - type: Transform
+      pos: 24.5,49.5
+      parent: 2
+  - uid: 15091
+    components:
+    - type: Transform
+      pos: 26.5,49.5
+      parent: 2
+  - uid: 15092
+    components:
+    - type: Transform
+      pos: 27.5,49.5
+      parent: 2
+  - uid: 15093
+    components:
+    - type: Transform
+      pos: 28.5,49.5
+      parent: 2
+  - uid: 15094
+    components:
+    - type: Transform
+      pos: 29.5,49.5
+      parent: 2
+  - uid: 15095
+    components:
+    - type: Transform
+      pos: 30.5,49.5
+      parent: 2
+  - uid: 15096
+    components:
+    - type: Transform
+      pos: 31.5,49.5
+      parent: 2
+  - uid: 15097
+    components:
+    - type: Transform
+      pos: 25.5,49.5
+      parent: 2
+  - uid: 15098
+    components:
+    - type: Transform
+      pos: 32.5,49.5
+      parent: 2
+  - uid: 15099
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 36.5,46.5
+      parent: 2
+  - uid: 15100
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 36.5,45.5
+      parent: 2
+  - uid: 15101
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 18.5,45.5
+      parent: 2
+  - uid: 15102
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 18.5,44.5
+      parent: 2
 - proto: SignAi
   entities:
   - uid: 3417
@@ -75627,16 +76237,6 @@ entities:
         - Pressed: Toggle
         4503:
         - Pressed: Toggle
-  - uid: 13654
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 30.5,27.5
-      parent: 2
-    - type: DeviceLinkSource
-      linkedPorts:
-        13915:
-        - Pressed: Toggle
   - uid: 13655
     components:
     - type: MetaData
@@ -75688,6 +76288,16 @@ entities:
         - Pressed: Toggle
         12824:
         - Pressed: Toggle
+  - uid: 15127
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 30.5,27.5
+      parent: 2
+    - type: DeviceLinkSource
+      linkedPorts:
+        13915:
+        - Pressed: Toggle
 - proto: SignAnomaly
   entities:
   - uid: 5066
@@ -77947,15 +78557,15 @@ entities:
       parent: 2
 - proto: SpawnPointServiceWorker
   entities:
-  - uid: 12792
+  - uid: 12316
     components:
     - type: Transform
-      pos: 32.5,-5.5
+      pos: 32.5,-4.5
       parent: 2
-  - uid: 12793
+  - uid: 12792
     components:
     - type: Transform
-      pos: 32.5,-4.5
+      pos: 32.5,-5.5
       parent: 2
   - uid: 12794
     components:
@@ -78195,6 +78805,18 @@ entities:
     - type: Transform
       pos: 54.5,37.5
       parent: 2
+  - uid: 15120
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 29.777733,-4.241445
+      parent: 2
+  - uid: 15121
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 31.173567,-4.241445
+      parent: 2
 - proto: StoolBar
   entities:
   - uid: 1615
@@ -80130,16 +80752,6 @@ entities:
     - type: Transform
       pos: 33.5,-5.5
       parent: 2
-  - uid: 1660
-    components:
-    - type: Transform
-      pos: 29.5,-3.5
-      parent: 2
-  - uid: 1661
-    components:
-    - type: Transform
-      pos: 30.5,-3.5
-      parent: 2
   - uid: 1758
     components:
     - type: Transform
@@ -82251,13 +82863,6 @@ entities:
     - type: Transform
       pos: 11.5,-3.5
       parent: 2
-  - uid: 613
-    components:
-    - type: MetaData
-      name: Hot drinks machine
-    - type: Transform
-      pos: 21.5,42.5
-      parent: 2
   - uid: 5350
     components:
     - type: MetaData
@@ -82272,6 +82877,11 @@ entities:
     - type: Transform
       pos: 67.5,41.5
       parent: 2
+  - uid: 7774
+    components:
+    - type: Transform
+      pos: 19.5,44.5
+      parent: 2
   - uid: 8864
     components:
     - type: MetaData
@@ -93523,35 +94133,11 @@ entities:
       parent: 2
 - proto: WallWeaponCapacitorRecharger
   entities:
-  - uid: 11145
+  - uid: 2909
     components:
     - type: Transform
-      pos: 39.5,20.5
+      pos: 36.5,20.5
       parent: 2
-    - type: ContainerContainer
-      containers:
-        WeaponCapacitorCharger-powerCellContainer: !type:ContainerSlot
-          showEnts: False
-          occludes: True
-          ent: null
-        charger-slot: !type:ContainerSlot
-          showEnts: False
-          occludes: True
-          ent: null
-        charger_slot: !type:ContainerSlot
-          showEnts: False
-          occludes: True
-          ent: null
-        machine_board: !type:Container
-          showEnts: False
-          occludes: True
-          ents: []
-        machine_parts: !type:Container
-          showEnts: False
-          occludes: True
-          ents: []
-    - type: Physics
-      canCollide: False
 - proto: WardrobeAtmosphericsFilled
   entities:
   - uid: 4267

From 22987fc77f5ab508604be215cedc8bb59f7fb947 Mon Sep 17 00:00:00 2001
From: ActiveMammmoth <140334666+ActiveMammmoth@users.noreply.github.com>
Date: Sun, 17 Nov 2024 11:46:31 -0500
Subject: [PATCH 133/187] Wizard Summon Guns/Magic (#32692)

* mostly done but there's a bug with spawning

* RandomGlobalSpawnSpellEvent now actually works

* Summon Guns/Magic is working

* Added sound, cap gun, and auto pick up

* Added all requested changes/fixes from reviews

* Halving cooldowns
---
 .../Systems/KillPersonConditionSystem.cs      |   6 +-
 .../Store/Systems/StoreSystem.Ui.cs           |   5 +
 .../Events/RandomGlobalSpawnSpellEvent.cs     |  23 +++
 Content.Shared/Magic/SharedMagicSystem.cs     |  43 +++-
 Content.Shared/Mind/SharedMindSystem.cs       |  19 +-
 Content.Shared/Store/ListingPrototype.cs      |  16 +-
 .../Locale/en-US/magic/spells-actions.ftl     |   4 +-
 .../Locale/en-US/store/spellbook-catalog.ftl  |   8 +-
 .../Prototypes/Catalog/spellbook_catalog.yml  |  30 ++-
 Resources/Prototypes/Magic/event_spells.yml   | 194 +++++++++++++++++-
 10 files changed, 326 insertions(+), 22 deletions(-)
 create mode 100644 Content.Shared/Magic/Events/RandomGlobalSpawnSpellEvent.cs

diff --git a/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs b/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs
index 8dcbf191b36..f662d6a578c 100644
--- a/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs
+++ b/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs
@@ -53,7 +53,7 @@ private void OnPersonAssigned(EntityUid uid, PickRandomPersonComponent comp, ref
             return;
 
         // no other humans to kill
-        var allHumans = _mind.GetAliveHumansExcept(args.MindId);
+        var allHumans = _mind.GetAliveHumans(args.MindId);
         if (allHumans.Count == 0)
         {
             args.Cancelled = true;
@@ -77,14 +77,14 @@ private void OnHeadAssigned(EntityUid uid, PickRandomHeadComponent comp, ref Obj
             return;
 
         // no other humans to kill
-        var allHumans = _mind.GetAliveHumansExcept(args.MindId);
+        var allHumans = _mind.GetAliveHumans(args.MindId);
         if (allHumans.Count == 0)
         {
             args.Cancelled = true;
             return;
         }
 
-        var allHeads = new List<EntityUid>();
+        var allHeads = new HashSet<Entity<MindComponent>>();
         foreach (var person in allHumans)
         {
             if (TryComp<MindComponent>(person, out var mind) && mind.OwnedEntity is { } ent && HasComp<CommandStaffComponent>(ent))
diff --git a/Content.Server/Store/Systems/StoreSystem.Ui.cs b/Content.Server/Store/Systems/StoreSystem.Ui.cs
index f1c0cb1e906..5af6ce1c975 100644
--- a/Content.Server/Store/Systems/StoreSystem.Ui.cs
+++ b/Content.Server/Store/Systems/StoreSystem.Ui.cs
@@ -256,6 +256,11 @@ private void OnBuyRequest(EntityUid uid, StoreComponent component, StoreBuyListi
                 RaiseLocalEvent(buyer, listing.ProductEvent);
         }
 
+        if (listing.DisableRefund)
+        {
+            component.RefundAllowed = false;
+        }
+
         //log dat shit.
         _admin.Add(LogType.StorePurchase,
             LogImpact.Low,
diff --git a/Content.Shared/Magic/Events/RandomGlobalSpawnSpellEvent.cs b/Content.Shared/Magic/Events/RandomGlobalSpawnSpellEvent.cs
new file mode 100644
index 00000000000..c77607562a4
--- /dev/null
+++ b/Content.Shared/Magic/Events/RandomGlobalSpawnSpellEvent.cs
@@ -0,0 +1,23 @@
+using Content.Shared.Actions;
+using Content.Shared.Storage;
+using Robust.Shared.Audio;
+
+namespace Content.Shared.Magic.Events;
+
+public sealed partial class RandomGlobalSpawnSpellEvent : InstantActionEvent, ISpeakSpell
+{
+    /// <summary>
+    /// The list of prototypes this spell can spawn, will select one randomly
+    /// </summary>
+    [DataField]
+    public List<EntitySpawnEntry> Spawns = new();
+
+    /// <summary>
+    /// Sound that will play globally when cast
+    /// </summary>
+    [DataField]
+    public SoundSpecifier Sound = new SoundPathSpecifier("/Audio/Magic/staff_animation.ogg");
+
+    [DataField]
+    public string? Speech { get; private set; }
+}
diff --git a/Content.Shared/Magic/SharedMagicSystem.cs b/Content.Shared/Magic/SharedMagicSystem.cs
index 02d483c0a3f..21e137346ef 100644
--- a/Content.Shared/Magic/SharedMagicSystem.cs
+++ b/Content.Shared/Magic/SharedMagicSystem.cs
@@ -1,4 +1,4 @@
-using System.Numerics;
+using System.Numerics;
 using Content.Shared.Actions;
 using Content.Shared.Body.Components;
 using Content.Shared.Body.Systems;
@@ -7,12 +7,17 @@
 using Content.Shared.Doors.Systems;
 using Content.Shared.Hands.Components;
 using Content.Shared.Hands.EntitySystems;
+using Content.Shared.Humanoid;
 using Content.Shared.Interaction;
 using Content.Shared.Inventory;
 using Content.Shared.Lock;
 using Content.Shared.Magic.Components;
 using Content.Shared.Magic.Events;
 using Content.Shared.Maps;
+using Content.Shared.Mind;
+using Content.Shared.Mind.Components;
+using Content.Shared.Mobs.Components;
+using Content.Shared.Mobs.Systems;
 using Content.Shared.Physics;
 using Content.Shared.Popups;
 using Content.Shared.Speech.Muting;
@@ -20,6 +25,7 @@
 using Content.Shared.Tag;
 using Content.Shared.Weapons.Ranged.Components;
 using Content.Shared.Weapons.Ranged.Systems;
+using Robust.Shared.Audio.Systems;
 using Robust.Shared.Map;
 using Robust.Shared.Map.Components;
 using Robust.Shared.Network;
@@ -53,6 +59,9 @@ public abstract class SharedMagicSystem : EntitySystem
     [Dependency] private readonly LockSystem _lock = default!;
     [Dependency] private readonly SharedHandsSystem _hands = default!;
     [Dependency] private readonly TagSystem _tag = default!;
+    [Dependency] private readonly MobStateSystem _mobState = default!;
+    [Dependency] private readonly SharedAudioSystem _audio = default!;
+    [Dependency] private readonly SharedMindSystem _mind = default!;
 
     public override void Initialize()
     {
@@ -67,6 +76,7 @@ public override void Initialize()
         SubscribeLocalEvent<SmiteSpellEvent>(OnSmiteSpell);
         SubscribeLocalEvent<KnockSpellEvent>(OnKnockSpell);
         SubscribeLocalEvent<ChargeSpellEvent>(OnChargeSpell);
+        SubscribeLocalEvent<RandomGlobalSpawnSpellEvent>(OnRandomGlobalSpawnSpell);
 
         // Spell wishlist
         //  A wishlish of spells that I'd like to implement or planning on implementing in a future PR
@@ -501,6 +511,37 @@ private void OnChargeSpell(ChargeSpellEvent ev)
         _gunSystem.UpdateBasicEntityAmmoCount(wand.Value, basicAmmoComp.Count.Value + ev.Charge, basicAmmoComp);
     }
     // End Charge Spells
+    #endregion
+    #region Global Spells
+
+    private void OnRandomGlobalSpawnSpell(RandomGlobalSpawnSpellEvent ev)
+    {
+        if (!_net.IsServer || ev.Handled || !PassesSpellPrerequisites(ev.Action, ev.Performer) || ev.Spawns is not { } spawns)
+            return;
+
+        ev.Handled = true;
+        Speak(ev);
+
+        var allHumans = _mind.GetAliveHumans();
+
+        foreach (var human in allHumans)
+        {
+            if (!human.Comp.OwnedEntity.HasValue)
+                continue;
+
+            var ent = human.Comp.OwnedEntity.Value;
+
+            var mapCoords = _transform.GetMapCoordinates(ent);
+            foreach (var spawn in EntitySpawnCollection.GetSpawns(spawns, _random))
+            {
+                var spawned = Spawn(spawn, mapCoords);
+                _hands.PickupOrDrop(ent, spawned);
+            }
+        }
+
+        _audio.PlayGlobal(ev.Sound, ev.Performer);
+    }
+
     #endregion
     // End Spells
     #endregion
diff --git a/Content.Shared/Mind/SharedMindSystem.cs b/Content.Shared/Mind/SharedMindSystem.cs
index bf0b5f650ad..0f5f9172cc6 100644
--- a/Content.Shared/Mind/SharedMindSystem.cs
+++ b/Content.Shared/Mind/SharedMindSystem.cs
@@ -532,22 +532,19 @@ public string MindOwnerLoggingString(MindComponent mind)
     /// <summary>
     /// Returns a list of every living humanoid player's minds, except for a single one which is exluded.
     /// </summary>
-    public List<EntityUid> GetAliveHumansExcept(EntityUid exclude)
+    public HashSet<Entity<MindComponent>> GetAliveHumans(EntityUid? exclude = null)
     {
-        var mindQuery = EntityQuery<MindComponent>();
-
-        var allHumans = new List<EntityUid>();
+        var allHumans = new HashSet<Entity<MindComponent>>();
         // HumanoidAppearanceComponent is used to prevent mice, pAIs, etc from being chosen
-        var query = EntityQueryEnumerator<MindContainerComponent, MobStateComponent, HumanoidAppearanceComponent>();
-        while (query.MoveNext(out var uid, out var mc, out var mobState, out _))
+        var query = EntityQueryEnumerator<MobStateComponent, HumanoidAppearanceComponent>();
+        while (query.MoveNext(out var uid, out var mobState, out _))
         {
-            // the player needs to have a mind and not be the excluded one
-            if (mc.Mind == null || mc.Mind == exclude)
+            // the player needs to have a mind and not be the excluded one +
+            // the player has to be alive
+            if (!TryGetMind(uid, out var mind, out var mindComp) || mind == exclude || !_mobState.IsAlive(uid, mobState))
                 continue;
 
-            // the player has to be alive
-            if (_mobState.IsAlive(uid, mobState))
-                allHumans.Add(mc.Mind.Value);
+            allHumans.Add(new Entity<MindComponent>(mind, mindComp));
         }
 
         return allHumans;
diff --git a/Content.Shared/Store/ListingPrototype.cs b/Content.Shared/Store/ListingPrototype.cs
index 05ac5cc4cd5..e2339b72c67 100644
--- a/Content.Shared/Store/ListingPrototype.cs
+++ b/Content.Shared/Store/ListingPrototype.cs
@@ -39,7 +39,8 @@ public ListingData(ListingData other) : this(
         other.Categories,
         other.OriginalCost,
         other.RestockTime,
-        other.DiscountDownTo
+        other.DiscountDownTo,
+        other.DisableRefund
     )
     {
 
@@ -63,7 +64,8 @@ public ListingData(
         HashSet<ProtoId<StoreCategoryPrototype>> categories,
         IReadOnlyDictionary<ProtoId<CurrencyPrototype>, FixedPoint2> originalCost,
         TimeSpan restockTime,
-        Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> dataDiscountDownTo
+        Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> dataDiscountDownTo,
+        bool disableRefund
     )
     {
         Name = name;
@@ -84,6 +86,7 @@ Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> dataDiscountDownTo
         OriginalCost = originalCost;
         RestockTime = restockTime;
         DiscountDownTo = new Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2>(dataDiscountDownTo);
+        DisableRefund = disableRefund;
     }
 
     [ViewVariables]
@@ -194,6 +197,12 @@ Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> dataDiscountDownTo
     [DataField]
     public Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> DiscountDownTo = new();
 
+    /// <summary>
+    /// Whether or not to disable refunding for the store when the listing is purchased from it.
+    /// </summary>
+    [DataField]
+    public bool DisableRefund = false;
+
     public bool Equals(ListingData? listing)
     {
         if (listing == null)
@@ -287,7 +296,8 @@ public ListingDataWithCostModifiers(ListingData listingData)
             listingData.Categories,
             listingData.OriginalCost,
             listingData.RestockTime,
-            listingData.DiscountDownTo
+            listingData.DiscountDownTo,
+            listingData.DisableRefund
         )
     {
     }
diff --git a/Resources/Locale/en-US/magic/spells-actions.ftl b/Resources/Locale/en-US/magic/spells-actions.ftl
index 40757cd694f..21109066d3d 100644
--- a/Resources/Locale/en-US/magic/spells-actions.ftl
+++ b/Resources/Locale/en-US/magic/spells-actions.ftl
@@ -1,5 +1,7 @@
-action-speech-spell-forcewall = TARCOL MINTI ZHERI
+action-speech-spell-forcewall = TARCOL MINTI ZHERI
 action-speech-spell-knock = AULIE OXIN FIERA
 action-speech-spell-smite = EI NATH!
 action-speech-spell-summon-magicarp = AIE KHUSE EU
 action-speech-spell-fireball = ONI'SOMA!
+action-speech-spell-summon-guns = YOR'NEE VES-KORFA
+action-speech-spell-summon-magic = RYGOIN FEMA-VERECO
diff --git a/Resources/Locale/en-US/store/spellbook-catalog.ftl b/Resources/Locale/en-US/store/spellbook-catalog.ftl
index 1d970f6e3ac..ed62c6fa82b 100644
--- a/Resources/Locale/en-US/store/spellbook-catalog.ftl
+++ b/Resources/Locale/en-US/store/spellbook-catalog.ftl
@@ -1,4 +1,4 @@
-# Spells
+# Spells
 spellbook-fireball-name = Fireball
 spellbook-fireball-desc = Get most crew exploding with rage when they see this fireball heading toward them!
 
@@ -33,6 +33,12 @@ spellbook-wand-polymorph-carp-description = For when you need a carp filet quick
 spellbook-event-summon-ghosts-name = Summon Ghosts
 spellbook-event-summon-ghosts-description = Who ya gonna call?
 
+spellbook-event-summon-guns-name = Summon Guns
+spellbook-event-summon-guns-description = AK47s for everyone! Places a random gun in front of everybody. Disables refunds when bought!
+
+spellbook-event-summon-magic-name = Summon Magic
+spellbook-event-summon-magic-description = Places a random magical item in front of everybody. Nothing could go wrong! Disables refunds when bought!
+
 # Upgrades
 spellbook-upgrade-fireball-name = Upgrade Fireball
 spellbook-upgrade-fireball-description = Upgrades Fireball to a maximum of level 3!
diff --git a/Resources/Prototypes/Catalog/spellbook_catalog.yml b/Resources/Prototypes/Catalog/spellbook_catalog.yml
index 805c157f1e3..6e9bba87a6a 100644
--- a/Resources/Prototypes/Catalog/spellbook_catalog.yml
+++ b/Resources/Prototypes/Catalog/spellbook_catalog.yml
@@ -1,4 +1,4 @@
-# Offensive
+# Offensive
 - type: listing
   id: SpellbookFireball
   name: spellbook-fireball-name
@@ -132,6 +132,34 @@
   - !type:ListingLimitedStockCondition
     stock: 1
 
+- type: listing
+  id: SpellbookEventSummonGuns
+  name: spellbook-event-summon-guns-name
+  description: spellbook-event-summon-guns-description
+  productAction: ActionSummonGuns
+  cost:
+    WizCoin: 2
+  categories:
+  - SpellbookEvents
+  conditions:
+  - !type:ListingLimitedStockCondition
+    stock: 1
+  disableRefund: true
+
+- type: listing
+  id: SpellbookEventSummonMagic
+  name: spellbook-event-summon-magic-name
+  description: spellbook-event-summon-magic-description
+  productAction: ActionSummonMagic
+  cost:
+    WizCoin: 2
+  categories:
+  - SpellbookEvents
+  conditions:
+  - !type:ListingLimitedStockCondition
+    stock: 1
+  disableRefund: true
+
 # Upgrades
 - type: listing
   id: SpellbookFireballUpgrade
diff --git a/Resources/Prototypes/Magic/event_spells.yml b/Resources/Prototypes/Magic/event_spells.yml
index 01006b4ffe0..5aad8925a60 100644
--- a/Resources/Prototypes/Magic/event_spells.yml
+++ b/Resources/Prototypes/Magic/event_spells.yml
@@ -1,4 +1,4 @@
-- type: entity
+- type: entity
   id: ActionSummonGhosts
   name: Summon Ghosts
   description: Makes all current ghosts permanently invisible
@@ -10,3 +10,195 @@
       sprite: Mobs/Ghosts/ghost_human.rsi
       state: icon
     event: !type:ToggleGhostVisibilityToAllEvent
+
+# TODO: Add Whitelist/Blacklist and Component support to EntitySpawnLists (to avoid making huge hardcoded lists like below).
+
+- type: entity
+  id: ActionSummonGuns
+  name: Summon Guns
+  description: AK47s for everyone! Places a random gun in front of everybody.
+  components:
+  - type: Magic
+  - type: InstantAction
+    useDelay: 300
+    itemIconStyle: BigAction
+    icon:
+      sprite: Objects/Weapons/Guns/Rifles/ak.rsi
+      state: base
+    event: !type:RandomGlobalSpawnSpellEvent
+      spawns:
+      - id: WeaponPistolViper
+        orGroup: Guns
+      - id: WeaponPistolCobra
+        orGroup: Guns
+      - id: WeaponPistolMk58
+        orGroup: Guns
+      - id: WeaponPistolN1984
+        orGroup: Guns
+      - id: WeaponRevolverDeckard
+        orGroup: Guns
+      - id: WeaponRevolverInspector
+        orGroup: Guns
+      - id: WeaponRevolverMateba
+        orGroup: Guns
+      - id: WeaponRevolverPython
+        orGroup: Guns
+      - id: WeaponRevolverPirate
+        orGroup: Guns
+      - id: WeaponRifleAk
+        orGroup: Guns
+      - id: WeaponRifleM90GrenadeLauncher
+        orGroup: Guns
+      - id: WeaponRifleLecter
+        orGroup: Guns
+      - id: WeaponShotgunBulldog
+        orGroup: Guns
+      - id: WeaponShotgunDoubleBarreled
+        orGroup: Guns
+      - id: WeaponShotgunEnforcer
+        orGroup: Guns
+      - id: WeaponShotgunKammerer
+        orGroup: Guns
+      - id: WeaponShotgunSawn
+        orGroup: Guns
+      - id: WeaponShotgunHandmade
+        orGroup: Guns
+      - id: WeaponShotgunBlunderbuss
+        orGroup: Guns
+      - id: WeaponShotgunImprovised
+        orGroup: Guns
+      - id: WeaponSubMachineGunAtreides
+        orGroup: Guns
+      - id: WeaponSubMachineGunC20r
+        orGroup: Guns
+      - id: WeaponSubMachineGunDrozd
+        orGroup: Guns
+      - id: WeaponSubMachineGunWt550
+        orGroup: Guns
+      - id: WeaponSniperMosin
+        orGroup: Guns
+      - id: WeaponSniperHristov
+        orGroup: Guns
+      - id: Musket
+        orGroup: Guns
+      - id: WeaponPistolFlintlock
+        orGroup: Guns
+      - id: WeaponLauncherChinaLake
+        orGroup: Guns
+      - id: WeaponLauncherRocket
+        orGroup: Guns
+      - id: WeaponLauncherPirateCannon
+        orGroup: Guns
+      - id: WeaponTetherGun
+        orGroup: Guns
+      - id: WeaponForceGun
+        orGroup: Guns
+      - id: WeaponGrapplingGun
+        orGroup: Guns
+      - id: WeaponLightMachineGunL6
+        orGroup: Guns
+      - id: WeaponLaserSvalinn
+        orGroup: Guns
+      - id: WeaponLaserGun
+        orGroup: Guns
+      - id: WeaponMakeshiftLaser
+        orGroup: Guns
+      - id: WeaponTeslaGun
+        orGroup: Guns
+      - id: WeaponLaserCarbinePractice
+        orGroup: Guns
+      - id: WeaponLaserCarbine
+        orGroup: Guns
+      - id: WeaponPulsePistol
+        orGroup: Guns
+      - id: WeaponPulseCarbine
+        orGroup: Guns
+      - id: WeaponPulseRifle
+        orGroup: Guns
+      - id: WeaponLaserCannon
+        orGroup: Guns
+      - id: WeaponParticleDecelerator
+        orGroup: Guns
+      - id: WeaponXrayCannon
+        orGroup: Guns
+      - id: WeaponDisablerPractice
+        orGroup: Guns
+      - id: WeaponDisabler
+        orGroup: Guns
+      - id: WeaponDisablerSMG
+        orGroup: Guns
+      - id: WeaponTaser
+        orGroup: Guns
+      - id: WeaponAntiqueLaser
+        orGroup: Guns
+      - id: WeaponAdvancedLaser
+        orGroup: Guns
+      - id: WeaponPistolCHIMP
+        orGroup: Guns
+      - id: WeaponBehonkerLaser
+        orGroup: Guns
+      - id: WeaponEnergyShotgun
+        orGroup: Guns
+      - id: WeaponMinigun
+        orGroup: Guns
+      - id: BowImprovised
+        orGroup: Guns
+      - id: WeaponFlareGun
+        orGroup: Guns
+      - id: WeaponImprovisedPneumaticCannon
+        orGroup: Guns
+      - id: WeaponWaterPistol
+        orGroup: Guns
+      - id: WeaponWaterBlaster
+        orGroup: Guns
+      - id: WeaponWaterBlasterSuper
+        orGroup: Guns
+      - id: RevolverCapGun
+        orGroup: Guns
+      - id: RevolverCapGunFake
+        orGroup: Guns
+      speech: action-speech-spell-summon-guns
+      
+- type: entity
+  id: ActionSummonMagic
+  name: Summon Magic
+  description: Places a random magical item in front of everybody. Nothing could go wrong!
+  components:
+  - type: Magic
+  - type: InstantAction
+    useDelay: 300
+    itemIconStyle: BigAction
+    icon:
+      sprite: Objects/Magic/magicactions.rsi
+      state: magicmissile
+    event: !type:RandomGlobalSpawnSpellEvent
+      spawns:
+      - id: SpawnSpellbook
+        orGroup: Magics
+      - id: ForceWallSpellbook
+        orGroup: Magics
+      - id: BlinkBook
+        orGroup: Magics
+      - id: SmiteBook
+        orGroup: Magics
+      - id: KnockSpellbook
+        orGroup: Magics
+      - id: FireballSpellbook
+        orGroup: Magics
+      - id: WeaponWandPolymorphCarp
+        orGroup: Magics
+      - id: WeaponWandPolymorphMonkey
+        orGroup: Magics
+      - id: WeaponWandFireball
+        orGroup: Magics
+      - id: WeaponWandPolymorphDoor
+        orGroup: Magics
+      - id: WeaponWandCluwne
+        orGroup: Magics
+      - id: WeaponWandPolymorphBread
+        orGroup: Magics
+      - id: WeaponStaffHealing
+        orGroup: Magics
+      - id: WeaponStaffPolymorphDoor
+        orGroup: Magics
+      speech: action-speech-spell-summon-magic

From e290588624169c5bfe043797ac4a1e5af6c6c0a1 Mon Sep 17 00:00:00 2001
From: ScarKy0 <scarky0@onet.eu>
Date: Sun, 17 Nov 2024 20:23:45 +0100
Subject: [PATCH 134/187] Changes + Cleanup

---
 Content.Server/Silicons/Laws/SiliconLawSystem.cs | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
index 3bf0297c40e..8341e3185cb 100644
--- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs
+++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
@@ -1,4 +1,3 @@
-using System.Diagnostics;
 using System.Linq;
 using Content.Server.Administration;
 using Content.Server.Chat.Managers;
@@ -67,8 +66,7 @@ private void OnMindAdded(EntityUid uid, SiliconLawBoundComponent component, Mind
 
         var msg = Loc.GetString("laws-notify");
         var wrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", msg));
-        _chatManager.ChatMessageToOne(ChatChannel.Server, msg, wrappedMessage, default, false,
-            actor.PlayerSession.Channel, colorOverride: Color.FromHex("#2ed2fd"));
+        _chatManager.ChatMessageToOne(ChatChannel.Server, msg, wrappedMessage, default, false, actor.PlayerSession.Channel, colorOverride: Color.FromHex("#2ed2fd"));
 
         if (!TryComp<SiliconLawProviderComponent>(uid, out var lawcomp))
             return;
@@ -78,8 +76,7 @@ private void OnMindAdded(EntityUid uid, SiliconLawBoundComponent component, Mind
 
         var modifedLawMsg = Loc.GetString("laws-notify-subverted");
         var modifiedLawWrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", modifedLawMsg));
-        _chatManager.ChatMessageToOne(ChatChannel.Server, modifedLawMsg, modifiedLawWrappedMessage, default, false,
-            actor.PlayerSession.Channel, colorOverride: Color.Red);
+        _chatManager.ChatMessageToOne(ChatChannel.Server, modifedLawMsg, modifiedLawWrappedMessage, default, false, actor.PlayerSession.Channel, colorOverride: Color.Red);
     }
 
     private void OnLawProviderMindAdded(Entity<SiliconLawProviderComponent> ent, ref MindAddedMessage args)
@@ -185,7 +182,8 @@ protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent comp
 
         base.OnGotEmagged(uid, component, ref args);
         NotifyLawsChanged(uid, component.EmaggedSound);
-        EnsureSubvertedSiliconRole(uid);
+        if(_mind.TryGetMind(uid, out var mindId, out _))
+            EnsureSubvertedSiliconRole(mindId);
 
         _stunSystem.TryParalyze(uid, component.StunTime, true);
 

From 31d5a668669cf14558e25c6607a446aac0927b5d Mon Sep 17 00:00:00 2001
From: ThatGuyUSA <thatguyusa123@gmail.com>
Date: Sun, 17 Nov 2024 14:08:20 -0800
Subject: [PATCH 135/187] Chemical synthesis kit tweak (#33345)

* butcherable surgery caps

* readded cardboard box

* butcherable now?

* butcherable now?

* one day ill figure this out

* changed label of hyperzine syringe

* removed the thing in hats.yml that wasn't supposed to be here

* Update Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml          | 2 +-
 .../Prototypes/Entities/Objects/Specific/Medical/healing.yml    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml
index 0f99ae77d47..839848725e3 100644
--- a/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml
+++ b/Resources/Prototypes/Catalog/Fills/Boxes/syndicate.yml
@@ -84,4 +84,4 @@
         amount: 2
       - id: WeaponBaguette
       - id: SyndicateMicrowaveMachineCircuitboard
-      - id: PaperWrittenCombatBakeryKit
\ No newline at end of file
+      - id: PaperWrittenCombatBakeryKit
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
index f28548a8d1c..46410a01643 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
@@ -1036,7 +1036,7 @@
   id: SyringeStimulants
   components:
   - type: Label
-    currentLabel: reagent-name-hyperzine
+    currentLabel: reagent-name-stimulants
   - type: SolutionContainerManager
     solutions:
       injector:

From 97be261631d90f418874844a0063d9b74a8ee43d Mon Sep 17 00:00:00 2001
From: Justice League <the.justice.league.of.canada@gmail.com>
Date: Sun, 17 Nov 2024 18:55:57 -0500
Subject: [PATCH 136/187] Reduced cost of coloured light fixtures

---
 .../Recipes/Construction/Graphs/utilities/lighting.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml
index 378feb1cf80..977be3f4d69 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/lighting.yml
@@ -28,7 +28,7 @@
         - to: icon
           steps:
             - material: Glass
-              amount: 2
+              amount: 1
               doAfter: 1
             - tag: CrystalBlue
               name: blue crystal shard
@@ -48,7 +48,7 @@
         - to: icon
           steps:
             - material: Glass
-              amount: 2
+              amount: 1
               doAfter: 1
             - tag: CrystalPink
               name: pink crystal shard
@@ -68,7 +68,7 @@
         - to: icon
           steps:
             - material: Glass
-              amount: 2
+              amount: 1
               doAfter: 1
             - tag: CrystalOrange
               name: orange crystal shard
@@ -88,7 +88,7 @@
         - to: icon
           steps:
             - material: Glass
-              amount: 2
+              amount: 1
               doAfter: 1
             - tag: CrystalRed
               name: red crystal shard
@@ -108,7 +108,7 @@
         - to: icon
           steps:
             - material: Glass
-              amount: 2
+              amount: 1
               doAfter: 1
             - tag: CrystalGreen
               name: green crystal shard

From 824efd4b25b3d24b2d767dd649841e244b045483 Mon Sep 17 00:00:00 2001
From: Ubaser <134914314+UbaserB@users.noreply.github.com>
Date: Mon, 18 Nov 2024 17:32:07 +1100
Subject: [PATCH 137/187] Dim light bulbs (#33383)

add
---
 .../Entities/Objects/Power/lights.yml         | 17 +++++++++++++++
 .../Structures/Lighting/base_lighting.yml     | 21 +++++++++++++++++++
 .../Entities/Structures/Machines/lathe.yml    |  1 +
 Resources/Prototypes/Recipes/Lathes/misc.yml  |  9 ++++++++
 4 files changed, 48 insertions(+)

diff --git a/Resources/Prototypes/Entities/Objects/Power/lights.yml b/Resources/Prototypes/Entities/Objects/Power/lights.yml
index e0ae055e7d8..bb52000a860 100644
--- a/Resources/Prototypes/Entities/Objects/Power/lights.yml
+++ b/Resources/Prototypes/Entities/Objects/Power/lights.yml
@@ -150,6 +150,23 @@
     - LightBulb
     - Trash
 
+- type: entity
+  parent: BaseLightbulb
+  name: dim light bulb
+  id: DimLightBulb
+  description: A dim light bulb for populating the darkness of maintenance.
+  components:
+  - type: LightBulb
+    bulb: Bulb
+    color: "#ba473f"
+    lightEnergy: 0.5
+    lightRadius: 5
+    lightSoftness: 3
+  - type: Tag
+    tags:
+    - LightBulb
+    - Trash
+
 - type: entity
   parent: LightBulb
   name: old incandescent light bulb
diff --git a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml
index 99973845a9f..c079975e8ba 100644
--- a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml
+++ b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml
@@ -346,6 +346,27 @@
         Heat: 1
     popupText: powered-light-component-burn-hand
 
+- type: entity
+  id: PoweredDimSmallLight
+  suffix: Dim
+  parent: PoweredSmallLightEmpty
+  components:
+  - type: Sprite
+    state: base
+  - type: PointLight
+    enabled: true
+    radius: 5
+    energy: 0.5
+    softness: 3
+    color: "#ba473f"
+  - type: PoweredLight
+    hasLampOnSpawn: DimLightBulb
+  - type: DamageOnInteract
+    damage:
+      types:
+        Heat: 1
+    popupText: powered-light-component-burn-hand
+
 - type: entity
   id: PoweredSmallLight
   suffix: ""
diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
index 6a94891d127..e828fe784ec 100644
--- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
+++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml
@@ -150,6 +150,7 @@
       - ExteriorLightTube
       - LightBulb
       - LedLightBulb
+      - DimLightBulb
       - Bucket
       - DrinkMug
       - DrinkMugMetal
diff --git a/Resources/Prototypes/Recipes/Lathes/misc.yml b/Resources/Prototypes/Recipes/Lathes/misc.yml
index a0e74fc34e2..7dc77997839 100644
--- a/Resources/Prototypes/Recipes/Lathes/misc.yml
+++ b/Resources/Prototypes/Recipes/Lathes/misc.yml
@@ -52,6 +52,15 @@
     Steel: 50
     Glass: 50
 
+- type: latheRecipe
+  id: DimLightBulb
+  result: DimLightBulb
+  category: Lights
+  completetime: 2
+  materials:
+    Steel: 50
+    Glass: 50
+
 - type: latheRecipe
   id: GlowstickRed
   result: GlowstickRed

From b0fd9d5a555e3bb36a7047030b0a597580b08f83 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Mon, 18 Nov 2024 06:33:17 +0000
Subject: [PATCH 138/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 5675b73f3f9..c70024b7115 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Emisse
-  changes:
-  - message: Origin removed from the game.
-    type: Remove
-  id: 7120
-  time: '2024-08-15T22:22:02.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31059
 - author: Psychpsyo
   changes:
   - message: You can now be German on ze space station! (added German accent)
@@ -3923,3 +3916,10 @@
   id: 7619
   time: '2024-11-17T03:27:29.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33318
+- author: Ubaser
+  changes:
+  - message: You can now craft dim light bulbs at an autolathe.
+    type: Add
+  id: 7620
+  time: '2024-11-18T06:32:08.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33383

From 647db6aa878ce3ae6c10ec2bbf5b8b99665935ff Mon Sep 17 00:00:00 2001
From: SpaceManiac <tad@platymuus.com>
Date: Mon, 18 Nov 2024 01:51:08 -0800
Subject: [PATCH 139/187] Shift air alarm sprites to better reflect their
 direction (#33379)

* Shift Air Alarm sprites to better reflect their direction

* Fix two frames of west-facing sprite being one pixel off

* Indicate that sprites are no longer exactly tgstation's
---
 .../Wallmounts/air_monitors.rsi/alarm0.png    | Bin 2670 -> 7073 bytes
 .../Wallmounts/air_monitors.rsi/alarm1.png    | Bin 2102 -> 6210 bytes
 .../Wallmounts/air_monitors.rsi/alarm2.png    | Bin 2144 -> 6253 bytes
 .../Wallmounts/air_monitors.rsi/alarm_b1.png  | Bin 1309 -> 5459 bytes
 .../Wallmounts/air_monitors.rsi/alarm_b2.png  | Bin 1383 -> 5524 bytes
 .../air_monitors.rsi/alarm_bitem.png          | Bin 387 -> 4537 bytes
 .../Wallmounts/air_monitors.rsi/alarmp.png    | Bin 1250 -> 5349 bytes
 .../Wallmounts/air_monitors.rsi/alarmx.png    | Bin 1597 -> 5714 bytes
 .../Wallmounts/air_monitors.rsi/meta.json     |   2 +-
 9 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm0.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm0.png
index 3b714153de9e189d4fba46e1421acbc2f47e034a..995aaabb329695f3c0e4c15cb23e5cf68e4473d9 100644
GIT binary patch
literal 7073
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
Dr^qne

literal 2670
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
IJm;10H|b(f;s5{u

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm1.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm1.png
index e7a2301488820d59d8a4128a5a14a37aa0f7257a..03c7cfa26820c12915216f04edf4c5a67e9cd83b 100644
GIT binary patch
literal 6210
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

delta 2090
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
UOy{l88vp<R07*qoM6N<$g0W%>e*gdg

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm2.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm2.png
index 716536cfcb233c6bd547f22334953d753b228ca4..684898f1b63ce00e580127b7637395ee70efdd62 100644
GIT binary patch
literal 6253
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

delta 2132
zcmV-a2&?z)FyIi7BYy}dNkl<Zc%1E>UuYCZ9LK+xfBuOv#wdi^gp2=kX;5tBpcNmA
zRx4Twd9hWlh)Pk>D)``^($Z4U2SGs^AFPO}iZ3CElD29KEukeO6hrE18*M_;N~noZ
zPffk_vVFMhWN&w8|IE(rtY$wDZf<XPzq>R0o1OX1Zze!MKz{&*NHiviJcnp~p+urF
z>BnDgNlr76^&F!0y&|OE;P%DFTk18Me$w}v9OaitG$#G@?N_b}E?*6amI<QuMUbQ3
z(AhhLrsfCK1J*2?4glD)Z5P>g`qT;2?^fyT9YR_0Me6T80~=h`_nIu)4^2DgqiN@S
ze7-$Q(rT19CV!{(w%H|l^)F1gP=^T@>QIvP8cF|`J=qg|FQFEI6_igI%kMOXSIi{o
ztdci8*Y^_L0+>B(B1u<g<&kvZl<bWCtUO^XPhr91B9b0Bx|pQ%2JD~P?^d8&03|cV
zGQDjiNz#>b@~J11pEjeq*eZG1Gf28<Q=RU1H}$<FqklCJiN>VUr%qsA=_Kj_oxMYj
z1h;J4MQsYo`b)yY)Z>5c&UH;+1e#WmQ47cmnwlS=safbH5K6-pT>2!v-M6R(o>2g!
zPlm9LkZ659%E}|?>54Ob0zgk!-0=Jw3y8PWhpN^$N*$MKj4qUxNz`K+s}@N$9qpz!
zFIr!@|9|d85(_G$=;?}M?!szYp9?CZ0MZ3ubU&H`P{Lq>y89cMpda<+!YU0{NK*@^
z0RZmYZnO0%9|r&(mujdFm1#eqcH>^uZrlq1#H_4-%EviDw0^_+V*tjg604sL=Z}$N
zjnK6Kxx^l}AH?HF56O1BW+)$P*Zf86%NSUW?SCqe2DJ+6xKtA=4Od9N-)te<?3$r`
zEX&P{(vL)A(jfqm=pvTJ0QHzuUn3&Xn8p!kcwt^N!~CQliN>Vb4?g1|Nu}ZJrx`6V
z!<R5?#_>XgzU=K~#jF$Ca5i(BBWK*pj@rGkW!o<Dr}sMmw8j%yH9a4zrst!0S}sYq
z#(xvK8bJXVKpR&ua`4@}`;?@Wj?BLPq~7j90T^M$k*D70(UTNOD;=4C{{64+@j(HY
zVCK$t>h3mt2?u08;mSH+&Uig5S@Y!|0Dw<Uc9S#>-?(M{fHy$_TQi!WK>?^3Z(%XM
zWxNE2`I>PZ8W|7}5D*aXvg6A(saeax?SHnkm-@bQMaaETS^(H++>&b{=3eXjt^lmk
zST#0e$TH;V7kyt9fSpc@@}^k_-Tk2N8+UXh8k0^QKR~|IMxT_FhAX7faD}uxktFFC
zP2V>K5O1juZQpY^W1G_DOY^(eZrqENYd4cvpchTwHw6G_TNir1cr^{@kKx*tGk>Nr
zn10pw)jL3m)sd#M@(AWGtj3+&ZCnb$Ykgl?fD-i+M|%Q$y5jiZn|iL9@1;KP;9Ol;
z<9n<Oio0b2Ug?`wL2k##8=<TQbTUJd&(AyKz0{{xL2^e!j&q;8u-ew=g32g4wrYK&
zZA((u!L&NLtUQ9Z-ibMG1&PwvwSNFF<Kt=QnZI5pxMcxe>6=zTPU7R8B1fhfwMg82
z2Y8{+8l1~5KHdm*FVss5@Je4(0A9z((-<%P0L^MCZpX)ipDQ;6KyuRpywKNJfYbPR
zvq{$K_;?!1`O1Y;vQarFA4?+zn*H3efU@F?WO0zZf%Gi>DX%Qm%wcx*9e*IdfRvvy
z>g}@0KDpNl>GFO6>1756&+PyJgw`DaKwo%65A_Ny-#vJ$*~d)_$p88%NlO6m;rHD2
z4P6l|@$t!2KS|4(uinlRUfxhq`i2F-5+9!|9!nSRyFt>4se`8HQV)o<jU-8oy)xF`
zE!6r&o9f6tC>IUkiK#QrNq>C&NZ-#SoqPSh;d#^pB0zeEi9E|hIom`DFL$(_{@}SC
zWVsxrHS^Rr?TFcpkIzXx!}Isk7uz@T8!(#A0|3=}KT6UABKFpakozfid)a={*A#$q
zmY+IS-t2pt%~Y{@lc_%eNN0kw8jvS9%$_wdV+|u9)4$|2^J)5t8Gr9$c*RT<JTB6#
zRm4kQvs%jX)&5wmM6Wrl3>D#(=`?x<HUO^!7#ua+6oBrr-+Ad%Pa@Ze+xHx14n$%-
z$9M|Na&#eHog*M1ARr(hAb>kun^U5jZ=&^C;1(Gt59ZLu6Xumpa&_r=(fX`7Dgb47
zJk{3-Abq2)@dWz%lYbd2gnabgEGJTy^_PT)@#J1BlBs?qrVb+a`hDcR{VI%HBqCuh
z0JQ^3Y5pHCE6LbbxnPBzabZ?{>GFQ$0+4OtImSGhy!3ftJ2q5~gMZk5kSQkq<naTJ
zddH&mdBYT(TUH*y%C(!R>vAdwQPcw|PJByN_2t2n;(a$X1Ai$z^m*b+bhL61MLm$>
z#m&ouCj&<pYX(yMl=%STJ3wG4h%fYc!c+iep%`B@_u=N<ry1*~@x)9&wC)I!seUp(
zos)Xz%60I7y9IRi4q;kB4&Gc`=;*>&_0#|0VKn^ZpRw&`qj92OehI5WvOR58h}P$c
zEAIfka2B3xv44ry=Ls(h$l&y;6PALwSP`wy6W1-kjsIdKTAwGbw1V7z>O|}FgsBQL
zo0@5LiYF_g^?Aa}0yO{q$jzG;t<MwJdcr1CJRKogpC_)hf{ea9MYKLof_{KtTyaMm
z{ZC&WzIf64JYjAHUAuCIIv3a|e4WRDh-iJDF#E>U%T07y8x-FPfR9gJv_3DG$AoJ-
z+C$2P>ke5wj@QkL*5`$zsEEubkZEGKBSh=-APCF~2nYxmzx)ph6M$3%lGsfE0000<
KMNUMnLSTZ}{vhuF

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_b1.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_b1.png
index fc185734afd81918fbd5b81766ef3fda10b30cd8..50211ca0daa66bce56de17b7750a89c0ff3af25f 100644
GIT binary patch
literal 5459
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
W>x-n0<Tg+aA-=~v-jTUWSN#Vkv-?N@

delta 1291
zcmV+m1@!vUDxC_DBYy<sNkl<Zc%1E9UuY9a82`l+Q9Msk9|}iH>)&?sAO-L8aN!;f
z3R?Og<gpN`wStyHOA)ISPPwA>K`MBsP?cgKk9jN6qaY{&iTawg{*9y*`cUe5T9ksU
z59w@YXJ=+-lXf#9`N6WuOm=qWH{X2UeBU<#YN$a7BNDfCXn&(DFd}j5(UTWeDFaxG
zHr5*<wqU(GYi1^0?<^-a(qD{7+<N@r&bq$v_am@$B4Hz2@Ot(OE)Ja$K5%jLCIFzj
zr_V0Cd;5mxcU`eTRymVR+ZPY?z{qD_na+?BK!ZmDJ<B|J)$0Hu0is!_p)$j|OM#Gp
z=5W+?$v|dXrhf}`ghLw}k+^mD_6?-ci^2!mqdQA_VRuiTR;JKp1<2r2y$4)BZvW?%
zl$^CjePhd->`7+dzYr4cAYf%?tl05O!p4&K{w%38erLa-$v{457Ig=Je9n}%?~(vB
zGZ{L2;VPH;?LYotlO$+w%|-iQID&l6#J=XkzU~LZ5q|)y1dN`7H8k$-pNjwhsN21X
z+nMm*tzKfut&@qM7k=8l0|4-5=DE`S+T}su^5AL%fA!n_8X9+xi`%h<56i+qwzeKp
z7Q<NQ0FsHZq6sKQ2aG4u7>?Gt%16@kIQrWzH3_(LZWD&a5vp%&vD!Mi007fd6Zqq3
z8~~KX@PGf0|M~5|0}|qdOECL(iCZ_nu*`jcO8~uAUS>0PxvChFJN>LGO7uppkDtGB
zE8fk0g%OFn95JbA24RM17?HTt0;xh|!hwPnqe<XO06{6rt5}q}(MqKk?ZNWePTq5t
zNeL)7x_kQU?X<|{rtbjobZS`GUVHSWt4wPGWPgK}f#=AHd>LhTxExS%q*Q(*bL6xp
z0PuFFdG%hND-G=lpl6upa*HHD)s5H2Ed_!K%ARzXL9GY?sxK@rM71Plq^RoDTn#nU
zP(u*l+C(qSsjDq5rr$1aknF}@&wk-HvXU3jD#Z<~22(`wg#GnfxT$%q-C-F<Pr*8Q
zb$=Pp%ukqKSjM}#uK)@Y#ES_e5)<5Z9L`WBZ5l}2ayVLtzmGK_)qB7Z3KJ!F*)eXQ
zD{fssZ&!5p^w}5r&Z54t#bU3LMx_8h@8X?pxOM%!g9MuZGcy@F-G9aLW8!PeqA;<}
z0km~=*{P@?(9mRngzNp{bpI8HGIT5fR)0aL_}$6G7^bHtJacfmKv@Z@9&Bi6GO(}t
zFy72O4~&F-&MdsEkoJ<oD<C2yfE9buGO#-nAPDI|A?1~Qy972Nq8b*Hnn9I-V>u<D
z_5LJ)LjHo@2k^q*B1j2fC4hlNcP2=1NH5y@DC+=`PAIDm5P&DSqFAF;2e8mh2Y-l2
zXU(^4DSIvfuS|^Y65yrBl$0R3SDFN<ptAP?0`N?@Zylh35CBUP32+_UQazw4B!G8f
z{MU{V06^^cC7kFTvBG<|;um8Z1}|LGN&)~+6K=y(0*E(7c2?}^i+>lF@Ni{A5)}OE
z0NHYu5}<Nm8UWfly6`fa(MAIN?0*9)G9W_S;aKMYw_f(21?7N<9|Y|V=W`~erzVh0
zjB)E}E5J$v8xXOVKp`OF)TCtHdo6_^4^yeUi}&vp0yZGxIxNjw2DEEQPGIf%d9!__
zR&)+mM<@qG$e*KFq|%G7vv!q?s!xp6P(zjDI}isk7V&XRpa1{>07*qoL<FuvV1kJS
BXx0D#

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_b2.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_b2.png
index 0cdb0466062d852115d9646e370966a321920523..b735b57c30878ccf297b73684777a0c687da73d9 100644
GIT binary patch
literal 5524
zcmeHKdsK{D8-HigUCOl%VGO>)n)@`jni{6d3=L6HA>NsJr-tUz%v2*M(#?@dbV!Qg
zxF>NCiX*zHbL6<Ct2i#{Ao<8iq`v)5N!EAP`j)l6^Pid7v!A{9Z~yjwe*4+a%)7~F
zzL%B7cnb)Etb_vhMWE)P#moeJAC-r<fa(SkAe0G(Ga)n307%R*2!mok!3?pn7$e9C
z^d*5Z3fL$HE#oo9hB^h<69()bf$cbe!2+9t!9rG`&H;rA>@lD|3W|JV|60EQ8-1A>
z-U48u%%5s6p~weEB~r*l8Vk%PQ|TNEg+p<|k<o7sl?l+8yw5vAnc9|I1-@Yt<b1x5
zkk7}dH7c1r41pkhPRv%Wpp0i<v0|x5!S)f6HsMu1yI<_vmv+X&<FL)D#KjZ6i67(s
zWhG4B{L_OV^()EAXAd48%a6~;nXQXuIkRRI3pVx5vml6FSTC=Ztld%)6?<tRe6(S#
zsb3BCR&_#pO@Rfsu+7UZ#!T!fKIrO@JVT#Wxc1$<Xxm4DEl+#xjpnvUV;A7kX!lP1
z!2ID5ld$`ZYk0!;X^HQ0^v!vequeyhBfC?zH(|HmQ|z)jUBVLr93xLOUp^*1T<%-G
z(4*Gzer`nI9~UYD3+@Cw-_w)0_d?On*CKXJ6^KX9vzfy4v_kw=PVvn5Ox{FqcW~(`
zOItB5)B8Bpjy=vN(W3g_@qL#&lr>i#CuEPA3*93XeWX})zQEQLE7nhLihMK7%*AL)
zP}2$pbSig$T~kn}nVHJSwoV~xF(O9A?sZsBo#th6qtn)+^uu>Cz9Z}|7{{$vstRIq
zT%qrt&5SUzx5r96ehu!@N2x+oeS73@yNojBnlsr4jJAUq)XV(>bO9o7jzpy(!cvtO
zA?g)s^uQn&H@zB`tVVP=F%lwIa`7D{m+&~bl#5^DBqEE{d?ZvZh}Iy!(ewQz(W@nF
zDc;T1!bQ&k1PVk4<MfI!rIw@T;tjkUV58k6Jk9{ot>)qbKpgQ^8U#lt(urh(hh82@
z#k*SITr^S{XOX+-00n4q@u51MnnNN*MMV*#XhfAJghXMp*(5TRM5Ph{f}mZa)WLd!
zQacr;=;v@pv=WV6t&^*iIFu6>t0Ht<JRXeWKJ8DT7KsMwmD&LnfF2}0tR_*2WRgNb
z8ahL(^N0i_0~`9=8Ct(JYJ{{1(W)Xe62v1CQR=1+rI1Pn=c^+$VFq`k5)u-IC;(Io
zR;7HgBzofpXP^><$Q5eCEFkt5NS$2vS*$PihK?BA8M+ZLeUSGH^e5j9V1N>dIPNM*
z1iC$;I~R|x&ylJmaw*4P(kKWSkuhWhCm3N7=wdO0AeJ#{1U8FCqlw8f7Mm^|LM2pc
zb+A%`pj3dIC<i=Jm?4Ad3>rZ~VNnTmGL21OBNQ<KCR3SICozr5mQaUKEYQe7RKj6H
zcZE_(0TqQTmeOTTVgifIkP_%JSVCY)s0?7SsVq8+&15(s1}dq9<EhdpU~rsr1ssBq
z)XEUU04g|VwvUjDrxMAZdwjxRoeWIi;=Sd{2>s^)Ke+<&)xoHm6ef+rU{EPk;5w5+
zrF{l1Ml@Owi72NbcN#{}W8na2fUqzcr+~oF4}9V9H3+OzY5Y{GFfM*D>kbZ!z;%+s
zI@lf7A%Ju+5Bq(}!vr#mL+;-`N+(iD<+3&Z3yoeLoD0B%BNxcEVEr|QuKpY4i-h;L
z`kP^L!&SoJ43~lfOZr{V!jVY-c>}KgAxS8#3_(El7zo!-{qnyF1%ynd$Ycx_LCTge
z33N7#Nnp__Qi7A1?IdARoG1*c%%H*`yH+LBMZp?mb_mcBXa&O4@C$`=G#u27FVRt<
z2zm-YFam`_pg4UJj5Qz_X~1C;nlnCm>_Yl4O<W9sAxQ?z>+b`}3*<u5U@{!g4D9!x
zd<~q%Ke+@B_id4{()XKO-{kr#1-=UWExNwR^;HUd75H0p{omxW`20A9D8av=DDbd!
z+}dUpc+fHt&+~GJK0x=Nio@^bsz8sqS`es(Aj{Ec!9crm>_DffPAKv)ZL_pCx3*7Y
z$xR{1m?Cta?Wb>S4-$n=@EX(0@E7sb8AUVgl12A=j^xMNq~`NIh*#20_?E6F_RVyY
zx?%Rik4&`}`;IR086BTJtS9~?&ucQ)QzWS6-|$dGSIs_}?Pfc{H{KsU<Ycb7_ScEv
z2&WR~#)gJ7OU}3kL>{P3`zz*6O?Fn-B%g|wqzA2;`Rn`m)oGDCdf(ODxE`bI*qh{e
z^L60)gO}e9v+vpnL0;cG?7V*U<KBm-AaXNixzn2F`K8&W));8dH8*m^r1N);mObw-
z+@LDPR8@AR)%Ennl<Hj)e^Kvl{c!n?h3m)16Zh^L!wV1gEH}$KG@-a_vBuc1+{T8l
zaM`mWs4rw*SLLZEnV`9dF>&;=d9ik@GJ<{|!MfWU*))CHx%rqwWhyN<SMVhKedW}$
zqL7f8Ri-)4>oLBgCDTKUA9sNoip_oc-tlpZbg8L2&FdwjGi7mZDmhmuAJLka4(ODr
z!L8KTvsP#ReeBXEcl;~Qi|D7jEa~^Pq1?L--12*yr4#ns%KSHEeQ;fGS1lbS_%-+9
zx}8&b!_Nr2I=nfY;|uo0mCuQ5WIYMuwx(9?earF3Y{?AHyVNzS%=G<6)vDh5s@Yp5
zb;Hx{c94QIb}xKMgUTP>_MZ4~##8Uml%rPDFP{9adt22($(3r~^c+9j?KxEw-eMu_
zpU}4I{YeR$%9C~re#v{tb1vDq^P|b1337%0@WtG%g&E0ASm$%>wZo>i7qU0DiyO%~
zCNaGyTFJMY=qpNREpceH5mbANQl@PE)w#%z8`T>}NNO<N(h@Wt8nyiD>B{?h_vwd5
z{c&@vWrP>QSzEhMSd6`Ww(m#RQNeZg_bbLt_vg*&I2>l|c=*lTw%+>n?|A3Q+so}5
z8Y0@RV?|=Z%T^}cD<i<N^!w1_x7R%CX7Ms(s|!~@h{^XfGch`+L&jttPr=&_&vW2l
z0p@-8`(4k?^`eg7Ca<r6AbXciWnX>`wl`>b<@?5&MMaFP>xB%<fE7zC-kfQUU22|}
zR<m0m@?YpN*5B`syMd+NrLe=@kMn!CY<zm)<^8PkM+a<+yUs?Xjv|@QExr~yVcqF<
zZrZ%saoC(IYSaCsON0lRFYX6ak9`%^jcoO~c+7gW%^jWl4_@0`+9qahL{^*|aesYF
ztb5(bZS@HYcU*nu+<r>jQ*iUQ=_4mS@o{}#;8-31SGJ}j{X<wVKcRN`7#c>C7k>D$
zbHuhQj%JO~t@vF_8;>N;vr0t`!i=k{I_q!Q;Q9olwLfi|R#Et<rI|j?_UGoZY3U>C
z8Kc$CvroYtNuDFYjd>;Q-7v*`vt?lSo@Mn?vy1i>X$#_?O<Iz%l0H1SG7D#(zIhjQ
z0h71mLOpV>;C5bCz1wDNoLhNvQ|Ma`udwv;*kS1)b)THc^Vs%i!{Vlx*sTjzzQzon
z`$+V3ZBDvdp*0!5DMz{Hma@ni(>T7=+_)aT&_3U1`K$-~vCG<xau!2>s-y0i?o43|
z#*M|L(>5%>bv6~c7`<=HQj;fd`x-Fc-*j^9ww}z(2-v)*%`6k^?R~!F5QIb>Ja(t5
z^ZmUZlXZ>359*&7y?A9lsU&5KJ6@xhWL!gNf5**;tmTvz#a5Nw;4AUl+fOW9wEY-Q
z>%mJfeo|BhTyD<Jt_<smZU~I^i?59}dt>7>vykq5x`{Vp#<NqW?e}K&OeqLxT*WKj
zW({sc+@z*w1xFX1>btyFHO7*d<cym^aVt5w8Z+{MZihR5`_&iM{Ojt5wRe{b#`?bq
b@3B0R?444Hv3U*hDJ1lm?|yvF%DDdkl`R?*

delta 1365
zcmV-b1*-a#E9VN3BYy=hNkl<Zc%1E<O=ufO6vzKcLug6cl-37Bv9X&pkyi&{NUK9c
z4i$#R7+TQLpx`<Vq{d)lLLFmhLXG1bf&=*iC&9#^qYeS1wwNun2#VTVa*(1lA1X2d
z9~QSsYZ44)dyr?nJ3BKwlI+zO=?BYdXLe_2-oAM=@68Bk(tm`D7D<>Ylu;M7NW%R2
z*N0{;4cLw{cA5a4u+x>zXBS=XtS5Wz7g{7?{_?}^9ev^P&ta-0guQga<CRx9Kk+s9
zf%CIB004tSBUaj-TUR}=Rb`JTvyjVJ2Mc?{$ZuAf%D6PZPRnEq03e(VL)Uc#Ls3V*
z{VTKZ%2xrd0DlU(43I1T)}b@+p;euCkIHbnKrj?_9U_PzM7BUh9M)KiB+NUvt|FaT
z<37+EeZQs`4i1edH59tK0BL-B_^|8d-s^t|g|pqXb#!gZoMh$Chg^X>1hDyK%=pO*
z+`>|Kzpbe<m45y9P7S4EzN#|-l!|#_`7RB}XBPu!Cx0(7C4b=UH!LA>%G-9;J`#$c
zRLtX0@MuNnBcTX@Edk7)hB-0st{-z0Xl>cYtW4<OelN9T=806$i+2ya2LO0dxG#0S
zJTnf=jBge2-KbTsiFtRsm=!br+Tb>_yE`nchVlL}q>^)03!oYsFrUm|D%$EwpU$k}
z#IX<LG=JdsH~TO#k3d^Tm)X-d003BCTEJ%~5&$5rhA&_IU1|Lt2n5INg1M*b%)C`&
zgZThc0QSD}D3`U;Wz~?J?a#_mqc>{4`1e0%#<S<Ip+yodM@*=iehfo)v`9iY0?EP~
z!h!NAW*36c7pTQ}RZFcCt#oG1YAmbl)LmzqP=5gRW^ic4nojdvZu=Pkep{O2me(7-
z;Yw3l0HQ{VV7c!+Uq)#G$T(8Gdt$K|9z-4h09x(^xz7s&A}ZkZwORSWP!zhZ!<aE(
z%oxJwl^1~h3$t8qo(9Oe@yfWRfL}q`Q;uO!DFFbD7nbMJC<`+}8hUB2Ns}f`{D3(o
zdVg6?Rmak5>g{rd$ZYKK$}46eo9hBfEpY=|!4zIR;p4Wqm`n3YdxIioPs2QQX#>CK
z|G}!UfoIQO11NtWR!kt7Tws>taE5l%q=CdOr=qR6_GLTL!-pNAFy4|r-NrrkjGI@^
zSs8;vBi2E#Y1%rvO!}y)RT5P4F5`=WOMehIubguT!4g0|yBIh#deLz+@wG)!n0Wsf
zdin;er6@mW@6<rT^_6mF^rFKUI=TRDAY}aRRB{f>OADTBaP=UZ4ZG5$jiBtthW1Vk
zhk{4(q;TIiA(V>w^1I5*UR+qaT4=Zepw*t&4Xn!e2oX9^Uh>L4T?f4&;?;11aDNz-
z2};&e1G>Lo1W;bTu+IZn;cp&70ni#iVcIL>Ck&xiJ^D!70G>^#s}115(p+AwQD_5b
zRI>p*q0_^+s4IJR0k4%9)iuD&j!79oa^7tkAj9sS2XJ5w;T78e2?792MKr**aZ7fC
zCRYHg9pj(&O#=YpCokZu;b}8;aDP8O(cZ!M<YlEa0Pq~bEj%@VcvEC%Men}&acvzx
zZB9u1qEZ_m>dry|6ml8FVln7Cd$Tm5r*8m{a#>|GpptojXF!Ckv8x1ehvWTY%zV**
z7Ni3rmEgBKTq@?VytIH+a*mmA9|dS_paUXS7bpiroR%~giURil1MKh;!A{T3R5I^k
z{d<K#2Si+(rCHs;?pl%^SRZ}(rnRM(w+~lEqyr-4&rvk#%$jSj-EOAg7e<;iX>k4r
X_^(KM>TE{r00000NkvXXu0mjfi(`ja

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_bitem.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarm_bitem.png
index 192c589f26c1d67a16e0ee1076fdba92eece8b80..27655f277139384da3e1c9733e3d5de093efdf91 100644
GIT binary patch
literal 4537
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
BFt7js

delta 361
zcmV-v0ha!`BZC8wBYy!(Nkl<Zc${Nk7zKEMmU-O&0W(9(JnsL&<JbRF;s|2QV8o`0
zTnmW-*G?`%v6BVe@<Ti3(9(VeI}e8c$c|t^S8)6BcZP<FESgx}&@l}|48sA);KtP>
z7-AaQHdw{+0S#>%oN`PgnS{epl<2`30;E`k>_bu=h|>Z1f`5%z$B^v+GoKc+EGGwG
zIAGh6cMv*Tjj9%TO}zy-8yTP^!fPiNF|J)$PgRSN!P<rO7zGhVF1U7b5u=hc2h}a-
z=V4~}`r@Dfx;WNsC?Uc|bq8oGb7K|9ng~s`co}xS`$~035Dhxg82&RbFfhm}X#P*i
z>H43P)Ae6gL1OcNd}cdIG)y1NTzPqUetCI$eq_6_hCszEL@jyq>Pfixof~IJqLKA7
zFfcGYeE9Gqx?LF6F)~1QJtg4rgX?(h83m(Y6pVsVFtPyvJ_C-rVTCof00000NkvXX
Hu0mjf@C2Z|

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarmp.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarmp.png
index 793babbbe6af81f08609452ccf43b8bf00dd145f..3da599f9b13ab32457e250961f5dc7a2f7a4bd26 100644
GIT binary patch
literal 5349
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
F{s%|;tPTJG

delta 1231
zcmV;=1Tg#MDdGu`BYy;`Nkl<Zc%1E9Pe>F|82@cb6k0}f2xMhV`?Dj99f~<5-K3Bp
zWKSV%gn5Xt@|Xn?1RV_|JeY`r$7K;jicUokq8Aaz%4%aJ@DQPGVF)oDbf!0N-h1<A
zc6NQX`-5S2-n_rR`QG>5_kC}H3M$}2(^IAjb?gW<J!QUnyMJUBGJr7ZC^jN=La{q*
z%#6F*+(}fE51O7bUq63V)CSLAgsBn<)pWx0$_A$2eCHPEXgdr5=<eyY(?*5|J)c#@
z9^Q-Tn<rcs4RT=CZ&sSh;1VDM@+${<uL76^9IM~Q%v@Jn<#?9)!m3LFlYpZ~_A)cK
zG}Uk`vc9%R7k{V-hc?#qlsPgyh~v@y+ycuh8wEAk-P5boQs`O*L@Pk45sk$|*^{h%
zS>h7zAYl8;D76u4Xw;C)8iDQrkjomv`dt!W%#248mow(VWT&X3Jd(I&GKp5Rb75Y3
z@R>xbc`Lt(lPx-OSp&_d&iJ~YY|#O15g;0mivSV<M1PQ(UnGJoSY$<Gar0o^AppR~
zcXPh(RyhDznC#?!RL^}tva1itu08;;#Y*;Wl`914i2(rrL|OKpo*1ypiolcri?Ox&
ze*9Qpv(x>Gp;gwe_*)Q2j_)bRgRnp}7B@*{5>z4inF6J@Mm-4#qfuD`G(BY|uRaW;
zNiNc34}Tma2$i5;<rM}jYcnXkHgV}OXIeqVP_aR8ue*DC?Thsu0A`ImE*!3LU9(1>
z*@n^t@carQ18ecqFJ}7cw@qfc(gesDQgoj6pMRM7K7akqOjnu!z}uWI)Z7*-K@~uL
zVRFt}17}G|$I}ne^($kR0;O`wUUw{mN)Z5*pMP7Pi*gCf2vOFdxe6+%pn_6>xh8sP
zPF2^^ApLf2g{|EfF95O~H&80X4g7Pa@caqKqx+em`M|b7CedoM9mL-k1`?Mub|3z%
zW&msrbk@jY_1mVy0=#{to>_<MfP`%0<e-B(JqrQt<|g}ozwM|aFKHZUddeXMd&n0<
zPk-*(8F}6p646-PjK<>Tt^B6_yTEaI!fI!2zCTc#Lr?BH$g&AAX2v5o?mTv6CQVMB
z-JR^}L;Iy`b}XP2XlT^Xe(74ExWkP*kHM4xz^x@&wm6OS!~kASje5r5RDrY-l=ZYU
zG-_x*bp{{b&6SLVT-FG!EiM7H*z=}An17v-g%|0M-mGHr(=V=nkc4m<lyOR`CIQPU
z8#r{J8s|>eN!2AJfR+FXrdMZ*1qSJXS08B|z|#q;NdUl>T%NB{r~_#179Bt@-=eAP
zIR!*}0GZAd1AZjHOOHt@LF>NTBtQoL<vxJ5g!|S35{LjW6_Ehf={DH|np^_N^M8VM
zwN+?os=-<9fJ|qK4jIxtmT((F37}7izxeJBJu4ys4#+OyKnTInWLF=4tgqqy;*2s9
z;AbD;um*Qa6vfLN7X4>|9wXNwB8#0chjUp2FQ-Pi=Kw|FbJ`(dPk}9mh`&9xb%;vh
zXl-b)+7!9rL`P|8hluO2G|7(TOGrCbzt8m_0@5K_s=<@!T$qoLj@f&X<)j@VEcY_$
tD&L7g(;y{4(^~`Sud)w}R8T>g<1c>5J!obXi8=rP002ovPDHLkV1i-TLKy%6

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarmx.png b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/alarmx.png
index 0f3e60bc0e83a54ed8996159b86c6caf567dcf7a..d6647e410793ea308a775e63041ecd27ae572341 100644
GIT binary patch
literal 5714
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
S^BMdaKs@hXy$*SVCjAGhZfu_b

delta 1581
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

diff --git a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/meta.json b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/meta.json
index 62e0a281bf0..7d2da746e02 100644
--- a/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/meta.json
+++ b/Resources/Textures/Structures/Wallmounts/air_monitors.rsi/meta.json
@@ -4,7 +4,7 @@
         "x": 32,
         "y": 32
     },
-    "copyright": "Taken from tgstation",
+    "copyright": "Taken from tgstation, modified for SS14",
     "license": "CC-BY-SA-3.0",
     "states": [
         {

From 79ff990ddf7c7af40f70bcc7ba2d3220730852ab Mon Sep 17 00:00:00 2001
From: faint <46868845+ficcialfaint@users.noreply.github.com>
Date: Mon, 18 Nov 2024 21:57:50 +0300
Subject: [PATCH 140/187] Replace direct uses of GameTicker dictionary with
 `TryGetValue` (#33222)

Fix station events schedulers, antag selection and possibly other systems acting weird in a rare scenario
---
 Content.Server/Antag/AntagSelectionSystem.cs   | 2 +-
 Content.Server/GameTicking/GameTicker.Lobby.cs | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Content.Server/Antag/AntagSelectionSystem.cs b/Content.Server/Antag/AntagSelectionSystem.cs
index 610c0ad182a..45daa7a312f 100644
--- a/Content.Server/Antag/AntagSelectionSystem.cs
+++ b/Content.Server/Antag/AntagSelectionSystem.cs
@@ -184,7 +184,7 @@ protected override void Started(EntityUid uid, AntagSelectionComponent component
             return;
 
         var players = _playerManager.Sessions
-            .Where(x => GameTicker.PlayerGameStatuses[x.UserId] == PlayerGameStatus.JoinedGame)
+            .Where(x => GameTicker.PlayerGameStatuses.TryGetValue(x.UserId, out var status) && status == PlayerGameStatus.JoinedGame)
             .ToList();
 
         ChooseAntags((uid, component), players, midround: true);
diff --git a/Content.Server/GameTicking/GameTicker.Lobby.cs b/Content.Server/GameTicking/GameTicker.Lobby.cs
index 61d9fd99cae..9a9eb61b673 100644
--- a/Content.Server/GameTicking/GameTicker.Lobby.cs
+++ b/Content.Server/GameTicking/GameTicker.Lobby.cs
@@ -184,6 +184,6 @@ public bool UserHasJoinedGame(ICommonSession session)
             => UserHasJoinedGame(session.UserId);
 
         public bool UserHasJoinedGame(NetUserId userId)
-            => PlayerGameStatuses[userId] == PlayerGameStatus.JoinedGame;
+            => PlayerGameStatuses.TryGetValue(userId, out var status) && status == PlayerGameStatus.JoinedGame;
     }
 }

From 96d2fe477da4ef2c138fd569f51a08657339af6c Mon Sep 17 00:00:00 2001
From: Spanky <scott@wearejacob.com>
Date: Mon, 18 Nov 2024 17:37:34 -0500
Subject: [PATCH 141/187] Service Worker Job Icon Change (#33361)

* Changes the Server Worker job icon to a bowtie.

* Removes grey from icon to better fit existing art.

* Updated ID card sprite.

* Edit respective meta.json files.
---
 .../Misc/job_icons.rsi/ServiceWorker.png        | Bin 189 -> 209 bytes
 .../Interface/Misc/job_icons.rsi/meta.json      |   2 +-
 .../Misc/id_cards.rsi/idintern-service.png      | Bin 199 -> 200 bytes
 .../Objects/Misc/id_cards.rsi/meta.json         |   2 +-
 4 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/ServiceWorker.png b/Resources/Textures/Interface/Misc/job_icons.rsi/ServiceWorker.png
index 6dece6fb58c39b84f9eee4c37980855fcd9dcc3c..205002b98f65b2769dcd8f149c8ceec7a66c59ce 100644
GIT binary patch
delta 168
zcmdnXc#&~}VZCL5Plzi614GSr*ZFTF{{R0EWCIyMwCB~NRqt{R{_Q&Xf9He$*SEcG
zy6|?(-M8m<zwP<{{rm0Pw?BRQbn^-)Gf;zYNswPKQ15?+JY5h414eQFw}8^>o-U3d
z95a&>5?PqV*xb|%5>gUU($bQW(%2LY8$^V)nAKQ=c`oxY2zf9x-tkxd4%EZo>FVdQ
I&MBb@09aH}Gynhq

delta 148
zcmcb}xR-H)VLeN_qpu?a!^VE@KZ&di3=I4MJ|V6^x@NoU{I?PR|NjTFd%6E80V&p!
zAirRs$bW|4+xUWk0-OaNk;M!Qe1}1p@p%4<6riA*r;B5VM0j#SA`7z^o10piLPAnX
r0?Q;HpEC(;91FS@7%JS7jARh@VrVzc+Qa(`sD;7P)z4*}Q$iB};QcOg

diff --git a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
index 1f76743a9d5..da01eb11e86 100644
--- a/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
+++ b/Resources/Textures/Interface/Misc/job_icons.rsi/meta.json
@@ -1,7 +1,7 @@
 {
     "version": 1,
     "license": "CC-BY-SA-3.0",
-    "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/ce6beb8a4d61235d9a597a7126c407160ed674ea/icons/mob/huds/hud.dmi | Admin recolored from MedicalIntern by TsjipTsjip | StationAi resprite to 8x8 size by lunarcomets",
+    "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/blob/e71d6c4fba5a51f99b81c295dcaec4fc2f58fb19/icons/mob/screen1.dmi | Brigmedic icon made by PuroSlavKing (Github) | Zombie icon made by RamZ | Zookeper by netwy (discort) | Rev and Head Rev icon taken from https://tgstation13.org/wiki/HUD and edited by coolmankid12345 (Discord) | Mindshield icon taken from https://github.com/tgstation/tgstation/blob/ce6beb8a4d61235d9a597a7126c407160ed674ea/icons/mob/huds/hud.dmi | Admin recolored from MedicalIntern by TsjipTsjip | StationAi resprite to 8x8 size by lunarcomets | Service Worker resprite by anno_midi (Discord) and spanky-spanky (Github)",
 
     "size": {
         "x": 8,
diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/idintern-service.png b/Resources/Textures/Objects/Misc/id_cards.rsi/idintern-service.png
index 5fc1f43c05b745a8005c63e4da5c4d8f3da32340..72d4cd44d38761f4414c5a9366faa80455fd1445 100644
GIT binary patch
delta 159
zcmV;Q0AT;e0muQ6F@J(dL_t(og=1hC1*2dTjDnF47>QNrHkaW)y4bE{;`LMH0Jpge
z|An+M#ot|}jw6V201QN&K(Mie3aNmJ6vdGz85x$F|7VCiNj*=K<N#U#k{kf@{c>}P
zLmm!Th*gLj?9_~c0ndh`fTDs3A0W1nq9_gE1Ec9<6pVsVFc=Dm1pq5nG$|oF+T#EK
N002ovPDHLkV1k>AL2Up4

delta 158
zcmV;P0Ac^g0mlK5F@J$cL_t(og=1hC1*2dTjDnF47>QNrHkaW)y4bE{;`LJm+~zX;
zk2t~b9~nfPVEB*CQKSMEVihho|IZM4k`aaPewFe7Ald;iOQ{V=asYY=Py;Yg#gw7!
zfT58MhczH72;Jr~{1?(D&ER)eiHjnN(f~d%nm$IsC>RB!fEQQ*0MpYf;+^p!pa1{>
M07*qoM6N<$f<jb6H~;_u

diff --git a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json
index 93e8fbe1f3c..a87925420ad 100644
--- a/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json
+++ b/Resources/Textures/Objects/Misc/id_cards.rsi/meta.json
@@ -1,7 +1,7 @@
 {
   "version": 1,
   "license": "CC-BY-SA-3.0",
-  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d917f4c2a088419d5c3aec7656b7ff8cebd1822e idcluwne made by brainfood1183 (github) for ss14, idbrigmedic made by PuroSlavKing (Github), pirate made by brainfood1183 (github), idadmin made by Arimah (github), idvisitor by IProduceWidgets (Github)",
+  "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/d917f4c2a088419d5c3aec7656b7ff8cebd1822e idcluwne made by brainfood1183 (github) for ss14, idbrigmedic made by PuroSlavKing (Github), pirate made by brainfood1183 (github), idadmin made by Arimah (github), idvisitor by IProduceWidgets (Github), idintern-service by spanky-spanky (Github)",
   "size": {
     "x": 32,
     "y": 32

From 68eaf6ff254e49789696f5a79691c119e26cbb18 Mon Sep 17 00:00:00 2001
From: Saphire <lattice@saphi.re>
Date: Tue, 19 Nov 2024 08:11:10 +0600
Subject: [PATCH 142/187] Bump the failsafe timer down

---
 .../Singularity/Components/SingularityGeneratorComponent.cs   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs b/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
index 8b9b4e74466..c8feeb5d5db 100644
--- a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
+++ b/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
@@ -1,4 +1,4 @@
-using Robust.Shared.Prototypes;
+using Robust.Shared.Prototypes;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
 
 using Content.Server.Singularity.EntitySystems;
@@ -59,7 +59,7 @@ public sealed partial class SingularityGeneratorComponent : Component
     /// For how long the failsafe will cause the generator to stop working and not issue a failsafe warning
     /// </summary>
     [DataField]
-    public TimeSpan FailsafeCooldown = TimeSpan.FromSeconds(30);
+    public TimeSpan FailsafeCooldown = TimeSpan.FromSeconds(10);
 
     /// <summary>
     /// How long until the generator can issue a failsafe warning again

From dffece473ad83cdc5acdcf82d6c2381b34d929f5 Mon Sep 17 00:00:00 2001
From: Spessmann <156740760+Spessmann@users.noreply.github.com>
Date: Mon, 18 Nov 2024 18:17:57 -0800
Subject: [PATCH 143/187] Cog update (#33410)

removed fun
---
 Resources/Maps/cog.yml | 471 +++++++++++++++++------------------------
 1 file changed, 191 insertions(+), 280 deletions(-)

diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml
index 833756d3372..d770924a72f 100644
--- a/Resources/Maps/cog.yml
+++ b/Resources/Maps/cog.yml
@@ -8795,6 +8795,19 @@ entities:
             9036: 11,-17
             9037: 11,-16
             9038: 11,-15
+            10175: -1,43
+            10176: -1,44
+            10177: -1,45
+            10178: -14,27
+            10179: -14,28
+            10190: 14,-28
+            10191: 14,-27
+            10192: 28,-28
+            10193: 28,-27
+            10198: 47,-29
+            10199: 47,-28
+            10216: 35,11
+            10217: 35,12
         - node:
             color: '#FFFFFFFF'
             id: WarnLineN
@@ -8858,12 +8871,23 @@ entities:
             9002: 10,-12
             9003: 9,-12
             9545: 34,4
+            10164: 34,38
+            10165: 35,38
         - node:
             zIndex: 1
             color: '#FFFFFFFF'
             id: WarnLineN
           decals:
             9035: 8,-15
+            10170: 50,50
+            10171: 51,50
+            10182: -18,30
+            10183: -17,30
+            10184: -16,30
+            10206: 30,-43
+            10207: 31,-43
+            10208: 12,-43
+            10209: 13,-43
         - node:
             zIndex: 2
             color: '#FFFFFFFF'
@@ -8946,6 +8970,23 @@ entities:
             8717: -33,68
             9032: 9,-17
             9033: 9,-16
+            10172: -1,43
+            10173: -1,44
+            10174: -1,45
+            10180: -14,27
+            10181: -14,28
+            10188: 14,-28
+            10189: 14,-27
+            10194: 28,-28
+            10195: 28,-27
+            10196: 47,-29
+            10197: 47,-28
+            10202: 55,-22
+            10203: 55,-21
+            10204: 55,-20
+            10205: 55,-19
+            10214: 35,11
+            10215: 35,12
         - node:
             color: '#FFFFFFFF'
             id: WarnLineW
@@ -8988,6 +9029,22 @@ entities:
             8310: 19,4
             8311: 20,4
             9544: 34,0
+            10166: 34,38
+            10167: 35,38
+        - node:
+            zIndex: 1
+            color: '#FFFFFFFF'
+            id: WarnLineW
+          decals:
+            10168: 51,50
+            10169: 50,50
+            10185: -18,30
+            10186: -17,30
+            10187: -16,30
+            10210: 12,-43
+            10211: 13,-43
+            10212: 30,-43
+            10213: 31,-43
         - node:
             color: '#FFFFFFFF'
             id: WoodTrimThinCornerNe
@@ -15466,7 +15523,7 @@ entities:
       pos: 28.5,17.5
       parent: 12
     - type: DeviceLinkSink
-      invokeCounter: 4
+      invokeCounter: 5
     - type: DeviceLinkSource
       linkedPorts:
         27864:
@@ -15501,12 +15558,17 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 26.5,17.5
       parent: 12
+    - type: Door
+      secondsUntilStateChange: -1165.2125
+      state: Opening
     - type: DeviceLinkSink
       invokeCounter: 1
     - type: DeviceLinkSource
       linkedPorts:
         11947:
         - DoorStatus: DoorBolt
+      lastSignals:
+        DoorStatus: True
   - uid: 28369
     components:
     - type: Transform
@@ -153521,8 +153583,104 @@ entities:
     - type: Transform
       pos: -35.5364,-21.362114
       parent: 12
+- proto: PoweredDimSmallLight
+  entities:
+  - uid: 2424
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -24.5,-16.5
+      parent: 12
+  - uid: 2855
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 5.5,-47.5
+      parent: 12
+  - uid: 4980
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 43.5,62.5
+      parent: 12
+  - uid: 5881
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 39.5,-23.5
+      parent: 12
+  - uid: 8827
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 51.5,24.5
+      parent: 12
+  - uid: 12078
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -58.5,-24.5
+      parent: 12
+  - uid: 12163
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 28.5,23.5
+      parent: 12
+  - uid: 12922
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -53.5,61.5
+      parent: 12
+  - uid: 12923
+    components:
+    - type: Transform
+      pos: -28.5,75.5
+      parent: 12
+  - uid: 12925
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 38.5,6.5
+      parent: 12
+  - uid: 12944
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 32.5,16.5
+      parent: 12
+  - uid: 14912
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -30.5,-59.5
+      parent: 12
+  - uid: 16796
+    components:
+    - type: Transform
+      pos: -13.5,-68.5
+      parent: 12
+  - uid: 16843
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 44.5,-15.5
+      parent: 12
+  - uid: 21083
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -53.5,57.5
+      parent: 12
 - proto: Poweredlight
   entities:
+  - uid: 17
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 40.5,-30.5
+      parent: 12
   - uid: 111
     components:
     - type: Transform
@@ -153657,6 +153815,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -33.5,-23.5
       parent: 12
+  - uid: 2264
+    components:
+    - type: Transform
+      pos: 54.5,58.5
+      parent: 12
   - uid: 2326
     components:
     - type: Transform
@@ -154206,16 +154369,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 46.5,-24.5
       parent: 12
-  - uid: 8824
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 43.5,-32.5
-      parent: 12
   - uid: 8828
     components:
     - type: Transform
-      pos: 45.5,-26.5
+      rot: -1.5707963267948966 rad
+      pos: 46.5,-30.5
       parent: 12
   - uid: 8830
     components:
@@ -155081,11 +155239,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 50.5,51.5
       parent: 12
-  - uid: 16843
-    components:
-    - type: Transform
-      pos: 54.5,58.5
-      parent: 12
   - uid: 16845
     components:
     - type: Transform
@@ -155629,12 +155782,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -3.5,74.5
       parent: 12
-  - uid: 26943
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 33.5,-43.5
-      parent: 12
   - uid: 26976
     components:
     - type: Transform
@@ -155707,12 +155854,6 @@ entities:
     - type: Transform
       pos: -10.5,78.5
       parent: 12
-  - uid: 30502
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 56.5,60.5
-      parent: 12
   - uid: 31027
     components:
     - type: Transform
@@ -155747,18 +155888,6 @@ entities:
     - type: Transform
       pos: 24.5,-34.5
       parent: 12
-  - uid: 31706
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -62.5,-28.5
-      parent: 12
-  - uid: 31707
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -62.5,-20.5
-      parent: 12
   - uid: 31739
     components:
     - type: Transform
@@ -155865,12 +155994,6 @@ entities:
       parent: 12
 - proto: PoweredSmallLight
   entities:
-  - uid: 17
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -3.5,67.5
-      parent: 12
   - uid: 26
     components:
     - type: Transform
@@ -155912,17 +156035,11 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 25.5,-6.5
       parent: 12
-  - uid: 2264
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 36.5,61.5
-      parent: 12
   - uid: 2265
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -2.5,54.5
+      pos: 45.5,-39.5
       parent: 12
   - uid: 2291
     components:
@@ -155930,18 +156047,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 62.5,11.5
       parent: 12
-  - uid: 2424
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -57.5,-15.5
-      parent: 12
-  - uid: 2855
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -21.5,-17.5
-      parent: 12
   - uid: 3471
     components:
     - type: Transform
@@ -155978,12 +156083,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 25.5,-0.5
       parent: 12
-  - uid: 4980
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 46.5,-40.5
-      parent: 12
   - uid: 5045
     components:
     - type: Transform
@@ -156044,12 +156143,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 25.5,-10.5
       parent: 12
-  - uid: 5881
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -28.5,-15.5
-      parent: 12
   - uid: 6183
     components:
     - type: Transform
@@ -156059,7 +156152,8 @@ entities:
   - uid: 6759
     components:
     - type: Transform
-      pos: 5.5,-47.5
+      rot: -1.5707963267948966 rad
+      pos: 35.5,29.5
       parent: 12
   - uid: 6834
     components:
@@ -156088,7 +156182,7 @@ entities:
   - uid: 7431
     components:
     - type: Transform
-      pos: 39.5,63.5
+      pos: 50.5,19.5
       parent: 12
   - uid: 8809
     components:
@@ -156102,23 +156196,23 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 51.5,-32.5
       parent: 12
-  - uid: 8825
+  - uid: 8824
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 49.5,-8.5
+      rot: 1.5707963267948966 rad
+      pos: 37.5,19.5
       parent: 12
-  - uid: 8827
+  - uid: 8825
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 39.5,-23.5
+      rot: -1.5707963267948966 rad
+      pos: 49.5,-8.5
       parent: 12
   - uid: 8829
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 37.5,-18.5
+      pos: 33.5,36.5
       parent: 12
   - uid: 8838
     components:
@@ -156157,8 +156251,8 @@ entities:
   - uid: 8850
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 6.5,-7.5
+      rot: 3.141592653589793 rad
+      pos: 49.5,62.5
       parent: 12
   - uid: 8925
     components:
@@ -156191,7 +156285,7 @@ entities:
   - uid: 9139
     components:
     - type: Transform
-      pos: 46.5,-38.5
+      pos: -50.5,-42.5
       parent: 12
   - uid: 9231
     components:
@@ -156230,7 +156324,8 @@ entities:
   - uid: 9473
     components:
     - type: Transform
-      pos: 2.5,68.5
+      rot: 1.5707963267948966 rad
+      pos: 55.5,-7.5
       parent: 12
   - uid: 9540
     components:
@@ -156247,7 +156342,8 @@ entities:
   - uid: 9907
     components:
     - type: Transform
-      pos: -50.5,-42.5
+      rot: 3.141592653589793 rad
+      pos: 9.5,65.5
       parent: 12
   - uid: 10403
     components:
@@ -156287,78 +156383,38 @@ entities:
   - uid: 12005
     components:
     - type: Transform
-      pos: 40.5,25.5
-      parent: 12
-  - uid: 12078
-    components:
-    - type: Transform
-      pos: 50.5,20.5
-      parent: 12
-  - uid: 12163
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -14.5,-71.5
+      rot: 1.5707963267948966 rad
+      pos: -19.5,52.5
       parent: 12
   - uid: 12291
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 37.5,16.5
+      rot: -1.5707963267948966 rad
+      pos: -52.5,-14.5
       parent: 12
   - uid: 12710
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 38.5,9.5
+      rot: 1.5707963267948966 rad
+      pos: -50.5,-13.5
       parent: 12
   - uid: 12711
     components:
     - type: Transform
       pos: 38.5,-4.5
       parent: 12
-  - uid: 12922
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 51.5,24.5
-      parent: 12
-  - uid: 12923
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 34.5,27.5
-      parent: 12
-  - uid: 12925
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 34.5,34.5
-      parent: 12
   - uid: 12928
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 24.5,27.5
       parent: 12
-  - uid: 12944
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 28.5,23.5
-      parent: 12
   - uid: 14911
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 34.5,65.5
       parent: 12
-  - uid: 14912
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 43.5,62.5
-      parent: 12
   - uid: 14938
     components:
     - type: Transform
@@ -156399,12 +156455,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -10.5,23.5
       parent: 12
-  - uid: 16796
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 48.5,65.5
-      parent: 12
   - uid: 16887
     components:
     - type: Transform
@@ -156509,12 +156559,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -22.5,32.5
       parent: 12
-  - uid: 21083
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -60.5,-14.5
-      parent: 12
   - uid: 21274
     components:
     - type: Transform
@@ -156565,13 +156609,7 @@ entities:
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 55.5,-7.5
-      parent: 12
-  - uid: 22296
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 41.5,11.5
+      pos: -60.5,-14.5
       parent: 12
   - uid: 22336
     components:
@@ -156579,24 +156617,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: 36.5,-32.5
       parent: 12
-  - uid: 22709
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 9.5,65.5
-      parent: 12
-  - uid: 22714
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -20.5,62.5
-      parent: 12
-  - uid: 22715
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -19.5,52.5
-      parent: 12
   - uid: 22716
     components:
     - type: Transform
@@ -156619,12 +156639,6 @@ entities:
     - type: Transform
       pos: 40.5,49.5
       parent: 12
-  - uid: 24497
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 48.5,62.5
-      parent: 12
   - uid: 25090
     components:
     - type: Transform
@@ -156647,12 +156661,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -52.5,47.5
       parent: 12
-  - uid: 25586
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -58.5,-24.5
-      parent: 12
   - uid: 26109
     components:
     - type: Transform
@@ -156686,18 +156694,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 7.5,-3.5
       parent: 12
-  - uid: 27019
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -57.5,-35.5
-      parent: 12
-  - uid: 27059
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 10.5,-53.5
-      parent: 12
   - uid: 27067
     components:
     - type: Transform
@@ -156734,23 +156730,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -39.5,-50.5
       parent: 12
-  - uid: 28074
-    components:
-    - type: Transform
-      pos: 33.5,25.5
-      parent: 12
-  - uid: 28182
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -52.5,-13.5
-      parent: 12
-  - uid: 28279
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -50.5,-13.5
-      parent: 12
   - uid: 28298
     components:
     - type: Transform
@@ -156763,22 +156742,6 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 5.5,-4.5
       parent: 12
-  - uid: 28523
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 42.5,-7.5
-      parent: 12
-  - uid: 28531
-    components:
-    - type: Transform
-      pos: -6.5,7.5
-      parent: 12
-  - uid: 28655
-    components:
-    - type: Transform
-      pos: -0.5,-22.5
-      parent: 12
   - uid: 28745
     components:
     - type: Transform
@@ -156795,24 +156758,12 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -22.5,64.5
       parent: 12
-  - uid: 29626
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -53.5,61.5
-      parent: 12
   - uid: 29643
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -51.5,65.5
       parent: 12
-  - uid: 29656
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -17.5,72.5
-      parent: 12
   - uid: 29836
     components:
     - type: Transform
@@ -156830,11 +156781,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -30.5,-39.5
       parent: 12
-  - uid: 30133
-    components:
-    - type: Transform
-      pos: -28.5,75.5
-      parent: 12
   - uid: 30269
     components:
     - type: Transform
@@ -156846,40 +156792,17 @@ entities:
       rot: 3.141592653589793 rad
       pos: -6.5,71.5
       parent: 12
-  - uid: 30455
-    components:
-    - type: Transform
-      pos: 43.5,8.5
-      parent: 12
-  - uid: 30456
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 33.5,15.5
-      parent: 12
   - uid: 31025
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -52.5,17.5
       parent: 12
-  - uid: 31126
-    components:
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -30.5,-59.5
-      parent: 12
   - uid: 31185
     components:
     - type: Transform
       pos: 5.5,-59.5
       parent: 12
-  - uid: 31354
-    components:
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -11.5,-70.5
-      parent: 12
   - uid: 31508
     components:
     - type: Transform
@@ -156892,20 +156815,8 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -11.5,-13.5
       parent: 12
-  - uid: 32073
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 44.5,-15.5
-      parent: 12
 - proto: PoweredSmallLightEmpty
   entities:
-  - uid: 28973
-    components:
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -53.5,57.5
-      parent: 12
   - uid: 31337
     components:
     - type: Transform

From 909235cdbe474a00265d8b7a9f6955591cfaa423 Mon Sep 17 00:00:00 2001
From: Ilya246 <57039557+Ilya246@users.noreply.github.com>
Date: Tue, 19 Nov 2024 06:59:42 +0400
Subject: [PATCH 144/187] fix viewing nav slowing shuttle down (#32381)

fix
---
 .../Physics/Controllers/MoverController.cs         | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/Content.Server/Physics/Controllers/MoverController.cs b/Content.Server/Physics/Controllers/MoverController.cs
index f927e717a9d..d0605e916e7 100644
--- a/Content.Server/Physics/Controllers/MoverController.cs
+++ b/Content.Server/Physics/Controllers/MoverController.cs
@@ -314,6 +314,9 @@ private void HandleShuttleMovement(float frameTime)
             var linearInput = Vector2.Zero;
             var brakeInput = 0f;
             var angularInput = 0f;
+            var linearCount = 0;
+            var brakeCount = 0;
+            var angularCount = 0;
 
             foreach (var (pilotUid, pilot, _, consoleXform) in pilots)
             {
@@ -322,24 +325,27 @@ private void HandleShuttleMovement(float frameTime)
                 if (brakes > 0f)
                 {
                     brakeInput += brakes;
+                    brakeCount++;
                 }
 
                 if (strafe.Length() > 0f)
                 {
                     var offsetRotation = consoleXform.LocalRotation;
                     linearInput += offsetRotation.RotateVec(strafe);
+                    linearCount++;
                 }
 
                 if (rotation != 0f)
                 {
                     angularInput += rotation;
+                    angularCount++;
                 }
             }
 
-            var count = pilots.Count;
-            linearInput /= count;
-            angularInput /= count;
-            brakeInput /= count;
+            // Don't slow down the shuttle if there's someone just looking at the console
+            linearInput /= Math.Max(1, linearCount);
+            angularInput /= Math.Max(1, angularCount);
+            brakeInput /= Math.Max(1, brakeCount);
 
             // Handle shuttle movement
             if (brakeInput > 0f)

From 10ee37a47c8bced95ae1e0f0860c815df703b28e Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Tue, 19 Nov 2024 03:00:50 +0000
Subject: [PATCH 145/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index c70024b7115..1cf40ba7787 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Psychpsyo
-  changes:
-  - message: You can now be German on ze space station! (added German accent)
-    type: Add
-  id: 7121
-  time: '2024-08-15T23:30:21.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30541
 - author: EmoGarbage404
   changes:
   - message: Reduced the amount of ore on the mining asteroid and expeditions.
@@ -3923,3 +3916,11 @@
   id: 7620
   time: '2024-11-18T06:32:08.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33383
+- author: Ilya246
+  changes:
+  - message: Multiple people using one shuttle console will no longer cause the shuttle
+      to slow down.
+    type: Fix
+  id: 7621
+  time: '2024-11-19T02:59:42.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32381

From 437a586906f6d67b60d018592d62bab5f9608091 Mon Sep 17 00:00:00 2001
From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Date: Tue, 19 Nov 2024 06:07:02 +0100
Subject: [PATCH 146/187] Welded secret doors no longer say they are welded
 shut. (#33365)

Init
---
 .../Entities/Structures/Doors/SecretDoor/secret_door.yml         | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml b/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml
index 2f1ad217ceb..14d99f3adf7 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml
@@ -37,6 +37,7 @@
   - type: Appearance
   - type: Weldable
     time: 2
+    weldedExamineMessage: null
   - type: Airtight
   - type: Damageable
     damageContainer: StructuralInorganic

From 0e2e6a001fdd603d510aa33315ff68622599a969 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Tue, 19 Nov 2024 05:08:09 +0000
Subject: [PATCH 147/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 1cf40ba7787..dbe7ac5b284 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,17 +1,4 @@
 Entries:
-- author: EmoGarbage404
-  changes:
-  - message: Reduced the amount of ore on the mining asteroid and expeditions.
-    type: Tweak
-  - message: Increased the amount of ore on magnet asteroids.
-    type: Tweak
-  - message: Each piece of ore now only has enough material to create 1 sheet.
-    type: Tweak
-  - message: The salvage magnet now accurately reports the contents of asteroids.
-    type: Fix
-  id: 7122
-  time: '2024-08-16T01:43:54.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30920
 - author: metalgearsloth
   changes:
   - message: Fix mains light on wires not being lit.
@@ -3924,3 +3911,10 @@
   id: 7621
   time: '2024-11-19T02:59:42.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32381
+- author: ScarKy0
+  changes:
+  - message: Secret doors no longer tell you if they're welded shut on examine.
+    type: Tweak
+  id: 7622
+  time: '2024-11-19T05:07:02.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33365

From 895648aa2c753181c261a6bed8461730f4248ec8 Mon Sep 17 00:00:00 2001
From: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Date: Tue, 19 Nov 2024 14:13:02 +0200
Subject: [PATCH 148/187] Increase softcap back to 80 (#33400)

---
 Resources/ConfigPresets/WizardsDen/wizardsDen.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Resources/ConfigPresets/WizardsDen/wizardsDen.toml b/Resources/ConfigPresets/WizardsDen/wizardsDen.toml
index 2b059ca40e3..28bab5d4c76 100644
--- a/Resources/ConfigPresets/WizardsDen/wizardsDen.toml
+++ b/Resources/ConfigPresets/WizardsDen/wizardsDen.toml
@@ -4,7 +4,7 @@
 [game]
 desc             = "Official English Space Station 14 servers. Vanilla, roleplay ruleset."
 lobbyenabled     = true
-soft_max_players = 70
+soft_max_players = 80
 panic_bunker.enabled = true
 panic_bunker.disable_with_admins = true
 panic_bunker.enable_without_admins = true

From a949cf33e92384d209886874c2727e22611aca12 Mon Sep 17 00:00:00 2001
From: ArZarLordOfMango <96249677+ArZarLordOfMango@users.noreply.github.com>
Date: Tue, 19 Nov 2024 21:31:37 +0100
Subject: [PATCH 149/187] Toggle clothing fix (#32826)

* toggle clothing fix

* some adding
---
 .../Clothing/Components/ToggleClothingComponent.cs          | 6 ++++++
 .../Clothing/EntitySystems/ToggleClothingSystem.cs          | 4 ++++
 Resources/Prototypes/Entities/Clothing/Hands/gloves.yml     | 1 +
 Resources/Prototypes/Entities/Clothing/Head/helmets.yml     | 1 +
 .../Prototypes/Entities/Clothing/OuterClothing/suits.yml    | 1 +
 Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml   | 1 +
 6 files changed, 14 insertions(+)

diff --git a/Content.Shared/Clothing/Components/ToggleClothingComponent.cs b/Content.Shared/Clothing/Components/ToggleClothingComponent.cs
index 04bc3ed4e83..f827cbfea8d 100644
--- a/Content.Shared/Clothing/Components/ToggleClothingComponent.cs
+++ b/Content.Shared/Clothing/Components/ToggleClothingComponent.cs
@@ -33,6 +33,12 @@ public sealed partial class ToggleClothingComponent : Component
     /// </summary>
     [DataField]
     public bool DisableOnUnequip;
+
+    /// <summary>
+    /// If true, the clothes must equip for adding action.
+    /// </summary>
+    [DataField]
+    public bool MustEquip = true;
 }
 
 /// <summary>
diff --git a/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs
index 9889376c9d4..8d6e3e3de65 100644
--- a/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs
+++ b/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs
@@ -39,8 +39,12 @@ private void OnMapInit(Entity<ToggleClothingComponent> ent, ref MapInitEvent arg
 
     private void OnGetActions(Entity<ToggleClothingComponent> ent, ref GetItemActionsEvent args)
     {
+        if (args.InHands && ent.Comp.MustEquip)
+            return;
+
         var ev = new ToggleClothingCheckEvent(args.User);
         RaiseLocalEvent(ent, ref ev);
+
         if (!ev.Cancelled)
             args.AddAction(ent.Comp.ActionEntity);
     }
diff --git a/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
index 16777cd6900..1dd1e0ba042 100644
--- a/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
+++ b/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
@@ -230,6 +230,7 @@
     stealthy: true
   - type: ToggleClothing
     action: ActionToggleNinjaGloves
+    disableOnUnequip: true
   - type: NinjaGloves
     abilities:
     - components:
diff --git a/Resources/Prototypes/Entities/Clothing/Head/helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/helmets.yml
index 11643c076d8..f06f20249b4 100644
--- a/Resources/Prototypes/Entities/Clothing/Head/helmets.yml
+++ b/Resources/Prototypes/Entities/Clothing/Head/helmets.yml
@@ -452,6 +452,7 @@
     delay: 1.0
   - type: ToggleClothing
     action: ActionToggleJusticeHelm
+    mustEquip: false
   - type: ItemTogglePointLight
   - type: ToggleableLightVisuals
     clothingVisuals:
diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
index a58c2a3fdd4..f78694a0fab 100644
--- a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
+++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml
@@ -155,6 +155,7 @@
   # phase cloak
   - type: ToggleClothing
     action: ActionTogglePhaseCloak
+    disableOnUnequip: true
   - type: ComponentToggler
     parent: true
     components:
diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
index 0250671acfc..ab8084c91c0 100644
--- a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
+++ b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
@@ -14,6 +14,7 @@
     sprite: Clothing/Shoes/Boots/magboots.rsi
   - type: ToggleClothing
     action: ActionToggleMagboots
+    mustEquip: false
   - type: ToggleVerb
     text: toggle-magboots-verb-get-data-text
   - type: ComponentToggler

From 42ee90e53e7ee541ebdff85215f5ebf95cb19373 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Tue, 19 Nov 2024 20:32:47 +0000
Subject: [PATCH 150/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index dbe7ac5b284..b33d4b00be7 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: metalgearsloth
-  changes:
-  - message: Fix mains light on wires not being lit.
-    type: Fix
-  id: 7123
-  time: '2024-08-16T03:59:46.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31066
 - author: IgorAnt028
   changes:
   - message: The dead and knocked down now stop holding objects
@@ -3918,3 +3911,10 @@
   id: 7622
   time: '2024-11-19T05:07:02.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33365
+- author: ArZarLordOfMango
+  changes:
+  - message: Most toggleable clothing must now be equipped to toggle their actions.
+    type: Fix
+  id: 7623
+  time: '2024-11-19T20:31:38.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32826

From c4e2eb9d0250aebed6e7f7048f93820701b4b22d Mon Sep 17 00:00:00 2001
From: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Date: Wed, 20 Nov 2024 01:17:45 +0100
Subject: [PATCH 151/187] .NET 9 forward compatibility changes (#33421)

This doesn't switch the projects over to .NET 9, but it does make them work on .NET 9 when we decide to switch in the future.
---
 Content.Server/Announcements/AnnounceCommand.cs       |  3 ++-
 Content.Server/Cargo/Systems/PricingSystem.cs         |  2 +-
 .../NPC/Pathfinding/PathfindingSystem.Breadth.cs      |  4 ++--
 .../NPC/Pathfinding/PathfindingSystem.Splines.cs      |  2 +-
 .../NPC/Pathfinding/PathfindingSystem.Widen.cs        |  2 +-
 Content.Shared/Forensics/Events.cs                    |  2 +-
 .../Silicons/StationAi/StationAiVisionSystem.cs       | 11 ++++++-----
 7 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/Content.Server/Announcements/AnnounceCommand.cs b/Content.Server/Announcements/AnnounceCommand.cs
index 2307f36a5d0..3249fcc95d2 100644
--- a/Content.Server/Announcements/AnnounceCommand.cs
+++ b/Content.Server/Announcements/AnnounceCommand.cs
@@ -28,7 +28,8 @@ public void Execute(IConsoleShell shell, string argStr, string[] args)
             }
             else
             {
-                var message = string.Join(' ', new ArraySegment<string>(args, 1, args.Length-1));
+                // Explicit IEnumerable<string> due to overload ambiguity on .NET 9
+                var message = string.Join(' ', (IEnumerable<string>)new ArraySegment<string>(args, 1, args.Length-1));
                 chat.DispatchGlobalAnnouncement(message, args[0], colorOverride: Color.Gold);
             }
             shell.WriteLine("Sent!");
diff --git a/Content.Server/Cargo/Systems/PricingSystem.cs b/Content.Server/Cargo/Systems/PricingSystem.cs
index 830368baa3c..edc273b3c1f 100644
--- a/Content.Server/Cargo/Systems/PricingSystem.cs
+++ b/Content.Server/Cargo/Systems/PricingSystem.cs
@@ -424,7 +424,7 @@ public record struct PriceCalculationEvent()
 [ByRefEvent]
 public record struct EstimatedPriceCalculationEvent()
 {
-    public EntityPrototype Prototype;
+    public required EntityPrototype Prototype;
 
     /// <summary>
     /// The total price of the entity.
diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs
index ee8eaa9ad1a..1504894b4a8 100644
--- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs
+++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs
@@ -11,8 +11,8 @@ public sealed partial class PathfindingSystem
     /// </summary>
     public record struct BreadthPathArgs()
     {
-        public Vector2i Start;
-        public List<Vector2i> Ends;
+        public required Vector2i Start;
+        public required List<Vector2i> Ends;
 
         public bool Diagonals = false;
 
diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs
index 9979755f995..91c42e651c1 100644
--- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs
+++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs
@@ -19,7 +19,7 @@ public record struct SplinePathResult()
         public List<Vector2i> Points = new();
 
         public List<Vector2i> Path = new();
-        public Dictionary<Vector2i, Vector2i> CameFrom;
+        public Dictionary<Vector2i, Vector2i>? CameFrom;
     }
 
     public record struct SplinePathArgs(SimplePathArgs Args)
diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs
index f7bcd019f5f..11ac93876ef 100644
--- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs
+++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs
@@ -84,6 +84,6 @@ public record struct WidenArgs()
 
         public float MaxWiden = 7f;
 
-        public List<Vector2i> Path;
+        public required List<Vector2i> Path;
     }
 }
diff --git a/Content.Shared/Forensics/Events.cs b/Content.Shared/Forensics/Events.cs
index f7b9475cb57..c346d08536d 100644
--- a/Content.Shared/Forensics/Events.cs
+++ b/Content.Shared/Forensics/Events.cs
@@ -66,5 +66,5 @@ public record struct GenerateDnaEvent()
     /// <summary>
     /// The generated DNA.
     /// </summary>
-    public string DNA;
+    public required string DNA;
 }
diff --git a/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs b/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs
index bdc62a6bb37..d3416949d53 100644
--- a/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs
+++ b/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs
@@ -56,6 +56,7 @@ public override void Initialize()
             EntManager = EntityManager,
             Maps = _maps,
             System = this,
+            VisibleTiles = _singleTiles,
         };
     }
 
@@ -278,7 +279,7 @@ private bool IsCorner(
     /// </summary>
     private record struct SeedJob() : IRobustJob
     {
-        public StationAiVisionSystem System;
+        public required StationAiVisionSystem System;
 
         public Entity<MapGridComponent> Grid;
         public Box2 ExpandedBounds;
@@ -293,14 +294,14 @@ private record struct ViewJob() : IParallelRobustJob
     {
         public int BatchSize => 1;
 
-        public IEntityManager EntManager;
-        public SharedMapSystem Maps;
-        public StationAiVisionSystem System;
+        public required IEntityManager EntManager;
+        public required SharedMapSystem Maps;
+        public required StationAiVisionSystem System;
 
         public Entity<MapGridComponent> Grid;
         public List<Entity<StationAiVisionComponent>> Data = new();
 
-        public HashSet<Vector2i> VisibleTiles;
+        public required HashSet<Vector2i> VisibleTiles;
 
         public readonly List<Dictionary<Vector2i, int>> Vis1 = new();
         public readonly List<Dictionary<Vector2i, int>> Vis2 = new();

From 7f5bae99bb72878ef139f4c5cfbbafcf9b609720 Mon Sep 17 00:00:00 2001
From: Plykiya <58439124+Plykiya@users.noreply.github.com>
Date: Tue, 19 Nov 2024 16:57:01 -0800
Subject: [PATCH 152/187] Fix security riot crate (#33415)

* move riot crate from security to armory category

* Move riot crate to armory, actually make it require armory access to unlock
---
 .../Prototypes/Catalog/Cargo/cargo_armory.yml | 10 ++++++++++
 .../Catalog/Cargo/cargo_security.yml          | 10 ----------
 .../Catalog/Fills/Crates/armory.yml           | 19 ++++++++++++++++++
 .../Catalog/Fills/Crates/security.yml         | 20 -------------------
 4 files changed, 29 insertions(+), 30 deletions(-)

diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml b/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml
index 6341042bf89..26748e82268 100644
--- a/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml
+++ b/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml
@@ -18,6 +18,16 @@
   category: cargoproduct-category-name-armory
   group: market
 
+- type: cargoProduct
+  id: SecurityRiot
+  icon:
+    sprite: Clothing/OuterClothing/Armor/riot.rsi
+    state: icon
+  product: CrateSecurityRiot
+  cost: 7500
+  category: cargoproduct-category-name-armory
+  group: market
+
 - type: cargoProduct
   id: TrackingImplant
   icon:
diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml
index a5d4e5f70a1..3fa03ea2e39 100644
--- a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml
+++ b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml
@@ -28,16 +28,6 @@
   category: cargoproduct-category-name-security
   group: market
 
-- type: cargoProduct
-  id: SecurityRiot
-  icon:
-    sprite: Clothing/OuterClothing/Armor/riot.rsi
-    state: icon
-  product: CrateSecurityRiot
-  cost: 7500
-  category: cargoproduct-category-name-security
-  group: market
-
 - type: cargoProduct
   id: SecuritySupplies
   icon:
diff --git a/Resources/Prototypes/Catalog/Fills/Crates/armory.yml b/Resources/Prototypes/Catalog/Fills/Crates/armory.yml
index bc5377fe81f..fadaf2f01ed 100644
--- a/Resources/Prototypes/Catalog/Fills/Crates/armory.yml
+++ b/Resources/Prototypes/Catalog/Fills/Crates/armory.yml
@@ -69,3 +69,22 @@
       amount: 2
     - id: MagazinePistol
       amount: 4
+
+- type: entity
+  id: CrateSecurityRiot
+  parent: [ CrateWeaponSecure, BaseRestrictedContraband ]
+  name: swat crate
+  description: Contains two sets of riot armor, helmets, shields, and enforcers loaded with beanbags. Extra ammo is included. Requires Armory access to open.
+  components:
+  - type: StorageFill
+    contents:
+    - id: ClothingOuterArmorRiot
+      amount: 2
+    - id: ClothingHeadHelmetRiot
+      amount: 2
+    - id: WeaponShotgunEnforcerRubber
+      amount: 2
+    - id: BoxBeanbag
+      amount: 2
+    - id: RiotShield
+      amount: 2
diff --git a/Resources/Prototypes/Catalog/Fills/Crates/security.yml b/Resources/Prototypes/Catalog/Fills/Crates/security.yml
index 38597adb1ee..a0351968498 100644
--- a/Resources/Prototypes/Catalog/Fills/Crates/security.yml
+++ b/Resources/Prototypes/Catalog/Fills/Crates/security.yml
@@ -38,26 +38,6 @@
 #      - Pepperspray
 #      - GrenadeTeargas
 
-- type: entity
-  id: CrateSecurityRiot
-  parent: CrateSecgear
-  name: swat crate
-  description: Contains two sets of riot armor, helmets, shields, and enforcers loaded with beanbags. Extra ammo is included. Requires Armory access to open.
-  components:
-  - type: StorageFill
-    contents:
-      - id: ClothingOuterArmorRiot
-        amount: 2
-      - id: ClothingHeadHelmetRiot
-        amount: 2
-      - id: WeaponShotgunEnforcerRubber
-        amount: 2
-      - id: BoxBeanbag
-        amount: 2
-      - id: RiotShield
-        amount: 2
-#      - SecGasmask
-
 - type: entity
   id: CrateSecuritySupplies
   parent: CrateSecgear

From 2002de9bb01e53e70b00fea5b3f4ffeed55a3cfa Mon Sep 17 00:00:00 2001
From: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Date: Wed, 20 Nov 2024 03:57:43 +0300
Subject: [PATCH 153/187] Localize planet dataset names (#33398)

* Localize planet names (borer)

* DatasetPrototype -> LocalizedDatasetPrototype

* Apply requested changes
---
 .../Gateway/Systems/GatewayGeneratorSystem.cs |  7 +-
 .../SalvageSystem.ExpeditionConsole.cs        |  2 +-
 .../Salvage/SpawnSalvageMissionJob.cs         |  4 +-
 .../Shuttles/Components/GridSpawnComponent.cs |  6 +-
 .../Systems/ShuttleSystem.GridFill.cs         |  2 +-
 .../Shuttles/Systems/ShuttleSystem.cs         |  2 +
 Content.Shared/Salvage/SharedSalvageSystem.cs |  4 +-
 .../Locale/en-US/datasets/names/borer.ftl     | 69 +++++++++++++++++
 Resources/Prototypes/Datasets/Names/borer.yml | 75 +------------------
 .../Prototypes/Entities/Stations/base.yml     |  2 +-
 10 files changed, 90 insertions(+), 83 deletions(-)
 create mode 100644 Resources/Locale/en-US/datasets/names/borer.ftl

diff --git a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs
index 7dcd42e06fa..666d1045174 100644
--- a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs
+++ b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs
@@ -34,10 +34,11 @@ public sealed class GatewayGeneratorSystem : EntitySystem
     [Dependency] private readonly GatewaySystem _gateway = default!;
     [Dependency] private readonly MetaDataSystem _metadata = default!;
     [Dependency] private readonly SharedMapSystem _maps = default!;
+    [Dependency] private readonly SharedSalvageSystem _salvage = default!;
     [Dependency] private readonly TileSystem _tile = default!;
 
-    [ValidatePrototypeId<DatasetPrototype>]
-    private const string PlanetNames = "names_borer";
+    [ValidatePrototypeId<LocalizedDatasetPrototype>]
+    private const string PlanetNames = "NamesBorer";
 
     // TODO:
     // Fix shader some more
@@ -102,7 +103,7 @@ private void GenerateDestination(EntityUid uid, GatewayGeneratorComponent? gener
         var mapId = _mapManager.CreateMap();
         var mapUid = _mapManager.GetMapEntityId(mapId);
 
-        var gatewayName = SharedSalvageSystem.GetFTLName(_protoManager.Index<DatasetPrototype>(PlanetNames), seed);
+        var gatewayName = _salvage.GetFTLName(_protoManager.Index<LocalizedDatasetPrototype>(PlanetNames), seed);
         _metadata.SetEntityName(mapUid, gatewayName);
 
         var origin = new Vector2i(random.Next(-MaxOffset, MaxOffset), random.Next(-MaxOffset, MaxOffset));
diff --git a/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs b/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs
index d0314184767..a9d8314f57c 100644
--- a/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs
+++ b/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs
@@ -28,7 +28,7 @@ private void OnSalvageClaimMessage(EntityUid uid, SalvageExpeditionConsoleCompon
         var mission = GetMission(_prototypeManager.Index<SalvageDifficultyPrototype>(missionparams.Difficulty), missionparams.Seed);
         data.NextOffer = _timing.CurTime + mission.Duration + TimeSpan.FromSeconds(1);
 
-        _labelSystem.Label(cdUid, GetFTLName(_prototypeManager.Index<DatasetPrototype>("names_borer"), missionparams.Seed));
+        _labelSystem.Label(cdUid, GetFTLName(_prototypeManager.Index<LocalizedDatasetPrototype>("NamesBorer"), missionparams.Seed));
         _audio.PlayPvs(component.PrintSound, uid);
 
         UpdateConsoles((station.Value, data));
diff --git a/Content.Server/Salvage/SpawnSalvageMissionJob.cs b/Content.Server/Salvage/SpawnSalvageMissionJob.cs
index 525fe01a1f8..31c6b73253d 100644
--- a/Content.Server/Salvage/SpawnSalvageMissionJob.cs
+++ b/Content.Server/Salvage/SpawnSalvageMissionJob.cs
@@ -104,7 +104,9 @@ protected override async Task<bool> Process()
         destComp.BeaconsOnly = true;
         destComp.RequireCoordinateDisk = true;
         destComp.Enabled = true;
-        _metaData.SetEntityName(mapUid, SharedSalvageSystem.GetFTLName(_prototypeManager.Index<DatasetPrototype>("names_borer"), _missionParams.Seed));
+        _metaData.SetEntityName(
+            mapUid,
+            _entManager.System<SharedSalvageSystem>().GetFTLName(_prototypeManager.Index<LocalizedDatasetPrototype>("NamesBorer"), _missionParams.Seed));
         _entManager.AddComponent<FTLBeaconComponent>(mapUid);
 
         // Saving the mission mapUid to a CD is made optional, in case one is somehow made in a process without a CD entity
diff --git a/Content.Server/Shuttles/Components/GridSpawnComponent.cs b/Content.Server/Shuttles/Components/GridSpawnComponent.cs
index 430c9c8df28..18959dd7f37 100644
--- a/Content.Server/Shuttles/Components/GridSpawnComponent.cs
+++ b/Content.Server/Shuttles/Components/GridSpawnComponent.cs
@@ -32,7 +32,7 @@ public interface IGridSpawnGroup
     public float MaximumDistance { get;  }
 
     /// <inheritdoc />
-    public ProtoId<DatasetPrototype>? NameDataset { get; }
+    public ProtoId<LocalizedDatasetPrototype>? NameDataset { get; }
 
     /// <inheritdoc />
     int MinCount { get; set; }
@@ -75,7 +75,7 @@ public sealed class DungeonSpawnGroup : IGridSpawnGroup
     public float MaximumDistance { get; }
 
     /// <inheritdoc />
-    public ProtoId<DatasetPrototype>? NameDataset { get; }
+    public ProtoId<LocalizedDatasetPrototype>? NameDataset { get; }
 
     /// <inheritdoc />
     public int MinCount { get; set; } = 1;
@@ -106,7 +106,7 @@ public sealed class GridSpawnGroup : IGridSpawnGroup
 
     /// <inheritdoc />
     public float MaximumDistance { get; }
-    public ProtoId<DatasetPrototype>? NameDataset { get; }
+    public ProtoId<LocalizedDatasetPrototype>? NameDataset { get; }
     public int MinCount { get; set; } = 1;
     public int MaxCount { get; set; } = 1;
     public ComponentRegistry AddComponents { get; set; } = new();
diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs
index 5ad94699bed..de0593b26f0 100644
--- a/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs
+++ b/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs
@@ -208,7 +208,7 @@ private void GridSpawns(EntityUid uid, GridSpawnComponent component)
 
                 if (_protoManager.TryIndex(group.NameDataset, out var dataset))
                 {
-                    _metadata.SetEntityName(spawned, SharedSalvageSystem.GetFTLName(dataset, _random.Next()));
+                    _metadata.SetEntityName(spawned, _salvage.GetFTLName(dataset, _random.Next()));
                 }
 
                 if (group.Hide)
diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.cs
index 054c42f934a..6e8c1a9e204 100644
--- a/Content.Server/Shuttles/Systems/ShuttleSystem.cs
+++ b/Content.Server/Shuttles/Systems/ShuttleSystem.cs
@@ -8,6 +8,7 @@
 using Content.Server.Stunnable;
 using Content.Shared.GameTicking;
 using Content.Shared.Mobs.Systems;
+using Content.Shared.Salvage;
 using Content.Shared.Shuttles.Systems;
 using Content.Shared.Throwing;
 using JetBrains.Annotations;
@@ -51,6 +52,7 @@ public sealed partial class ShuttleSystem : SharedShuttleSystem
     [Dependency] private readonly SharedAudioSystem _audio = default!;
     [Dependency] private readonly SharedPhysicsSystem _physics = default!;
     [Dependency] private readonly SharedTransformSystem _transform = default!;
+    [Dependency] private readonly SharedSalvageSystem _salvage = default!;
     [Dependency] private readonly ShuttleConsoleSystem _console = default!;
     [Dependency] private readonly StationSystem _station = default!;
     [Dependency] private readonly StunSystem _stuns = default!;
diff --git a/Content.Shared/Salvage/SharedSalvageSystem.cs b/Content.Shared/Salvage/SharedSalvageSystem.cs
index 0c56f4f556e..12d0a26449c 100644
--- a/Content.Shared/Salvage/SharedSalvageSystem.cs
+++ b/Content.Shared/Salvage/SharedSalvageSystem.cs
@@ -26,10 +26,10 @@ public abstract partial class SharedSalvageSystem : EntitySystem
     [ValidatePrototypeId<SalvageLootPrototype>]
     public const string ExpeditionsLootProto = "SalvageLoot";
 
-    public static string GetFTLName(DatasetPrototype dataset, int seed)
+    public string GetFTLName(LocalizedDatasetPrototype dataset, int seed)
     {
         var random = new System.Random(seed);
-        return $"{dataset.Values[random.Next(dataset.Values.Count)]}-{random.Next(10, 100)}-{(char) (65 + random.Next(26))}";
+        return $"{Loc.GetString(dataset.Values[random.Next(dataset.Values.Count)])}-{random.Next(10, 100)}-{(char) (65 + random.Next(26))}";
     }
 
     public SalvageMission GetMission(SalvageDifficultyPrototype difficulty, int seed)
diff --git a/Resources/Locale/en-US/datasets/names/borer.ftl b/Resources/Locale/en-US/datasets/names/borer.ftl
new file mode 100644
index 00000000000..17cae851b9e
--- /dev/null
+++ b/Resources/Locale/en-US/datasets/names/borer.ftl
@@ -0,0 +1,69 @@
+names-borer-dataset-1 = Alcyonium
+names-borer-dataset-2 = Anomia
+names-borer-dataset-3 = Aphrodita
+names-borer-dataset-4 = Arca
+names-borer-dataset-5 = Argonauta
+names-borer-dataset-6 = Ascaris
+names-borer-dataset-7 = Asterias
+names-borer-dataset-8 = Buccinum
+names-borer-dataset-9 = Bulla
+names-borer-dataset-10 = Cardium
+names-borer-dataset-11 = Chama
+names-borer-dataset-12 = Chiton
+names-borer-dataset-13 = Conus
+names-borer-dataset-14 = Corallina
+names-borer-dataset-15 = Cypraea
+names-borer-dataset-16 = Dentalium
+names-borer-dataset-17 = Donax
+names-borer-dataset-18 = Doris
+names-borer-dataset-19 = Echinus
+names-borer-dataset-20 = Eschara
+names-borer-dataset-21 = Fasciola
+names-borer-dataset-22 = Furia
+names-borer-dataset-23 = Gordius
+names-borer-dataset-24 = Gorgonia
+names-borer-dataset-25 = Haliotis
+names-borer-dataset-26 = Helix
+names-borer-dataset-27 = Hirudo
+names-borer-dataset-28 = Holothuria
+names-borer-dataset-29 = Hydra
+names-borer-dataset-30 = Isis
+names-borer-dataset-31 = Lepas
+names-borer-dataset-32 = Lernaea
+names-borer-dataset-33 = Limax
+names-borer-dataset-34 = Lumbricus
+names-borer-dataset-35 = Madrepora
+names-borer-dataset-36 = Medusa
+names-borer-dataset-37 = Millepora
+names-borer-dataset-38 = Murex
+names-borer-dataset-39 = Myes
+names-borer-dataset-40 = Mytilus
+names-borer-dataset-41 = Myxine
+names-borer-dataset-42 = Nautilus
+names-borer-dataset-43 = Nereis
+names-borer-dataset-44 = Neritha
+names-borer-dataset-45 = Ostrea
+names-borer-dataset-46 = Patella
+names-borer-dataset-47 = Pennatula
+names-borer-dataset-48 = Pholas
+names-borer-dataset-49 = Pinna
+names-borer-dataset-50 = Priapus
+names-borer-dataset-51 = Scyllaea
+names-borer-dataset-52 = Sepia
+names-borer-dataset-53 = Serpula
+names-borer-dataset-54 = Sertularia
+names-borer-dataset-55 = Solen
+names-borer-dataset-56 = Spondylus
+names-borer-dataset-57 = Strombus
+names-borer-dataset-58 = Taenia
+names-borer-dataset-59 = Tellina
+names-borer-dataset-60 = Teredo
+names-borer-dataset-61 = Tethys
+names-borer-dataset-62 = Triton
+names-borer-dataset-63 = Trochus
+names-borer-dataset-64 = Tubipora
+names-borer-dataset-65 = Tubularia
+names-borer-dataset-66 = Turbo
+names-borer-dataset-67 = Venus
+names-borer-dataset-68 = Voluta
+names-borer-dataset-69 = Volvox
diff --git a/Resources/Prototypes/Datasets/Names/borer.yml b/Resources/Prototypes/Datasets/Names/borer.yml
index 03667f67a7a..e8d741e6a96 100644
--- a/Resources/Prototypes/Datasets/Names/borer.yml
+++ b/Resources/Prototypes/Datasets/Names/borer.yml
@@ -1,72 +1,5 @@
-- type: dataset
-  id: names_borer
+- type: localizedDataset
+  id: NamesBorer
   values:
-  - Alcyonium
-  - Anomia
-  - Aphrodita
-  - Arca
-  - Argonauta
-  - Ascaris
-  - Asterias
-  - Buccinum
-  - Bulla
-  - Cardium
-  - Chama
-  - Chiton
-  - Conus
-  - Corallina
-  - Cypraea
-  - Dentalium
-  - Donax
-  - Doris
-  - Echinus
-  - Eschara
-  - Fasciola
-  - Furia
-  - Gordius
-  - Gorgonia
-  - Haliotis
-  - Helix
-  - Hirudo
-  - Holothuria
-  - Hydra
-  - Isis
-  - Lepas
-  - Lernaea
-  - Limax
-  - Lumbricus
-  - Madrepora
-  - Medusa
-  - Millepora
-  - Murex
-  - Myes
-  - Mytilus
-  - Myxine
-  - Nautilus
-  - Nereis
-  - Neritha
-  - Ostrea
-  - Patella
-  - Pennatula
-  - Pholas
-  - Pinna
-  - Priapus
-  - Scyllaea
-  - Sepia
-  - Serpula
-  - Sertularia
-  - Solen
-  - Spondylus
-  - Strombus
-  - Taenia
-  - Tellina
-  - Teredo
-  - Tethys
-  - Triton
-  - Trochus
-  - Tubipora
-  - Tubularia
-  - Turbo
-  - Venus
-  - Voluta
-  - Volvox
+    prefix: names-borer-dataset-
+    count: 69
diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml
index effb391404d..5d95e7cbe06 100644
--- a/Resources/Prototypes/Entities/Stations/base.yml
+++ b/Resources/Prototypes/Entities/Stations/base.yml
@@ -73,7 +73,7 @@
         vgroid: !type:DungeonSpawnGroup
           minimumDistance: 300
           maximumDistance: 350
-          nameDataset: names_borer
+          nameDataset: NamesBorer
           stationGrid: false
           addComponents:
           - type: Gravity

From efa28fc650076ddef317903aed5ff1a2b664cf68 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 00:58:08 +0000
Subject: [PATCH 154/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index b33d4b00be7..b2f63bb5964 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: IgorAnt028
-  changes:
-  - message: The dead and knocked down now stop holding objects
-    type: Fix
-  id: 7124
-  time: '2024-08-16T04:53:34.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31009
 - author: SlamBamActionman
   changes:
   - message: Nar'Sie is satiated; moppable blood will no longer duplicate.
@@ -3918,3 +3911,10 @@
   id: 7623
   time: '2024-11-19T20:31:38.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32826
+- author: Plykiya
+  changes:
+  - message: The SWAT crate from cargo now requires armory access to open.
+    type: Fix
+  id: 7624
+  time: '2024-11-20T00:57:01.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33415

From 89392e2424a4d428fbb6996dec6615dfe0c05f41 Mon Sep 17 00:00:00 2001
From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Date: Wed, 20 Nov 2024 02:00:38 +0100
Subject: [PATCH 155/187] Remove drag & drop dropping items from containers
 (#32706)

* Initial commit

* Update based on maintainer discussion

* Forgot to remove this woops
---
 .../Systems/Storage/StorageUIController.cs         |  6 ------
 .../Storage/EntitySystems/SharedStorageSystem.cs   | 14 --------------
 Content.Shared/Storage/StorageComponent.cs         | 14 --------------
 3 files changed, 34 deletions(-)

diff --git a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs
index 97c9d8b7959..1e61ad98380 100644
--- a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs
+++ b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs
@@ -307,12 +307,6 @@ private void OnPieceUnpressed(GUIBoundKeyEventArgs args, ItemGridPiece control)
                     _entity.GetNetEntity(storageEnt),
                     new ItemStorageLocation(DraggingRotation, position)));
             }
-            else
-            {
-                _entity.RaisePredictiveEvent(new StorageRemoveItemEvent(
-                    _entity.GetNetEntity(draggingGhost.Entity),
-                    _entity.GetNetEntity(storageEnt)));
-            }
 
             _menuDragHelper.EndDrag();
             _container?.BuildItemPieces();
diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
index fee4c1a0fb6..183420db9d1 100644
--- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
+++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
@@ -129,7 +129,6 @@ public override void Initialize()
         SubscribeAllEvent<StorageInteractWithItemEvent>(OnInteractWithItem);
         SubscribeAllEvent<StorageSetItemLocationEvent>(OnSetItemLocation);
         SubscribeAllEvent<StorageInsertItemIntoLocationEvent>(OnInsertItemIntoLocation);
-        SubscribeAllEvent<StorageRemoveItemEvent>(OnRemoveItem);
         SubscribeAllEvent<StorageSaveItemLocationEvent>(OnSaveItemLocation);
 
         SubscribeLocalEvent<StorageComponent, GotReclaimedEvent>(OnReclaimed);
@@ -639,19 +638,6 @@ private void OnSetItemLocation(StorageSetItemLocationEvent msg, EntitySessionEve
         TrySetItemStorageLocation(item!, storage!, msg.Location);
     }
 
-    private void OnRemoveItem(StorageRemoveItemEvent msg, EntitySessionEventArgs args)
-    {
-        if (!ValidateInput(args, msg.StorageEnt, msg.ItemEnt, out var player, out var storage, out var item))
-            return;
-
-        _adminLog.Add(
-            LogType.Storage,
-            LogImpact.Low,
-            $"{ToPrettyString(player):player} is removing {ToPrettyString(item):item} from {ToPrettyString(storage):storage}");
-        TransformSystem.DropNextTo(item.Owner, player.Owner);
-        Audio.PlayPredicted(storage.Comp.StorageRemoveSound, storage, player, _audioParams);
-    }
-
     private void OnInsertItemIntoLocation(StorageInsertItemIntoLocationEvent msg, EntitySessionEventArgs args)
     {
         if (!ValidateInput(args, msg.StorageEnt, msg.ItemEnt, out var player, out var storage, out var item, held: true))
diff --git a/Content.Shared/Storage/StorageComponent.cs b/Content.Shared/Storage/StorageComponent.cs
index d2c607e57f7..5683ae95a71 100644
--- a/Content.Shared/Storage/StorageComponent.cs
+++ b/Content.Shared/Storage/StorageComponent.cs
@@ -169,20 +169,6 @@ public StorageSetItemLocationEvent(NetEntity itemEnt, NetEntity storageEnt, Item
         }
     }
 
-    [Serializable, NetSerializable]
-    public sealed class StorageRemoveItemEvent : EntityEventArgs
-    {
-        public readonly NetEntity ItemEnt;
-
-        public readonly NetEntity StorageEnt;
-
-        public StorageRemoveItemEvent(NetEntity itemEnt, NetEntity storageEnt)
-        {
-            ItemEnt = itemEnt;
-            StorageEnt = storageEnt;
-        }
-    }
-
     [Serializable, NetSerializable]
     public sealed class StorageInsertItemIntoLocationEvent : EntityEventArgs
     {

From ed1ae96fa22cb9ad8af2b21efb8abe4aadfeeed7 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 01:01:45 +0000
Subject: [PATCH 156/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index b2f63bb5964..a578659a004 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: SlamBamActionman
-  changes:
-  - message: Nar'Sie is satiated; moppable blood will no longer duplicate.
-    type: Fix
-  id: 7125
-  time: '2024-08-16T10:47:53.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30983
 - author: Blackern5000
   changes:
   - message: Disabler SMGs no longer fit in combat boots
@@ -3918,3 +3911,11 @@
   id: 7624
   time: '2024-11-20T00:57:01.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33415
+- author: SlamBamActionman
+  changes:
+  - message: It's no longer possible to drag an item out of a container's UI to drop
+      it.
+    type: Tweak
+  id: 7625
+  time: '2024-11-20T01:00:38.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32706

From eebf06d9d611063410233efae983efbe52c8b493 Mon Sep 17 00:00:00 2001
From: Saphire Lattice <lattice@saphi.re>
Date: Wed, 20 Nov 2024 08:03:52 +0700
Subject: [PATCH 157/187] Automatically add "Approved" to maintainer PRs
 (#33337)

* Add an Approved labeler for maintainer PRs

* Be extra safe with conditions
---
 .github/workflows/labeler-review.yml | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 .github/workflows/labeler-review.yml

diff --git a/.github/workflows/labeler-review.yml b/.github/workflows/labeler-review.yml
new file mode 100644
index 00000000000..79be86a005a
--- /dev/null
+++ b/.github/workflows/labeler-review.yml
@@ -0,0 +1,23 @@
+name: "Labels: Approved"
+on:
+  pull_request_review:
+    types: [submitted]
+jobs:
+  add_label:
+    # Change the repository name after you've made sure the team name is correct for your fork!
+    if: ${{ (github.repository == 'space-wizards/space-station-14') && (github.event.review.state == 'APPROVED') }}
+    permissions:
+      contents: read
+      pull-requests: write
+    runs-on: ubuntu-latest
+    steps:
+    - uses: tspascoal/get-user-teams-membership@v3
+      id: checkUserMember
+      with:
+        username: ${{ github.actor }}
+        team: "content-maintainers,junior-maintainers" # CHANGE TEAM NAME HERE PLEASE <------
+        GITHUB_TOKEN: ${{ secrets.PAT }}
+    - if: ${{ steps.checkUserMember.outputs.isTeamMember == 'true' }}
+      uses: actions-ecosystem/action-add-labels@v1
+      with:
+        labels: "PR: Approved"
\ No newline at end of file

From fdf3df9fbdf4687794961038c7b9433c9ff8c104 Mon Sep 17 00:00:00 2001
From: Plykiya <58439124+Plykiya@users.noreply.github.com>
Date: Tue, 19 Nov 2024 17:05:20 -0800
Subject: [PATCH 158/187] Crew monitoring crate updated to contain flatpacks,
 science access instead of engi (#33417)

* Make a crew monitoring crate with flatpacks

* fix image

* migration
---
 .../Catalog/Cargo/cargo_circuitboards.yml     |  9 ---------
 .../Catalog/Cargo/cargo_science.yml           | 10 ++++++++++
 .../Catalog/Fills/Crates/circuitboards.yml    | 12 -----------
 .../Catalog/Fills/Crates/science.yml          | 12 +++++++++++
 .../Entities/Objects/Devices/flatpack.yml     | 20 ++++++++++++++++++-
 Resources/migration.yml                       |  3 +++
 6 files changed, 44 insertions(+), 22 deletions(-)
 delete mode 100644 Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml
 delete mode 100644 Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml

diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml b/Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml
deleted file mode 100644
index a96780fc3ed..00000000000
--- a/Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-- type: cargoProduct
-  id: CrewMonitoringBoards
-  icon:
-    sprite: Objects/Misc/module.rsi
-    state: cpuboard
-  product: CrateCrewMonitoringBoards
-  cost: 2000
-  category: cargoproduct-category-name-circuitboards
-  group: market
diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml
index 756a223e74d..cb7f8af8224 100644
--- a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml
+++ b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml
@@ -27,3 +27,13 @@
   cost: 800
   category: cargoproduct-category-name-science
   group: market
+
+- type: cargoProduct
+  id: CrewMonitoring
+  icon:
+    sprite: Structures/Machines/server.rsi
+    state: server
+  product: CrateCrewMonitoring
+  cost: 2000
+  category: cargoproduct-category-name-science
+  group: market
diff --git a/Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml b/Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml
deleted file mode 100644
index 899db4c37c7..00000000000
--- a/Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-- type: entity
-  id: CrateCrewMonitoringBoards
-  parent: CrateEngineeringSecure
-  name: crew monitoring boards
-  description: Has two crew monitoring console and server replacements. Requires engineering access to open.
-  components:
-    - type: StorageFill
-      contents:
-        - id: CrewMonitoringComputerCircuitboard
-          amount: 2
-        - id: CrewMonitoringServerMachineCircuitboard
-          amount: 2
diff --git a/Resources/Prototypes/Catalog/Fills/Crates/science.yml b/Resources/Prototypes/Catalog/Fills/Crates/science.yml
index 15ce05708e3..6adf5942a43 100644
--- a/Resources/Prototypes/Catalog/Fills/Crates/science.yml
+++ b/Resources/Prototypes/Catalog/Fills/Crates/science.yml
@@ -12,3 +12,15 @@
         amount: 2
       - id: ClothingMaskSterile
         amount: 2
+
+- type: entity
+  id: CrateCrewMonitoring
+  parent: CrateScienceSecure
+  name: crew monitoring crate
+  description: Contains a flatpack of a crew monitoring server and a few crew monitoring computers. Requires Science access to open.
+  components:
+  - type: StorageFill
+    contents:
+    - id: CrewMonitoringServerFlatpack
+    - id: CrewMonitoringComputerFlatpack
+      amount: 3
diff --git a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml
index 5fb81aa6d48..82d43cf7d82 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml
@@ -215,4 +215,22 @@
     layers:
     - state: fax-machine
   - type: Flatpack
-    entity: FaxMachineBase
\ No newline at end of file
+    entity: FaxMachineBase
+
+- type: entity
+  parent: BaseFlatpack
+  id: CrewMonitoringServerFlatpack
+  name: crew monitoring server flatpack
+  description: A flatpack used for constructing a crew monitoring server.
+  components:
+  - type: Flatpack
+    entity: CrewMonitoringServer
+
+- type: entity
+  parent: BaseFlatpack
+  id: CrewMonitoringComputerFlatpack
+  name: crew monitoring computer flatpack
+  description: A flatpack used for constructing a crew monitoring console.
+  components:
+  - type: Flatpack
+    entity: ComputerCrewMonitoring
diff --git a/Resources/migration.yml b/Resources/migration.yml
index 8940df2b65e..a09986ebd86 100644
--- a/Resources/migration.yml
+++ b/Resources/migration.yml
@@ -475,3 +475,6 @@ LeftLegBorgJanitor: LeftLegBorg
 RightLegBorgJanitor: RightLegBorg
 HeadBorgJanitor: LightHeadBorg
 TorsoBorgJanitor: TorsoBorg
+
+# 2024-11-19
+CrateCrewMonitoringBoards: CrateCrewMonitoring

From 35e2c641c1960195509c52fd6350cff720f76868 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 01:06:27 +0000
Subject: [PATCH 159/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index a578659a004..0eaa287ba93 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Blackern5000
-  changes:
-  - message: Disabler SMGs no longer fit in combat boots
-    type: Fix
-  id: 7126
-  time: '2024-08-17T01:00:21.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31110
 - author: Mervill
   changes:
   - message: Fixed suffocation alerts not appearing.
@@ -3919,3 +3912,11 @@
   id: 7625
   time: '2024-11-20T01:00:38.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32706
+- author: Plykiya
+  changes:
+  - message: The crew monitoring crate now contains a flatpack of the server and computers,
+      and can be opened with science access instead of engineering access now.
+    type: Tweak
+  id: 7626
+  time: '2024-11-20T01:05:20.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33417

From 6e53cd98a400466640586bf19b41ec281944795e Mon Sep 17 00:00:00 2001
From: SlamBamActionman <slambamactionman@gmail.com>
Date: Tue, 19 Nov 2024 16:28:58 +0100
Subject: [PATCH 160/187] Add emag functionality

---
 .../SingularityGeneratorSystem.cs             | 20 ++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
index be0c5e49b5f..cfca86bf4af 100644
--- a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
+++ b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
@@ -117,27 +117,31 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co
         if (!EntityManager.TryGetComponent<SingularityGeneratorComponent>(args.OtherEntity, out var generatorComp))
             return;
 
-        if (_timing.CurTime < _metadata.GetPauseTime(uid) + generatorComp.NextFailsafe)
+        if (_timing.CurTime < _metadata.GetPauseTime(uid) + generatorComp.NextFailsafe && !generatorComp.FailsafeDisabled)
         {
             EntityManager.QueueDeleteEntity(uid);
             return;
         }
 
         var contained = true;
-        var transform = Transform(args.OtherEntity);
-        var directions = Enum.GetValues<Direction>().Length;
-        for (var i = 0; i < directions - 1; i += 2) // Skip every other direction, checking only cardinals
+        if (!generatorComp.FailsafeDisabled)
         {
-            if (!CheckContainmentField((Direction)i, new Entity<SingularityGeneratorComponent>(args.OtherEntity, generatorComp), transform))
-                contained = false;
+            var transform = Transform(args.OtherEntity);
+            var directions = Enum.GetValues<Direction>().Length;
+            for (var i = 0; i < directions - 1; i += 2) // Skip every other direction, checking only cardinals
+            {
+                if (!CheckContainmentField((Direction)i, new Entity<SingularityGeneratorComponent>(args.OtherEntity, generatorComp), transform))
+                    contained = false;
+            }
         }
 
-        if (!contained)
+        if (!contained && !generatorComp.FailsafeDisabled)
         {
             generatorComp.NextFailsafe = _timing.CurTime + generatorComp.FailsafeCooldown;
             _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution);
         }
         else
+        {
             SetPower(
                 args.OtherEntity,
                 generatorComp.Power + component.State switch
@@ -151,6 +155,8 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co
                 },
                 generatorComp
             );
+        }
+
         EntityManager.QueueDeleteEntity(uid);
     }
 

From 9c666457c2c13505725b7d3c336cae50f0666460 Mon Sep 17 00:00:00 2001
From: Saphire <lattice@saphi.re>
Date: Wed, 20 Nov 2024 07:49:45 +0600
Subject: [PATCH 161/187] Move some of the new singularity code into shared

Hopefully without explosions yay
---
 .../SingularityGeneratorSystem.cs             | 18 ++----------
 .../SingularityGeneratorComponent.cs          |  8 ++---
 .../SharedSingularityGeneratorSystem.cs       | 29 +++++++++++++++++++
 3 files changed, 35 insertions(+), 20 deletions(-)
 rename {Content.Server => Content.Shared}/Singularity/Components/SingularityGeneratorComponent.cs (91%)
 create mode 100644 Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs

diff --git a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
index cfca86bf4af..95722449b87 100644
--- a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
+++ b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs
@@ -1,10 +1,7 @@
-using System.Diagnostics;
 using Content.Server.ParticleAccelerator.Components;
-using Content.Server.Popups;
-using Content.Server.Singularity.Components;
-using Content.Shared.Emag.Systems;
 using Content.Shared.Popups;
 using Content.Shared.Singularity.Components;
+using Content.Shared.Singularity.EntitySystems;
 using Robust.Server.GameObjects;
 using Robust.Shared.Physics;
 using Robust.Shared.Physics.Components;
@@ -13,7 +10,7 @@
 
 namespace Content.Server.Singularity.EntitySystems;
 
-public sealed class SingularityGeneratorSystem : EntitySystem
+public sealed class SingularityGeneratorSystem : SharedSingularityGeneratorSystem
 {
     #region Dependencies
     [Dependency] private readonly IViewVariablesManager _vvm = default!;
@@ -21,7 +18,6 @@ public sealed class SingularityGeneratorSystem : EntitySystem
     [Dependency] private readonly PhysicsSystem _physics = default!;
     [Dependency] private readonly IGameTiming _timing = default!;
     [Dependency] private readonly MetaDataSystem _metadata = default!;
-    [Dependency] private readonly PopupSystem _popupSystem = default!;
     #endregion Dependencies
 
     public override void Initialize()
@@ -29,7 +25,6 @@ public override void Initialize()
         base.Initialize();
 
         SubscribeLocalEvent<ParticleProjectileComponent, StartCollideEvent>(HandleParticleCollide);
-        SubscribeLocalEvent<SingularityGeneratorComponent, GotEmaggedEvent>(OnEmagged);
 
         var vvHandle = _vvm.GetTypeHandler<SingularityGeneratorComponent>();
         vvHandle.AddPath(nameof(SingularityGeneratorComponent.Power), (_, comp) => comp.Power, SetPower);
@@ -138,7 +133,7 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co
         if (!contained && !generatorComp.FailsafeDisabled)
         {
             generatorComp.NextFailsafe = _timing.CurTime + generatorComp.FailsafeCooldown;
-            _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution);
+            PopupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution);
         }
         else
         {
@@ -159,13 +154,6 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co
 
         EntityManager.QueueDeleteEntity(uid);
     }
-
-    private void OnEmagged(EntityUid uid, SingularityGeneratorComponent component, ref GotEmaggedEvent args)
-    {
-        _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe-disabled", ("target", uid)), uid);
-        component.FailsafeDisabled = true;
-        args.Handled = true;
-    }
     #endregion Event Handlers
 
     /// <summary>
diff --git a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs b/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs
similarity index 91%
rename from Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
rename to Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs
index c8feeb5d5db..3643ed31a6f 100644
--- a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs
+++ b/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs
@@ -1,14 +1,12 @@
 using Robust.Shared.Prototypes;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
 
-using Content.Server.Singularity.EntitySystems;
 using Content.Shared.Physics;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
 
-namespace Content.Server.Singularity.Components;
+namespace Content.Shared.Singularity.Components;
 
-[RegisterComponent, AutoGenerateComponentPause]
-[Access(typeof(SingularityGeneratorSystem))]
+[RegisterComponent, AutoGenerateComponentPause, AutoGenerateComponentState]
 public sealed partial class SingularityGeneratorComponent : Component
 {
     /// <summary>
@@ -28,7 +26,7 @@ public sealed partial class SingularityGeneratorComponent : Component
     /// <summary>
     /// Allows the generator to ignore all the failsafe stuff, e.g. when emagged
     /// </summary>
-    [DataField]
+    [DataField, AutoNetworkedField]
     public bool FailsafeDisabled = false;
 
     /// <summary>
diff --git a/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs b/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs
new file mode 100644
index 00000000000..8830cb0624c
--- /dev/null
+++ b/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs
@@ -0,0 +1,29 @@
+using Content.Shared.Emag.Systems;
+using Content.Shared.Popups;
+using Content.Shared.Singularity.Components;
+
+namespace Content.Shared.Singularity.EntitySystems;
+
+/// <summary>
+/// Shared part of SingularitySingularityGeneratorSystem
+/// </summary>
+public abstract class SharedSingularityGeneratorSystem : EntitySystem
+{
+    #region Dependencies
+    [Dependency] protected readonly SharedPopupSystem PopupSystem = default!;
+    #endregion Dependencies
+
+    public override void Initialize()
+    {
+        base.Initialize();
+
+        SubscribeLocalEvent<SingularityGeneratorComponent, GotEmaggedEvent>(OnEmagged);
+    }
+
+    private void OnEmagged(EntityUid uid, SingularityGeneratorComponent component, ref GotEmaggedEvent args)
+    {
+        PopupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe-disabled", ("target", uid)), uid);
+        component.FailsafeDisabled = true;
+        args.Handled = true;
+    }
+}
\ No newline at end of file

From 1fa1975e60d35b788c57ab2479f6f962f99d53fc Mon Sep 17 00:00:00 2001
From: beck-thompson <107373427+beck-thompson@users.noreply.github.com>
Date: Tue, 19 Nov 2024 17:53:52 -0800
Subject: [PATCH 162/187] Fix toggle verbs (#32138)

First commit

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
---
 .../Components/ItemToggleComponent.cs         | 12 +++++++
 .../Components/ToggleVerbComponent.cs         | 18 ----------
 .../Item/ItemToggle/ItemToggleSystem.cs       |  2 +-
 .../Item/ItemToggle/ToggleVerbSystem.cs       | 34 -------------------
 .../components/magboots-component.ftl         |  3 --
 .../fire-extinguisher-component.ftl           |  3 +-
 .../Entities/Clothing/Shoes/magboots.yml      |  2 --
 .../Objects/Misc/fire_extinguisher.yml        |  4 +--
 8 files changed, 17 insertions(+), 61 deletions(-)
 delete mode 100644 Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs
 delete mode 100644 Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs
 delete mode 100644 Resources/Locale/en-US/clothing/components/magboots-component.ftl

diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs
index 47edec135d8..110ae80626e 100644
--- a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs
+++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs
@@ -32,6 +32,18 @@ public sealed partial class ItemToggleComponent : Component
     [DataField]
     public bool OnUse = true;
 
+    /// <summary>
+    ///     The localized text to display in the verb to activate.
+    /// </summary>
+    [DataField]
+    public string VerbToggleOn = "item-toggle-activate";
+
+    /// <summary>
+    ///     The localized text to display in the verb to de-activate.
+    /// </summary>
+    [DataField]
+    public string VerbToggleOff = "item-toggle-deactivate";
+
     /// <summary>
     ///     Whether the item's toggle can be predicted by the client.
     /// </summary>
diff --git a/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs b/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs
deleted file mode 100644
index b673c55e0f1..00000000000
--- a/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Content.Shared.Item.ItemToggle;
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.Item.ItemToggle.Components;
-
-/// <summary>
-/// Adds a verb for toggling something, requires <see cref="ItemToggleComponent"/>.
-/// </summary>
-[RegisterComponent, NetworkedComponent, Access(typeof(ToggleVerbSystem))]
-public sealed partial class ToggleVerbComponent : Component
-{
-    /// <summary>
-    /// Text the verb will have.
-    /// Gets passed "entity" as the entity's identity string.
-    /// </summary>
-    [DataField(required: true)]
-    public LocId Text = string.Empty;
-}
diff --git a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs
index d5bbaac12c3..f6752a67f61 100644
--- a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs
+++ b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs
@@ -78,7 +78,7 @@ private void OnActivateVerb(Entity<ItemToggleComponent> ent, ref GetVerbsEvent<A
 
         args.Verbs.Add(new ActivationVerb()
         {
-            Text = !ent.Comp.Activated ? Loc.GetString("item-toggle-activate") : Loc.GetString("item-toggle-deactivate"),
+            Text = !ent.Comp.Activated ? Loc.GetString(ent.Comp.VerbToggleOn) : Loc.GetString(ent.Comp.VerbToggleOff),
             Act = () =>
             {
                 Toggle((ent.Owner, ent.Comp), user, predicted: ent.Comp.Predictable);
diff --git a/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs b/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs
deleted file mode 100644
index 858cd9bc111..00000000000
--- a/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using Content.Shared.IdentityManagement;
-using Content.Shared.Item.ItemToggle.Components;
-using Content.Shared.Verbs;
-
-namespace Content.Shared.Item.ItemToggle;
-
-/// <summary>
-/// Adds a verb for toggling something with <see cref="ToggleVerbComponent"/>.
-/// </summary>
-public sealed class ToggleVerbSystem : EntitySystem
-{
-    [Dependency] private readonly ItemToggleSystem _toggle = default!;
-
-    public override void Initialize()
-    {
-        base.Initialize();
-
-        SubscribeLocalEvent<ToggleVerbComponent, GetVerbsEvent<ActivationVerb>>(OnGetVerbs);
-    }
-
-    private void OnGetVerbs(Entity<ToggleVerbComponent> ent, ref GetVerbsEvent<ActivationVerb> args)
-    {
-        if (!args.CanAccess || !args.CanInteract)
-            return;
-
-        var name = Identity.Entity(ent, EntityManager);
-        var user = args.User;
-        args.Verbs.Add(new ActivationVerb()
-        {
-            Text = Loc.GetString(ent.Comp.Text, ("entity", name)),
-            Act = () => _toggle.Toggle(ent.Owner, user)
-        });
-    }
-}
diff --git a/Resources/Locale/en-US/clothing/components/magboots-component.ftl b/Resources/Locale/en-US/clothing/components/magboots-component.ftl
deleted file mode 100644
index 4113a748620..00000000000
--- a/Resources/Locale/en-US/clothing/components/magboots-component.ftl
+++ /dev/null
@@ -1,3 +0,0 @@
-
-# Toggle Magboots Verb
-toggle-magboots-verb-get-data-text = Toggle Magboots
\ No newline at end of file
diff --git a/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl b/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl
index f6418793918..de1fcd7d4e3 100644
--- a/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl
+++ b/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl
@@ -1,3 +1,4 @@
 fire-extinguisher-component-after-interact-refilled-message = {$owner} is now refilled
 fire-extinguisher-component-safety-on-message = Its safety is on!
-fire-extinguisher-component-verb-text = Toggle safety
+fire-extinguisher-component-verb-remove = Remove safety
+fire-extinguisher-component-verb-engage = Engage safety
diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
index ab8084c91c0..6610ae87ccf 100644
--- a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
+++ b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml
@@ -15,8 +15,6 @@
   - type: ToggleClothing
     action: ActionToggleMagboots
     mustEquip: false
-  - type: ToggleVerb
-    text: toggle-magboots-verb-get-data-text
   - type: ComponentToggler
     components:
     - type: NoSlip
diff --git a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
index b0c586fc753..4b4200fed8f 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
@@ -47,8 +47,8 @@
       params:
         variation: 0.125
         volume: -4
-  - type: ToggleVerb
-    text: fire-extinguisher-component-verb-text
+    verbToggleOn: fire-extinguisher-component-verb-remove
+    verbToggleOff: fire-extinguisher-component-verb-engage
   - type: SpraySafety
   - type: MeleeWeapon
     wideAnimationRotation: 180

From e98383d572c8d6ba251c7914777becc681ebac91 Mon Sep 17 00:00:00 2001
From: qwerltaz <69696513+qwerltaz@users.noreply.github.com>
Date: Wed, 20 Nov 2024 02:54:49 +0100
Subject: [PATCH 163/187] Construction menu grid view (#32577)

* button

* implement populate grid view

* tweak min width

* Make grid button toggle visible

* tweak min window size

* fix missing recipe button when mirroring item

* make grid buttons toggleable

* align button texture vertically

* selected grid item has plain color background

* tweak window width so all buttons look good

* rename select method, defer colouring

* get icon better

* whoops

* simpler button toggle

* spritesys frame0, move spritesys

* delete old sprite system refs
---
 .../Construction/UI/ConstructionMenu.xaml     |  13 ++-
 .../Construction/UI/ConstructionMenu.xaml.cs  |  17 ++-
 .../UI/ConstructionMenuPresenter.cs           | 102 +++++++++++++++---
 .../construction/ui/construction-menu.ftl     |   1 +
 4 files changed, 114 insertions(+), 19 deletions(-)

diff --git a/Content.Client/Construction/UI/ConstructionMenu.xaml b/Content.Client/Construction/UI/ConstructionMenu.xaml
index 6e4438cf6fd..a934967a533 100644
--- a/Content.Client/Construction/UI/ConstructionMenu.xaml
+++ b/Content.Client/Construction/UI/ConstructionMenu.xaml
@@ -1,15 +1,20 @@
 <DefaultWindow xmlns="https://spacestation14.io">
     <BoxContainer Orientation="Horizontal" HorizontalExpand="True">
-        <BoxContainer Orientation="Vertical" HorizontalExpand="True" SizeFlagsStretchRatio="0.4" Margin="0 0 5 0">
+        <BoxContainer Orientation="Vertical" MinWidth="243" Margin="0 0 5 0">
             <BoxContainer Orientation="Horizontal" HorizontalExpand="True" Margin="0 0 0 5">
                 <LineEdit Name="SearchBar" PlaceHolder="Search" HorizontalExpand="True"/>
                 <OptionButton Name="OptionCategories" Access="Public" MinSize="130 0"/>
             </BoxContainer>
             <ItemList Name="Recipes" Access="Public" SelectMode="Single" VerticalExpand="True"/>
+            <ScrollContainer Name="RecipesGridScrollContainer" VerticalExpand="True" Access="Public" Visible="False">
+                <GridContainer Name="RecipesGrid" Columns="5" Access="Public"/>
+            </ScrollContainer>
         </BoxContainer>
-        <BoxContainer Orientation="Vertical" HorizontalExpand="True" SizeFlagsStretchRatio="0.6">
-            <Button Name="FavoriteButton" Visible="false" HorizontalExpand="False"
-                HorizontalAlignment="Right" Margin="0 0 0 15"/>
+        <BoxContainer Orientation="Vertical" HorizontalExpand="True">
+            <BoxContainer Orientation="Horizontal">
+                <Button Name="MenuGridViewButton" ToggleMode="True" Text="{Loc construction-menu-grid-view}"/>
+                <Button Name="FavoriteButton" Visible="false"/>
+            </BoxContainer>
             <Control>
                 <BoxContainer Orientation="Vertical" HorizontalExpand="True" Margin="0 0 0 5">
                     <BoxContainer Orientation="Horizontal" Align="Center">
diff --git a/Content.Client/Construction/UI/ConstructionMenu.xaml.cs b/Content.Client/Construction/UI/ConstructionMenu.xaml.cs
index f0cb8148762..9ab8a156005 100644
--- a/Content.Client/Construction/UI/ConstructionMenu.xaml.cs
+++ b/Content.Client/Construction/UI/ConstructionMenu.xaml.cs
@@ -25,11 +25,16 @@ public interface IConstructionMenuView : IDisposable
         OptionButton OptionCategories { get; }
 
         bool EraseButtonPressed { get; set; }
+        bool GridViewButtonPressed { get; set; }
         bool BuildButtonPressed { get; set; }
 
         ItemList Recipes { get; }
         ItemList RecipeStepList { get; }
 
+
+        ScrollContainer RecipesGridScrollContainer { get; }
+        GridContainer RecipesGrid { get; }
+
         event EventHandler<(string search, string catagory)> PopulateRecipes;
         event EventHandler<ItemList.Item?> RecipeSelected;
         event EventHandler RecipeFavorited;
@@ -72,9 +77,16 @@ public bool EraseButtonPressed
             set => EraseButton.Pressed = value;
         }
 
+        public bool GridViewButtonPressed
+        {
+            get => MenuGridViewButton.Pressed;
+            set => MenuGridViewButton.Pressed = value;
+        }
+
         public ConstructionMenu()
         {
-            SetSize = MinSize = new Vector2(720, 320);
+            SetSize = new Vector2(560, 450);
+            MinSize = new Vector2(560, 320);
 
             IoCManager.InjectDependencies(this);
             RobustXamlLoader.Load(this);
@@ -102,6 +114,9 @@ public ConstructionMenu()
             EraseButton.OnToggled += args => EraseButtonToggled?.Invoke(this, args.Pressed);
 
             FavoriteButton.OnPressed += args => RecipeFavorited?.Invoke(this, EventArgs.Empty);
+
+            MenuGridViewButton.OnPressed += _ =>
+                PopulateRecipes?.Invoke(this, (SearchBar.Text, Categories[OptionCategories.SelectedId]));
         }
 
         public event EventHandler? ClearAllGhosts;
diff --git a/Content.Client/Construction/UI/ConstructionMenuPresenter.cs b/Content.Client/Construction/UI/ConstructionMenuPresenter.cs
index c315cdedb2c..d35e8fbe769 100644
--- a/Content.Client/Construction/UI/ConstructionMenuPresenter.cs
+++ b/Content.Client/Construction/UI/ConstructionMenuPresenter.cs
@@ -1,7 +1,8 @@
 using System.Linq;
+using System.Numerics;
+using Content.Client.Stylesheets;
 using Content.Client.UserInterface.Systems.MenuBar.Widgets;
 using Content.Shared.Construction.Prototypes;
-using Content.Shared.Tag;
 using Content.Shared.Whitelist;
 using Robust.Client.GameObjects;
 using Robust.Client.Graphics;
@@ -11,7 +12,6 @@
 using Robust.Client.UserInterface.Controls;
 using Robust.Client.Utility;
 using Robust.Shared.Enums;
-using Robust.Shared.Graphics;
 using Robust.Shared.Prototypes;
 using static Robust.Client.UserInterface.Controls.BaseButton;
 
@@ -33,10 +33,12 @@ internal sealed class ConstructionMenuPresenter : IDisposable
 
         private readonly IConstructionMenuView _constructionView;
         private readonly EntityWhitelistSystem _whitelistSystem;
+        private readonly SpriteSystem _spriteSystem;
 
         private ConstructionSystem? _constructionSystem;
         private ConstructionPrototype? _selected;
         private List<ConstructionPrototype> _favoritedRecipes = [];
+        private Dictionary<string, TextureButton> _recipeButtons = new();
         private string _selectedCategory = string.Empty;
         private string _favoriteCatName = "construction-category-favorites";
         private string _forAllCategoryName = "construction-category-all";
@@ -85,6 +87,7 @@ public ConstructionMenuPresenter()
             IoCManager.InjectDependencies(this);
             _constructionView = new ConstructionMenu();
             _whitelistSystem = _entManager.System<EntityWhitelistSystem>();
+            _spriteSystem = _entManager.System<SpriteSystem>();
 
             // This is required so that if we load after the system is initialized, we can bind to it immediately
             if (_systemManager.TryGetEntitySystem<ConstructionSystem>(out var constructionSystem))
@@ -150,12 +153,24 @@ private void OnViewRecipeSelected(object? sender, ItemList.Item? item)
             PopulateInfo(_selected);
         }
 
+        private void OnGridViewRecipeSelected(object? sender, ConstructionPrototype? recipe)
+        {
+            if (recipe is null)
+            {
+                _selected = null;
+                _constructionView.ClearRecipeInfo();
+                return;
+            }
+
+            _selected = recipe;
+            if (_placementManager.IsActive && !_placementManager.Eraser) UpdateGhostPlacement();
+            PopulateInfo(_selected);
+        }
+
         private void OnViewPopulateRecipes(object? sender, (string search, string catagory) args)
         {
             var (search, category) = args;
-            var recipesList = _constructionView.Recipes;
 
-            recipesList.Clear();
             var recipes = new List<ConstructionPrototype>();
 
             var isEmptyCategory = string.IsNullOrEmpty(category) || category == _forAllCategoryName;
@@ -201,12 +216,73 @@ private void OnViewPopulateRecipes(object? sender, (string search, string catago
 
             recipes.Sort((a, b) => string.Compare(a.Name, b.Name, StringComparison.InvariantCulture));
 
-            foreach (var recipe in recipes)
+            var recipesList = _constructionView.Recipes;
+            recipesList.Clear();
+
+            var recipesGrid = _constructionView.RecipesGrid;
+            recipesGrid.RemoveAllChildren();
+
+            _constructionView.RecipesGridScrollContainer.Visible = _constructionView.GridViewButtonPressed;
+            _constructionView.Recipes.Visible = !_constructionView.GridViewButtonPressed;
+
+            if (_constructionView.GridViewButtonPressed)
+            {
+                foreach (var recipe in recipes)
+                {
+                    var itemButton = new TextureButton
+                    {
+                        TextureNormal = _spriteSystem.Frame0(recipe.Icon),
+                        VerticalAlignment = Control.VAlignment.Center,
+                        Name = recipe.Name,
+                        ToolTip = recipe.Name,
+                        Scale = new Vector2(1.35f),
+                        ToggleMode = true,
+                    };
+                    var itemButtonPanelContainer = new PanelContainer
+                    {
+                        PanelOverride = new StyleBoxFlat { BackgroundColor = StyleNano.ButtonColorDefault },
+                        Children = { itemButton },
+                    };
+
+                    itemButton.OnToggled += buttonToggledEventArgs =>
+                    {
+                        SelectGridButton(itemButton, buttonToggledEventArgs.Pressed);
+
+                        if (buttonToggledEventArgs.Pressed &&
+                            _selected != null &&
+                            _recipeButtons.TryGetValue(_selected.Name, out var oldButton))
+                        {
+                            oldButton.Pressed = false;
+                            SelectGridButton(oldButton, false);
+                        }
+
+                        OnGridViewRecipeSelected(this, buttonToggledEventArgs.Pressed ? recipe : null);
+                    };
+
+                    recipesGrid.AddChild(itemButtonPanelContainer);
+                    _recipeButtons[recipe.Name] = itemButton;
+                    var isCurrentButtonSelected = _selected == recipe;
+                    itemButton.Pressed = isCurrentButtonSelected;
+                    SelectGridButton(itemButton, isCurrentButtonSelected);
+                }
+            }
+            else
             {
-                recipesList.Add(GetItem(recipe, recipesList));
+                foreach (var recipe in recipes)
+                {
+                    recipesList.Add(GetItem(recipe, recipesList));
+                }
             }
+        }
+
+        private void SelectGridButton(TextureButton button, bool select)
+        {
+            if (button.Parent is not PanelContainer buttonPanel)
+                return;
 
-            // There is apparently no way to set which
+            button.Modulate = select ? Color.Green : Color.White;
+            var buttonColor = select ? StyleNano.ButtonColorDefault : Color.Transparent;
+            buttonPanel.PanelOverride = new StyleBoxFlat { BackgroundColor = buttonColor };
         }
 
         private void PopulateCategories(string? selectCategory = null)
@@ -257,11 +333,10 @@ private void PopulateCategories(string? selectCategory = null)
 
         private void PopulateInfo(ConstructionPrototype prototype)
         {
-            var spriteSys = _systemManager.GetEntitySystem<SpriteSystem>();
             _constructionView.ClearRecipeInfo();
 
             _constructionView.SetRecipeInfo(
-                prototype.Name, prototype.Description, spriteSys.Frame0(prototype.Icon),
+                prototype.Name, prototype.Description, _spriteSystem.Frame0(prototype.Icon),
                 prototype.Type != ConstructionType.Item,
                 !_favoritedRecipes.Contains(prototype));
 
@@ -274,7 +349,6 @@ private void GenerateStepList(ConstructionPrototype prototype, ItemList stepList
             if (_constructionSystem?.GetGuide(prototype) is not { } guide)
                 return;
 
-            var spriteSys = _systemManager.GetEntitySystem<SpriteSystem>();
 
             foreach (var entry in guide.Entries)
             {
@@ -290,20 +364,20 @@ private void GenerateStepList(ConstructionPrototype prototype, ItemList stepList
                 // The padding needs to be applied regardless of text length... (See PadLeft documentation)
                 text = text.PadLeft(text.Length + entry.Padding);
 
-                var icon = entry.Icon != null ? spriteSys.Frame0(entry.Icon) : Texture.Transparent;
+                var icon = entry.Icon != null ? _spriteSystem.Frame0(entry.Icon) : Texture.Transparent;
                 stepList.AddItem(text, icon, false);
             }
         }
 
-        private static ItemList.Item GetItem(ConstructionPrototype recipe, ItemList itemList)
+        private ItemList.Item GetItem(ConstructionPrototype recipe, ItemList itemList)
         {
             return new(itemList)
             {
                 Metadata = recipe,
                 Text = recipe.Name,
-                Icon = recipe.Icon.Frame0(),
+                Icon = _spriteSystem.Frame0(recipe.Icon),
                 TooltipEnabled = true,
-                TooltipText = recipe.Description
+                TooltipText = recipe.Description,
             };
         }
 
diff --git a/Resources/Locale/en-US/construction/ui/construction-menu.ftl b/Resources/Locale/en-US/construction/ui/construction-menu.ftl
index 82ebc01bc99..4d100247856 100644
--- a/Resources/Locale/en-US/construction/ui/construction-menu.ftl
+++ b/Resources/Locale/en-US/construction/ui/construction-menu.ftl
@@ -5,3 +5,4 @@ construction-menu-place-ghost = Place construction ghost
 construction-menu-clear-all = Clear All
 construction-menu-eraser-mode = Eraser Mode
 construction-menu-craft = Craft
+construction-menu-grid-view = Grid View

From 7e8e2c72128459f2d90999e818421d5225f1b0b4 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 01:55:55 +0000
Subject: [PATCH 164/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 0eaa287ba93..d244f1dba13 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,18 +1,4 @@
 Entries:
-- author: Mervill
-  changes:
-  - message: Fixed suffocation alerts not appearing.
-    type: Fix
-  id: 7127
-  time: '2024-08-17T02:02:51.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31115
-- author: TokenStyle
-  changes:
-  - message: Plant's scream mutation now have 10+ scream varieties.
-    type: Add
-  id: 7128
-  time: '2024-08-17T02:09:25.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30862
 - author: Boaz1111
   changes:
   - message: Phlogiston now also ignites people who consume it.
@@ -3920,3 +3906,20 @@
   id: 7626
   time: '2024-11-20T01:05:20.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33417
+- author: Beck Thompson
+  changes:
+  - message: Toggle verbs are no longer duplicated on magboots and fire extinguishers!
+    type: Fix
+  id: 7627
+  time: '2024-11-20T01:53:53.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32138
+- author: qwerltaz
+  changes:
+  - message: A new grid item view is available in the construction menu, togglable
+      with a button.
+    type: Add
+  - message: Construction menu default window size was tweaked.
+    type: Tweak
+  id: 7628
+  time: '2024-11-20T01:54:49.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32577

From a13a4f7a99b6c0e5c99965d7694c917c830ed43f Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 02:00:37 +0000
Subject: [PATCH 165/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index d244f1dba13..a8b4ecff28f 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Boaz1111
-  changes:
-  - message: Phlogiston now also ignites people who consume it.
-    type: Add
-  id: 7129
-  time: '2024-08-17T02:49:11.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30955
 - author: slarticodefast
   changes:
   - message: Fixed borgs brains being teleported outside their chassis and PAIs outside
@@ -3923,3 +3916,10 @@
   id: 7628
   time: '2024-11-20T01:54:49.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32577
+- author: SpaceLizard24
+  changes:
+  - message: Reduced crafting costs of colored light tubes.
+    type: Tweak
+  id: 7629
+  time: '2024-11-20T01:59:31.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33376

From 1b3672e0950176d8fb26e6c933f9c6ddb1d7bc79 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 02:06:21 +0000
Subject: [PATCH 166/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index a8b4ecff28f..a5471160244 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,12 +1,4 @@
 Entries:
-- author: slarticodefast
-  changes:
-  - message: Fixed borgs brains being teleported outside their chassis and PAIs outside
-      a PDA or pocket by the bluespace anomaly.
-    type: Fix
-  id: 7130
-  time: '2024-08-17T04:58:23.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30744
 - author: EmoGarbage404
   changes:
   - message: You can no longer see wreck names in the salvage magnet UI.
@@ -3923,3 +3915,10 @@
   id: 7629
   time: '2024-11-20T01:59:31.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33376
+- author: thetolbean
+  changes:
+  - message: Items with a damage of 0 now have correct damage examination text.
+    type: Fix
+  id: 7630
+  time: '2024-11-20T02:05:15.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33064

From 44db676b24c8781e3290d499c7233125d7789cf6 Mon Sep 17 00:00:00 2001
From: Saphire <lattice@saphi.re>
Date: Wed, 20 Nov 2024 09:32:50 +0600
Subject: [PATCH 167/187] Actually make the emagging popup work properly

---
 .../Singularity/Systems/EventHorizonSystem.cs        |  2 +-
 .../Systems/SingularityGeneratorSystem.cs            | 12 ++++++++++++
 .../Singularity/Systems/SingularitySystem.cs         |  2 +-
 Content.Shared/Emag/Systems/EmagSystem.cs            |  7 +++++++
 .../Components/SingularityGeneratorComponent.cs      |  3 ++-
 .../SharedSingularityGeneratorSystem.cs              |  1 -
 6 files changed, 23 insertions(+), 4 deletions(-)
 create mode 100644 Content.Client/Singularity/Systems/SingularityGeneratorSystem.cs

diff --git a/Content.Client/Singularity/Systems/EventHorizonSystem.cs b/Content.Client/Singularity/Systems/EventHorizonSystem.cs
index 3dd63a0c9c8..606116fced4 100644
--- a/Content.Client/Singularity/Systems/EventHorizonSystem.cs
+++ b/Content.Client/Singularity/Systems/EventHorizonSystem.cs
@@ -1,7 +1,7 @@
 using Content.Shared.Singularity.EntitySystems;
 using Content.Shared.Singularity.Components;
 
-namespace Content.Client.Singularity.EntitySystems;
+namespace Content.Client.Singularity.Systems;
 
 /// <summary>
 /// The client-side version of <see cref="SharedEventHorizonSystem"/>.
diff --git a/Content.Client/Singularity/Systems/SingularityGeneratorSystem.cs b/Content.Client/Singularity/Systems/SingularityGeneratorSystem.cs
new file mode 100644
index 00000000000..f5b85f8b3cf
--- /dev/null
+++ b/Content.Client/Singularity/Systems/SingularityGeneratorSystem.cs
@@ -0,0 +1,12 @@
+using Content.Shared.Singularity.EntitySystems;
+using Content.Shared.Singularity.Components;
+
+namespace Content.Client.Singularity.Systems;
+
+/// <summary>
+/// The client-side version of <see cref="SharedSingularityGeneratorSystem"/>.
+/// Manages <see cref="SingularityGeneratorComponent"/>s.
+/// Exists to make relevant signal handlers (ie: <see cref="SharedSingularityGeneratorSystem.OnEmagged"/>) work on the client.
+/// </summary>
+public sealed class SingularityGeneratorSystem : SharedSingularityGeneratorSystem
+{}
diff --git a/Content.Client/Singularity/Systems/SingularitySystem.cs b/Content.Client/Singularity/Systems/SingularitySystem.cs
index 5293ad499d0..50a12466be1 100644
--- a/Content.Client/Singularity/Systems/SingularitySystem.cs
+++ b/Content.Client/Singularity/Systems/SingularitySystem.cs
@@ -5,7 +5,7 @@
 using Robust.Shared.GameStates;
 using Robust.Shared.Utility;
 
-namespace Content.Client.Singularity.EntitySystems;
+namespace Content.Client.Singularity.Systems;
 
 /// <summary>
 /// The client-side version of <see cref="SharedSingularitySystem"/>.
diff --git a/Content.Shared/Emag/Systems/EmagSystem.cs b/Content.Shared/Emag/Systems/EmagSystem.cs
index 4d3bbcbb8e9..3a556b47063 100644
--- a/Content.Shared/Emag/Systems/EmagSystem.cs
+++ b/Content.Shared/Emag/Systems/EmagSystem.cs
@@ -96,6 +96,13 @@ public bool DoEmagEffect(EntityUid user, EntityUid target)
     }
 }
 
+/// <summary>
+/// Shows a popup to emag user (client side only!) and adds <see cref="EmaggedComponent"/> to the entity when handled
+/// </summary>
+/// <param name="UserUid">Emag user</param>
+/// <param name="Handled">Did the emagging succeed? Causes a user-only popup to show on client side</param>
+/// <param name="Repeatable">Can the entity be emagged more than once? Prevents adding of <see cref="EmaggedComponent"/></param>
+/// <remarks>Needs to be handled in shared/client, not just the server, to actually show the emagging popup</remarks>
 [ByRefEvent]
 public record struct GotEmaggedEvent(EntityUid UserUid, bool Handled = false, bool Repeatable = false);
 
diff --git a/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs b/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs
index 3643ed31a6f..715584b5bc6 100644
--- a/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs
+++ b/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs
@@ -3,10 +3,11 @@
 
 using Content.Shared.Physics;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
+using Robust.Shared.GameStates;
 
 namespace Content.Shared.Singularity.Components;
 
-[RegisterComponent, AutoGenerateComponentPause, AutoGenerateComponentState]
+[RegisterComponent, AutoGenerateComponentPause, NetworkedComponent, AutoGenerateComponentState]
 public sealed partial class SingularityGeneratorComponent : Component
 {
     /// <summary>
diff --git a/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs b/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs
index 8830cb0624c..ee6dc89bb84 100644
--- a/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs
+++ b/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs
@@ -22,7 +22,6 @@ public override void Initialize()
 
     private void OnEmagged(EntityUid uid, SingularityGeneratorComponent component, ref GotEmaggedEvent args)
     {
-        PopupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe-disabled", ("target", uid)), uid);
         component.FailsafeDisabled = true;
         args.Handled = true;
     }

From b8b33b97af4920aef77ed055096f5fb81096dc3d Mon Sep 17 00:00:00 2001
From: DrSmugleaf <drsmugleaf@gmail.com>
Date: Tue, 19 Nov 2024 21:15:15 -0800
Subject: [PATCH 168/187] Move PlayerBeforeSpawnEvent and
 PlayerSpawnCompleteEvent to Shared

---
 .../GameTicking/GameTicker.Spawning.cs        | 69 +------------------
 .../GameTicking/PlayerBeforeSpawnEvent.cs     | 33 +++++++++
 .../GameTicking/PlayerSpawnCompleteEvent.cs   | 44 ++++++++++++
 3 files changed, 78 insertions(+), 68 deletions(-)
 create mode 100644 Content.Shared/GameTicking/PlayerBeforeSpawnEvent.cs
 create mode 100644 Content.Shared/GameTicking/PlayerSpawnCompleteEvent.cs

diff --git a/Content.Server/GameTicking/GameTicker.Spawning.cs b/Content.Server/GameTicking/GameTicker.Spawning.cs
index 9c8b04770fd..4bda391ae27 100644
--- a/Content.Server/GameTicking/GameTicker.Spawning.cs
+++ b/Content.Server/GameTicking/GameTicker.Spawning.cs
@@ -7,12 +7,12 @@
 using Content.Server.Speech.Components;
 using Content.Server.Station.Components;
 using Content.Shared.Database;
+using Content.Shared.GameTicking;
 using Content.Shared.Mind;
 using Content.Shared.Players;
 using Content.Shared.Preferences;
 using Content.Shared.Roles;
 using Content.Shared.Roles.Jobs;
-using JetBrains.Annotations;
 using Robust.Shared.Map;
 using Robust.Shared.Map.Components;
 using Robust.Shared.Network;
@@ -455,71 +455,4 @@ public EntityCoordinates GetObserverSpawnPoint()
 
         #endregion
     }
-
-    /// <summary>
-    ///     Event raised broadcast before a player is spawned by the GameTicker.
-    ///     You can use this event to spawn a player off-station on late-join but also at round start.
-    ///     When this event is handled, the GameTicker will not perform its own player-spawning logic.
-    /// </summary>
-    [PublicAPI]
-    public sealed class PlayerBeforeSpawnEvent : HandledEntityEventArgs
-    {
-        public ICommonSession Player { get; }
-        public HumanoidCharacterProfile Profile { get; }
-        public string? JobId { get; }
-        public bool LateJoin { get; }
-        public EntityUid Station { get; }
-
-        public PlayerBeforeSpawnEvent(ICommonSession player,
-            HumanoidCharacterProfile profile,
-            string? jobId,
-            bool lateJoin,
-            EntityUid station)
-        {
-            Player = player;
-            Profile = profile;
-            JobId = jobId;
-            LateJoin = lateJoin;
-            Station = station;
-        }
-    }
-
-    /// <summary>
-    ///     Event raised both directed and broadcast when a player has been spawned by the GameTicker.
-    ///     You can use this to handle people late-joining, or to handle people being spawned at round start.
-    ///     Can be used to give random players a role, modify their equipment, etc.
-    /// </summary>
-    [PublicAPI]
-    public sealed class PlayerSpawnCompleteEvent : EntityEventArgs
-    {
-        public EntityUid Mob { get; }
-        public ICommonSession Player { get; }
-        public string? JobId { get; }
-        public bool LateJoin { get; }
-        public bool Silent { get; }
-        public EntityUid Station { get; }
-        public HumanoidCharacterProfile Profile { get; }
-
-        // Ex. If this is the 27th person to join, this will be 27.
-        public int JoinOrder { get; }
-
-        public PlayerSpawnCompleteEvent(EntityUid mob,
-            ICommonSession player,
-            string? jobId,
-            bool lateJoin,
-            bool silent,
-            int joinOrder,
-            EntityUid station,
-            HumanoidCharacterProfile profile)
-        {
-            Mob = mob;
-            Player = player;
-            JobId = jobId;
-            LateJoin = lateJoin;
-            Silent = silent;
-            Station = station;
-            Profile = profile;
-            JoinOrder = joinOrder;
-        }
-    }
 }
diff --git a/Content.Shared/GameTicking/PlayerBeforeSpawnEvent.cs b/Content.Shared/GameTicking/PlayerBeforeSpawnEvent.cs
new file mode 100644
index 00000000000..48623ecf8e0
--- /dev/null
+++ b/Content.Shared/GameTicking/PlayerBeforeSpawnEvent.cs
@@ -0,0 +1,33 @@
+using Content.Shared.Preferences;
+using JetBrains.Annotations;
+using Robust.Shared.Player;
+
+namespace Content.Shared.GameTicking;
+
+/// <summary>
+///     Event raised broadcast before a player is spawned by the GameTicker.
+///     You can use this event to spawn a player off-station on late-join but also at round start.
+///     When this event is handled, the GameTicker will not perform its own player-spawning logic.
+/// </summary>
+[PublicAPI]
+public sealed class PlayerBeforeSpawnEvent : HandledEntityEventArgs
+{
+    public ICommonSession Player { get; }
+    public HumanoidCharacterProfile Profile { get; }
+    public string? JobId { get; }
+    public bool LateJoin { get; }
+    public EntityUid Station { get; }
+
+    public PlayerBeforeSpawnEvent(ICommonSession player,
+        HumanoidCharacterProfile profile,
+        string? jobId,
+        bool lateJoin,
+        EntityUid station)
+    {
+        Player = player;
+        Profile = profile;
+        JobId = jobId;
+        LateJoin = lateJoin;
+        Station = station;
+    }
+}
diff --git a/Content.Shared/GameTicking/PlayerSpawnCompleteEvent.cs b/Content.Shared/GameTicking/PlayerSpawnCompleteEvent.cs
new file mode 100644
index 00000000000..034b76beeb0
--- /dev/null
+++ b/Content.Shared/GameTicking/PlayerSpawnCompleteEvent.cs
@@ -0,0 +1,44 @@
+using Content.Shared.Preferences;
+using JetBrains.Annotations;
+using Robust.Shared.Player;
+
+namespace Content.Shared.GameTicking;
+
+/// <summary>
+///     Event raised both directed and broadcast when a player has been spawned by the GameTicker.
+///     You can use this to handle people late-joining, or to handle people being spawned at round start.
+///     Can be used to give random players a role, modify their equipment, etc.
+/// </summary>
+[PublicAPI]
+public sealed class PlayerSpawnCompleteEvent : EntityEventArgs
+{
+    public EntityUid Mob { get; }
+    public ICommonSession Player { get; }
+    public string? JobId { get; }
+    public bool LateJoin { get; }
+    public bool Silent { get; }
+    public EntityUid Station { get; }
+    public HumanoidCharacterProfile Profile { get; }
+
+    // Ex. If this is the 27th person to join, this will be 27.
+    public int JoinOrder { get; }
+
+    public PlayerSpawnCompleteEvent(EntityUid mob,
+        ICommonSession player,
+        string? jobId,
+        bool lateJoin,
+        bool silent,
+        int joinOrder,
+        EntityUid station,
+        HumanoidCharacterProfile profile)
+    {
+        Mob = mob;
+        Player = player;
+        JobId = jobId;
+        LateJoin = lateJoin;
+        Silent = silent;
+        Station = station;
+        Profile = profile;
+        JoinOrder = joinOrder;
+    }
+}

From f5d0e955e326529cfda7fd3894c5164f6cdda1ca Mon Sep 17 00:00:00 2001
From: DrSmugleaf <drsmugleaf@gmail.com>
Date: Tue, 19 Nov 2024 21:16:49 -0800
Subject: [PATCH 169/187] Fix imports

---
 Content.Server/Bed/Cryostorage/CryostorageSystem.cs          | 4 ++--
 Content.Server/GameTicking/Rules/DeathMatchRuleSystem.cs     | 1 +
 Content.Server/Medical/SuitSensors/SuitSensorSystem.cs       | 5 +++--
 Content.Server/Shuttles/Systems/ArrivalsSystem.cs            | 2 +-
 Content.Server/Silicons/Laws/SiliconLawSystem.cs             | 5 ++---
 .../StationRecords/Systems/StationRecordsSystem.cs           | 3 +--
 Content.Server/Traits/TraitSystem.cs                         | 3 +--
 7 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/Content.Server/Bed/Cryostorage/CryostorageSystem.cs b/Content.Server/Bed/Cryostorage/CryostorageSystem.cs
index 345f51783ca..21f43c31956 100644
--- a/Content.Server/Bed/Cryostorage/CryostorageSystem.cs
+++ b/Content.Server/Bed/Cryostorage/CryostorageSystem.cs
@@ -1,6 +1,6 @@
+using System.Globalization;
 using Content.Server.Chat.Managers;
 using Content.Server.Chat.Systems;
-using Content.Server.GameTicking;
 using Content.Server.Ghost;
 using Content.Server.Hands.Systems;
 using Content.Server.Inventory;
@@ -14,6 +14,7 @@
 using Content.Shared.Chat;
 using Content.Shared.Climbing.Systems;
 using Content.Shared.Database;
+using Content.Shared.GameTicking;
 using Content.Shared.Hands.Components;
 using Content.Shared.Mind.Components;
 using Content.Shared.StationRecords;
@@ -26,7 +27,6 @@
 using Robust.Shared.Enums;
 using Robust.Shared.Network;
 using Robust.Shared.Player;
-using System.Globalization;
 
 namespace Content.Server.Bed.Cryostorage;
 
diff --git a/Content.Server/GameTicking/Rules/DeathMatchRuleSystem.cs b/Content.Server/GameTicking/Rules/DeathMatchRuleSystem.cs
index 557e44f0952..2e97a72f3b5 100644
--- a/Content.Server/GameTicking/Rules/DeathMatchRuleSystem.cs
+++ b/Content.Server/GameTicking/Rules/DeathMatchRuleSystem.cs
@@ -6,6 +6,7 @@
 using Content.Server.Points;
 using Content.Server.RoundEnd;
 using Content.Server.Station.Systems;
+using Content.Shared.GameTicking;
 using Content.Shared.GameTicking.Components;
 using Content.Shared.Points;
 using Content.Shared.Storage;
diff --git a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs
index f56b16432e1..51974d7036c 100644
--- a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs
+++ b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs
@@ -4,7 +4,6 @@
 using Content.Server.DeviceNetwork.Components;
 using Content.Server.DeviceNetwork.Systems;
 using Content.Server.Emp;
-using Content.Server.GameTicking;
 using Content.Server.Medical.CrewMonitoring;
 using Content.Server.Popups;
 using Content.Server.Station.Systems;
@@ -14,8 +13,10 @@
 using Content.Shared.DeviceNetwork;
 using Content.Shared.DoAfter;
 using Content.Shared.Examine;
+using Content.Shared.GameTicking;
 using Content.Shared.Interaction;
 using Content.Shared.Medical.SuitSensor;
+using Content.Shared.Mobs;
 using Content.Shared.Mobs.Components;
 using Content.Shared.Mobs.Systems;
 using Content.Shared.Verbs;
@@ -383,7 +384,7 @@ public void SetSensor(Entity<SuitSensorComponent> sensors, SuitSensorMode mode,
 
         // Get mob total damage crit threshold
         int? totalDamageThreshold = null;
-        if (_mobThresholdSystem.TryGetThresholdForState(sensor.User.Value, Shared.Mobs.MobState.Critical, out var critThreshold))
+        if (_mobThresholdSystem.TryGetThresholdForState(sensor.User.Value, MobState.Critical, out var critThreshold))
             totalDamageThreshold = critThreshold.Value.Int();
 
         // finally, form suit sensor status
diff --git a/Content.Server/Shuttles/Systems/ArrivalsSystem.cs b/Content.Server/Shuttles/Systems/ArrivalsSystem.cs
index 46d2cd69b91..1f972d96756 100644
--- a/Content.Server/Shuttles/Systems/ArrivalsSystem.cs
+++ b/Content.Server/Shuttles/Systems/ArrivalsSystem.cs
@@ -19,10 +19,10 @@
 using Content.Shared.CCVar;
 using Content.Shared.Damage.Components;
 using Content.Shared.DeviceNetwork;
+using Content.Shared.GameTicking;
 using Content.Shared.Mobs.Components;
 using Content.Shared.Movement.Components;
 using Content.Shared.Parallax.Biomes;
-using Content.Shared.Preferences;
 using Content.Shared.Salvage;
 using Content.Shared.Shuttles.Components;
 using Content.Shared.Tiles;
diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
index 9a361132a5c..db78cc0ac7a 100644
--- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs
+++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs
@@ -1,7 +1,6 @@
 using System.Linq;
 using Content.Server.Administration;
 using Content.Server.Chat.Managers;
-using Content.Server.GameTicking;
 using Content.Server.Radio.Components;
 using Content.Server.Roles;
 using Content.Server.Station.Systems;
@@ -9,6 +8,7 @@
 using Content.Shared.Chat;
 using Content.Shared.Emag.Components;
 using Content.Shared.Emag.Systems;
+using Content.Shared.GameTicking;
 using Content.Shared.Mind;
 using Content.Shared.Mind.Components;
 using Content.Shared.Roles;
@@ -17,12 +17,11 @@
 using Content.Shared.Stunnable;
 using Content.Shared.Wires;
 using Robust.Server.GameObjects;
+using Robust.Shared.Audio;
 using Robust.Shared.Containers;
 using Robust.Shared.Player;
 using Robust.Shared.Prototypes;
 using Robust.Shared.Toolshed;
-using Robust.Shared.Audio;
-using Robust.Shared.GameObjects;
 
 namespace Content.Server.Silicons.Laws;
 
diff --git a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs
index e941e65c415..6dbc58f4d38 100644
--- a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs
+++ b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs
@@ -1,9 +1,8 @@
 using System.Diagnostics.CodeAnalysis;
-using System.IO;
 using Content.Server.Access.Systems;
 using Content.Server.Forensics;
-using Content.Server.GameTicking;
 using Content.Shared.Access.Components;
+using Content.Shared.GameTicking;
 using Content.Shared.Inventory;
 using Content.Shared.PDA;
 using Content.Shared.Preferences;
diff --git a/Content.Server/Traits/TraitSystem.cs b/Content.Server/Traits/TraitSystem.cs
index e19f736f067..38cbc1859cb 100644
--- a/Content.Server/Traits/TraitSystem.cs
+++ b/Content.Server/Traits/TraitSystem.cs
@@ -1,11 +1,10 @@
-using Content.Server.GameTicking;
+using Content.Shared.GameTicking;
 using Content.Shared.Hands.Components;
 using Content.Shared.Hands.EntitySystems;
 using Content.Shared.Roles;
 using Content.Shared.Traits;
 using Content.Shared.Whitelist;
 using Robust.Shared.Prototypes;
-using Robust.Shared.Serialization.Manager;
 
 namespace Content.Server.Traits;
 

From a7003acd77424da8034630dbc4b13adbf8b727d7 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 05:57:05 +0000
Subject: [PATCH 170/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index a5471160244..8bdfdfc8a1e 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: EmoGarbage404
-  changes:
-  - message: You can no longer see wreck names in the salvage magnet UI.
-    type: Tweak
-  id: 7131
-  time: '2024-08-17T05:09:21.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31087
 - author: EmoGarbage404
   changes:
   - message: You can now smelt ores in intervals smaller than 30.
@@ -3922,3 +3915,11 @@
   id: 7630
   time: '2024-11-20T02:05:15.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33064
+- author: SaphireLattice
+  changes:
+  - message: The Singularity/Tesla generator now requires being surrounded by containment
+      fields to activate. This can be disabled with an Emag.
+    type: Tweak
+  id: 7631
+  time: '2024-11-20T05:55:58.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33358

From 4f3ac3ea683c1c1c13de6d413af6d99863432a08 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 07:19:45 +0000
Subject: [PATCH 171/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 8bdfdfc8a1e..62e7b185d33 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: EmoGarbage404
-  changes:
-  - message: You can now smelt ores in intervals smaller than 30.
-    type: Add
-  id: 7132
-  time: '2024-08-17T05:12:55.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31074
 - author: themias
   changes:
   - message: Added a recipe for croissants
@@ -3923,3 +3916,11 @@
   id: 7631
   time: '2024-11-20T05:55:58.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33358
+- author: TheWaffleJesus
+  changes:
+  - message: You can now craft items with stacks of capacitors without it eating it
+      all!
+    type: Fix
+  id: 7632
+  time: '2024-11-20T07:18:38.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/31966

From f9533a637a54b4a27f4c7dc4b5becbde99e169e6 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Wed, 20 Nov 2024 07:56:20 +0000
Subject: [PATCH 172/187] Automatic changelog update

---
 Resources/Changelog/Admin.yml     |  8 +++++++
 Resources/Changelog/Changelog.yml | 36 +++++++++++++++++++------------
 2 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml
index fc25d313aa7..d0f393c2655 100644
--- a/Resources/Changelog/Admin.yml
+++ b/Resources/Changelog/Admin.yml
@@ -612,5 +612,13 @@ Entries:
   id: 76
   time: '2024-11-15T03:24:27.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33262
+- author: ScarKy0, GoldenCan
+  changes:
+  - message: Players that take over emagged/ion stormed borgs now correctly get assigned
+      the antag role.
+    type: Fix
+  id: 77
+  time: '2024-11-20T07:55:12.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33311
 Name: Admin
 Order: 1
diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 62e7b185d33..dc08dbe207c 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,18 +1,4 @@
 Entries:
-- author: themias
-  changes:
-  - message: Added a recipe for croissants
-    type: Add
-  id: 7133
-  time: '2024-08-17T14:09:42.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30825
-- author: Ubaser
-  changes:
-  - message: Red crowbars no longer fit in pockets.
-    type: Fix
-  id: 7134
-  time: '2024-08-17T14:32:04.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30939
 - author: iztokbajcar
   changes:
   - message: Fixed some typos in the guidebook.
@@ -3924,3 +3910,25 @@
   id: 7632
   time: '2024-11-20T07:18:38.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/31966
+- author: ScarKy0, GoldenCan
+  changes:
+  - message: Ion stormed lawsets no longer persist between shifts.
+    type: Fix
+  - message: Cyborgs are now notified when inserted into a chassis with modified laws.
+    type: Tweak
+  id: 7633
+  time: '2024-11-20T07:55:12.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33311
+- author: ScarKy0, GoldenCan
+  changes:
+  - message: The Derelict Cyborg - a broken cyborg with altered laws due to year of
+      exposure to ion storms - can now appear as a ghost role through a new midround
+      event.
+    type: Add
+  - message: An ion storm affecting a Cyborg can no longer alter the law order of
+      the AI, cyborgs created later in the round or AI's and cyborgs in subsequent
+      rounds.
+    type: Fix
+  id: 7634
+  time: '2024-11-20T07:55:13.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/32499

From cb246f5d7d79ba8c8b7a250a063abf17f0e6d969 Mon Sep 17 00:00:00 2001
From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Date: Wed, 20 Nov 2024 19:10:05 +1100
Subject: [PATCH 173/187] Set airlock unlit layers as invisible (#32484)

Doesn't really affect anything due to appearance bulldozing this but this aligns with their actual normal states so.
---
 .../Structures/Doors/Airlocks/base_structureairlocks.yml    | 1 +
 .../Entities/Structures/Doors/Airlocks/highsec.yml          | 1 +
 .../Entities/Structures/Doors/Airlocks/shuttle.yml          | 1 +
 .../Structures/Doors/Windoors/base_structurewindoors.yml    | 6 ++++++
 4 files changed, 9 insertions(+)

diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml
index fe725b06841..fbaa570f2e0 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/base_structureairlocks.yml
@@ -20,6 +20,7 @@
     - state: closed_unlit
       shader: unshaded
       map: ["enum.DoorVisualLayers.BaseUnlit"]
+      visible: false
     - state: welded
       map: ["enum.WeldableLayers.BaseWelded"]
     - state: bolted_unlit
diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml
index e5470f27811..2338b66f873 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/highsec.yml
@@ -16,6 +16,7 @@
     - state: closed_unlit
       shader: unshaded
       map: ["enum.DoorVisualLayers.BaseUnlit"]
+      visible: false
     - state: welded
       map: ["enum.WeldableLayers.BaseWelded"]
     - state: bolted_unlit
diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
index 81653e99ff2..e6905d61cc1 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/shuttle.yml
@@ -37,6 +37,7 @@
     - state: closed_unlit
       shader: unshaded
       map: ["enum.DoorVisualLayers.BaseUnlit"]
+      visible: false
     - state: welded
       map: ["enum.WeldableLayers.BaseWelded"]
     - state: bolted_unlit
diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml
index 800affffbb8..c011d6424cc 100644
--- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml
+++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml
@@ -32,6 +32,7 @@
     - state: closed_unlit
       shader: unshaded
       map: ["enum.DoorVisualLayers.BaseUnlit"]
+      visible: false
     - state: welded
       map: ["enum.WeldableLayers.BaseWelded"]
     - state: bolted_unlit
@@ -164,6 +165,7 @@
     - state: closed_unlit
       shader: unshaded
       map: [ "enum.DoorVisualLayers.BaseUnlit" ]
+      visible: false
     - state: welded
       map: [ "enum.WeldableLayers.BaseWelded" ]
     - state: bolted_unlit
@@ -224,6 +226,7 @@
     - state: closed_unlit
       shader: unshaded
       map: [ "enum.DoorVisualLayers.BaseUnlit" ]
+      visible: false
     - state: welded
       map: [ "enum.WeldableLayers.BaseWelded" ]
     - state: bolted_unlit
@@ -279,6 +282,7 @@
     - state: closed_unlit
       shader: unshaded
       map: [ "enum.DoorVisualLayers.BaseUnlit" ]
+      visible: false
     - state: welded
       map: [ "enum.WeldableLayers.BaseWelded" ]
     - state: bolted_unlit
@@ -339,6 +343,7 @@
     - state: closed_unlit
       shader: unshaded
       map: [ "enum.DoorVisualLayers.BaseUnlit" ]
+      visible: false
     - state: welded
       map: [ "enum.WeldableLayers.BaseWelded" ]
     - state: bolted_unlit
@@ -394,6 +399,7 @@
     - state: closed_unlit
       shader: unshaded
       map: [ "enum.DoorVisualLayers.BaseUnlit" ]
+      visible: false
     - state: welded
       map: [ "enum.WeldableLayers.BaseWelded" ]
     - state: bolted_unlit

From 5c0a32b8b84367a5f14351abda4829e607a977ca Mon Sep 17 00:00:00 2001
From: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Date: Thu, 21 Nov 2024 00:07:12 +0100
Subject: [PATCH 174/187] Update to Robust v237.2.0

---
 RobustToolbox | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/RobustToolbox b/RobustToolbox
index 32bca7cfd41..92b0e7f1a85 160000
--- a/RobustToolbox
+++ b/RobustToolbox
@@ -1 +1 @@
-Subproject commit 32bca7cfd417edcad9a60c2b1703eba8675f56af
+Subproject commit 92b0e7f1a853979a1361ed24d2fb5ffc11f43f66

From 0f0b141f218008b41d95945355720f9fcb082622 Mon Sep 17 00:00:00 2001
From: ThatGuyUSA <thatguyusa123@gmail.com>
Date: Thu, 21 Nov 2024 05:22:57 -0800
Subject: [PATCH 175/187] Syndicate item fix ups (#33435)

tweaks and fixes
---
 Resources/Locale/en-US/contraband/contraband-severity.ftl   | 2 +-
 Resources/Locale/en-US/store/uplink-catalog.ftl             | 6 +++---
 Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml  | 2 +-
 Resources/Prototypes/Entities/Mobs/Player/silicon.yml       | 2 +-
 Resources/Prototypes/Entities/Objects/Fun/darts.yml         | 2 +-
 .../Entities/Objects/Specific/Medical/hypospray.yml         | 2 +-
 .../Entities/Objects/Specific/Robotics/borg_modules.yml     | 6 +++---
 .../Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml  | 2 +-
 8 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/Resources/Locale/en-US/contraband/contraband-severity.ftl b/Resources/Locale/en-US/contraband/contraband-severity.ftl
index 37d83c4575a..303cb7c1d51 100644
--- a/Resources/Locale/en-US/contraband/contraband-severity.ftl
+++ b/Resources/Locale/en-US/contraband/contraband-severity.ftl
@@ -1,4 +1,4 @@
-contraband-examine-text-Minor = [color=yellow]This item is considered minor contraband.[/color]
+contraband-examine-text-Minor = [color=yellow]This item is considered minor contraband.[/color]
 contraband-examine-text-Restricted = [color=yellow]This item is departmentally restricted.[/color]
 contraband-examine-text-Restricted-department = [color=yellow]This item is restricted to {$departments}, and may be considered contraband.[/color]
 contraband-examine-text-Major = [color=red]This item is considered major contraband.[/color]
diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl
index a78f39d5696..82c80dab1f4 100644
--- a/Resources/Locale/en-US/store/uplink-catalog.ftl
+++ b/Resources/Locale/en-US/store/uplink-catalog.ftl
@@ -28,7 +28,7 @@ uplink-gloves-north-star-desc = A pair of gloves that reduce your punching coold
 
 # Explosives
 uplink-explosive-grenade-name = Explosive Grenade
-uplink-explosive-grenade-desc = A simplistic grenade with a three-and-a-half-second long fuse that is geared towards injuring personnel. Causes minimal hull damage.
+uplink-explosive-grenade-desc = A simplistic grenade with a 3.5 second long fuse that is geared towards injuring personnel. Causes minimal hull damage.
 
 uplink-flash-grenade-name = Flashbang
 uplink-flash-grenade-desc = A standard-issue flashbang, capable of blinding and slowing down anyone without proper protection. This, of course, includes you; make sure you're properly equipped before using it.
@@ -37,7 +37,7 @@ uplink-smoke-grenade-name = Smoke Grenade
 uplink-smoke-grenade-desc = A grenade that releases a huge cloud of smoke, perfect for killing someone in the shadows or making a sneaky getaway.
 
 uplink-mini-bomb-name = Minibomb
-uplink-mini-bomb-desc = A low-yield, high-impact precision sabotage explosive with a five-second long fuse. Perfect for quickly destroying a machine, dead body, or whatever else needs to go.
+uplink-mini-bomb-desc = A low-yield, high-impact precision sabotage explosive with a 5 second long fuse. Perfect for quickly destroying a machine, dead body, or whatever else needs to go.
 
 uplink-supermatter-grenade-name = Supermatter Grenade
 uplink-supermatter-grenade-desc = Grenade that simulates delamination of a suppermatter engine, generates powerful gravity well. Explosion comparable to a Mini Bomb.
@@ -405,7 +405,7 @@ uplink-outlaw-glasses-name = Outlaw Glasses
 uplink-outlaw-glasses-desc = A must for every self-respecting undercover agent.
 
 uplink-costume-pyjama-name = Syndicate Pyjama Duffel Bag
-uplink-costume-pyjama-desc = Contains 3 pairs of syndicate pyjamas and 3 plushies for the ultimate sleepover.
+uplink-costume-pyjama-desc = Contains 3 pairs of syndicate pyjamas and 4 plushies for the ultimate sleepover.
 
 uplink-costume-clown-name = Clown Costume Duffel Bag
 uplink-costume-clown-desc = Contains a complete Clown outfit. Includes PDA and service radio.
diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml
index 75b3a290659..bc4b6411d1f 100644
--- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml
+++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml
@@ -159,7 +159,7 @@
   parent: ClothingBackpackDuffelSyndicateBundle
   id: ClothingBackpackDuffelSyndicatePyjamaBundle
   name: syndicate pyjama duffel bag
-  description: Contains 3 pairs of syndicate pyjamas and 3 plushies for the ultimate sleepover.
+  description: Contains 3 pairs of syndicate pyjamas and 4 plushies for the ultimate sleepover.
   components:
   - type: Storage
     grid:
diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
index bcac46ed842..611f73a3dd6 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml
@@ -251,7 +251,7 @@
 
 - type: entity
   id: AntimovCircuitBoard
-  parent: BaseElectronics
+  parent: [BaseElectronics, BaseSyndicateContraband]
   name: law board (Antimov)
   description: An electronics board containing the Antimov lawset.
   components:
diff --git a/Resources/Prototypes/Entities/Objects/Fun/darts.yml b/Resources/Prototypes/Entities/Objects/Fun/darts.yml
index a127930feaf..4230a361084 100644
--- a/Resources/Prototypes/Entities/Objects/Fun/darts.yml
+++ b/Resources/Prototypes/Entities/Objects/Fun/darts.yml
@@ -195,7 +195,7 @@
   id: HypoDartBox
   name: hypodart box
   suffix: HypoDart
-  description: A small box containing an hypodart. Packaging disintegrates when opened, leaving no evidence behind.
+  description: A small box containing a hypodart. Packaging disintegrates when opened, leaving no evidence behind.
   components:
   - type: Sprite
     sprite: Objects/Fun/Darts/dartbox.rsi
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
index 93eeef2073c..067d40bbfff 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
@@ -448,7 +448,7 @@
   name: hyperzine microinjector
   parent: [ChemicalMedipen, BaseSyndicateContraband]
   id: StimpackMini
-  description: A microinjector of hyperzine that give you about fifteen seconds of the chemical's effects.
+  description: A microinjector of hyperzine that give you about 15 seconds of the chemical's effects.
   components:
   - type: Sprite
     sprite: Objects/Specific/Medical/medipen.rsi
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
index 0ac1171c5d7..5cc3adef900 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
@@ -568,7 +568,7 @@
 
 - type: entity
   id: BorgModuleOperative
-  parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule ]
+  parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule, BaseSyndicateContraband ]
   name: operative cyborg module
   description: A module that comes with a crowbar, an Emag and a syndicate pinpointer.
   components:
@@ -586,7 +586,7 @@
 
 - type: entity
   id: BorgModuleEsword
-  parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule ]
+  parent: [ BaseBorgModuleSyndicate, BaseProviderBorgModule, BaseSyndicateContraband ]
   name: energy sword cyborg module
   description: A module that comes with a double energy sword.
   components:
@@ -603,7 +603,7 @@
 
 - type: entity
   id: BorgModuleL6C
-  parent: [ BaseBorgModuleSyndicateAssault, BaseProviderBorgModule ]
+  parent: [ BaseBorgModuleSyndicateAssault, BaseProviderBorgModule, BaseSyndicateContraband ]
   name: L6C ROW cyborg module
   description: A module that comes with a L6C.
   components:
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
index 5140a358e10..d23e34a1ecb 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
@@ -82,7 +82,7 @@
   - type: Appearance
 
 - type: entity
-  name: C-20r sub machine gun
+  name: C-20r submachine gun
   parent: [BaseWeaponSubMachineGun, BaseSyndicateContraband]
   id: WeaponSubMachineGunC20r
   description: A firearm that is often used by the infamous nuclear operatives. Uses .35 auto ammo.

From f5930bb5662362233d88f6e01733a25551aeab1a Mon Sep 17 00:00:00 2001
From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Date: Thu, 21 Nov 2024 09:20:11 -0500
Subject: [PATCH 176/187] Coal presents and chrimmas tree options. Presents no
 longer itemify (#33147)

* Dont ensure ItemComp because it could lead to weirds, and also PickupOrDrop handles non-items already.

* presents and tree

* woops

* reviews a
---
 .../Holiday/Christmas/RandomGiftSystem.cs     |  1 -
 .../Entities/Objects/Decoration/flora.yml     | 25 ++++++++++++++++---
 .../Entities/Objects/Decoration/present.yml   | 15 ++++++++---
 .../Entities/Objects/Materials/ore.yml        | 24 ++++++++++++++++++
 Resources/migration.yml                       |  2 ++
 5 files changed, 59 insertions(+), 8 deletions(-)

diff --git a/Content.Server/Holiday/Christmas/RandomGiftSystem.cs b/Content.Server/Holiday/Christmas/RandomGiftSystem.cs
index 4603f45ed81..0816c2c36ce 100644
--- a/Content.Server/Holiday/Christmas/RandomGiftSystem.cs
+++ b/Content.Server/Holiday/Christmas/RandomGiftSystem.cs
@@ -60,7 +60,6 @@ private void OnUseInHand(EntityUid uid, RandomGiftComponent component, UseInHand
         var coords = Transform(args.User).Coordinates;
         var handsEnt = Spawn(component.SelectedEntity, coords);
         _adminLogger.Add(LogType.EntitySpawn, LogImpact.Low, $"{ToPrettyString(args.User)} used {ToPrettyString(uid)} which spawned {ToPrettyString(handsEnt)}");
-        EnsureComp<ItemComponent>(handsEnt); // For insane mode.
         if (component.Wrapper is not null)
             Spawn(component.Wrapper, coords);
 
diff --git a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml
index 25ff782108a..31bc24cca63 100644
--- a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml
+++ b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml
@@ -463,7 +463,7 @@
 - type: entity
   parent: BaseTreeConifer
   id: FloraTreeChristmas02
-  suffix: PresentsGiver
+  suffix: Safe Presents
   name: christmas tree
   components:
   - type: Sprite
@@ -481,16 +481,33 @@
     spawnEntries:
       - id: PresentRandom
         orGroup: present
-      - id: PresentRandomCash
-        prob: 0.20
+      - id: PresentRandomCash # buy your own.
+        prob: 0.1
         orGroup: present
-      - id: PresentRandomAsh
+      - id: PresentRandomCoal # naughty
         prob: 0.05
         orGroup: present
     receivedPopup: christmas-tree-got-gift
     deniedPopup: christmas-tree-no-gift
     requiredHoliday: FestiveSeason
 
+- type: entity
+  parent: FloraTreeChristmas02
+  id: FloraTreeChristmas03
+  suffix: Insane Presents
+  name: christmas tree
+  components:
+  - type: LimitedItemGiver
+    spawnEntries:
+      - id: PresentRandom
+        orGroup: present
+      - id: PresentRandomUnsafe
+        prob: 0.5
+        orGroup: present
+      - id: PresentRandomInsane
+        prob: 0.2
+        orGroup: present
+
 - type: entity
   parent: BaseTreeConifer
   id: FloraTreeStumpConifer
diff --git a/Resources/Prototypes/Entities/Objects/Decoration/present.yml b/Resources/Prototypes/Entities/Objects/Decoration/present.yml
index 861caddd064..e9ddd3b517d 100644
--- a/Resources/Prototypes/Entities/Objects/Decoration/present.yml
+++ b/Resources/Prototypes/Entities/Objects/Decoration/present.yml
@@ -374,14 +374,23 @@
       path: /Audio/Effects/unwrap.ogg
 
 - type: entity
-  id: PresentRandomAsh
+  id: PresentRandomCoal
   parent: [PresentBase, BaseItem]
-  suffix: Filled Ash
+  suffix: Filled Coal
   components:
   - type: SpawnItemsOnUse
     items:
       - id: PresentTrash
-      - id: Ash # No coal yet!
+      - id: Coal1
+        orGroup: GiftPool
+      - id: Coal5
+        prob: .4
+        orGroup: GiftPool
+      - id: Coal10
+        prob: .2
+        orGroup: GiftPool
+      - id: Coal15
+        prob: .1
         orGroup: GiftPool
     sound:
       path: /Audio/Effects/unwrap.ogg
diff --git a/Resources/Prototypes/Entities/Objects/Materials/ore.yml b/Resources/Prototypes/Entities/Objects/Materials/ore.yml
index a5cd959c47a..fd46fb40be2 100644
--- a/Resources/Prototypes/Entities/Objects/Materials/ore.yml
+++ b/Resources/Prototypes/Entities/Objects/Materials/ore.yml
@@ -333,6 +333,30 @@
   - type: Stack
     count: 1
 
+- type: entity
+  parent: Coal
+  id: Coal5
+  suffix: Five
+  components:
+  - type: Stack
+    count: 5
+
+- type: entity
+  parent: Coal
+  id: Coal10
+  suffix: Ten
+  components:
+  - type: Stack
+    count: 10
+
+- type: entity
+  parent: Coal
+  id: Coal15
+  suffix: Fifteen
+  components:
+  - type: Stack
+    count: 15
+
 - type: entity
   parent: OreBase
   id: SaltOre
diff --git a/Resources/migration.yml b/Resources/migration.yml
index a09986ebd86..ab3193e4c92 100644
--- a/Resources/migration.yml
+++ b/Resources/migration.yml
@@ -476,5 +476,7 @@ RightLegBorgJanitor: RightLegBorg
 HeadBorgJanitor: LightHeadBorg
 TorsoBorgJanitor: TorsoBorg
 
+# 2024-11-17
+PresentRandomAsh: PresentRandomCoal
 # 2024-11-19
 CrateCrewMonitoringBoards: CrateCrewMonitoring

From 11ee2f9a3724b5d7a6a92015c9996d3007640b11 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Thu, 21 Nov 2024 14:21:21 +0000
Subject: [PATCH 177/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index dc08dbe207c..37b488b0fa2 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: iztokbajcar
-  changes:
-  - message: Fixed some typos in the guidebook.
-    type: Fix
-  id: 7135
-  time: '2024-08-18T15:31:48.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/31159
 - author: Unkn0wnGh0st333
   changes:
   - message: changed human male coughing
@@ -3932,3 +3925,10 @@
   id: 7634
   time: '2024-11-20T07:55:13.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/32499
+- author: IProduceWidgets
+  changes:
+  - message: Presents no longer make non-items into items
+    type: Tweak
+  id: 7635
+  time: '2024-11-21T14:20:11.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33147

From 4f703ae9ceca7f9f4f1a5cca845b0ae1e18e6305 Mon Sep 17 00:00:00 2001
From: Vasilis <vasilis@pikachu.systems>
Date: Thu, 21 Nov 2024 16:51:18 +0000
Subject: [PATCH 178/187] Fix approval labeler (#33440)

* Fix approval labeler

* Update labeler-review.yml

* Update labeler-review.yml
---
 .github/workflows/labeler-review.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/labeler-review.yml b/.github/workflows/labeler-review.yml
index 79be86a005a..a0341e42a18 100644
--- a/.github/workflows/labeler-review.yml
+++ b/.github/workflows/labeler-review.yml
@@ -15,9 +15,9 @@ jobs:
       id: checkUserMember
       with:
         username: ${{ github.actor }}
-        team: "content-maintainers,junior-maintainers" # CHANGE TEAM NAME HERE PLEASE <------
-        GITHUB_TOKEN: ${{ secrets.PAT }}
+        team: "content-maintainers,junior-maintainers"
+        GITHUB_TOKEN: ${{ secrets.GH_PAT }}
     - if: ${{ steps.checkUserMember.outputs.isTeamMember == 'true' }}
       uses: actions-ecosystem/action-add-labels@v1
       with:
-        labels: "PR: Approved"
\ No newline at end of file
+        labels: "S: Approved"

From 5a751a820a980c92369ab8d256bb2e1dedb94e64 Mon Sep 17 00:00:00 2001
From: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Date: Thu, 21 Nov 2024 18:56:05 -0800
Subject: [PATCH 179/187] Fix admin ghosts not being able to see items in
 pockets or interact with them (#31076)

* Fix admin ghosts not being able to see items in pouches or interact with them

* fix

* oops

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 .../Inventory/StrippableBoundUserInterface.cs      |  9 ++++++++-
 .../Interaction/SharedInteractionSystem.cs         |  4 +++-
 Content.Shared/Inventory/InventorySystem.Equip.cs  |  2 ++
 Content.Shared/Inventory/InventorySystem.Relay.cs  |  2 +-
 .../Inventory/InventoryTemplatePrototype.cs        |  5 +++++
 Content.Shared/Strip/SharedStrippableSystem.cs     | 14 +++++++++++++-
 6 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/Content.Client/Inventory/StrippableBoundUserInterface.cs b/Content.Client/Inventory/StrippableBoundUserInterface.cs
index 2ce07758c96..af7815935dd 100644
--- a/Content.Client/Inventory/StrippableBoundUserInterface.cs
+++ b/Content.Client/Inventory/StrippableBoundUserInterface.cs
@@ -17,6 +17,7 @@
 using Content.Shared.Strip.Components;
 using JetBrains.Annotations;
 using Robust.Client.GameObjects;
+using Robust.Client.Player;
 using Robust.Client.UserInterface;
 using Robust.Client.UserInterface.Controls;
 using Robust.Shared.Input;
@@ -29,10 +30,13 @@ namespace Content.Client.Inventory
     [UsedImplicitly]
     public sealed class StrippableBoundUserInterface : BoundUserInterface
     {
+        [Dependency] private readonly IPlayerManager _player = default!;
         [Dependency] private readonly IUserInterfaceManager _ui = default!;
+
         private readonly ExamineSystem _examine;
         private readonly InventorySystem _inv;
         private readonly SharedCuffableSystem _cuffable;
+        private readonly StrippableSystem _strippable;
 
         [ViewVariables]
         private const int ButtonSeparation = 4;
@@ -51,6 +55,8 @@ public StrippableBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, u
             _examine = EntMan.System<ExamineSystem>();
             _inv = EntMan.System<InventorySystem>();
             _cuffable = EntMan.System<SharedCuffableSystem>();
+            _strippable = EntMan.System<StrippableSystem>();
+
             _virtualHiddenEntity = EntMan.SpawnEntity(HiddenPocketEntityId, MapCoordinates.Nullspace);
         }
 
@@ -198,7 +204,8 @@ private void AddInventoryButton(EntityUid invUid, string slotId, InventoryCompon
             var entity = container.ContainedEntity;
 
             // If this is a full pocket, obscure the real entity
-            if (entity != null && slotDef.StripHidden)
+            // this does not work for modified clients because they are still sent the real entity
+            if (entity != null && _strippable.IsStripHidden(slotDef, _player.LocalEntity))
                 entity = _virtualHiddenEntity;
 
             var button = new SlotButton(new SlotData(slotDef, container));
diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs
index 7f2ecb50f88..2926e1d1b38 100644
--- a/Content.Shared/Interaction/SharedInteractionSystem.cs
+++ b/Content.Shared/Interaction/SharedInteractionSystem.cs
@@ -21,6 +21,7 @@
 using Content.Shared.Players.RateLimiting;
 using Content.Shared.Popups;
 using Content.Shared.Storage;
+using Content.Shared.Strip;
 using Content.Shared.Tag;
 using Content.Shared.Timing;
 using Content.Shared.UserInterface;
@@ -67,6 +68,7 @@ public abstract partial class SharedInteractionSystem : EntitySystem
         [Dependency] private readonly IRobustRandom _random = default!;
         [Dependency] private readonly TagSystem _tagSystem = default!;
         [Dependency] private readonly SharedUserInterfaceSystem _ui = default!;
+        [Dependency] private readonly SharedStrippableSystem _strippable = default!;
         [Dependency] private readonly SharedPlayerRateLimitManager _rateLimit = default!;
         [Dependency] private readonly IConfigurationManager _cfg = default!;
         [Dependency] private readonly ISharedChatManager _chat = default!;
@@ -1321,7 +1323,7 @@ public bool CanAccessEquipment(EntityUid user, EntityUid target)
             if (wearer == user)
                 return true;
 
-            if (slotDef.StripHidden)
+            if (_strippable.IsStripHidden(slotDef, user))
                 return false;
 
             return InRangeUnobstructed(user, wearer) && _containerSystem.IsInSameOrParentContainer(user, wearer);
diff --git a/Content.Shared/Inventory/InventorySystem.Equip.cs b/Content.Shared/Inventory/InventorySystem.Equip.cs
index f089dfaf238..8158b8c2f62 100644
--- a/Content.Shared/Inventory/InventorySystem.Equip.cs
+++ b/Content.Shared/Inventory/InventorySystem.Equip.cs
@@ -10,6 +10,7 @@
 using Content.Shared.Item;
 using Content.Shared.Movement.Systems;
 using Content.Shared.Popups;
+using Content.Shared.Strip;
 using Content.Shared.Strip.Components;
 using Content.Shared.Whitelist;
 using Robust.Shared.Audio.Systems;
@@ -32,6 +33,7 @@ public abstract partial class InventorySystem
     [Dependency] private readonly IGameTiming _gameTiming = default!;
     [Dependency] private readonly SharedTransformSystem _transform = default!;
     [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!;
+    [Dependency] private readonly SharedStrippableSystem _strippable = default!;
 
     [ValidatePrototypeId<ItemSizePrototype>]
     private const string PocketableItemSize = "Small";
diff --git a/Content.Shared/Inventory/InventorySystem.Relay.cs b/Content.Shared/Inventory/InventorySystem.Relay.cs
index 9573f9b43d9..d431195a816 100644
--- a/Content.Shared/Inventory/InventorySystem.Relay.cs
+++ b/Content.Shared/Inventory/InventorySystem.Relay.cs
@@ -114,7 +114,7 @@ private void OnGetEquipmentVerbs(EntityUid uid, InventoryComponent component, Ge
         var enumerator = new InventorySlotEnumerator(component);
         while (enumerator.NextItem(out var item, out var slotDef))
         {
-            if (!slotDef.StripHidden || args.User == uid)
+            if (!_strippable.IsStripHidden(slotDef, args.User) || args.User == uid)
                 RaiseLocalEvent(item, ev);
         }
     }
diff --git a/Content.Shared/Inventory/InventoryTemplatePrototype.cs b/Content.Shared/Inventory/InventoryTemplatePrototype.cs
index a4d77767e37..91accec8c93 100644
--- a/Content.Shared/Inventory/InventoryTemplatePrototype.cs
+++ b/Content.Shared/Inventory/InventoryTemplatePrototype.cs
@@ -1,4 +1,5 @@
 using System.Numerics;
+using Content.Shared.Strip;
 using Content.Shared.Whitelist;
 using Robust.Shared.Prototypes;
 
@@ -39,6 +40,10 @@ public sealed partial class SlotDefinition
     [DataField("displayName", required: true)]
     public string DisplayName { get; private set; } = string.Empty;
 
+    /// <summary>
+    ///     Whether or not this slot will have its item hidden in the strip menu, and block interactions.
+    ///     <seealso cref="SharedStrippableSystem.IsStripHidden"/>
+    /// </summary>
     [DataField("stripHidden")] public bool StripHidden { get; private set; }
 
     /// <summary>
diff --git a/Content.Shared/Strip/SharedStrippableSystem.cs b/Content.Shared/Strip/SharedStrippableSystem.cs
index 7afe503275a..e4b31debc66 100644
--- a/Content.Shared/Strip/SharedStrippableSystem.cs
+++ b/Content.Shared/Strip/SharedStrippableSystem.cs
@@ -10,6 +10,7 @@
 using Content.Shared.Hands.EntitySystems;
 using Content.Shared.IdentityManagement;
 using Content.Shared.Interaction;
+using Content.Shared.Interaction.Components;
 using Content.Shared.Interaction.Events;
 using Content.Shared.Inventory;
 using Content.Shared.Inventory.VirtualItem;
@@ -294,7 +295,7 @@ private void StartStripRemoveInventory(
 
         if (!stealth)
         {
-            if (slotDef.StripHidden)
+            if (IsStripHidden(slotDef, user))
                 _popupSystem.PopupEntity(Loc.GetString("strippable-component-alert-owner-hidden", ("slot", slot)), target, target, PopupType.Large);
             else
                 _popupSystem.PopupEntity(Loc.GetString("strippable-component-alert-owner", ("user", Identity.Entity(user, EntityManager)), ("item", item)), target, target, PopupType.Large);
@@ -660,4 +661,15 @@ private void OnCanDrop(EntityUid uid, StrippableComponent component, ref CanDrop
         if (args.CanDrop)
             args.Handled = true;
     }
+
+    public bool IsStripHidden(SlotDefinition definition, EntityUid? viewer)
+    {
+        if (!definition.StripHidden)
+            return false;
+
+        if (viewer == null)
+            return true;
+
+        return !HasComp<BypassInteractionChecksComponent>(viewer);
+    }
 }

From 38c70d6c9bb5e4e4b44a3bcc880886c01c1056d3 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 22 Nov 2024 02:57:12 +0000
Subject: [PATCH 180/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 37b488b0fa2..6bc25079ce7 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: Unkn0wnGh0st333
-  changes:
-  - message: changed human male coughing
-    type: Tweak
-  id: 7136
-  time: '2024-08-18T16:00:42.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30893
 - author: EmoGarbage404
   changes:
   - message: Legends tell of horrifying Goliaths that roam the mining asteroid.
@@ -3932,3 +3925,11 @@
   id: 7635
   time: '2024-11-21T14:20:11.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/33147
+- author: DrSmugleaf
+  changes:
+  - message: Fixed admin ghosts not being able to see or interact with items in pouches
+      in the stripping menu.
+    type: Fix
+  id: 7636
+  time: '2024-11-22T02:56:05.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/31076

From 403528cbf344531fedd3b5038f6463ba12eea41a Mon Sep 17 00:00:00 2001
From: chromiumboy <50505512+chromiumboy@users.noreply.github.com>
Date: Thu, 21 Nov 2024 21:46:10 -0600
Subject: [PATCH 181/187] Gas pipe sensors (#33128)

* Initial commit

* Monitored pipe node is now referenced by name

* Review changes

* Simplified construction

* Tweaked deconstruction to match other binary atmos devices

* Helper function removal

* Updated attribution
---
 .../Components/AtmosMonitorComponent.cs       |  19 +++-
 .../Monitor/Systems/AtmosMonitoringSystem.cs  |  17 +++-
 .../Locale/en-US/atmos/gas-pipe-sensor.ftl    |   5 ++
 .../Piping/Atmospherics/gas_pipe_sensor.yml   |  84 ++++++++++++++++++
 .../Graphs/utilities/gas_pipe_sensor.yml      |  29 ++++++
 .../Recipes/Construction/utilities.yml        |  15 ++++
 .../Atmospherics/gas_pipe_sensor.rsi/base.png | Bin 0 -> 248 bytes
 .../gas_pipe_sensor.rsi/blank.png             | Bin 0 -> 83 bytes
 .../Atmospherics/gas_pipe_sensor.rsi/icon.png | Bin 0 -> 523 bytes
 .../gas_pipe_sensor.rsi/lights.png            | Bin 0 -> 183 bytes
 .../gas_pipe_sensor.rsi/meta.json             |  29 ++++++
 11 files changed, 196 insertions(+), 2 deletions(-)
 create mode 100644 Resources/Locale/en-US/atmos/gas-pipe-sensor.ftl
 create mode 100644 Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml
 create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/utilities/gas_pipe_sensor.yml
 create mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/base.png
 create mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/blank.png
 create mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/icon.png
 create mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/lights.png
 create mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/meta.json

diff --git a/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs b/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs
index cb6d4d16301..830479561de 100644
--- a/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs
+++ b/Content.Server/Atmos/Monitor/Components/AtmosMonitorComponent.cs
@@ -48,7 +48,9 @@ public sealed partial class AtmosMonitorComponent : Component
     [DataField("gasThresholds")]
     public Dictionary<Gas, AtmosAlarmThreshold>? GasThresholds;
 
-    // Stores a reference to the gas on the tile this is on.
+    /// <summary>
+    /// Stores a reference to the gas on the tile this entity is on (or the pipe network it monitors; see <see cref="MonitorsPipeNet"/>).
+    /// </summary>
     [ViewVariables]
     public GasMixture? TileGas;
 
@@ -65,4 +67,19 @@ public sealed partial class AtmosMonitorComponent : Component
     /// </summary>
     [DataField("registeredDevices")]
     public HashSet<string> RegisteredDevices = new();
+
+    /// <summary>
+    /// Specifies whether this device monitors its own internal pipe network rather than the surrounding atmosphere.
+    /// </summary>
+    /// <remarks>
+    /// If 'true', the entity will require a NodeContainerComponent with one or more PipeNodes to function.
+    /// </remarks>
+    [DataField]
+    public bool MonitorsPipeNet = false;
+
+    /// <summary>
+    /// Specifies the name of the pipe node that this device is monitoring.
+    /// </summary>
+    [DataField]
+    public string NodeNameMonitoredPipe = "monitored";
 }
diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs
index fbe74cbab7f..17a24b1b0cb 100644
--- a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs
+++ b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs
@@ -4,6 +4,9 @@
 using Content.Server.Atmos.Piping.EntitySystems;
 using Content.Server.DeviceNetwork;
 using Content.Server.DeviceNetwork.Systems;
+using Content.Server.NodeContainer;
+using Content.Server.NodeContainer.EntitySystems;
+using Content.Server.NodeContainer.Nodes;
 using Content.Server.Power.Components;
 using Content.Server.Power.EntitySystems;
 using Content.Shared.Atmos;
@@ -25,6 +28,7 @@ public sealed class AtmosMonitorSystem : EntitySystem
     [Dependency] private readonly AtmosDeviceSystem _atmosDeviceSystem = default!;
     [Dependency] private readonly DeviceNetworkSystem _deviceNetSystem = default!;
     [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
+    [Dependency] private readonly NodeContainerSystem _nodeContainerSystem = default!;
 
     // Commands
     public const string AtmosMonitorSetThresholdCmd = "atmos_monitor_set_threshold";
@@ -56,8 +60,15 @@ private void OnAtmosDeviceLeaveAtmosphere(EntityUid uid, AtmosMonitorComponent a
 
     private void OnAtmosDeviceEnterAtmosphere(EntityUid uid, AtmosMonitorComponent atmosMonitor, ref AtmosDeviceEnabledEvent args)
     {
+        if (atmosMonitor.MonitorsPipeNet && _nodeContainerSystem.TryGetNode<PipeNode>(uid, atmosMonitor.NodeNameMonitoredPipe, out var pipeNode))
+        {
+            atmosMonitor.TileGas = pipeNode.Air;
+            return;
+        }
+
         atmosMonitor.TileGas = _atmosphereSystem.GetContainingMixture(uid, true);
     }
+
     private void OnMapInit(EntityUid uid, AtmosMonitorComponent component, MapInitEvent args)
     {
         if (component.TemperatureThresholdId != null)
@@ -206,7 +217,7 @@ private void OnAtmosUpdate(EntityUid uid, AtmosMonitorComponent component, ref A
         if (!this.IsPowered(uid, EntityManager))
             return;
 
-        if (args.Grid  == null)
+        if (args.Grid == null)
             return;
 
         // if we're not monitoring atmos, don't bother
@@ -215,6 +226,10 @@ private void OnAtmosUpdate(EntityUid uid, AtmosMonitorComponent component, ref A
             && component.GasThresholds == null)
             return;
 
+        // If monitoring a pipe network, get its most recent gas mixture
+        if (component.MonitorsPipeNet && _nodeContainerSystem.TryGetNode<PipeNode>(uid, component.NodeNameMonitoredPipe, out var pipeNode))
+            component.TileGas = pipeNode.Air;
+
         UpdateState(uid, component.TileGas, component);
     }
 
diff --git a/Resources/Locale/en-US/atmos/gas-pipe-sensor.ftl b/Resources/Locale/en-US/atmos/gas-pipe-sensor.ftl
new file mode 100644
index 00000000000..8c3b8962e32
--- /dev/null
+++ b/Resources/Locale/en-US/atmos/gas-pipe-sensor.ftl
@@ -0,0 +1,5 @@
+gas-pipe-sensor-distribution-loop = Distribution loop
+gas-pipe-sensor-waste-loop = Waste loop
+gas-pipe-sensor-mixed-air = Mixed air
+gas-pipe-sensor-teg-hot-loop = TEG hot loop
+gas-pipe-sensor-teg-cold-loop = TEG cold loop
diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml
new file mode 100644
index 00000000000..08015abe7d6
--- /dev/null
+++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml
@@ -0,0 +1,84 @@
+- type: entity
+  parent: [AirSensorBase, GasPipeBase]
+  id: GasPipeSensor
+  name: gas pipe sensor
+  description: Reports on the status of the gas in the attached pipe network. 
+  placement:
+    mode: SnapgridCenter
+  components:
+  - type: Sprite
+    sprite: Structures/Piping/Atmospherics/gas_pipe_sensor.rsi
+    drawdepth: BelowFloor
+    layers:
+    - sprite: Structures/Piping/Atmospherics/pipe.rsi
+      map: [ "enum.PipeVisualLayers.Pipe" ]
+      state: pipeStraight
+    - map: ["base"]
+      state: base
+    - map: [ "enum.PowerDeviceVisualLayers.Powered" ]
+      state: lights 
+      shader: unshaded      
+  - type: Appearance
+  - type: GenericVisualizer
+    visuals:
+      enum.PowerDeviceVisuals.Powered:
+        enum.PowerDeviceVisualLayers.Powered:
+          False: { state: blank }
+          True: { state: lights }
+  - type: AtmosMonitor
+    monitorsPipeNet: true
+  - type: ApcPowerReceiver
+  - type: ExtensionCableReceiver
+  - type: Construction
+    graph: GasPipeSensor
+    node: sensor 
+  - type: NodeContainer
+    nodes:
+      monitored:
+        !type:PipeNode
+        nodeGroupID: Pipe
+        pipeDirection: Longitudinal
+  - type: Tag
+    tags:
+    - AirSensor
+    - Unstackable    
+
+- type: entity
+  parent: GasPipeSensor 
+  id: GasPipeSensorDistribution 
+  suffix: Distribution
+  components:
+  - type: Label
+    currentLabel: gas-pipe-sensor-distribution-loop
+
+- type: entity
+  parent: GasPipeSensor 
+  id: GasPipeSensorWaste  
+  suffix: Waste
+  components:
+  - type: Label
+    currentLabel: gas-pipe-sensor-waste-loop
+
+- type: entity
+  parent: GasPipeSensor 
+  id: GasPipeSensorMixedAir 
+  suffix: Mixed air
+  components:
+  - type: Label
+    currentLabel: gas-pipe-sensor-mixed-air
+
+- type: entity
+  parent: GasPipeSensor 
+  id: GasPipeSensorTEGHot
+  suffix: TEG hot
+  components:
+  - type: Label
+    currentLabel: gas-pipe-sensor-teg-hot-loop
+
+- type: entity
+  parent: GasPipeSensor  
+  id: GasPipeSensorTEGCold
+  suffix: TEG cold
+  components:
+  - type: Label
+    currentLabel: gas-pipe-sensor-teg-cold-loop
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/gas_pipe_sensor.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/gas_pipe_sensor.yml
new file mode 100644
index 00000000000..bda6d036e9b
--- /dev/null
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/gas_pipe_sensor.yml
@@ -0,0 +1,29 @@
+- type: constructionGraph
+  id: GasPipeSensor
+  start: start
+  graph:
+  - node: start
+    edges:
+    - to: sensor
+      steps:
+      - material: Steel
+        amount: 2
+        doAfter: 1
+
+  - node: sensor   
+    entity: GasPipeSensor
+    actions:
+    - !type:SetAnchor
+    edges:
+    - to: start
+      completed:
+      - !type:SpawnPrototype
+        prototype: SheetSteel1
+        amount: 2
+      - !type:DeleteEntity
+      conditions:
+      - !type:EntityAnchored
+        anchored: false
+      steps:
+      - tool: Welding
+        doAfter: 1
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/utilities.yml b/Resources/Prototypes/Recipes/Construction/utilities.yml
index 5dc0168fd36..2dec0e4a7d5 100644
--- a/Resources/Prototypes/Recipes/Construction/utilities.yml
+++ b/Resources/Prototypes/Recipes/Construction/utilities.yml
@@ -366,6 +366,21 @@
   objectType: Structure
   canRotate: true
 
+- type: construction
+  name: gas pipe sensor
+  id: GasPipeSensor
+  graph: GasPipeSensor
+  startNode: start
+  targetNode: sensor
+  category: construction-category-structures
+  description: Reports on the status of the gas within the attached pipe network. 
+  icon:
+    sprite: Structures/Piping/Atmospherics/gas_pipe_sensor.rsi
+    state: icon
+  placementMode: SnapgridCenter
+  objectType: Structure
+  canRotate: true
+
 # ATMOS PIPES
 - type: construction
   name: gas pipe half
diff --git a/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/base.png b/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/base.png
new file mode 100644
index 0000000000000000000000000000000000000000..4a9a8f6f2069490a67965a5fdf60019008341678
GIT binary patch
literal 248
zcmV<U00;kxP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80002LNkl<ZSi|j<
zF$%*l3`KuR)<C<-XK0S06Sa^FWXsSK=?ocybB1{9kOQPkYf@SY3O0eFHyXkJ{`v?o
z4CCK8Rn@Yq_!U?*CJw1h9NShkpWMLcy=uPPd&i|#{L(ZK5jdjwK7{~g#;xn}8UO$h
z0W-fv?uZ~F`4a#DNAz{ijtIjujjRR$;9S?6OP9pJFVUgzai8ZRn}I2WSip4>uMTL$
yH{Ahdj(Z-x$LRe>F*Ot^?|}CAhG7_n0RRt>*hN^}z=Wm%0000<MNUMnLSTZVpJopL

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/blank.png b/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/blank.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bee0a002b75fb20e9b790068b7950121cdf779e
GIT binary patch
literal 83
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzDNh&2kch)?4>B?Wc})uc*XMaS
cfSB*u1QZw;r+*K>4&*R+y85}Sb4q9e0KdKysQ>@~

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/icon.png b/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ac9e76480361a744196e09cbc3edcfaa05f737d
GIT binary patch
literal 523
zcmV+m0`&cfP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80005fNkl<ZSi{AZ
zK}sV*6o$X<SV>4QFfKyZoFJf(g^&|8Oe4&~^=#%085CT*bCFYwkP}FRIzbjfqyss?
zpdlL<4S}TSs#$0PPK2?mwfilrdG-JGzrWvm;1E(u8%2=?h@!|!DJ_n%=bG5-^#E+U
z-6l`?u8Bej`u#q6!<oQjG6A5|=}@g!izQI0RGyQ4pEOO2SHKv95P~#KbG_b~fVCDO
z1jd;1JfOA4^SqrBeA(Z(g%R+5e+PV=B$-HjxCw`sm&KT{(P-d#-p;pa9A~=A%L@KK
zdB2^UaC>vZQ<A*v?!Bzw{qu8_Qph0Ko<Gj#gki|w>gw}nfl`X&pTC|7{h2V0V`LDZ
zlqzNz$spiibPd46Kj-%^YJB=M{2Kjur9hr=BJh?1o4CKbd$$3d2t3Z`TLT^*9li1f
zkO|zW4}@X3t@AXFnZ_|nDZ(&xD#3^Lfvm50Qs5~`yhf|V_tR5;4~LvxT+li=a01WO
ziZ^4ql!c^TucNi5*=&}x4`{6sLSU^ehrmYm)oNAVMg+V$jte2M0nTecX9B+Ovs^Bz
z)oSH>z!<Y#&kFZIx7!6^Hk+|tugh7>2ZKR*f5CV>W;7aki^U=rfxil~y+@Q(CfWc1
N002ovPDHLkV1lGg_D%o*

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/lights.png b/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/lights.png
new file mode 100644
index 0000000000000000000000000000000000000000..6108d2b99492134bbeeb0d5f7bfc64256627e5a9
GIT binary patch
literal 183
zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQgxm#jv*QM-d^6w+n^xQ^6+xR
zZ7W7;i<#UTnTvNc3g6hpAm-(ybA_$*L;YE9(VgWAj0~@?P7z9(SmoK=x6?D~tYLmB
z>r}}@+Ozt(GlWeZ8tW>w%+r6KFP`wJcJ+mCKeqi<;XaYk>y-ao(j#%xIsa=vqu#UY
d11$!EKR5Zp#g)Ie6~!okxSp<lF6*2UngGf~LQ((#

literal 0
HcmV?d00001

diff --git a/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/meta.json b/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/meta.json
new file mode 100644
index 00000000000..878c7817a2b
--- /dev/null
+++ b/Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/meta.json
@@ -0,0 +1,29 @@
+{
+    "version": 1,
+    "license": "CC-BY-SA-3.0",
+    "copyright": "Created by chromiumboy (github) for SS14, based on the digital valve from /tg/, taken from https://github.com/tgstation/tgstation at commit 57cd1d59ca019dd0e7811ac451f295f818e573da.",
+    "size": {
+        "x": 32,
+        "y": 32
+    },
+    "states": [
+        {
+            "name": "icon"
+        },
+	{
+            "name": "base"
+        },
+	{
+            "name": "blank"
+        },
+        {
+            "name": "lights",
+            "delays": [
+                [
+                    1.0,
+                    0.25
+                ]
+            ]
+        }
+    ]
+}

From a3edf04dd3f7cf34bc77bf953722ddc1d8b2a8f0 Mon Sep 17 00:00:00 2001
From: PJBot <pieterjan.briers+bot@gmail.com>
Date: Fri, 22 Nov 2024 03:47:17 +0000
Subject: [PATCH 182/187] Automatic changelog update

---
 Resources/Changelog/Changelog.yml | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml
index 6bc25079ce7..70963d8ba25 100644
--- a/Resources/Changelog/Changelog.yml
+++ b/Resources/Changelog/Changelog.yml
@@ -1,11 +1,4 @@
 Entries:
-- author: EmoGarbage404
-  changes:
-  - message: Legends tell of horrifying Goliaths that roam the mining asteroid.
-    type: Add
-  id: 7137
-  time: '2024-08-18T16:22:36.0000000+00:00'
-  url: https://github.com/space-wizards/space-station-14/pull/30839
 - author: Beck Thompson
   changes:
   - message: Cutting food now moves the sliced pieces a small amount!
@@ -3933,3 +3926,12 @@
   id: 7636
   time: '2024-11-22T02:56:05.0000000+00:00'
   url: https://github.com/space-wizards/space-station-14/pull/31076
+- author: chromiumboy
+  changes:
+  - message: Added the gas pipe sensor. These sensors monitor the mixture of gases
+      passing through their pipe sub-network and report this information to any connected
+      air alarms
+    type: Add
+  id: 7637
+  time: '2024-11-22T03:46:10.0000000+00:00'
+  url: https://github.com/space-wizards/space-station-14/pull/33128

From b4ec946bd9f5af7bbc27dd676f294c0c5f4c6847 Mon Sep 17 00:00:00 2001
From: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Date: Fri, 22 Nov 2024 18:14:46 +0100
Subject: [PATCH 183/187] Fix sandbox error with new HWID code. (#33461)

Oops
---
 Content.Shared.Database/TypedHwid.cs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Content.Shared.Database/TypedHwid.cs b/Content.Shared.Database/TypedHwid.cs
index 6e4a7763b3a..253375e9dbc 100644
--- a/Content.Shared.Database/TypedHwid.cs
+++ b/Content.Shared.Database/TypedHwid.cs
@@ -34,7 +34,9 @@ public static bool TryParse(string value, [NotNullWhen(true)] out ImmutableTyped
             return false;
         }
 
-        hwid = new ImmutableTypedHwid([..array], type);
+        // ReSharper disable once UseCollectionExpression
+        // Do not use collection expression, C# compiler is weird and it fails sandbox.
+        hwid = new ImmutableTypedHwid(ImmutableArray.Create(array), type);
         return true;
     }
 

From 86a3d1636fadd89c800e64c946995e8dc18a8991 Mon Sep 17 00:00:00 2001
From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Date: Fri, 22 Nov 2024 17:50:41 -0500
Subject: [PATCH 184/187] baby proof the terminal (#33281)

* baby proof the terminal

* Make a couple exceptions for items that you might take with you.

* alwayspoweredlights

* Uncuttable cables since cablecomp is a snowflake construction system

* chairs and vendors

* rerun heisentests

* rerun tests again
---
 .../Power/Components/CableComponent.cs        |    5 +-
 .../Power/EntitySystems/CableSystem.cs        |    5 +-
 Resources/Maps/Misc/terminal.yml              | 4527 +++++++++++++++--
 .../Structures/Power/cable_terminal.yml       |    8 +
 .../Entities/Structures/Power/cables.yml      |   24 +
 5 files changed, 4102 insertions(+), 467 deletions(-)

diff --git a/Content.Server/Power/Components/CableComponent.cs b/Content.Server/Power/Components/CableComponent.cs
index 7398bc0616e..63899735b58 100644
--- a/Content.Server/Power/Components/CableComponent.cs
+++ b/Content.Server/Power/Components/CableComponent.cs
@@ -18,8 +18,11 @@ public sealed partial class CableComponent : Component
     [DataField]
     public EntProtoId CableDroppedOnCutPrototype = "CableHVStack1";
 
+    /// <summary>
+    /// The tool quality needed to cut the cable. Setting to null prevents cutting.
+    /// </summary>
     [DataField]
-    public ProtoId<ToolQualityPrototype> CuttingQuality = SharedToolSystem.CutQuality;
+    public ProtoId<ToolQualityPrototype>? CuttingQuality = SharedToolSystem.CutQuality;
 
     /// <summary>
     ///     Checked by <see cref="CablePlacerComponent"/> to determine if there is
diff --git a/Content.Server/Power/EntitySystems/CableSystem.cs b/Content.Server/Power/EntitySystems/CableSystem.cs
index d0f45b54fcf..db44323007a 100644
--- a/Content.Server/Power/EntitySystems/CableSystem.cs
+++ b/Content.Server/Power/EntitySystems/CableSystem.cs
@@ -35,7 +35,10 @@ private void OnInteractUsing(EntityUid uid, CableComponent cable, InteractUsingE
         if (args.Handled)
             return;
 
-        args.Handled = _toolSystem.UseTool(args.Used, args.User, uid, cable.CuttingDelay, cable.CuttingQuality, new CableCuttingFinishedEvent());
+        if (cable.CuttingQuality != null)
+        {
+            args.Handled = _toolSystem.UseTool(args.Used, args.User, uid, cable.CuttingDelay, cable.CuttingQuality, new CableCuttingFinishedEvent());
+        }
     }
 
     private void OnCableCut(EntityUid uid, CableComponent cable, DoAfterEvent args)
diff --git a/Resources/Maps/Misc/terminal.yml b/Resources/Maps/Misc/terminal.yml
index d32a53856ef..8ca17b4ebcf 100644
--- a/Resources/Maps/Misc/terminal.yml
+++ b/Resources/Maps/Misc/terminal.yml
@@ -948,6 +948,7 @@ entities:
     - type: RadiationGridResistance
     - type: SpreaderGrid
     - type: GridPathfinding
+    - type: Godmode
 - proto: AirlockExternalGlass
   entities:
   - uid: 2
@@ -955,54 +956,187 @@ entities:
     - type: Transform
       pos: 6.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 3
     components:
     - type: Transform
       pos: -7.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 4
     components:
     - type: Transform
       pos: -7.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 5
     components:
     - type: Transform
       pos: 6.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 11
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 12
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 13
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -13.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 14
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -13.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
+- proto: AirlockExternalGlassShuttleLocked
+  entities:
+  - uid: 1
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -15.5,-10.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 6
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -15.5,-17.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 7
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 14.5,-10.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 8
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 14.5,-17.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 9
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 4.5,-10.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 15
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: 4.5,-17.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 16
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,-10.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 17
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: -5.5,-17.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: AirlockExternalLocked
   entities:
   - uid: 589
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
 - proto: AirlockGlass
   entities:
   - uid: 252
@@ -1010,90 +1144,237 @@ entities:
     - type: Transform
       pos: -9.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 253
     components:
     - type: Transform
       pos: -10.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 254
     components:
     - type: Transform
       pos: -11.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 255
     components:
     - type: Transform
       pos: 8.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 256
     components:
     - type: Transform
       pos: 9.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 257
     components:
     - type: Transform
       pos: 10.5,-4.5
       parent: 818
-- proto: AirlockGlassShuttleEasyPryLocked
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+- proto: AirlockMaint
   entities:
-  - uid: 1
+  - uid: 146
+    components:
+    - type: Transform
+      pos: 3.5,3.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
+- proto: AlwaysPoweredWallLight
+  entities:
+  - uid: 150
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: -15.5,-10.5
+      pos: -8.5,-5.5
       parent: 818
-  - uid: 6
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 188
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
-      pos: -15.5,-17.5
+      pos: 11.5,2.5
       parent: 818
-  - uid: 7
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 195
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 14.5,-10.5
+      rot: 3.141592653589793 rad
+      pos: -2.5,-1.5
       parent: 818
-  - uid: 8
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 209
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: 14.5,-17.5
+      pos: 7.5,-5.5
       parent: 818
-  - uid: 9
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 341
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 4.5,-10.5
+      rot: 3.141592653589793 rad
+      pos: 1.5,-1.5
       parent: 818
-  - uid: 15
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 634
     components:
     - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 4.5,-17.5
+      pos: 9.5,-16.5
       parent: 818
-  - uid: 16
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 636
     components:
     - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -5.5,-10.5
+      rot: 3.141592653589793 rad
+      pos: 9.5,-11.5
       parent: 818
-  - uid: 17
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 649
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: -10.5,-11.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 650
+    components:
+    - type: Transform
+      pos: -10.5,-16.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 687
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
-      pos: -5.5,-17.5
+      pos: -13.5,1.5
       parent: 818
-- proto: AirlockMaint
-  entities:
-  - uid: 146
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 701
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
-      pos: 3.5,3.5
+      rot: 3.141592653589793 rad
+      pos: -6.5,3.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 702
+    components:
+    - type: Transform
+      rot: 3.141592653589793 rad
+      pos: 5.5,3.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 715
+    components:
+    - type: Transform
+      pos: -0.5,5.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 717
+    components:
+    - type: Transform
+      rot: -1.5707963267948966 rad
+      pos: -7.5,-3.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
+  - uid: 742
+    components:
+    - type: Transform
+      rot: 1.5707963267948966 rad
+      pos: 6.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: APCBasic
   entities:
   - uid: 205
@@ -1101,32 +1382,92 @@ entities:
     - type: Transform
       pos: 6.5,2.5
       parent: 818
+    - type: AccessReader
+      access:
+      - - CentralCommand
+    - type: Godmode
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    missingComponents:
+    - Construction
+    - Destructible
   - uid: 206
     components:
     - type: Transform
       pos: -13.5,2.5
       parent: 818
+    - type: AccessReader
+      access:
+      - - CentralCommand
+    - type: Godmode
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    missingComponents:
+    - Construction
+    - Destructible
   - uid: 211
     components:
     - type: Transform
       pos: -13.5,-11.5
       parent: 818
+    - type: AccessReader
+      access:
+      - - CentralCommand
+    - type: Godmode
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    missingComponents:
+    - Construction
+    - Destructible
   - uid: 212
     components:
     - type: Transform
       pos: 6.5,-11.5
       parent: 818
+    - type: AccessReader
+      access:
+      - - CentralCommand
+    - type: Godmode
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    missingComponents:
+    - Construction
+    - Destructible
   - uid: 355
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 1.5,6.5
       parent: 818
+    - type: AccessReader
+      access:
+      - - CentralCommand
+    - type: Godmode
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    missingComponents:
+    - Construction
+    - Destructible
   - uid: 846
     components:
     - type: Transform
       pos: 2.5,3.5
       parent: 818
+    - type: AccessReader
+      access:
+      - - CentralCommand
+    - type: Godmode
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    missingComponents:
+    - Construction
+    - Destructible
 - proto: ArrivalsShuttleTimer
   entities:
   - uid: 597
@@ -1134,21 +1475,33 @@ entities:
     - type: Transform
       pos: -7.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
   - uid: 633
     components:
     - type: Transform
       pos: 6.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
   - uid: 928
     components:
     - type: Transform
       pos: -6.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
   - uid: 929
     components:
     - type: Transform
       pos: 5.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
 - proto: AtmosDeviceFanTiny
   entities:
   - uid: 296
@@ -1156,46 +1509,55 @@ entities:
     - type: Transform
       pos: -6.5,-10.5
       parent: 818
+    - type: Godmode
   - uid: 297
     components:
     - type: Transform
       pos: -14.5,-10.5
       parent: 818
+    - type: Godmode
   - uid: 298
     components:
     - type: Transform
       pos: -14.5,-17.5
       parent: 818
+    - type: Godmode
   - uid: 299
     components:
     - type: Transform
       pos: -6.5,-17.5
       parent: 818
+    - type: Godmode
   - uid: 300
     components:
     - type: Transform
       pos: 5.5,-17.5
       parent: 818
+    - type: Godmode
   - uid: 301
     components:
     - type: Transform
       pos: 5.5,-10.5
       parent: 818
+    - type: Godmode
   - uid: 302
     components:
     - type: Transform
       pos: 13.5,-10.5
       parent: 818
+    - type: Godmode
   - uid: 303
     components:
     - type: Transform
       pos: 13.5,-17.5
       parent: 818
+    - type: Godmode
   - uid: 809
     components:
     - type: Transform
       pos: 4.5,8.5
       parent: 818
+    - type: Godmode
 - proto: BarSignEngineChange
   entities:
   - uid: 215
@@ -1203,6 +1565,10 @@ entities:
     - type: Transform
       pos: -10.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Destructible
 - proto: BlockGameArcade
   entities:
   - uid: 727
@@ -1211,28 +1577,46 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -13.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Anchorable
+    - Construction
+    - Destructible
   - uid: 728
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Anchorable
+    - Construction
+    - Destructible
 - proto: BookshelfFilled
   entities:
   - uid: 442
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 7.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 752
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 11.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
 - proto: BoozeDispenser
   entities:
   - uid: 710
@@ -1240,1198 +1624,2152 @@ entities:
     - type: Transform
       pos: -11.5,4.5
       parent: 818
-- proto: CableApcExtension
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Anchorable
+    - Destructible
+    - Construction
+- proto: CableApcExtensionUncuttable
   entities:
   - uid: 203
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 208
     components:
     - type: Transform
       pos: -3.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 218
     components:
     - type: Transform
       pos: -4.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 402
     components:
     - type: Transform
       pos: -4.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 404
     components:
     - type: Transform
       pos: 2.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 410
     components:
     - type: Transform
       pos: 2.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 411
     components:
     - type: Transform
       pos: 3.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 412
     components:
     - type: Transform
       pos: 3.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 426
     components:
     - type: Transform
       pos: -2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 427
     components:
     - type: Transform
       pos: -1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 428
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 429
     components:
     - type: Transform
       pos: 0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 430
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 431
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 434
     components:
     - type: Transform
       pos: 0.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 435
     components:
     - type: Transform
       pos: -0.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 436
     components:
     - type: Transform
       pos: -1.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 437
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 438
     components:
     - type: Transform
       pos: -3.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 439
     components:
     - type: Transform
       pos: -4.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 440
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 443
     components:
     - type: Transform
       pos: 2.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 444
     components:
     - type: Transform
       pos: 3.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 445
     components:
     - type: Transform
       pos: 4.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 446
     components:
     - type: Transform
       pos: -5.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 447
     components:
     - type: Transform
       pos: -13.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 448
     components:
     - type: Transform
       pos: -13.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 449
     components:
     - type: Transform
       pos: -13.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 450
     components:
     - type: Transform
       pos: -13.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 451
     components:
     - type: Transform
       pos: -12.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 452
     components:
     - type: Transform
       pos: -11.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 453
     components:
     - type: Transform
       pos: -10.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 454
     components:
     - type: Transform
       pos: -9.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 455
     components:
     - type: Transform
       pos: -8.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 456
     components:
     - type: Transform
       pos: -7.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 457
     components:
     - type: Transform
       pos: -10.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 458
     components:
     - type: Transform
       pos: -10.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 459
     components:
     - type: Transform
       pos: -10.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 460
     components:
     - type: Transform
       pos: -10.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 461
     components:
     - type: Transform
       pos: -10.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 462
     components:
     - type: Transform
       pos: -10.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 463
     components:
     - type: Transform
       pos: -10.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 464
     components:
     - type: Transform
       pos: -11.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 465
     components:
     - type: Transform
       pos: -9.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 466
     components:
     - type: Transform
       pos: -11.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 467
     components:
     - type: Transform
       pos: -9.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 468
     components:
     - type: Transform
       pos: -13.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 469
     components:
     - type: Transform
       pos: -12.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 470
     components:
     - type: Transform
       pos: -11.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 471
     components:
     - type: Transform
       pos: -11.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 472
     components:
     - type: Transform
       pos: 10.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 473
     components:
     - type: Transform
       pos: 10.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 474
     components:
     - type: Transform
       pos: 10.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 475
     components:
     - type: Transform
       pos: 10.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 476
     components:
     - type: Transform
       pos: -11.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 477
     components:
     - type: Transform
       pos: -10.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 478
     components:
     - type: Transform
       pos: -10.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 479
     components:
     - type: Transform
       pos: -10.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 480
     components:
     - type: Transform
       pos: -10.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 481
     components:
     - type: Transform
       pos: -11.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 482
     components:
     - type: Transform
       pos: -12.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 483
     components:
     - type: Transform
       pos: -13.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 484
     components:
     - type: Transform
       pos: -14.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 485
     components:
     - type: Transform
       pos: -9.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 486
     components:
     - type: Transform
       pos: -8.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 487
     components:
     - type: Transform
       pos: -7.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 488
     components:
     - type: Transform
       pos: -6.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 489
     components:
     - type: Transform
       pos: -10.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 490
     components:
     - type: Transform
       pos: -9.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 491
     components:
     - type: Transform
       pos: -8.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 492
     components:
     - type: Transform
       pos: -7.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 493
     components:
     - type: Transform
       pos: -6.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 494
     components:
     - type: Transform
       pos: -12.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 495
     components:
     - type: Transform
       pos: -13.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 496
     components:
     - type: Transform
       pos: -14.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 497
     components:
     - type: Transform
       pos: -11.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 498
     components:
     - type: Transform
       pos: -12.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 499
     components:
     - type: Transform
       pos: -9.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 500
     components:
     - type: Transform
       pos: -8.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 501
     components:
     - type: Transform
       pos: -10.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 502
     components:
     - type: Transform
       pos: -10.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 503
     components:
     - type: Transform
       pos: -10.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 504
     components:
     - type: Transform
       pos: -10.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 505
     components:
     - type: Transform
       pos: 6.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 506
     components:
     - type: Transform
       pos: 7.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 507
     components:
     - type: Transform
       pos: 7.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 508
     components:
     - type: Transform
       pos: 6.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 509
     components:
     - type: Transform
       pos: 5.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 510
     components:
     - type: Transform
       pos: 8.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 511
     components:
     - type: Transform
       pos: 8.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 512
     components:
     - type: Transform
       pos: 9.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 513
     components:
     - type: Transform
       pos: 10.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 514
     components:
     - type: Transform
       pos: 11.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 515
     components:
     - type: Transform
       pos: 12.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 516
     components:
     - type: Transform
       pos: 13.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 517
     components:
     - type: Transform
       pos: 8.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 518
     components:
     - type: Transform
       pos: 8.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 519
     components:
     - type: Transform
       pos: 8.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 520
     components:
     - type: Transform
       pos: 8.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 521
     components:
     - type: Transform
       pos: -11.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 522
     components:
     - type: Transform
       pos: 9.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 523
     components:
     - type: Transform
       pos: 9.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 524
     components:
     - type: Transform
       pos: 9.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 525
     components:
     - type: Transform
       pos: 9.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 526
     components:
     - type: Transform
       pos: 8.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 527
     components:
     - type: Transform
       pos: 7.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 528
     components:
     - type: Transform
       pos: 6.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 529
     components:
     - type: Transform
       pos: 5.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 530
     components:
     - type: Transform
       pos: 10.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 531
     components:
     - type: Transform
       pos: 11.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 532
     components:
     - type: Transform
       pos: 12.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 533
     components:
     - type: Transform
       pos: 13.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 534
     components:
     - type: Transform
       pos: 8.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 535
     components:
     - type: Transform
       pos: 7.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 536
     components:
     - type: Transform
       pos: 10.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 537
     components:
     - type: Transform
       pos: 11.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 538
     components:
     - type: Transform
       pos: 9.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 539
     components:
     - type: Transform
       pos: 9.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 540
     components:
     - type: Transform
       pos: 9.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 541
     components:
     - type: Transform
       pos: 9.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 542
     components:
     - type: Transform
       pos: 6.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 543
     components:
     - type: Transform
       pos: 6.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 544
     components:
     - type: Transform
       pos: 6.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 545
     components:
     - type: Transform
       pos: 6.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 546
     components:
     - type: Transform
       pos: 7.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 547
     components:
     - type: Transform
       pos: 8.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 548
     components:
     - type: Transform
       pos: 9.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 549
     components:
     - type: Transform
       pos: 9.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 550
     components:
     - type: Transform
       pos: 9.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 551
     components:
     - type: Transform
       pos: 9.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 552
     components:
     - type: Transform
       pos: 9.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 553
     components:
     - type: Transform
       pos: 10.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 554
     components:
     - type: Transform
       pos: 8.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 555
     components:
     - type: Transform
       pos: 10.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 556
     components:
     - type: Transform
       pos: 11.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 557
     components:
     - type: Transform
       pos: 12.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 558
     components:
     - type: Transform
       pos: 9.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 559
     components:
     - type: Transform
       pos: 9.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 560
     components:
     - type: Transform
       pos: 9.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 561
     components:
     - type: Transform
       pos: 8.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 562
     components:
     - type: Transform
       pos: 10.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 563
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 564
     components:
     - type: Transform
       pos: 2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 565
     components:
     - type: Transform
       pos: 3.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 566
     components:
     - type: Transform
       pos: 3.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 579
     components:
     - type: Transform
       pos: 2.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 599
     components:
     - type: Transform
       pos: -4.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 601
     components:
     - type: Transform
       pos: -4.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 651
     components:
     - type: Transform
       pos: 10.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 652
     components:
     - type: Transform
       pos: -11.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 653
     components:
     - type: Transform
       pos: -11.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 654
     components:
     - type: Transform
       pos: -9.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 655
     components:
     - type: Transform
       pos: -9.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 656
     components:
     - type: Transform
       pos: -9.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 657
     components:
     - type: Transform
       pos: -9.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 658
     components:
     - type: Transform
       pos: -9.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 842
     components:
     - type: Transform
       pos: -4.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 843
     components:
     - type: Transform
       pos: -4.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 844
     components:
     - type: Transform
       pos: 2.5,3.5
       parent: 818
-- proto: CableHV
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
+- proto: CableHVUncuttable
   entities:
   - uid: 413
     components:
     - type: Transform
       pos: -3.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 415
     components:
     - type: Transform
       pos: -4.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 416
     components:
     - type: Transform
       pos: -2.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 734
     components:
     - type: Transform
       pos: -0.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 735
     components:
     - type: Transform
       pos: -1.5,8.5
       parent: 818
-- proto: CableMV
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
+- proto: CableMVUncuttable
   entities:
   - uid: 177
     components:
     - type: Transform
       pos: 3.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 201
     components:
     - type: Transform
       pos: 6.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 210
     components:
     - type: Transform
       pos: 6.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 214
     components:
     - type: Transform
       pos: 6.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 219
     components:
     - type: Transform
       pos: 7.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 221
     components:
     - type: Transform
       pos: 3.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 224
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 226
     components:
     - type: Transform
       pos: 6.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 227
     components:
     - type: Transform
       pos: 8.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 228
     components:
     - type: Transform
       pos: 9.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 349
     components:
     - type: Transform
       pos: 9.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 350
     components:
     - type: Transform
       pos: 5.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 352
     components:
     - type: Transform
       pos: 2.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 353
     components:
     - type: Transform
       pos: 4.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 354
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 356
     components:
     - type: Transform
       pos: 9.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 357
     components:
     - type: Transform
       pos: 9.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 358
     components:
     - type: Transform
       pos: 9.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 359
     components:
     - type: Transform
       pos: 9.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 360
     components:
     - type: Transform
       pos: 9.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 361
     components:
     - type: Transform
       pos: 9.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 362
     components:
     - type: Transform
       pos: 9.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 363
     components:
     - type: Transform
       pos: 9.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 364
     components:
     - type: Transform
       pos: 9.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 365
     components:
     - type: Transform
       pos: 9.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 366
     components:
     - type: Transform
       pos: 8.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 367
     components:
     - type: Transform
       pos: 7.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 368
     components:
     - type: Transform
       pos: 6.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 369
     components:
     - type: Transform
       pos: 0.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 370
     components:
     - type: Transform
       pos: -0.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 371
     components:
     - type: Transform
       pos: -1.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 372
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 373
     components:
     - type: Transform
       pos: -3.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 374
     components:
     - type: Transform
       pos: -4.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 375
     components:
     - type: Transform
       pos: -5.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 376
     components:
     - type: Transform
       pos: -6.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 377
     components:
     - type: Transform
       pos: -7.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 378
     components:
     - type: Transform
       pos: -8.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 379
     components:
     - type: Transform
       pos: -9.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 380
     components:
     - type: Transform
       pos: -10.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 381
     components:
     - type: Transform
       pos: -11.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 382
     components:
     - type: Transform
       pos: -12.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 383
     components:
     - type: Transform
       pos: -13.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 384
     components:
     - type: Transform
       pos: -13.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 385
     components:
     - type: Transform
       pos: -13.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 386
     components:
     - type: Transform
       pos: -13.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 387
     components:
     - type: Transform
       pos: -10.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 388
     components:
     - type: Transform
       pos: -10.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 389
     components:
     - type: Transform
       pos: -10.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 390
     components:
     - type: Transform
       pos: -10.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 391
     components:
     - type: Transform
       pos: -10.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 392
     components:
     - type: Transform
       pos: -10.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 393
     components:
     - type: Transform
       pos: -10.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 394
     components:
     - type: Transform
       pos: -10.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 395
     components:
     - type: Transform
       pos: -10.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 396
     components:
     - type: Transform
       pos: -10.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 397
     components:
     - type: Transform
       pos: -10.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 398
     components:
     - type: Transform
       pos: -11.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 399
     components:
     - type: Transform
       pos: -12.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 400
     components:
     - type: Transform
       pos: -13.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 418
     components:
     - type: Transform
       pos: 3.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 419
     components:
     - type: Transform
       pos: 3.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 421
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 422
     components:
     - type: Transform
       pos: 0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 423
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 424
     components:
     - type: Transform
       pos: 2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 425
     components:
     - type: Transform
       pos: 3.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 567
     components:
     - type: Transform
       pos: 3.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 568
     components:
     - type: Transform
       pos: 3.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 569
     components:
     - type: Transform
       pos: 3.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 570
     components:
     - type: Transform
       pos: -0.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 803
     components:
     - type: Transform
       pos: 3.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 845
     components:
     - type: Transform
       pos: 2.5,3.5
       parent: 818
-- proto: CableTerminal
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
+- proto: CableTerminalUncuttable
   entities:
   - uid: 417
     components:
@@ -2439,6 +3777,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -3.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
 - proto: Catwalk
   entities:
   - uid: 580
@@ -2446,56 +3789,111 @@ entities:
     - type: Transform
       pos: 3.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 584
     components:
     - type: Transform
       pos: 2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 590
     components:
     - type: Transform
       pos: 3.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 596
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 747
     components:
     - type: Transform
       pos: 3.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 810
     components:
     - type: Transform
       pos: 0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 811
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 812
     components:
     - type: Transform
       pos: -1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 813
     components:
     - type: Transform
       pos: -2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 814
     components:
     - type: Transform
       pos: -3.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
   - uid: 815
     components:
     - type: Transform
       pos: -4.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - RCDDeconstructable
 - proto: Chair
   entities:
   - uid: 592
@@ -2504,254 +3902,475 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -7.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 593
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -7.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 603
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -7.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 604
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -7.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 605
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -11.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 606
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -11.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 607
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -11.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 608
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -11.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 609
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 610
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 611
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 612
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 613
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 614
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 615
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 616
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 617
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 618
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 619
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 620
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 621
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 622
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 623
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 624
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 625
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 8.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 626
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 8.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 627
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 8.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 628
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 8.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 629
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 630
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 631
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 632
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 847
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -12.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 848
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -8.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 849
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -8.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 850
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -8.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: ChairOfficeDark
   entities:
-  - uid: 591
+  - uid: 18
     components:
     - type: Transform
+      anchored: True
       rot: 3.141592653589793 rad
       pos: 9.5,3.5
       parent: 818
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: ChairWood
   entities:
   - uid: 577
     components:
     - type: Transform
+      anchored: True
       pos: 10.5,1.5
       parent: 818
-  - uid: 703
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - Anchorable
+  - uid: 591
     components:
     - type: Transform
+      anchored: True
       rot: 1.5707963267948966 rad
       pos: 8.5,0.5
       parent: 818
-  - uid: 704
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - Anchorable
+  - uid: 703
     components:
     - type: Transform
+      anchored: True
       pos: 9.5,1.5
       parent: 818
-  - uid: 714
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - Anchorable
+  - uid: 704
     components:
     - type: Transform
+      anchored: True
       rot: 1.5707963267948966 rad
       pos: 8.5,-0.5
       parent: 818
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - Anchorable
 - proto: ChessBoard
   entities:
-  - uid: 918
+  - uid: 714
     components:
     - type: Transform
-      pos: 12.503689,-2.3981738
+      rot: 3.141592653589793 rad
+      pos: 12.5093775,-2.403601
       parent: 818
 - proto: ClosetWallEmergencyFilledRandom
   entities:
@@ -2760,6 +4379,10 @@ entities:
     - type: Transform
       pos: -5.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: ClosetWallFireFilledRandom
   entities:
   - uid: 432
@@ -2767,6 +4390,10 @@ entities:
     - type: Transform
       pos: 4.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: ComfyChair
   entities:
   - uid: 595
@@ -2775,28 +4402,53 @@ entities:
       rot: 3.141592653589793 rad
       pos: 6.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 718
     components:
     - type: Transform
       pos: 12.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 749
     components:
     - type: Transform
       pos: 12.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 759
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 12.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 760
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 12.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: DisposalBend
   entities:
   - uid: 853
@@ -2805,40 +4457,75 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -10.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 862
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -10.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 891
     components:
     - type: Transform
       pos: 3.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 893
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -4.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 898
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 9.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 899
     components:
     - type: Transform
       pos: 9.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 900
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 3.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: DisposalJunctionFlipped
   entities:
   - uid: 892
@@ -2847,6 +4534,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: 3.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: DisposalPipe
   entities:
   - uid: 854
@@ -2855,277 +4547,517 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -11.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 855
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 856
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 857
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 858
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 859
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 860
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 861
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 863
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 864
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -8.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 865
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 866
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -6.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 867
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -5.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 868
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -4.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 869
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 870
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -2.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 871
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -1.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 872
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 873
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 874
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 1.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 875
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 2.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 876
     components:
     - type: Transform
       pos: 3.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 877
     components:
     - type: Transform
       pos: 3.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 878
     components:
     - type: Transform
       pos: 3.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 879
     components:
     - type: Transform
       pos: 3.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 880
     components:
     - type: Transform
       pos: 3.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 881
     components:
     - type: Transform
       pos: 3.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 882
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 883
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 884
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 885
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 886
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 887
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -2.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 888
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -3.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 889
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -4.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 890
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -4.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 901
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 902
     components:
     - type: Transform
       pos: 9.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 903
     components:
     - type: Transform
       pos: 9.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 904
     components:
     - type: Transform
       pos: 9.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 905
     components:
     - type: Transform
       pos: 9.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 906
     components:
     - type: Transform
       pos: 9.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 907
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 8.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 908
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 7.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 909
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 6.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 910
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 5.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 911
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 4.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 912
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 3.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: DisposalTrunk
   entities:
   - uid: 852
@@ -3134,18 +5066,33 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -12.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 894
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -4.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 897
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 11.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: DisposalUnit
   entities:
   - uid: 851
@@ -3153,29 +5100,39 @@ entities:
     - type: Transform
       pos: -12.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - Anchorable
   - uid: 896
     components:
     - type: Transform
       pos: 11.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
+    - Anchorable
 - proto: DrinkGlass
   entities:
-  - uid: 915
+  - uid: 723
     components:
     - type: Transform
-      pos: -12.587411,2.5765429
+      pos: -12.618602,2.5336328
       parent: 818
-  - uid: 916
+  - uid: 915
     components:
     - type: Transform
-      pos: -12.321786,2.7171679
+      pos: -12.399852,2.6273828
       parent: 818
 - proto: DrinkShaker
   entities:
-  - uid: 914
+  - uid: 724
     components:
     - type: Transform
-      pos: -12.649911,2.7640429
+      pos: -12.722768,2.7627993
       parent: 818
 - proto: ExtinguisherCabinetFilled
   entities:
@@ -3184,11 +5141,17 @@ entities:
     - type: Transform
       pos: -6.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 816
     components:
     - type: Transform
       pos: 5.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: FirelockEdge
   entities:
   - uid: 690
@@ -3196,111 +5159,211 @@ entities:
     - type: Transform
       pos: -8.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 694
     components:
     - type: Transform
       pos: -12.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 695
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -8.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 696
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -12.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 697
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 7.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 698
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 11.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 699
     components:
     - type: Transform
       pos: 11.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 700
     components:
     - type: Transform
       pos: 7.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 822
     components:
     - type: Transform
       pos: 10.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 823
     components:
     - type: Transform
       pos: 9.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 824
     components:
     - type: Transform
       pos: 8.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 825
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 8.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 826
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 9.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 827
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 10.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 828
     components:
     - type: Transform
       pos: -9.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 829
     components:
     - type: Transform
       pos: -10.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 830
     components:
     - type: Transform
       pos: -11.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 831
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -11.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 832
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 833
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -9.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: FirelockGlass
   entities:
   - uid: 194
@@ -3308,51 +5371,101 @@ entities:
     - type: Transform
       pos: 5.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 216
     components:
     - type: Transform
       pos: -10.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 220
     components:
     - type: Transform
       pos: -9.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 305
     components:
     - type: Transform
       pos: -6.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 345
     components:
     - type: Transform
       pos: 5.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 346
     components:
     - type: Transform
       pos: 5.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 347
     components:
     - type: Transform
       pos: -6.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 348
     components:
     - type: Transform
       pos: -6.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 586
     components:
     - type: Transform
       pos: -11.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 716
     components:
     - type: Transform
       pos: -12.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: GeneratorBasic15kW
   entities:
   - uid: 124
@@ -3360,6 +5473,10 @@ entities:
     - type: Transform
       pos: -4.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Destructible
 - proto: GravityGeneratorMini
   entities:
   - uid: 808
@@ -3367,6 +5484,11 @@ entities:
     - type: Transform
       pos: 1.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
 - proto: Grille
   entities:
   - uid: 96
@@ -3374,479 +5496,918 @@ entities:
     - type: Transform
       pos: -14.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 97
     components:
     - type: Transform
       pos: -14.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 98
     components:
     - type: Transform
       pos: -14.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 99
     components:
     - type: Transform
       pos: -6.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 101
     components:
     - type: Transform
       pos: 5.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 102
     components:
     - type: Transform
       pos: 5.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 103
     components:
     - type: Transform
       pos: 13.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 104
     components:
     - type: Transform
       pos: 13.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 125
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 126
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 127
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -8.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 128
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -8.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 129
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 130
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -11.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 131
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -12.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 132
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -12.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 133
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 134
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 135
     components:
     - type: Transform
       pos: 5.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 136
     components:
     - type: Transform
       pos: 5.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 137
     components:
     - type: Transform
       pos: 13.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 138
     components:
     - type: Transform
       pos: 13.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 139
     components:
     - type: Transform
       pos: -14.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 140
     components:
     - type: Transform
       pos: -6.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 141
     components:
     - type: Transform
       pos: -6.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 142
     components:
     - type: Transform
       pos: -6.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 143
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 144
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 145
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 147
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 148
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 149
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 151
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 152
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 153
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 155
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 156
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 157
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 167
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 168
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 169
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 11.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 170
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 11.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 171
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 172
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 8.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 173
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 7.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 174
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 7.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 175
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 176
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 178
     components:
     - type: Transform
       pos: 3.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 183
     components:
     - type: Transform
       pos: -3.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 184
     components:
     - type: Transform
       pos: 4.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 191
     components:
     - type: Transform
       pos: -5.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 197
     components:
     - type: Transform
       pos: -4.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 229
     components:
     - type: Transform
       pos: 2.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 233
     components:
     - type: Transform
       pos: -8.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 234
     components:
     - type: Transform
       pos: 11.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 235
     components:
     - type: Transform
       pos: 7.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 244
     components:
     - type: Transform
       pos: -12.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 276
     components:
     - type: Transform
       pos: 13.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 277
     components:
     - type: Transform
       pos: 13.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 278
     components:
     - type: Transform
       pos: 13.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 279
     components:
     - type: Transform
       pos: 13.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 280
     components:
     - type: Transform
       pos: -14.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 281
     components:
     - type: Transform
       pos: -14.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 282
     components:
     - type: Transform
       pos: -14.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 283
     components:
     - type: Transform
       pos: -14.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 318
     components:
     - type: Transform
       pos: -13.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 319
     components:
     - type: Transform
       pos: -13.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 320
     components:
     - type: Transform
       pos: -12.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 321
     components:
     - type: Transform
       pos: -12.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 322
     components:
     - type: Transform
       pos: -11.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 323
     components:
     - type: Transform
       pos: -10.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 324
     components:
     - type: Transform
       pos: -9.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 325
     components:
     - type: Transform
       pos: -8.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 326
     components:
     - type: Transform
       pos: -8.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 327
     components:
     - type: Transform
       pos: -7.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 328
     components:
     - type: Transform
       pos: -7.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 329
     components:
     - type: Transform
       pos: 6.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 330
     components:
     - type: Transform
       pos: 6.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 331
     components:
     - type: Transform
       pos: 7.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 332
     components:
     - type: Transform
       pos: 7.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 333
     components:
     - type: Transform
       pos: 8.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 334
     components:
     - type: Transform
       pos: 9.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 335
     components:
     - type: Transform
       pos: 10.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 336
     components:
     - type: Transform
       pos: 11.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 337
     components:
     - type: Transform
       pos: 11.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 338
     components:
     - type: Transform
       pos: 12.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 339
     components:
     - type: Transform
       pos: 12.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
 - proto: PaperBin10
   entities:
-  - uid: 737
+  - uid: 729
     components:
     - type: Transform
-      rot: 3.141592653589793 rad
       pos: 8.5,4.5
       parent: 818
 - proto: PosterLegitCohibaRobustoAd
@@ -3856,6 +6417,9 @@ entities:
     - type: Transform
       pos: -6.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitEnlist
   entities:
   - uid: 926
@@ -3863,6 +6427,9 @@ entities:
     - type: Transform
       pos: -14.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitHighClassMartini
   entities:
   - uid: 925
@@ -3870,6 +6437,9 @@ entities:
     - type: Transform
       pos: -6.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitJustAWeekAway
   entities:
   - uid: 821
@@ -3877,6 +6447,9 @@ entities:
     - type: Transform
       pos: 5.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitNanomichiAd
   entities:
   - uid: 820
@@ -3884,6 +6457,9 @@ entities:
     - type: Transform
       pos: -4.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitNanotrasenLogo
   entities:
   - uid: 246
@@ -3891,36 +6467,57 @@ entities:
     - type: Transform
       pos: -7.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 247
     components:
     - type: Transform
       pos: -13.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 248
     components:
     - type: Transform
       pos: 12.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 249
     components:
     - type: Transform
       pos: 6.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 250
     components:
     - type: Transform
       pos: -13.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 251
     components:
     - type: Transform
       pos: 12.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 922
     components:
     - type: Transform
       pos: -0.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitNTTGC
   entities:
   - uid: 924
@@ -3928,6 +6525,9 @@ entities:
     - type: Transform
       pos: 5.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitPDAAd
   entities:
   - uid: 920
@@ -3935,6 +6535,9 @@ entities:
     - type: Transform
       pos: 12.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitVacation
   entities:
   - uid: 921
@@ -3942,6 +6545,9 @@ entities:
     - type: Transform
       pos: -7.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PosterLegitWorkForAFuture
   entities:
   - uid: 923
@@ -3949,6 +6555,9 @@ entities:
     - type: Transform
       pos: 12.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PottedPlantRandom
   entities:
   - uid: 236
@@ -3956,31 +6565,37 @@ entities:
     - type: Transform
       pos: 7.5,-19.5
       parent: 818
+    - type: Godmode
   - uid: 237
     components:
     - type: Transform
       pos: -12.5,-19.5
       parent: 818
+    - type: Godmode
   - uid: 238
     components:
     - type: Transform
       pos: 11.5,-19.5
       parent: 818
+    - type: Godmode
   - uid: 239
     components:
     - type: Transform
       pos: -8.5,-19.5
       parent: 818
+    - type: Godmode
   - uid: 733
     components:
     - type: Transform
       pos: -8.5,-5.5
       parent: 818
+    - type: Godmode
   - uid: 741
     components:
     - type: Transform
       pos: -7.5,-3.5
       parent: 818
+    - type: Godmode
 - proto: PottedPlantRandomPlastic
   entities:
   - uid: 708
@@ -3988,130 +6603,13 @@ entities:
     - type: Transform
       pos: -13.5,1.5
       parent: 818
+    - type: Godmode
   - uid: 755
     components:
     - type: Transform
       pos: -13.5,-3.5
       parent: 818
-- proto: Poweredlight
-  entities:
-  - uid: 150
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -8.5,-5.5
-      parent: 818
-  - uid: 188
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: 11.5,2.5
-      parent: 818
-  - uid: 195
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -2.5,-1.5
-      parent: 818
-  - uid: 209
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 7.5,-5.5
-      parent: 818
-  - uid: 341
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 1.5,-1.5
-      parent: 818
-  - uid: 634
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      pos: 9.5,-16.5
-      parent: 818
-  - uid: 636
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 9.5,-11.5
-      parent: 818
-  - uid: 649
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -10.5,-11.5
-      parent: 818
-  - uid: 650
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      pos: -10.5,-16.5
-      parent: 818
-  - uid: 687
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: -13.5,1.5
-      parent: 818
-  - uid: 701
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: -6.5,3.5
-      parent: 818
-  - uid: 702
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 3.141592653589793 rad
-      pos: 5.5,3.5
-      parent: 818
-  - uid: 715
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      pos: -0.5,5.5
-      parent: 818
-  - uid: 717
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: -1.5707963267948966 rad
-      pos: -7.5,-3.5
-      parent: 818
-  - uid: 742
-    components:
-    - type: MetaData
-      flags: PvsPriority
-    - type: Transform
-      rot: 1.5707963267948966 rad
-      pos: 6.5,-3.5
-      parent: 818
+    - type: Godmode
 - proto: RandomSpawner
   entities:
   - uid: 895
@@ -4119,32 +6617,7 @@ entities:
     - type: Transform
       pos: -4.5,4.5
       parent: 818
-- proto: RandomVending
-  entities:
-  - uid: 835
-    components:
-    - type: Transform
-      pos: 9.5,-20.5
-      parent: 818
-  - uid: 836
-    components:
-    - type: Transform
-      pos: -10.5,-20.5
-      parent: 818
-- proto: RandomVendingDrinks
-  entities:
-  - uid: 692
-    components:
-    - type: Transform
-      pos: 11.5,-5.5
-      parent: 818
-- proto: RandomVendingSnacks
-  entities:
-  - uid: 834
-    components:
-    - type: Transform
-      pos: 11.5,-6.5
-      parent: 818
+    - type: Godmode
 - proto: ReinforcedWindow
   entities:
   - uid: 19
@@ -4153,472 +6626,912 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -7.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 20
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -8.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 21
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -8.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 22
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -9.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 24
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 25
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -11.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 26
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -12.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 27
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -12.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 28
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 29
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 30
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 8.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 31
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 7.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 32
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 7.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 33
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 34
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 35
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 10.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 36
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 11.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 37
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 11.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 38
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-20.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 39
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-19.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 91
     components:
     - type: Transform
       pos: -14.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 93
     components:
     - type: Transform
       pos: -14.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 94
     components:
     - type: Transform
       pos: -6.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 95
     components:
     - type: Transform
       pos: -6.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 100
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 105
     components:
     - type: Transform
       pos: 5.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 106
     components:
     - type: Transform
       pos: 5.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 107
     components:
     - type: Transform
       pos: 13.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 108
     components:
     - type: Transform
       pos: 13.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 109
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 110
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 111
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 113
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 115
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 116
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 117
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 118
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 121
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 122
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 123
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 159
     components:
     - type: Transform
       pos: -14.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 160
     components:
     - type: Transform
       pos: -14.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 161
     components:
     - type: Transform
       pos: -6.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 162
     components:
     - type: Transform
       pos: -6.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 163
     components:
     - type: Transform
       pos: 5.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 164
     components:
     - type: Transform
       pos: 13.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 165
     components:
     - type: Transform
       pos: 5.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 166
     components:
     - type: Transform
       pos: 13.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 185
     components:
     - type: Transform
       pos: -5.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 186
     components:
     - type: Transform
       pos: 2.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 192
     components:
     - type: Transform
       pos: 4.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 196
     components:
     - type: Transform
       pos: 3.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 198
     components:
     - type: Transform
       pos: -3.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 232
     components:
     - type: Transform
       pos: -4.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 240
     components:
     - type: Transform
       pos: -12.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 241
     components:
     - type: Transform
       pos: 11.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 242
     components:
     - type: Transform
       pos: 7.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 243
     components:
     - type: Transform
       pos: -8.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 268
     components:
     - type: Transform
       pos: -14.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 269
     components:
     - type: Transform
       pos: -14.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 270
     components:
     - type: Transform
       pos: -14.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 271
     components:
     - type: Transform
       pos: -14.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 272
     components:
     - type: Transform
       pos: 13.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 273
     components:
     - type: Transform
       pos: 13.5,-1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 274
     components:
     - type: Transform
       pos: 13.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 275
     components:
     - type: Transform
       pos: 13.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 284
     components:
     - type: Transform
       pos: -13.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 285
     components:
     - type: Transform
       pos: -12.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 286
     components:
     - type: Transform
       pos: -10.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 287
     components:
     - type: Transform
       pos: -11.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 288
     components:
     - type: Transform
       pos: -8.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 289
     components:
     - type: Transform
       pos: -8.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 290
     components:
     - type: Transform
       pos: -12.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 291
     components:
     - type: Transform
       pos: -13.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 292
     components:
     - type: Transform
       pos: -9.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 293
     components:
     - type: Transform
       pos: 6.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 294
     components:
     - type: Transform
       pos: -7.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 295
     components:
     - type: Transform
       pos: -7.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 308
     components:
     - type: Transform
       pos: 6.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 309
     components:
     - type: Transform
       pos: 7.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 310
     components:
     - type: Transform
       pos: 7.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 311
     components:
     - type: Transform
       pos: 8.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 312
     components:
     - type: Transform
       pos: 9.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 313
     components:
     - type: Transform
       pos: 10.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 314
     components:
     - type: Transform
       pos: 11.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 315
     components:
     - type: Transform
       pos: 11.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 316
     components:
     - type: Transform
       pos: 12.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 317
     components:
     - type: Transform
       pos: 12.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
 - proto: SignNanotrasen1
   entities:
   - uid: 721
@@ -4626,6 +7539,9 @@ entities:
     - type: Transform
       pos: -2.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignNanotrasen2
   entities:
   - uid: 722
@@ -4633,6 +7549,9 @@ entities:
     - type: Transform
       pos: -1.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignNanotrasen3
   entities:
   - uid: 719
@@ -4640,6 +7559,9 @@ entities:
     - type: Transform
       pos: -0.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignNanotrasen4
   entities:
   - uid: 801
@@ -4647,6 +7569,9 @@ entities:
     - type: Transform
       pos: 0.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignNanotrasen5
   entities:
   - uid: 802
@@ -4654,6 +7579,9 @@ entities:
     - type: Transform
       pos: 1.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignNosmoking
   entities:
   - uid: 720
@@ -4661,6 +7589,9 @@ entities:
     - type: Transform
       pos: -7.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignShipDock
   entities:
   - uid: 200
@@ -4668,11 +7599,17 @@ entities:
     - type: Transform
       pos: 6.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 245
     components:
     - type: Transform
       pos: -7.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SignSpace
   entities:
   - uid: 571
@@ -4680,46 +7617,73 @@ entities:
     - type: Transform
       pos: 12.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 640
     components:
     - type: Transform
       pos: -7.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 688
     components:
     - type: Transform
       pos: -13.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 689
     components:
     - type: Transform
       pos: -7.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 691
     components:
     - type: Transform
       pos: -13.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 705
     components:
     - type: Transform
       pos: 12.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 709
     components:
     - type: Transform
       pos: 6.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 817
     components:
     - type: Transform
       pos: 6.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 819
     components:
     - type: Transform
       pos: 4.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SinkWide
   entities:
   - uid: 913
@@ -4728,6 +7692,9 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -12.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: SmallLight
   entities:
   - uid: 598
@@ -4736,52 +7703,102 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -8.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 641
     components:
     - type: Transform
       pos: -14.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 642
     components:
     - type: Transform
       pos: -6.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 643
     components:
     - type: Transform
       pos: -14.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 644
     components:
     - type: Transform
       pos: -6.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 645
     components:
     - type: Transform
       pos: 5.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 646
     components:
     - type: Transform
       pos: 13.5,-10.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 647
     components:
     - type: Transform
       pos: 13.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 648
     components:
     - type: Transform
       pos: 5.5,-17.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 917
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -0.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
 - proto: SMESBasic
   entities:
   - uid: 805
@@ -4789,13 +7806,24 @@ entities:
     - type: Transform
       pos: -2.5,8.5
       parent: 818
-- proto: soda_dispenser
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Destructible
+    - Construction
+- proto: SodaDispenser
   entities:
   - uid: 795
     components:
     - type: Transform
       pos: -10.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Anchorable
+    - Destructible
+    - Construction
 - proto: SpaceVillainArcadeFilled
   entities:
   - uid: 731
@@ -4804,12 +7832,24 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -13.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Anchorable
+    - Construction
+    - Destructible
   - uid: 732
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - ApcPowerReceiver
+    - Anchorable
+    - Construction
+    - Destructible
 - proto: SpawnPointLatejoin
   entities:
   - uid: 763
@@ -4817,161 +7857,193 @@ entities:
     - type: Transform
       pos: -7.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 764
     components:
     - type: Transform
       pos: -7.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 765
     components:
     - type: Transform
       pos: -7.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 766
     components:
     - type: Transform
       pos: -7.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 767
     components:
     - type: Transform
       pos: -9.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 768
     components:
     - type: Transform
       pos: -9.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 769
     components:
     - type: Transform
       pos: -9.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 770
     components:
     - type: Transform
       pos: -9.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 771
     components:
     - type: Transform
       pos: -11.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 772
     components:
     - type: Transform
       pos: -11.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 773
     components:
     - type: Transform
       pos: -11.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 774
     components:
     - type: Transform
       pos: -11.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 775
     components:
     - type: Transform
       pos: -13.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 776
     components:
     - type: Transform
       pos: -13.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 777
     components:
     - type: Transform
       pos: -13.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 778
     components:
     - type: Transform
       pos: -13.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 779
     components:
     - type: Transform
       pos: 6.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 780
     components:
     - type: Transform
       pos: 6.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 781
     components:
     - type: Transform
       pos: 6.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 782
     components:
     - type: Transform
       pos: 6.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 783
     components:
     - type: Transform
       pos: 8.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 784
     components:
     - type: Transform
       pos: 8.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 785
     components:
     - type: Transform
       pos: 8.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 786
     components:
     - type: Transform
       pos: 8.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 787
     components:
     - type: Transform
       pos: 10.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 788
     components:
     - type: Transform
       pos: 10.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 789
     components:
     - type: Transform
       pos: 10.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 790
     components:
     - type: Transform
       pos: 10.5,-12.5
       parent: 818
+    - type: Godmode
   - uid: 791
     components:
     - type: Transform
       pos: 12.5,-15.5
       parent: 818
+    - type: Godmode
   - uid: 792
     components:
     - type: Transform
       pos: 12.5,-14.5
       parent: 818
+    - type: Godmode
   - uid: 793
     components:
     - type: Transform
       pos: 12.5,-13.5
       parent: 818
+    - type: Godmode
   - uid: 794
     components:
     - type: Transform
       pos: 12.5,-12.5
       parent: 818
+    - type: Godmode
 - proto: SS13Memorial
   entities:
   - uid: 594
@@ -4979,56 +8051,121 @@ entities:
     - type: Transform
       pos: -0.5,4.5
       parent: 818
+    - type: Godmode
 - proto: Stool
   entities:
   - uid: 119
     components:
     - type: Transform
+      anchored: True
       rot: 3.141592653589793 rad
       pos: -11.5,-20.5
       parent: 818
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 639
     components:
     - type: Transform
+      anchored: True
       rot: 3.141592653589793 rad
       pos: -9.5,-20.5
       parent: 818
-  - uid: 723
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
+  - uid: 730
     components:
     - type: Transform
+      anchored: True
       rot: 3.141592653589793 rad
-      pos: 10.5,-20.5
+      pos: 8.5,-20.5
       parent: 818
-  - uid: 724
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
+  - uid: 737
     components:
     - type: Transform
+      anchored: True
       rot: 3.141592653589793 rad
-      pos: 8.5,-20.5
+      pos: 10.5,-20.5
       parent: 818
-  - uid: 729
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
+  - uid: 738
     components:
     - type: Transform
+      anchored: True
       rot: -1.5707963267948966 rad
-      pos: -12.5,-1.5
+      pos: -12.5,-0.5
       parent: 818
-  - uid: 730
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
+  - uid: 740
     components:
     - type: Transform
+      anchored: True
       rot: -1.5707963267948966 rad
-      pos: -12.5,-2.5
+      pos: -12.5,0.5
       parent: 818
-  - uid: 738
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
+  - uid: 761
     components:
     - type: Transform
+      anchored: True
       rot: -1.5707963267948966 rad
-      pos: -12.5,-0.5
+      pos: -12.5,-1.5
       parent: 818
-  - uid: 740
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
+  - uid: 914
     components:
     - type: Transform
+      anchored: True
       rot: -1.5707963267948966 rad
-      pos: -12.5,0.5
+      pos: -12.5,-2.5
       parent: 818
+    - type: Physics
+      bodyType: Static
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: StoolBar
   entities:
   - uid: 230
@@ -5037,18 +8174,33 @@ entities:
       rot: 3.141592653589793 rad
       pos: -9.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 342
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -11.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 433
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: SubstationBasic
   entities:
   - uid: 807
@@ -5056,6 +8208,11 @@ entities:
     - type: Transform
       pos: -0.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
 - proto: TableCarpet
   entities:
   - uid: 572
@@ -5063,21 +8220,37 @@ entities:
     - type: Transform
       pos: 9.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 573
     components:
     - type: Transform
       pos: 9.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 574
     components:
     - type: Transform
       pos: 10.5,-0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 576
     components:
     - type: Transform
       pos: 10.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: TableReinforced
   entities:
   - uid: 585
@@ -5086,36 +8259,60 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -9.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 707
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 751
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -11.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 796
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 797
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -12.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 798
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -11.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: TableWood
   entities:
   - uid: 441
@@ -5123,31 +8320,55 @@ entities:
     - type: Transform
       pos: 12.5,0.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 575
     components:
     - type: Transform
       pos: 6.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 587
     components:
     - type: Transform
       pos: 12.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 706
     components:
     - type: Transform
       pos: 9.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 750
     components:
     - type: Transform
       pos: 10.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 756
     components:
     - type: Transform
       pos: 8.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: TelecomServerFilled
   entities:
   - uid: 919
@@ -5155,972 +8376,1162 @@ entities:
     - type: Transform
       pos: -1.5,8.5
       parent: 818
+    - type: EncryptionKeyHolder
+      keysUnlocked: False
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - ApcPowerReceiver
+    - Anchorable
+    - Construction
 - proto: VendingMachineBooze
   entities:
   - uid: 753
     components:
-    - type: MetaData
-      flags: SessionSpecific
     - type: Transform
       pos: -9.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - ApcPowerReceiver
+- proto: VendingMachineChang
+  entities:
+  - uid: 692
+    components:
+    - type: Transform
+      pos: 9.5,-20.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
 - proto: VendingMachineCigs
   entities:
   - uid: 744
     components:
-    - type: MetaData
-      flags: SessionSpecific
     - type: Transform
       pos: -7.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - ApcPowerReceiver
 - proto: VendingMachineCola
   entities:
   - uid: 635
     components:
-    - type: MetaData
-      flags: SessionSpecific
     - type: Transform
       pos: -12.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - ApcPowerReceiver
+- proto: VendingMachineColaBlack
+  entities:
+  - uid: 834
+    components:
+    - type: Transform
+      pos: -10.5,-20.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+- proto: VendingMachineDiscount
+  entities:
+  - uid: 836
+    components:
+    - type: Transform
+      pos: 11.5,-6.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+- proto: VendingMachineDrGibb
+  entities:
+  - uid: 835
+    components:
+    - type: Transform
+      pos: 11.5,-5.5
+      parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
 - proto: VendingMachineGames
   entities:
   - uid: 748
     components:
-    - type: MetaData
-      flags: SessionSpecific
     - type: Transform
       pos: 6.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - ApcPowerReceiver
 - proto: VendingMachineSnack
   entities:
   - uid: 637
     components:
-    - type: MetaData
-      flags: SessionSpecific
     - type: Transform
       pos: -12.5,-6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - ApcPowerReceiver
 - proto: WallRiveted
   entities:
   - uid: 10
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 23
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -10.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 40
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 9.5,-21.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 41
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 42
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 5.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 43
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 4.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 44
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 45
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 13.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 46
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 14.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 47
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -5.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 48
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -6.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 49
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 50
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 51
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -14.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 52
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -15.5,-18.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 53
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 54
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -14.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 55
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -15.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 56
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 57
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -6.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 58
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -5.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 59
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -5.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 60
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -6.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 61
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 62
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 63
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -14.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 64
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -15.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 65
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 66
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -14.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 67
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -15.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 68
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 69
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -6.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 70
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -5.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 71
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 72
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 13.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 73
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 14.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 74
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 14.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 75
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 13.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 76
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 77
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 14.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 78
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 13.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 79
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 80
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 81
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 5.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 82
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 4.5,-9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 83
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 84
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 5.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 85
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 4.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 86
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 6.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 87
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 5.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 88
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 4.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 89
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -7.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 90
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -13.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 92
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 12.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 112
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 6.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 114
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -13.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 120
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 5.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 154
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 12.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 158
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -7.5,-5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 179
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -2.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 180
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 5.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 182
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 1.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 187
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -6.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 189
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 5.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 190
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 1.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 193
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 5.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 199
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -6.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 202
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -6.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 207
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -6.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 217
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -4.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 222
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -2.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 223
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -0.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 225
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -1.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 231
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -4.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 258
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -14.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 259
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 13.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 260
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 13.5,-4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 261
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -14.5,-3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 262
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 13.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 263
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 13.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 264
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 12.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 265
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -14.5,1.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 266
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -14.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 267
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -13.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 304
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -7.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 306
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -6.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 307
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 6.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 340
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 5.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 343
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 0.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 351
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -3.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 401
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 403
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 405
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -1.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 406
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 407
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 2.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 408
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 2.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 409
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 2.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 414
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 3.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 420
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 2.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 578
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -3.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 581
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -3.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 582
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -3.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 583
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -3.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 588
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -2.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 602
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 0.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 693
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 1.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 711
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -1.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 712
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -0.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 713
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 0.5,-2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 725
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 726
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 736
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 739
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 743
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 745
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 746
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 2.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 754
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,7.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 757
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 758
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 762
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,5.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 799
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: 4.5,4.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 800
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -5.5,9.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
   - uid: 804
     components:
-    - type: MetaData
-      flags: PvsPriority
     - type: Transform
       pos: -0.5,6.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: WarpPoint
   entities:
   - uid: 638
@@ -6130,6 +9541,7 @@ entities:
       parent: 818
     - type: WarpPoint
       location: Terminal
+    - type: Godmode
 - proto: Windoor
   entities:
   - uid: 806
@@ -6137,11 +9549,21 @@ entities:
     - type: Transform
       pos: -8.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
   - uid: 841
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
 - proto: WindowReinforcedDirectional
   entities:
   - uid: 181
@@ -6150,198 +9572,373 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -9.5,2.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 204
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 600
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,8.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 659
     components:
     - type: Transform
       pos: 9.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 660
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 9.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 661
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 9.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 662
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 9.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 663
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 9.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 664
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 9.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 665
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 9.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 666
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 9.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 667
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 9.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 668
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 9.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 669
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -10.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 670
     components:
     - type: Transform
       pos: -10.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 671
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 672
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 673
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 674
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -10.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 675
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -10.5,-12.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 676
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -10.5,-13.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 677
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -10.5,-14.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 678
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -10.5,-15.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 679
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -9.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 680
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -11.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 681
     components:
     - type: Transform
       pos: -11.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 682
     components:
     - type: Transform
       pos: -9.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 683
     components:
     - type: Transform
       pos: 10.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 684
     components:
     - type: Transform
       pos: 8.5,-11.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 685
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 8.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 686
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 10.5,-16.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 837
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 838
     components:
     - type: Transform
       pos: 0.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 839
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 840
     components:
     - type: Transform
       pos: -1.5,3.5
       parent: 818
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 ...
diff --git a/Resources/Prototypes/Entities/Structures/Power/cable_terminal.yml b/Resources/Prototypes/Entities/Structures/Power/cable_terminal.yml
index 8c7ee9e2194..cc6abce25ed 100644
--- a/Resources/Prototypes/Entities/Structures/Power/cable_terminal.yml
+++ b/Resources/Prototypes/Entities/Structures/Power/cable_terminal.yml
@@ -45,3 +45,11 @@
         powerMV:
           !type:CableTerminalNode
           nodeGroupID: MVPower
+
+- type: entity
+  id: CableTerminalUncuttable
+  parent: CableTerminal
+  suffix: uncuttable
+  components:
+  - type: Cable
+    cuttingQuality: null
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/Power/cables.yml b/Resources/Prototypes/Entities/Structures/Power/cables.yml
index ac855a54606..f1ae038bc15 100644
--- a/Resources/Prototypes/Entities/Structures/Power/cables.yml
+++ b/Resources/Prototypes/Entities/Structures/Power/cables.yml
@@ -98,6 +98,14 @@
     sound:
       path: /Audio/Ambience/Objects/emf_buzz.ogg
 
+- type: entity
+  id: CableHVUncuttable
+  parent: CableHV
+  suffix: uncuttable
+  components:
+  - type: Cable
+    cuttingQuality: null
+
 - type: entity
   parent: CableBase
   id: CableMV
@@ -142,6 +150,14 @@
   - type: CableVisualizer
     statePrefix: mvcable_
 
+- type: entity
+  id: CableMVUncuttable
+  parent: CableMV
+  suffix: uncuttable
+  components:
+  - type: Cable
+    cuttingQuality: null
+
 - type: entity
   parent: CableBase
   id: CableApcExtension
@@ -188,3 +204,11 @@
         acts: [ "Destruction" ]
   - type: CableVisualizer
     statePrefix: lvcable_
+
+- type: entity
+  id: CableApcExtensionUncuttable
+  parent: CableApcExtension
+  suffix: uncuttable
+  components:
+  - type: Cable
+    cuttingQuality: null

From 9a898bb98ed6527f17fc95019aaaeaca941900fb Mon Sep 17 00:00:00 2001
From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
Date: Sat, 23 Nov 2024 10:14:13 -0500
Subject: [PATCH 185/187] babyproof arrivals shuttle (#33284)

* babyproof arrivals shuttle

* always powered lights

* uncuttable cables from terminal PR.

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---
 Resources/Maps/Shuttles/arrivals.yml | 1363 ++++++++++++++++++++++++--
 1 file changed, 1260 insertions(+), 103 deletions(-)

diff --git a/Resources/Maps/Shuttles/arrivals.yml b/Resources/Maps/Shuttles/arrivals.yml
index b4609e1b0ae..3c853ef7395 100644
--- a/Resources/Maps/Shuttles/arrivals.yml
+++ b/Resources/Maps/Shuttles/arrivals.yml
@@ -192,13 +192,17 @@ entities:
     - type: RadiationGridResistance
     - type: SpreaderGrid
     - type: GridPathfinding
+    - type: Godmode
 - proto: AirCanister
   entities:
   - uid: 214
     components:
     - type: Transform
+      anchored: True
       pos: -1.5,7.5
       parent: 292
+    - type: Physics
+      bodyType: Static
 - proto: AirlockCommandGlassLocked
   entities:
   - uid: 278
@@ -208,6 +212,11 @@ entities:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: AirlockGlassShuttle
   entities:
   - uid: 177
@@ -217,11 +226,16 @@ entities:
       pos: 3.5,-2.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -336.60016
+      secondsUntilStateChange: -623.03485
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 178
     components:
     - type: Transform
@@ -229,11 +243,16 @@ entities:
       pos: 3.5,4.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -338.3335
+      secondsUntilStateChange: -624.7682
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 179
     components:
     - type: Transform
@@ -241,11 +260,16 @@ entities:
       pos: -4.5,4.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -332.80017
+      secondsUntilStateChange: -619.23486
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 180
     components:
     - type: Transform
@@ -253,11 +277,16 @@ entities:
       pos: -4.5,-2.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -334.70016
+      secondsUntilStateChange: -621.1349
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: APCBasic
   entities:
   - uid: 116
@@ -266,6 +295,13 @@ entities:
       rot: 3.141592653589793 rad
       pos: -0.5,3.5
       parent: 292
+    - type: BatterySelfRecharger
+      autoRechargeRate: 50000
+      autoRecharge: True
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
 - proto: ArrivalsShuttleTimer
   entities:
   - uid: 294
@@ -273,11 +309,17 @@ entities:
     - type: Transform
       pos: -4.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
   - uid: 295
     components:
     - type: Transform
       pos: 3.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
 - proto: AtmosDeviceFanDirectional
   entities:
   - uid: 164
@@ -286,24 +328,28 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -4.5,4.5
       parent: 292
+    - type: Godmode
   - uid: 165
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 3.5,4.5
       parent: 292
+    - type: Godmode
   - uid: 166
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 3.5,-2.5
       parent: 292
+    - type: Godmode
   - uid: 167
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -4.5,-2.5
       parent: 292
+    - type: Godmode
 - proto: BlockGameArcade
   entities:
   - uid: 258
@@ -312,418 +358,747 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -1.5,-1.5
       parent: 292
-- proto: CableApcExtension
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Construction
+    - Destructible
+- proto: CableApcExtensionUncuttable
   entities:
   - uid: 123
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 124
     components:
     - type: Transform
       pos: -0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 125
     components:
     - type: Transform
       pos: -1.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 126
     components:
     - type: Transform
       pos: -2.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 127
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 128
     components:
     - type: Transform
       pos: -2.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 129
     components:
     - type: Transform
       pos: -2.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 130
     components:
     - type: Transform
       pos: -2.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 131
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 132
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 133
     components:
     - type: Transform
       pos: -2.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 134
     components:
     - type: Transform
       pos: -1.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 135
     components:
     - type: Transform
       pos: -0.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 136
     components:
     - type: Transform
       pos: 0.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 137
     components:
     - type: Transform
       pos: 1.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 138
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 139
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 140
     components:
     - type: Transform
       pos: 1.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 141
     components:
     - type: Transform
       pos: 1.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 142
     components:
     - type: Transform
       pos: 1.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 143
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 144
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 145
     components:
     - type: Transform
       pos: 0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 146
     components:
     - type: Transform
       pos: -0.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 147
     components:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 148
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 149
     components:
     - type: Transform
       pos: -0.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 150
     components:
     - type: Transform
       pos: -1.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 151
     components:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 152
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 153
     components:
     - type: Transform
       pos: 1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 154
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 155
     components:
     - type: Transform
       pos: -2.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 156
     components:
     - type: Transform
       pos: -2.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 157
     components:
     - type: Transform
       pos: 1.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 158
     components:
     - type: Transform
       pos: -1.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 159
     components:
     - type: Transform
       pos: 0.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 160
     components:
     - type: Transform
       pos: -3.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 161
     components:
     - type: Transform
       pos: 2.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 162
     components:
     - type: Transform
       pos: 2.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 163
     components:
     - type: Transform
       pos: -3.5,-2.5
       parent: 292
-- proto: CableHV
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
+- proto: CableHVUncuttable
   entities:
   - uid: 79
     components:
     - type: Transform
       pos: 0.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 80
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 81
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 82
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 83
     components:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 85
     components:
     - type: Transform
       pos: -0.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 86
     components:
     - type: Transform
       pos: -0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 87
     components:
     - type: Transform
       pos: -1.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 88
     components:
     - type: Transform
       pos: -2.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 89
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 90
     components:
     - type: Transform
       pos: -2.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 91
     components:
     - type: Transform
       pos: -2.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 92
     components:
     - type: Transform
       pos: -2.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 93
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 94
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 95
     components:
     - type: Transform
       pos: -2.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 96
     components:
     - type: Transform
       pos: -1.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 97
     components:
     - type: Transform
       pos: -0.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 98
     components:
     - type: Transform
       pos: 0.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 99
     components:
     - type: Transform
       pos: 1.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 100
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 101
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 102
     components:
     - type: Transform
       pos: 1.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 103
     components:
     - type: Transform
       pos: 1.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 104
     components:
     - type: Transform
       pos: 1.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 105
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 106
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 107
     components:
     - type: Transform
       pos: 0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 108
     components:
     - type: Transform
       pos: -1.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 109
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 110
     components:
     - type: Transform
       pos: -1.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 111
     components:
     - type: Transform
       pos: 0.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 112
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 113
     components:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
-- proto: CableMV
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
+- proto: CableMVUncuttable
   entities:
   - uid: 117
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 118
     components:
     - type: Transform
       pos: 1.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 119
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 120
     components:
     - type: Transform
       pos: 0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 121
     components:
     - type: Transform
       pos: -0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
   - uid: 122
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 292
-- proto: CableTerminal
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - RCDDeconstructable
+- proto: CableTerminalUncuttable
   entities:
   - uid: 84
     components:
@@ -731,6 +1106,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -0.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Destructible
+    - Construction
 - proto: ChairPilotSeat
   entities:
   - uid: 223
@@ -739,112 +1119,207 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 2.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 224
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 225
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 226
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 227
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 228
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 229
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 230
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 231
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 232
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 233
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 234
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 235
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 236
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 237
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 238
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 239
     components:
     - type: Transform
       pos: 1.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 240
     components:
     - type: Transform
       pos: -2.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 241
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -0.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: ClosetEmergencyFilledRandom
   entities:
   - uid: 252
@@ -852,72 +1327,18 @@ entities:
     - type: Transform
       pos: 0.5,5.5
       parent: 292
-    - type: EntityStorage
-      air:
-        volume: 200
-        immutable: False
-        temperature: 293.14963
-        moles:
-        - 1.7459903
-        - 6.568249
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-  - uid: 260
+  - uid: 253
     components:
     - type: Transform
       pos: -2.5,-3.5
       parent: 292
-    - type: EntityStorage
-      air:
-        volume: 200
-        immutable: False
-        temperature: 293.14963
-        moles:
-        - 1.7459903
-        - 6.568249
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
 - proto: ClosetFireFilled
   entities:
-  - uid: 253
+  - uid: 260
     components:
     - type: Transform
       pos: -1.5,5.5
       parent: 292
-    - type: EntityStorage
-      air:
-        volume: 200
-        immutable: False
-        temperature: 293.14963
-        moles:
-        - 1.7459903
-        - 6.568249
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
-        - 0
 - proto: ClosetWallEmergencyFilledRandom
   entities:
   - uid: 288
@@ -944,6 +1365,10 @@ entities:
         - 0
         - 0
         - 0
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 289
     components:
     - type: Transform
@@ -967,6 +1392,10 @@ entities:
         - 0
         - 0
         - 0
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: ClosetWallFireFilledRandom
   entities:
   - uid: 286
@@ -992,6 +1421,10 @@ entities:
         - 0
         - 0
         - 0
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 287
     components:
     - type: Transform
@@ -1016,40 +1449,28 @@ entities:
         - 0
         - 0
         - 0
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: ClothingBackpack
   entities:
-  - uid: 275
+  - uid: 266
     components:
     - type: Transform
-      pos: 2.5,5.5
+      pos: 2.5277145,5.600461
       parent: 292
-    - type: GroupExamine
-      group:
-      - hoverMessage: ""
-        contextText: verb-examine-group-other
-        icon: /Textures/Interface/examine-star.png
-        components:
-        - Armor
-        - ClothingSpeedModifier
-        entries:
-        - message: >-
-            It provides the following protection:
-
-            - [color=orange]Explosion[/color] damage [color=white]to contents[/color] reduced by [color=lightblue]10%[/color].
-          priority: 0
-          component: Armor
-        title: null
 - proto: ClothingMaskBreath
   entities:
-  - uid: 272
+  - uid: 267
     components:
     - type: Transform
-      pos: 2.5,-3.5
+      pos: 2.4086668,-3.4828715
       parent: 292
-  - uid: 273
+  - uid: 274
     components:
     - type: Transform
-      pos: -3.5,-3.5
+      pos: -3.6032372,-3.4947772
       parent: 292
 - proto: ComputerShuttle
   entities:
@@ -1058,24 +1479,29 @@ entities:
     - type: Transform
       pos: -0.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: CrowbarRed
   entities:
-  - uid: 274
+  - uid: 293
     components:
     - type: Transform
-      pos: 0.5,-3.5
+      pos: 0.45628688,-3.5066814
       parent: 292
 - proto: EmergencyOxygenTankFilled
   entities:
-  - uid: 270
+  - uid: 268
     components:
     - type: Transform
-      pos: 2.5708976,-3.5851696
+      pos: -3.2460945,-3.6614437
       parent: 292
-  - uid: 271
+  - uid: 269
     components:
     - type: Transform
-      pos: -3.4291024,-3.5851696
+      pos: 2.7300956,-3.6138248
       parent: 292
 - proto: ExtinguisherCabinetFilled
   entities:
@@ -1084,6 +1510,9 @@ entities:
     - type: Transform
       pos: -0.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: GasPassiveGate
   entities:
   - uid: 184
@@ -1091,6 +1520,11 @@ entities:
     - type: Transform
       pos: -0.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GasPipeBend
   entities:
   - uid: 182
@@ -1099,34 +1533,64 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -1.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 183
     components:
     - type: Transform
       pos: -0.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 187
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -2.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 188
     components:
     - type: Transform
       pos: 1.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 189
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 1.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 190
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -2.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GasPipeFourway
   entities:
   - uid: 186
@@ -1134,6 +1598,11 @@ entities:
     - type: Transform
       pos: -0.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GasPipeStraight
   entities:
   - uid: 185
@@ -1141,110 +1610,215 @@ entities:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 192
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 193
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -1.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 194
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -1.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 195
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 196
     components:
     - type: Transform
       pos: 1.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 197
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 198
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 199
     components:
     - type: Transform
       pos: 1.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 200
     components:
     - type: Transform
       pos: 1.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 201
     components:
     - type: Transform
       pos: 1.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 202
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 203
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 204
     components:
     - type: Transform
       pos: -2.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 205
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 206
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 207
     components:
     - type: Transform
       pos: -2.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 208
     components:
     - type: Transform
       pos: -2.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 209
     components:
     - type: Transform
       pos: -2.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 210
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 211
     components:
     - type: Transform
       pos: -2.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GasPipeTJunction
   entities:
   - uid: 191
@@ -1253,6 +1827,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: -0.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GasPort
   entities:
   - uid: 181
@@ -1261,6 +1840,11 @@ entities:
       rot: 3.141592653589793 rad
       pos: -1.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GasVentPump
   entities:
   - uid: 212
@@ -1268,12 +1852,22 @@ entities:
     - type: Transform
       pos: -0.5,-2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 213
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -0.5,4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GeneratorBasic15kW
   entities:
   - uid: 114
@@ -1281,11 +1875,19 @@ entities:
     - type: Transform
       pos: -1.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Destructible
   - uid: 115
     components:
     - type: Transform
       pos: 0.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Destructible
 - proto: GeneratorWallmountAPU
   entities:
   - uid: 78
@@ -1293,6 +1895,11 @@ entities:
     - type: Transform
       pos: 1.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: GravityGeneratorMini
   entities:
   - uid: 291
@@ -1300,6 +1907,11 @@ entities:
     - type: Transform
       pos: -2.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
 - proto: Grille
   entities:
   - uid: 44
@@ -1307,116 +1919,231 @@ entities:
     - type: Transform
       pos: 3.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 52
     components:
     - type: Transform
       pos: 3.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 53
     components:
     - type: Transform
       pos: 3.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 54
     components:
     - type: Transform
       pos: 3.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 55
     components:
     - type: Transform
       pos: -4.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 56
     components:
     - type: Transform
       pos: -4.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 57
     components:
     - type: Transform
       pos: -4.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 58
     components:
     - type: Transform
       pos: -4.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 59
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 60
     components:
     - type: Transform
       pos: -2.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 61
     components:
     - type: Transform
       pos: 1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 62
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 63
     components:
     - type: Transform
       pos: 0.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 64
     components:
     - type: Transform
       pos: -1.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 65
     components:
     - type: Transform
       pos: -2.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 66
     components:
     - type: Transform
       pos: -2.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 67
     components:
     - type: Transform
       pos: -1.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 68
     components:
     - type: Transform
       pos: -1.5,10.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 69
     components:
     - type: Transform
       pos: -0.5,10.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 70
     components:
     - type: Transform
       pos: 0.5,10.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 71
     components:
     - type: Transform
       pos: 0.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 72
     components:
     - type: Transform
       pos: 1.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
   - uid: 73
     components:
     - type: Transform
       pos: 1.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - RCDDeconstructable
+    - Construction
+    - Destructible
 - proto: Gyroscope
   entities:
   - uid: 168
@@ -1424,6 +2151,11 @@ entities:
     - type: Transform
       pos: 1.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
 - proto: IntercomCommon
   entities:
   - uid: 264
@@ -1431,6 +2163,12 @@ entities:
     - type: Transform
       pos: -0.5,-1.5
       parent: 292
+    - type: EncryptionKeyHolder
+      keysUnlocked: False
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Destructible
 - proto: MaintenanceFluffSpawner
   entities:
   - uid: 284
@@ -1438,29 +2176,31 @@ entities:
     - type: Transform
       pos: 0.5,3.5
       parent: 292
+    - type: Godmode
   - uid: 285
     components:
     - type: Transform
       pos: -1.5,3.5
       parent: 292
+    - type: Godmode
 - proto: MedkitFilled
   entities:
-  - uid: 266
+  - uid: 276
     components:
     - type: Transform
-      pos: -0.5,-3.5
+      pos: -0.4960943,-3.4828715
       parent: 292
 - proto: NitrogenTankFilled
   entities:
-  - uid: 268
+  - uid: 271
     components:
     - type: Transform
-      pos: -3.5,-3.5
+      pos: -3.4365704,-3.590015
       parent: 292
-  - uid: 269
+  - uid: 273
     components:
     - type: Transform
-      pos: 2.5,-3.5
+      pos: 2.563429,-3.566205
       parent: 292
 - proto: PosterLegitNanotrasenLogo
   entities:
@@ -1469,6 +2209,9 @@ entities:
     - type: Transform
       pos: -2.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
 - proto: PottedPlantRandom
   entities:
   - uid: 254
@@ -1476,21 +2219,25 @@ entities:
     - type: Transform
       pos: 2.5,-1.5
       parent: 292
+    - type: Godmode
   - uid: 255
     components:
     - type: Transform
       pos: 2.5,3.5
       parent: 292
+    - type: Godmode
   - uid: 256
     components:
     - type: Transform
       pos: -3.5,3.5
       parent: 292
+    - type: Godmode
   - uid: 257
     components:
     - type: Transform
       pos: -3.5,-1.5
       parent: 292
+    - type: Godmode
 - proto: PowerCellRecharger
   entities:
   - uid: 265
@@ -1498,7 +2245,12 @@ entities:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
-- proto: Poweredlight
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Destructible
+    - Construction
+- proto: AlwaysPoweredWallLight
   entities:
   - uid: 279
     components:
@@ -1508,6 +2260,11 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 280
     components:
     - type: Transform
@@ -1516,6 +2273,11 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 281
     components:
     - type: Transform
@@ -1524,6 +2286,11 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 282
     components:
     - type: Transform
@@ -1532,6 +2299,11 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 283
     components:
     - type: Transform
@@ -1540,6 +2312,11 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 - proto: Rack
   entities:
   - uid: 262
@@ -1547,11 +2324,21 @@ entities:
     - type: Transform
       pos: 2.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
   - uid: 263
     components:
     - type: Transform
       pos: -3.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - Anchorable
+    - Destructible
 - proto: ShuttleWindow
   entities:
   - uid: 28
@@ -1559,116 +2346,231 @@ entities:
     - type: Transform
       pos: 3.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 29
     components:
     - type: Transform
       pos: 3.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 30
     components:
     - type: Transform
       pos: 3.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 31
     components:
     - type: Transform
       pos: 3.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 32
     components:
     - type: Transform
       pos: -4.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 33
     components:
     - type: Transform
       pos: -4.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 34
     components:
     - type: Transform
       pos: -4.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 35
     components:
     - type: Transform
       pos: -4.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 36
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 37
     components:
     - type: Transform
       pos: -2.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 38
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 39
     components:
     - type: Transform
       pos: 1.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 40
     components:
     - type: Transform
       pos: 0.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 41
     components:
     - type: Transform
       pos: -1.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 42
     components:
     - type: Transform
       pos: -2.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 43
     components:
     - type: Transform
       pos: -1.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 45
     components:
     - type: Transform
       pos: -2.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 46
     components:
     - type: Transform
       pos: -1.5,10.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 47
     components:
     - type: Transform
       pos: -0.5,10.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 48
     components:
     - type: Transform
       pos: 0.5,10.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 49
     components:
     - type: Transform
       pos: 0.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 50
     components:
     - type: Transform
       pos: 1.5,9.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
   - uid: 51
     components:
     - type: Transform
       pos: 1.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
+    - RCDDeconstructable
 - proto: SMESBasic
   entities:
   - uid: 76
@@ -1676,6 +2578,11 @@ entities:
     - type: Transform
       pos: 0.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Destructible
+    - Construction
 - proto: SpaceVillainArcadeFilled
   entities:
   - uid: 259
@@ -1684,6 +2591,11 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 0.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Anchorable
+    - Construction
+    - Destructible
 - proto: SubstationWallBasic
   entities:
   - uid: 77
@@ -1691,6 +2603,10 @@ entities:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: TableReinforced
   entities:
   - uid: 243
@@ -1698,46 +2614,82 @@ entities:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 244
     components:
     - type: Transform
       pos: -1.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 245
     components:
     - type: Transform
       pos: 0.5,8.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 246
     components:
     - type: Transform
       pos: -0.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 247
     components:
     - type: Transform
       pos: -1.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 248
     components:
     - type: Transform
       pos: 0.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 249
     components:
     - type: Transform
       pos: -1.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 250
     components:
     - type: Transform
       pos: 2.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 251
     components:
     - type: Transform
       pos: -3.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: Thruster
   entities:
   - uid: 169
@@ -1745,58 +2697,103 @@ entities:
     - type: Transform
       pos: 2.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 170
     components:
     - type: Transform
       pos: -3.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 171
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -1.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 172
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -2.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 173
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 1.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 174
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 0.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 175
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
   - uid: 176
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
+    - Construction
 - proto: ToolboxEmergencyFilled
   entities:
-  - uid: 267
+  - uid: 270
     components:
     - type: Transform
-      pos: -1.5,-3.5
+      pos: -1.4722855,-3.4471583
       parent: 292
-  - uid: 276
+  - uid: 272
     components:
     - type: Transform
-      pos: -3.5,5.5
+      pos: -1.4722855,-3.4471583
+      parent: 292
+  - uid: 275
+    components:
+    - type: Transform
+      pos: -3.5079994,5.600461
       parent: 292
 - proto: VendingMachineClothing
   entities:
@@ -1805,6 +2802,10 @@ entities:
     - type: Transform
       pos: 1.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Anchorable
 - proto: WallShuttle
   entities:
   - uid: 1
@@ -1812,146 +2813,262 @@ entities:
     - type: Transform
       pos: 3.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 2
     components:
     - type: Transform
       pos: 3.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 3
     components:
     - type: Transform
       pos: -4.5,-3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 4
     components:
     - type: Transform
       pos: -4.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 5
     components:
     - type: Transform
       pos: -4.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 6
     components:
     - type: Transform
       pos: -4.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 7
     components:
     - type: Transform
       pos: 3.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 8
     components:
     - type: Transform
       pos: 3.5,5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 9
     components:
     - type: Transform
       pos: 3.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 10
     components:
     - type: Transform
       pos: 2.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 11
     components:
     - type: Transform
       pos: -4.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 12
     components:
     - type: Transform
       pos: -3.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 13
     components:
     - type: Transform
       pos: -2.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 14
     components:
     - type: Transform
       pos: -2.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 15
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 16
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 17
     components:
     - type: Transform
       pos: 3.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 18
     components:
     - type: Transform
       pos: 2.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 19
     components:
     - type: Transform
       pos: -4.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 20
     components:
     - type: Transform
       pos: -3.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 21
     components:
     - type: Transform
       pos: -0.5,-4.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 22
     components:
     - type: Transform
       pos: 2.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 23
     components:
     - type: Transform
       pos: 3.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 24
     components:
     - type: Transform
       pos: -3.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 25
     components:
     - type: Transform
       pos: -4.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 26
     components:
     - type: Transform
       pos: -0.5,-6.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 27
     components:
     - type: Transform
       pos: -0.5,-5.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 74
     components:
     - type: Transform
       pos: -0.5,-1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
   - uid: 75
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Destructible
+    - Construction
 - proto: WindowReinforcedDirectional
   entities:
   - uid: 215
@@ -1960,46 +3077,86 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -0.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 216
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 217
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 218
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 219
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,2.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 220
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,1.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 221
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
   - uid: 222
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,-0.5
       parent: 292
+    - type: Godmode
+    missingComponents:
+    - Construction
+    - RCDDeconstructable
+    - Destructible
 ...

From b8a98eac1fa08090c86f3124751fa7b5c54de58d Mon Sep 17 00:00:00 2001
From: Timothy Lowe <twlowe06@gmail.com>
Date: Wed, 27 Nov 2024 12:04:04 -0800
Subject: [PATCH 186/187] Fix CCVars.

---
 .../Systems/Ghost/GhostUIController.cs           |  4 +++-
 .../Systems/Ghost/Widgets/GhostGui.xaml.cs       |  5 +++--
 .../GameTicking/Commands/GhostRespawnCommand.cs  |  7 +++++--
 Content.Shared/_CD/CCVars/CDCCVars.cs            | 16 ++++++++++++++++
 4 files changed, 27 insertions(+), 5 deletions(-)
 create mode 100644 Content.Shared/_CD/CCVars/CDCCVars.cs

diff --git a/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs b/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs
index 2aeb74d8528..219fac5db3c 100644
--- a/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs
+++ b/Content.Client/UserInterface/Systems/Ghost/GhostUIController.cs
@@ -7,6 +7,8 @@
 using Robust.Client.UserInterface;
 using Robust.Client.UserInterface.Controllers;
 using Robust.Shared.Console;
+// CD
+using Content.Shared._CD.CCVars;
 
 namespace Content.Client.UserInterface.Systems.Ghost;
 
@@ -68,7 +70,7 @@ public void UpdateGui()
         }
 
         Gui.Visible = _system?.IsGhost ?? false;
-        Gui.Update(_system?.AvailableGhostRoleCount, _system?.Player?.CanReturnToBody, _system?.Player?.TimeOfDeath, _cfg.GetCVar(CCVars.RespawnTime));
+        Gui.Update(_system?.AvailableGhostRoleCount, _system?.Player?.CanReturnToBody, _system?.Player?.TimeOfDeath, _cfg.GetCVar(CDCCVars.RespawnTime));
     }
 
     private void OnPlayerRemoved(GhostComponent component)
diff --git a/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml.cs b/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml.cs
index 63713c2488a..e2fd9b119c8 100644
--- a/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml.cs
+++ b/Content.Client/UserInterface/Systems/Ghost/Widgets/GhostGui.xaml.cs
@@ -5,7 +5,8 @@
 using Robust.Client.UserInterface.XAML;
 using Robust.Shared.Timing;
 using Robust.Shared.Configuration;
-using Content.Shared.CCVar;
+// CD
+using Content.Shared._CD.CCVars;
 
 namespace Content.Client.UserInterface.Systems.Ghost.Widgets;
 
@@ -53,7 +54,7 @@ public void UpdateRespawn(TimeSpan? todd)
         if (todd != null)
         {
             _timeOfDeath = todd;
-            _minTimeToRespawn = _configurationManager.GetCVar(CCVars.RespawnTime);
+            _minTimeToRespawn = _configurationManager.GetCVar(CDCCVars.RespawnTime);
         }
     }
 
diff --git a/Content.Server/GameTicking/Commands/GhostRespawnCommand.cs b/Content.Server/GameTicking/Commands/GhostRespawnCommand.cs
index 396a23ef55f..686374a32ad 100644
--- a/Content.Server/GameTicking/Commands/GhostRespawnCommand.cs
+++ b/Content.Server/GameTicking/Commands/GhostRespawnCommand.cs
@@ -6,6 +6,9 @@
 using Robust.Shared.Configuration;
 using Robust.Shared.Console;
 using Robust.Shared.Timing;
+// This really should be namespaced anyways but, later
+// CD
+using Content.Shared._CD.CCVars;
 
 namespace Content.Server.GameTicking.Commands;
 
@@ -22,7 +25,7 @@ public sealed class GhostRespawnCommand : IConsoleCommand
 
     public void Execute(IConsoleShell shell, string argStr, string[] args)
     {
-        if (_configurationManager.GetCVar(CCVars.RespawnTime) == 0)
+        if (_configurationManager.GetCVar(CDCCVars.RespawnTime) == 0)
         {
             shell.WriteLine("Respawning is disabled, ask an admin to respawn you.");
             return;
@@ -53,7 +56,7 @@ public void Execute(IConsoleShell shell, string argStr, string[] args)
             return;
         }
         var time = (_gameTiming.CurTime - ghost.TimeOfDeath);
-        var respawnTime = _configurationManager.GetCVar(CCVars.RespawnTime);
+        var respawnTime = _configurationManager.GetCVar(CDCCVars.RespawnTime);
 
         if (respawnTime > time.TotalSeconds)
         {
diff --git a/Content.Shared/_CD/CCVars/CDCCVars.cs b/Content.Shared/_CD/CCVars/CDCCVars.cs
new file mode 100644
index 00000000000..a36561cbe96
--- /dev/null
+++ b/Content.Shared/_CD/CCVars/CDCCVars.cs
@@ -0,0 +1,16 @@
+using Robust.Shared.Configuration;
+
+namespace Content.Shared._CD.CCVars;
+
+/// <summary>
+/// CD Specific Cvars
+/// </summary>
+[CVarDefs]
+public sealed class CDCCVars
+{
+    /// <summary>
+    /// Respawn time, how long the player has to wait in seconds after death before they can respawn.
+    /// </summary>
+    public static readonly CVarDef<float> RespawnTime =
+        CVarDef.Create("game.respawn_time", 300.0f, CVar.SERVER | CVar.REPLICATED);
+}

From 94ae909e4fb760e6edc2b5e5810fea0944a810bd Mon Sep 17 00:00:00 2001
From: Timothy Lowe <twlowe06@gmail.com>
Date: Wed, 27 Nov 2024 14:57:22 -0800
Subject: [PATCH 187/187] Fix merge issue.

---
 .../Inventory/ClientInventorySystem.cs        |   14 -
 .../StationEvents/Events/IonStormRule.cs      |    1 +
 Content.Server/_CD/Loadouts/RenameIdSystem.cs |    1 +
 .../_CD/Records/CharacterRecordsSystem.cs     |    1 +
 .../_CD/Spawners/ArrivalsSpawnPointSystem.cs  |    1 +
 .../BypassInteractionChecksComponent.cs       |    6 +
 .../Inventory/InventorySystem.Slots.cs        |    2 -
 Resources/Maps/Shuttles/arrivals.yml          | 1363 ++---------------
 8 files changed, 113 insertions(+), 1276 deletions(-)
 create mode 100644 Content.Shared/Interaction/Components/BypassInteractionChecksComponent.cs

diff --git a/Content.Client/Inventory/ClientInventorySystem.cs b/Content.Client/Inventory/ClientInventorySystem.cs
index 802f85cbd22..a5ad2595fba 100644
--- a/Content.Client/Inventory/ClientInventorySystem.cs
+++ b/Content.Client/Inventory/ClientInventorySystem.cs
@@ -235,20 +235,6 @@ public void UIInventoryAltActivateItem(string slot, EntityUid uid)
             EntityManager.RaisePredictiveEvent(new InteractInventorySlotEvent(GetNetEntity(item.Value), altInteract: true));
         }
 
-        protected override void UpdateInventoryTemplate(Entity<InventoryComponent> ent)
-        {
-            base.UpdateInventoryTemplate(ent);
-
-            if (TryComp(ent, out InventorySlotsComponent? inventorySlots))
-            {
-                foreach (var slot in ent.Comp.Slots)
-                {
-                    if (inventorySlots.SlotData.TryGetValue(slot.Name, out var slotData))
-                        slotData.SlotDef = slot;
-                }
-            }
-        }
-
         public sealed class SlotData
         {
             public SlotDefinition SlotDef;
diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs
index da6f8e41d09..9ed8a0cfc63 100644
--- a/Content.Server/StationEvents/Events/IonStormRule.cs
+++ b/Content.Server/StationEvents/Events/IonStormRule.cs
@@ -15,6 +15,7 @@ namespace Content.Server.StationEvents.Events;
 public sealed class IonStormRule : StationEventSystem<IonStormRuleComponent>
 {
     [Dependency] private readonly IonStormSystem _ionStorm = default!;
+    [Dependency] private readonly IChatManager _chatManager = default!; // Used for CD's System
 
     protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameRuleComponent gameRule, GameRuleStartedEvent args)
     {
diff --git a/Content.Server/_CD/Loadouts/RenameIdSystem.cs b/Content.Server/_CD/Loadouts/RenameIdSystem.cs
index 96ed777f075..296b9f9b997 100644
--- a/Content.Server/_CD/Loadouts/RenameIdSystem.cs
+++ b/Content.Server/_CD/Loadouts/RenameIdSystem.cs
@@ -2,6 +2,7 @@
 using Content.Server.GameTicking;
 using Content.Shared.Access.Components;
 using Content.Shared.Access.Systems;
+using Content.Shared.GameTicking;
 using Content.Shared.Inventory;
 using Content.Shared.PDA;
 
diff --git a/Content.Server/_CD/Records/CharacterRecordsSystem.cs b/Content.Server/_CD/Records/CharacterRecordsSystem.cs
index 16fe53f718f..8ec980b4484 100644
--- a/Content.Server/_CD/Records/CharacterRecordsSystem.cs
+++ b/Content.Server/_CD/Records/CharacterRecordsSystem.cs
@@ -7,6 +7,7 @@
 using Content.Shared.Roles;
 using Content.Shared.StationRecords;
 using Content.Shared._CD.Records;
+using Content.Shared.GameTicking;
 using Robust.Shared.Prototypes;
 
 namespace Content.Server._CD.Records;
diff --git a/Content.Server/_CD/Spawners/ArrivalsSpawnPointSystem.cs b/Content.Server/_CD/Spawners/ArrivalsSpawnPointSystem.cs
index 3fe1876aed5..db399a121b3 100644
--- a/Content.Server/_CD/Spawners/ArrivalsSpawnPointSystem.cs
+++ b/Content.Server/_CD/Spawners/ArrivalsSpawnPointSystem.cs
@@ -1,5 +1,6 @@
 using System.Linq;
 using Content.Server.GameTicking;
+using Content.Shared.GameTicking;
 using Robust.Shared.Map;
 
 using Robust.Shared.Random;
diff --git a/Content.Shared/Interaction/Components/BypassInteractionChecksComponent.cs b/Content.Shared/Interaction/Components/BypassInteractionChecksComponent.cs
new file mode 100644
index 00000000000..ca0ff963151
--- /dev/null
+++ b/Content.Shared/Interaction/Components/BypassInteractionChecksComponent.cs
@@ -0,0 +1,6 @@
+using Robust.Shared.GameStates;
+
+namespace Content.Shared.Interaction.Components;
+
+[RegisterComponent, NetworkedComponent]
+public sealed partial class BypassInteractionChecksComponent : Component;
diff --git a/Content.Shared/Inventory/InventorySystem.Slots.cs b/Content.Shared/Inventory/InventorySystem.Slots.cs
index 572fd865cb4..7a6c2f5507d 100644
--- a/Content.Shared/Inventory/InventorySystem.Slots.cs
+++ b/Content.Shared/Inventory/InventorySystem.Slots.cs
@@ -19,8 +19,6 @@ private void InitializeSlots()
 
         _vvm.GetTypeHandler<InventoryComponent>()
             .AddHandler(HandleViewVariablesSlots, ListViewVariablesSlots);
-
-        SubscribeLocalEvent<InventoryComponent, AfterAutoHandleStateEvent>(AfterAutoState);
     }
 
     private void ShutdownSlots()
diff --git a/Resources/Maps/Shuttles/arrivals.yml b/Resources/Maps/Shuttles/arrivals.yml
index 3c853ef7395..b4609e1b0ae 100644
--- a/Resources/Maps/Shuttles/arrivals.yml
+++ b/Resources/Maps/Shuttles/arrivals.yml
@@ -192,17 +192,13 @@ entities:
     - type: RadiationGridResistance
     - type: SpreaderGrid
     - type: GridPathfinding
-    - type: Godmode
 - proto: AirCanister
   entities:
   - uid: 214
     components:
     - type: Transform
-      anchored: True
       pos: -1.5,7.5
       parent: 292
-    - type: Physics
-      bodyType: Static
 - proto: AirlockCommandGlassLocked
   entities:
   - uid: 278
@@ -212,11 +208,6 @@ entities:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
 - proto: AirlockGlassShuttle
   entities:
   - uid: 177
@@ -226,16 +217,11 @@ entities:
       pos: 3.5,-2.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -623.03485
+      secondsUntilStateChange: -336.60016
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 178
     components:
     - type: Transform
@@ -243,16 +229,11 @@ entities:
       pos: 3.5,4.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -624.7682
+      secondsUntilStateChange: -338.3335
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 179
     components:
     - type: Transform
@@ -260,16 +241,11 @@ entities:
       pos: -4.5,4.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -619.23486
+      secondsUntilStateChange: -332.80017
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 180
     components:
     - type: Transform
@@ -277,16 +253,11 @@ entities:
       pos: -4.5,-2.5
       parent: 292
     - type: Door
-      secondsUntilStateChange: -621.1349
+      secondsUntilStateChange: -334.70016
       state: Opening
     - type: DeviceLinkSource
       lastSignals:
         DoorStatus: True
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
 - proto: APCBasic
   entities:
   - uid: 116
@@ -295,13 +266,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -0.5,3.5
       parent: 292
-    - type: BatterySelfRecharger
-      autoRechargeRate: 50000
-      autoRecharge: True
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Destructible
 - proto: ArrivalsShuttleTimer
   entities:
   - uid: 294
@@ -309,17 +273,11 @@ entities:
     - type: Transform
       pos: -4.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
   - uid: 295
     components:
     - type: Transform
       pos: 3.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
 - proto: AtmosDeviceFanDirectional
   entities:
   - uid: 164
@@ -328,28 +286,24 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -4.5,4.5
       parent: 292
-    - type: Godmode
   - uid: 165
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 3.5,4.5
       parent: 292
-    - type: Godmode
   - uid: 166
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 3.5,-2.5
       parent: 292
-    - type: Godmode
   - uid: 167
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -4.5,-2.5
       parent: 292
-    - type: Godmode
 - proto: BlockGameArcade
   entities:
   - uid: 258
@@ -358,747 +312,418 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -1.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Anchorable
-    - Construction
-    - Destructible
-- proto: CableApcExtensionUncuttable
+- proto: CableApcExtension
   entities:
   - uid: 123
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 124
     components:
     - type: Transform
       pos: -0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 125
     components:
     - type: Transform
       pos: -1.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 126
     components:
     - type: Transform
       pos: -2.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 127
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 128
     components:
     - type: Transform
       pos: -2.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 129
     components:
     - type: Transform
       pos: -2.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 130
     components:
     - type: Transform
       pos: -2.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 131
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 132
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 133
     components:
     - type: Transform
       pos: -2.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 134
     components:
     - type: Transform
       pos: -1.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 135
     components:
     - type: Transform
       pos: -0.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 136
     components:
     - type: Transform
       pos: 0.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 137
     components:
     - type: Transform
       pos: 1.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 138
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 139
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 140
     components:
     - type: Transform
       pos: 1.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 141
     components:
     - type: Transform
       pos: 1.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 142
     components:
     - type: Transform
       pos: 1.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 143
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 144
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 145
     components:
     - type: Transform
       pos: 0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 146
     components:
     - type: Transform
       pos: -0.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 147
     components:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 148
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 149
     components:
     - type: Transform
       pos: -0.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 150
     components:
     - type: Transform
       pos: -1.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 151
     components:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 152
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 153
     components:
     - type: Transform
       pos: 1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 154
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 155
     components:
     - type: Transform
       pos: -2.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 156
     components:
     - type: Transform
       pos: -2.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 157
     components:
     - type: Transform
       pos: 1.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 158
     components:
     - type: Transform
       pos: -1.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 159
     components:
     - type: Transform
       pos: 0.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 160
     components:
     - type: Transform
       pos: -3.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 161
     components:
     - type: Transform
       pos: 2.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 162
     components:
     - type: Transform
       pos: 2.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 163
     components:
     - type: Transform
       pos: -3.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
-- proto: CableHVUncuttable
+- proto: CableHV
   entities:
   - uid: 79
     components:
     - type: Transform
       pos: 0.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 80
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 81
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 82
     components:
     - type: Transform
       pos: -0.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 83
     components:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 85
     components:
     - type: Transform
       pos: -0.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 86
     components:
     - type: Transform
       pos: -0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 87
     components:
     - type: Transform
       pos: -1.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 88
     components:
     - type: Transform
       pos: -2.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 89
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 90
     components:
     - type: Transform
       pos: -2.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 91
     components:
     - type: Transform
       pos: -2.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 92
     components:
     - type: Transform
       pos: -2.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 93
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 94
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 95
     components:
     - type: Transform
       pos: -2.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 96
     components:
     - type: Transform
       pos: -1.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 97
     components:
     - type: Transform
       pos: -0.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 98
     components:
     - type: Transform
       pos: 0.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 99
     components:
     - type: Transform
       pos: 1.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 100
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 101
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 102
     components:
     - type: Transform
       pos: 1.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 103
     components:
     - type: Transform
       pos: 1.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 104
     components:
     - type: Transform
       pos: 1.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 105
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 106
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 107
     components:
     - type: Transform
       pos: 0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 108
     components:
     - type: Transform
       pos: -1.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 109
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 110
     components:
     - type: Transform
       pos: -1.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 111
     components:
     - type: Transform
       pos: 0.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 112
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 113
     components:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
-- proto: CableMVUncuttable
+- proto: CableMV
   entities:
   - uid: 117
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 118
     components:
     - type: Transform
       pos: 1.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 119
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 120
     components:
     - type: Transform
       pos: 0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 121
     components:
     - type: Transform
       pos: -0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
   - uid: 122
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - RCDDeconstructable
-- proto: CableTerminalUncuttable
+- proto: CableTerminal
   entities:
   - uid: 84
     components:
@@ -1106,11 +731,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -0.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Destructible
-    - Construction
 - proto: ChairPilotSeat
   entities:
   - uid: 223
@@ -1119,207 +739,112 @@ entities:
       rot: -1.5707963267948966 rad
       pos: 2.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 224
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 225
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 226
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 227
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 228
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 229
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 230
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -1.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 231
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 232
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 233
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 234
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 235
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 236
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 237
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 238
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 239
     components:
     - type: Transform
       pos: 1.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 240
     components:
     - type: Transform
       pos: -2.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 241
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -0.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: ClosetEmergencyFilledRandom
   entities:
   - uid: 252
@@ -1327,18 +852,72 @@ entities:
     - type: Transform
       pos: 0.5,5.5
       parent: 292
-  - uid: 253
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.14963
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+  - uid: 260
     components:
     - type: Transform
       pos: -2.5,-3.5
       parent: 292
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.14963
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
 - proto: ClosetFireFilled
   entities:
-  - uid: 260
+  - uid: 253
     components:
     - type: Transform
       pos: -1.5,5.5
       parent: 292
+    - type: EntityStorage
+      air:
+        volume: 200
+        immutable: False
+        temperature: 293.14963
+        moles:
+        - 1.7459903
+        - 6.568249
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
+        - 0
 - proto: ClosetWallEmergencyFilledRandom
   entities:
   - uid: 288
@@ -1365,10 +944,6 @@ entities:
         - 0
         - 0
         - 0
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 289
     components:
     - type: Transform
@@ -1392,10 +967,6 @@ entities:
         - 0
         - 0
         - 0
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
 - proto: ClosetWallFireFilledRandom
   entities:
   - uid: 286
@@ -1421,10 +992,6 @@ entities:
         - 0
         - 0
         - 0
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 287
     components:
     - type: Transform
@@ -1449,28 +1016,40 @@ entities:
         - 0
         - 0
         - 0
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
 - proto: ClothingBackpack
   entities:
-  - uid: 266
+  - uid: 275
     components:
     - type: Transform
-      pos: 2.5277145,5.600461
+      pos: 2.5,5.5
       parent: 292
+    - type: GroupExamine
+      group:
+      - hoverMessage: ""
+        contextText: verb-examine-group-other
+        icon: /Textures/Interface/examine-star.png
+        components:
+        - Armor
+        - ClothingSpeedModifier
+        entries:
+        - message: >-
+            It provides the following protection:
+
+            - [color=orange]Explosion[/color] damage [color=white]to contents[/color] reduced by [color=lightblue]10%[/color].
+          priority: 0
+          component: Armor
+        title: null
 - proto: ClothingMaskBreath
   entities:
-  - uid: 267
+  - uid: 272
     components:
     - type: Transform
-      pos: 2.4086668,-3.4828715
+      pos: 2.5,-3.5
       parent: 292
-  - uid: 274
+  - uid: 273
     components:
     - type: Transform
-      pos: -3.6032372,-3.4947772
+      pos: -3.5,-3.5
       parent: 292
 - proto: ComputerShuttle
   entities:
@@ -1479,29 +1058,24 @@ entities:
     - type: Transform
       pos: -0.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: CrowbarRed
   entities:
-  - uid: 293
+  - uid: 274
     components:
     - type: Transform
-      pos: 0.45628688,-3.5066814
+      pos: 0.5,-3.5
       parent: 292
 - proto: EmergencyOxygenTankFilled
   entities:
-  - uid: 268
+  - uid: 270
     components:
     - type: Transform
-      pos: -3.2460945,-3.6614437
+      pos: 2.5708976,-3.5851696
       parent: 292
-  - uid: 269
+  - uid: 271
     components:
     - type: Transform
-      pos: 2.7300956,-3.6138248
+      pos: -3.4291024,-3.5851696
       parent: 292
 - proto: ExtinguisherCabinetFilled
   entities:
@@ -1510,9 +1084,6 @@ entities:
     - type: Transform
       pos: -0.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
 - proto: GasPassiveGate
   entities:
   - uid: 184
@@ -1520,11 +1091,6 @@ entities:
     - type: Transform
       pos: -0.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GasPipeBend
   entities:
   - uid: 182
@@ -1533,64 +1099,34 @@ entities:
       rot: 1.5707963267948966 rad
       pos: -1.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 183
     components:
     - type: Transform
       pos: -0.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 187
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -2.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 188
     components:
     - type: Transform
       pos: 1.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 189
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 1.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 190
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -2.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GasPipeFourway
   entities:
   - uid: 186
@@ -1598,11 +1134,6 @@ entities:
     - type: Transform
       pos: -0.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GasPipeStraight
   entities:
   - uid: 185
@@ -1610,215 +1141,110 @@ entities:
     - type: Transform
       pos: -0.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 192
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 193
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -1.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 194
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -1.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 195
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: 0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 196
     components:
     - type: Transform
       pos: 1.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 197
     components:
     - type: Transform
       pos: 1.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 198
     components:
     - type: Transform
       pos: 1.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 199
     components:
     - type: Transform
       pos: 1.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 200
     components:
     - type: Transform
       pos: 1.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 201
     components:
     - type: Transform
       pos: 1.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 202
     components:
     - type: Transform
       pos: 1.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 203
     components:
     - type: Transform
       pos: 1.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 204
     components:
     - type: Transform
       pos: -2.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 205
     components:
     - type: Transform
       pos: -2.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 206
     components:
     - type: Transform
       pos: -2.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 207
     components:
     - type: Transform
       pos: -2.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 208
     components:
     - type: Transform
       pos: -2.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 209
     components:
     - type: Transform
       pos: -2.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 210
     components:
     - type: Transform
       pos: -2.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 211
     components:
     - type: Transform
       pos: -2.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GasPipeTJunction
   entities:
   - uid: 191
@@ -1827,11 +1253,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GasPort
   entities:
   - uid: 181
@@ -1840,11 +1261,6 @@ entities:
       rot: 3.141592653589793 rad
       pos: -1.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GasVentPump
   entities:
   - uid: 212
@@ -1852,22 +1268,12 @@ entities:
     - type: Transform
       pos: -0.5,-2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 213
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -0.5,4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GeneratorBasic15kW
   entities:
   - uid: 114
@@ -1875,19 +1281,11 @@ entities:
     - type: Transform
       pos: -1.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Anchorable
-    - Destructible
   - uid: 115
     components:
     - type: Transform
       pos: 0.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Anchorable
-    - Destructible
 - proto: GeneratorWallmountAPU
   entities:
   - uid: 78
@@ -1895,11 +1293,6 @@ entities:
     - type: Transform
       pos: 1.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: GravityGeneratorMini
   entities:
   - uid: 291
@@ -1907,11 +1300,6 @@ entities:
     - type: Transform
       pos: -2.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
 - proto: Grille
   entities:
   - uid: 44
@@ -1919,231 +1307,116 @@ entities:
     - type: Transform
       pos: 3.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 52
     components:
     - type: Transform
       pos: 3.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 53
     components:
     - type: Transform
       pos: 3.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 54
     components:
     - type: Transform
       pos: 3.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 55
     components:
     - type: Transform
       pos: -4.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 56
     components:
     - type: Transform
       pos: -4.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 57
     components:
     - type: Transform
       pos: -4.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 58
     components:
     - type: Transform
       pos: -4.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 59
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 60
     components:
     - type: Transform
       pos: -2.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 61
     components:
     - type: Transform
       pos: 1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 62
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 63
     components:
     - type: Transform
       pos: 0.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 64
     components:
     - type: Transform
       pos: -1.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 65
     components:
     - type: Transform
       pos: -2.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 66
     components:
     - type: Transform
       pos: -2.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 67
     components:
     - type: Transform
       pos: -1.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 68
     components:
     - type: Transform
       pos: -1.5,10.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 69
     components:
     - type: Transform
       pos: -0.5,10.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 70
     components:
     - type: Transform
       pos: 0.5,10.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 71
     components:
     - type: Transform
       pos: 0.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 72
     components:
     - type: Transform
       pos: 1.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
   - uid: 73
     components:
     - type: Transform
       pos: 1.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - RCDDeconstructable
-    - Construction
-    - Destructible
 - proto: Gyroscope
   entities:
   - uid: 168
@@ -2151,11 +1424,6 @@ entities:
     - type: Transform
       pos: 1.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
 - proto: IntercomCommon
   entities:
   - uid: 264
@@ -2163,12 +1431,6 @@ entities:
     - type: Transform
       pos: -0.5,-1.5
       parent: 292
-    - type: EncryptionKeyHolder
-      keysUnlocked: False
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Destructible
 - proto: MaintenanceFluffSpawner
   entities:
   - uid: 284
@@ -2176,31 +1438,29 @@ entities:
     - type: Transform
       pos: 0.5,3.5
       parent: 292
-    - type: Godmode
   - uid: 285
     components:
     - type: Transform
       pos: -1.5,3.5
       parent: 292
-    - type: Godmode
 - proto: MedkitFilled
   entities:
-  - uid: 276
+  - uid: 266
     components:
     - type: Transform
-      pos: -0.4960943,-3.4828715
+      pos: -0.5,-3.5
       parent: 292
 - proto: NitrogenTankFilled
   entities:
-  - uid: 271
+  - uid: 268
     components:
     - type: Transform
-      pos: -3.4365704,-3.590015
+      pos: -3.5,-3.5
       parent: 292
-  - uid: 273
+  - uid: 269
     components:
     - type: Transform
-      pos: 2.563429,-3.566205
+      pos: 2.5,-3.5
       parent: 292
 - proto: PosterLegitNanotrasenLogo
   entities:
@@ -2209,9 +1469,6 @@ entities:
     - type: Transform
       pos: -2.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
 - proto: PottedPlantRandom
   entities:
   - uid: 254
@@ -2219,25 +1476,21 @@ entities:
     - type: Transform
       pos: 2.5,-1.5
       parent: 292
-    - type: Godmode
   - uid: 255
     components:
     - type: Transform
       pos: 2.5,3.5
       parent: 292
-    - type: Godmode
   - uid: 256
     components:
     - type: Transform
       pos: -3.5,3.5
       parent: 292
-    - type: Godmode
   - uid: 257
     components:
     - type: Transform
       pos: -3.5,-1.5
       parent: 292
-    - type: Godmode
 - proto: PowerCellRecharger
   entities:
   - uid: 265
@@ -2245,12 +1498,7 @@ entities:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Anchorable
-    - Destructible
-    - Construction
-- proto: AlwaysPoweredWallLight
+- proto: Poweredlight
   entities:
   - uid: 279
     components:
@@ -2260,11 +1508,6 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 280
     components:
     - type: Transform
@@ -2273,11 +1516,6 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 281
     components:
     - type: Transform
@@ -2286,11 +1524,6 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 282
     components:
     - type: Transform
@@ -2299,11 +1532,6 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 283
     components:
     - type: Transform
@@ -2312,11 +1540,6 @@ entities:
       parent: 292
     - type: ApcPowerReceiver
       powerLoad: 0
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
 - proto: Rack
   entities:
   - uid: 262
@@ -2324,21 +1547,11 @@ entities:
     - type: Transform
       pos: 2.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
   - uid: 263
     components:
     - type: Transform
       pos: -3.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - Anchorable
-    - Destructible
 - proto: ShuttleWindow
   entities:
   - uid: 28
@@ -2346,231 +1559,116 @@ entities:
     - type: Transform
       pos: 3.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 29
     components:
     - type: Transform
       pos: 3.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 30
     components:
     - type: Transform
       pos: 3.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 31
     components:
     - type: Transform
       pos: 3.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 32
     components:
     - type: Transform
       pos: -4.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 33
     components:
     - type: Transform
       pos: -4.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 34
     components:
     - type: Transform
       pos: -4.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 35
     components:
     - type: Transform
       pos: -4.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 36
     components:
     - type: Transform
       pos: -1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 37
     components:
     - type: Transform
       pos: -2.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 38
     components:
     - type: Transform
       pos: 0.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 39
     components:
     - type: Transform
       pos: 1.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 40
     components:
     - type: Transform
       pos: 0.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 41
     components:
     - type: Transform
       pos: -1.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 42
     components:
     - type: Transform
       pos: -2.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 43
     components:
     - type: Transform
       pos: -1.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 45
     components:
     - type: Transform
       pos: -2.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 46
     components:
     - type: Transform
       pos: -1.5,10.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 47
     components:
     - type: Transform
       pos: -0.5,10.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 48
     components:
     - type: Transform
       pos: 0.5,10.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 49
     components:
     - type: Transform
       pos: 0.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 50
     components:
     - type: Transform
       pos: 1.5,9.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
   - uid: 51
     components:
     - type: Transform
       pos: 1.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
-    - RCDDeconstructable
 - proto: SMESBasic
   entities:
   - uid: 76
@@ -2578,11 +1676,6 @@ entities:
     - type: Transform
       pos: 0.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Anchorable
-    - Destructible
-    - Construction
 - proto: SpaceVillainArcadeFilled
   entities:
   - uid: 259
@@ -2591,11 +1684,6 @@ entities:
       rot: 1.5707963267948966 rad
       pos: 0.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Anchorable
-    - Construction
-    - Destructible
 - proto: SubstationWallBasic
   entities:
   - uid: 77
@@ -2603,10 +1691,6 @@ entities:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
 - proto: TableReinforced
   entities:
   - uid: 243
@@ -2614,82 +1698,46 @@ entities:
     - type: Transform
       pos: 0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 244
     components:
     - type: Transform
       pos: -1.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 245
     components:
     - type: Transform
       pos: 0.5,8.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 246
     components:
     - type: Transform
       pos: -0.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 247
     components:
     - type: Transform
       pos: -1.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 248
     components:
     - type: Transform
       pos: 0.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 249
     components:
     - type: Transform
       pos: -1.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 250
     components:
     - type: Transform
       pos: 2.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 251
     components:
     - type: Transform
       pos: -3.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
 - proto: Thruster
   entities:
   - uid: 169
@@ -2697,103 +1745,58 @@ entities:
     - type: Transform
       pos: 2.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 170
     components:
     - type: Transform
       pos: -3.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 171
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -1.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 172
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: -2.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 173
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 1.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 174
     components:
     - type: Transform
       rot: 3.141592653589793 rad
       pos: 0.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 175
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: 2.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
   - uid: 176
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -3.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
-    - Construction
 - proto: ToolboxEmergencyFilled
   entities:
-  - uid: 270
-    components:
-    - type: Transform
-      pos: -1.4722855,-3.4471583
-      parent: 292
-  - uid: 272
+  - uid: 267
     components:
     - type: Transform
-      pos: -1.4722855,-3.4471583
+      pos: -1.5,-3.5
       parent: 292
-  - uid: 275
+  - uid: 276
     components:
     - type: Transform
-      pos: -3.5079994,5.600461
+      pos: -3.5,5.5
       parent: 292
 - proto: VendingMachineClothing
   entities:
@@ -2802,10 +1805,6 @@ entities:
     - type: Transform
       pos: 1.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Anchorable
 - proto: WallShuttle
   entities:
   - uid: 1
@@ -2813,262 +1812,146 @@ entities:
     - type: Transform
       pos: 3.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 2
     components:
     - type: Transform
       pos: 3.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 3
     components:
     - type: Transform
       pos: -4.5,-3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 4
     components:
     - type: Transform
       pos: -4.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 5
     components:
     - type: Transform
       pos: -4.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 6
     components:
     - type: Transform
       pos: -4.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 7
     components:
     - type: Transform
       pos: 3.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 8
     components:
     - type: Transform
       pos: 3.5,5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 9
     components:
     - type: Transform
       pos: 3.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 10
     components:
     - type: Transform
       pos: 2.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 11
     components:
     - type: Transform
       pos: -4.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 12
     components:
     - type: Transform
       pos: -3.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 13
     components:
     - type: Transform
       pos: -2.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 14
     components:
     - type: Transform
       pos: -2.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 15
     components:
     - type: Transform
       pos: 1.5,6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 16
     components:
     - type: Transform
       pos: 1.5,7.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 17
     components:
     - type: Transform
       pos: 3.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 18
     components:
     - type: Transform
       pos: 2.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 19
     components:
     - type: Transform
       pos: -4.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 20
     components:
     - type: Transform
       pos: -3.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 21
     components:
     - type: Transform
       pos: -0.5,-4.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 22
     components:
     - type: Transform
       pos: 2.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 23
     components:
     - type: Transform
       pos: 3.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 24
     components:
     - type: Transform
       pos: -3.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 25
     components:
     - type: Transform
       pos: -4.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 26
     components:
     - type: Transform
       pos: -0.5,-6.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 27
     components:
     - type: Transform
       pos: -0.5,-5.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 74
     components:
     - type: Transform
       pos: -0.5,-1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
   - uid: 75
     components:
     - type: Transform
       pos: -0.5,3.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Destructible
-    - Construction
 - proto: WindowReinforcedDirectional
   entities:
   - uid: 215
@@ -3077,86 +1960,46 @@ entities:
       rot: -1.5707963267948966 rad
       pos: -0.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 216
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 217
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 218
     components:
     - type: Transform
       rot: -1.5707963267948966 rad
       pos: -0.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 219
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,2.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 220
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,1.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 221
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
   - uid: 222
     components:
     - type: Transform
       rot: 1.5707963267948966 rad
       pos: -0.5,-0.5
       parent: 292
-    - type: Godmode
-    missingComponents:
-    - Construction
-    - RCDDeconstructable
-    - Destructible
 ...