From 90d6a6c1c80290fc173c044b3625a58d3fd537b7 Mon Sep 17 00:00:00 2001
From: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Date: Wed, 25 Dec 2024 14:19:14 +0100
Subject: [PATCH 1/6] Version 0.28 Beta 22
---
.idea/dictionaries/default_user.xml | 4 ++-
docs/CHANGELOG.md | 18 ++++++++++
root.gradle.kts | 2 +-
.../config/features/rift/RiftConfig.java | 6 ++++
.../features/rift/everywhere/Ubikreminder.kt | 36 +++++++++++++++++++
5 files changed, 64 insertions(+), 2 deletions(-)
create mode 100644 src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
diff --git a/.idea/dictionaries/default_user.xml b/.idea/dictionaries/default_user.xml
index eec6c321a802..42695fdf7d16 100644
--- a/.idea/dictionaries/default_user.xml
+++ b/.idea/dictionaries/default_user.xml
@@ -272,6 +272,8 @@
turbomax
twinclaws
typhoeus
+ ubik
+ ubikreminder
ultrasequencer
unobtained
unsummarized
@@ -288,4 +290,4 @@
yolkar
-
+
\ No newline at end of file
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index c290ef7aefb6..37553f2eeb5e 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -105,6 +105,7 @@
+ Reset search terms in GUIs after closing inventory (Profit Trackers, Area Navigation list, etc.).
+ Enabled by default to reduce confusion caused by the search feature.
+ The Estimated Item Value now displays material names used to unlock gemstone slots. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3089)
++ Added Mithril Infusion to Estimated Item Value. - Empa (https://github.com/hannibal002/SkyHanni/pull/2990)
#### Chat and Command Improvements
@@ -185,6 +186,7 @@
+ Added an option to send the optimal speed warning even when not wearing Rancher's Boots. - Obsidian (https://github.com/hannibal002/SkyHanni/pull/2859)
+ Added a Pest Traps tab widget to the Tab Widget Display. - Luna (https://github.com/hannibal002/SkyHanni/pull/2984)
+ Updated Pest chat and GUI to indicate Pests Widget is disabled when displaying pests. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3022)
++ Changed Anita medal profit display to show profit per copper medal and sort by this value. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3122)
#### Event Improvements
@@ -208,6 +210,7 @@
+ Added a warning for empty messages left behind by Stash Compact. - Daveed (https://github.com/hannibal002/SkyHanni/pull/3009)
+ Added option to hide seconds in the Real Time GUI. - Obsidian (https://github.com/hannibal002/SkyHanni/pull/2979)
+ Improved graph navigation performance. - hannibal2 & Thunderblade (https://github.com/hannibal002/SkyHanni/pull/3083)
++ Added Roman numeral support to slayer names in trackers, Profit Tracker Items, and Scoreboard. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3113)
### Fixes
@@ -260,6 +263,7 @@
+ Fixed a small typo in Bestiary Display. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/2748)
+ Fixed `Line to Slayer Miniboss` not checking for walls. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/2788)
+ Fixed Special Zealots not highlighted after a recent Hypixel update. - Luna (https://github.com/hannibal002/SkyHanni/pull/3099)
++ Fixed Kuudra Lines sometimes not displaying in Custom Scoreboard. - j10a1n15 (https://github.com/hannibal002/SkyHanni/pull/3118)
#### Custom Scoreboard Fixes
@@ -358,6 +362,7 @@
+ Fixed Time Tower warnings showing up on new profiles (e.g. Bingo). - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3012)
+ You can open `/cf` once to make the message disappear without changing settings if a new profile was created before applying the fix for the first time.
+ Fixed stray flash overlaying other Chocolate Factory information. - Daveed (https://github.com/hannibal002/SkyHanni/pull/3054)
++ Fixed error when opening Choc Factory via NEU buttons. - Daveed (https://github.com/hannibal002/SkyHanni/pull/3108)
#### Event Fixes
@@ -392,6 +397,7 @@
+ Fixed the color of material messages.
+ Fixed overly liberal player message detection in Enable Chat Formatting. - !nea (https://github.com/hannibal002/SkyHanni/pull/2871)
+ This should fix many formatting issues related to `[SomethingHere] Something Else: Something Even More`.
++ Fixed /shwords causing blank messages in chat. - nopo (https://github.com/hannibal002/SkyHanni/pull/3110)
#### Misc Fixes
@@ -424,6 +430,10 @@
+ Fixed collection tracker to recognize the current collection. - nopo (https://github.com/hannibal002/SkyHanni/pull/3049)
+ Fixed skill level. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3068)
+ Fixed Replace Roman Numerals replacing random letters. - Mikecraft1224 (https://github.com/hannibal002/SkyHanni/pull/3003)
++ Fixed most incorrect farming skill XP cases. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3121)
+ + Calculation errors when reaching a skill cap below 60 are not fixed yet.
++ Fixed distortion of regular words due to incorrect Roman numeral replacement. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3113)
++ Fixed rare error message in skill progress display. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3105)
### Technical Details
@@ -542,6 +552,14 @@
+ Moved Next Jacobs Contest, Best Crop Milestone & Jyrre Timer to Renderable. - j10a1n15 (https://github.com/hannibal002/SkyHanni/pull/3004)
+ Added /shtestactionbar command: set your clipboard as a fake Action Bar. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3085)
+ Added /shdebug support for SkyBlock island, Bingo, and Tab List data tests. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3085)
++ Added error logging to trevor solver. - CalMWolfs (https://github.com/hannibal002/SkyHanni/pull/3107)
++ Added allowlist for Roman numeral replacement. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3113)
++ Added debug command /shdebugvisualwords. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3112)
+ + Added console logging of all words replaced by /shword.
++ Added contributor rabbit names. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3109)
+ + Replaced rabbit names in the rabbit collection menu with SkyHanni contributor names.
++ Added debug data for crop reading errors. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3114)
++ Improved Detekt and .editorconfig rules. - hannibal2 (https://github.com/hannibal002/SkyHanni/pull/3104)
### Removed Features
diff --git a/root.gradle.kts b/root.gradle.kts
index 3cef4a498e48..0b962be5ed7d 100644
--- a/root.gradle.kts
+++ b/root.gradle.kts
@@ -14,7 +14,7 @@ plugins {
allprojects {
group = "at.hannibal2.skyhanni"
- version = "0.28.Beta.21"
+ version = "0.28.Beta.22"
repositories {
mavenCentral()
mavenLocal()
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java
index 9c24e810fc4c..3b24cb4fedca 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java
@@ -55,4 +55,10 @@ public class RiftConfig {
@ConfigEditorBoolean
@FeatureToggle
public boolean horsezookaHider = false;
+
+ @Expose
+ @ConfigOption(name = "Ubik's cube reminder", desc = "Reminder for Ubik's cube in the rift")
+ @ConfigEditorBoolean
+ @FeatureToggle
+ public boolean ubikReminder = true;
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
new file mode 100644
index 000000000000..c467f4c77dbc
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
@@ -0,0 +1,36 @@
+package at.hannibal2.skyhanni.features.rift.everywhere
+
+import at.hannibal2.skyhanni.SkyHanniMod
+import at.hannibal2.skyhanni.events.LorenzChatEvent
+import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
+import at.hannibal2.skyhanni.utils.ChatUtils
+import at.hannibal2.skyhanni.utils.DelayedRun
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
+import kotlin.time.Duration.Companion.hours
+import kotlin.time.Duration.Companion.seconds
+
+@SkyHanniModule
+object SkyHanniMod {
+ private val config get() = SkyHanniMod.feature.rift.ubikReminder
+ class UbikReminderConfig {
+ var enabled: Boolean = true
+ private var isTimerRunning = false
+ private val messageRegex = Regex("ROUND [1-8] \\(FINAL\\):")
+
+ @SubscribeEvent
+ fun onChat(event: LorenzChatEvent) {
+ val message = event.message
+ if (messageRegex.matches(message) && !isTimerRunning) {
+ startTimer()
+ }
+ }
+
+ private fun startTimer() {
+ isTimerRunning = true
+
+ DelayedRun.runDelayed(2.seconds) { // 2 hours as a Duration
+ ChatUtils.chat("§aUbik's cube is ready in the rift!")
+ isTimerRunning = false
+ }
+ }
+}}
From 6cbf6074974d1ca80d4783eae56ce10807aabdcb Mon Sep 17 00:00:00 2001
From: Jepn
Date: Fri, 27 Dec 2024 15:40:19 +0100
Subject: [PATCH 2/6] Version 0.28 Beta 22
---
.../skyhanni/features/rift/everywhere/Ubikreminder.kt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
index c467f4c77dbc..e39293d63d97 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
@@ -6,11 +6,10 @@ import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.DelayedRun
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
-import kotlin.time.Duration.Companion.hours
import kotlin.time.Duration.Companion.seconds
@SkyHanniModule
-object SkyHanniMod {
+object Ubikreminder {
private val config get() = SkyHanniMod.feature.rift.ubikReminder
class UbikReminderConfig {
var enabled: Boolean = true
From 6f2b142e87a8796c08fbdd38511c45d683238d98 Mon Sep 17 00:00:00 2001
From: Jepn
Date: Fri, 27 Dec 2024 15:45:33 +0100
Subject: [PATCH 3/6] Version 0.28 Beta 22
---
.../skyhanni/features/rift/everywhere/Ubikreminder.kt | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
index e39293d63d97..2072f5edb213 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
@@ -1,6 +1,5 @@
package at.hannibal2.skyhanni.features.rift.everywhere
-import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.LorenzChatEvent
import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
import at.hannibal2.skyhanni.utils.ChatUtils
@@ -10,9 +9,8 @@ import kotlin.time.Duration.Companion.seconds
@SkyHanniModule
object Ubikreminder {
- private val config get() = SkyHanniMod.feature.rift.ubikReminder
- class UbikReminderConfig {
- var enabled: Boolean = true
+
+ var enabled: Boolean = true
private var isTimerRunning = false
private val messageRegex = Regex("ROUND [1-8] \\(FINAL\\):")
@@ -32,4 +30,4 @@ object Ubikreminder {
isTimerRunning = false
}
}
-}}
+}
From accd1f893638e4e837fc8958ede5612c73ecd570 Mon Sep 17 00:00:00 2001
From: Jepn
Date: Fri, 27 Dec 2024 16:54:00 +0100
Subject: [PATCH 4/6] Version 0.28 Beta 22
---
src/main/java/META-INF/MANIFEST.MF | 3 +++
.../skyhanni/config/features/rift/RiftConfig.java | 2 +-
.../skyhanni/features/rift/everywhere/Ubikreminder.kt | 10 +++++++---
src/main/resources/META-INF/MANIFEST.MF | 3 +++
4 files changed, 14 insertions(+), 4 deletions(-)
create mode 100644 src/main/java/META-INF/MANIFEST.MF
create mode 100644 src/main/resources/META-INF/MANIFEST.MF
diff --git a/src/main/java/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF
new file mode 100644
index 000000000000..877ca5bd8ba8
--- /dev/null
+++ b/src/main/java/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: SkyHanniInstallerFrame
+
diff --git a/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java b/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java
index 3b24cb4fedca..968463e14e14 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java
+++ b/src/main/java/at/hannibal2/skyhanni/config/features/rift/RiftConfig.java
@@ -60,5 +60,5 @@ public class RiftConfig {
@ConfigOption(name = "Ubik's cube reminder", desc = "Reminder for Ubik's cube in the rift")
@ConfigEditorBoolean
@FeatureToggle
- public boolean ubikReminder = true;
+ public boolean ubikReminder = false;
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
index 2072f5edb213..bda404032ca1 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/rift/everywhere/Ubikreminder.kt
@@ -1,6 +1,7 @@
package at.hannibal2.skyhanni.features.rift.everywhere
import at.hannibal2.skyhanni.events.LorenzChatEvent
+import at.hannibal2.skyhanni.features.rift.RiftAPI
import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.DelayedRun
@@ -10,24 +11,27 @@ import kotlin.time.Duration.Companion.seconds
@SkyHanniModule
object Ubikreminder {
- var enabled: Boolean = true
+ private val config get() = RiftAPI.config.ubikReminder
+
private var isTimerRunning = false
- private val messageRegex = Regex("ROUND [1-8] \\(FINAL\\):")
+ private val messageRegex = Regex("ROUND [1-9] \\(FINAL\\):")
+
@SubscribeEvent
fun onChat(event: LorenzChatEvent) {
+ if (!RiftAPI.config.ubikReminder) return
val message = event.message
if (messageRegex.matches(message) && !isTimerRunning) {
startTimer()
}
}
-
private fun startTimer() {
isTimerRunning = true
DelayedRun.runDelayed(2.seconds) { // 2 hours as a Duration
ChatUtils.chat("§aUbik's cube is ready in the rift!")
isTimerRunning = false
+
}
}
}
diff --git a/src/main/resources/META-INF/MANIFEST.MF b/src/main/resources/META-INF/MANIFEST.MF
new file mode 100644
index 000000000000..877ca5bd8ba8
--- /dev/null
+++ b/src/main/resources/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: SkyHanniInstallerFrame
+
From ae208ba3b0654a71e5d24198ff82fcbfb24c45d1 Mon Sep 17 00:00:00 2001
From: Jepn
Date: Fri, 27 Dec 2024 16:54:04 +0100
Subject: [PATCH 5/6] Version 0.28 Beta 22
---
...ols.ksp.processing.SymbolProcessorProvider | 1 +
.../SkyHanni.1.8.9.main/META-INF/MANIFEST.MF | 3 ++
.../assets/skyhanni/bars/1.png | Bin 0 -> 83571 bytes
.../assets/skyhanni/bars/2.png | Bin 0 -> 2868 bytes
.../assets/skyhanni/bars/3.png | Bin 0 -> 3077 bytes
.../assets/skyhanni/bars/4.png | Bin 0 -> 9030 bytes
.../assets/skyhanni/bars/5.png | Bin 0 -> 1189 bytes
.../assets/skyhanni/cold_overlay.png | Bin 0 -> 14108 bytes
.../assets/skyhanni/folder.png | Bin 0 -> 454 bytes
.../assets/skyhanni/gui/regexes.xml | 25 ++++++++++
.../assets/skyhanni/gui/slot.png | Bin 0 -> 314 bytes
.../assets/skyhanni/logo.png | Bin 0 -> 6357 bytes
.../assets/skyhanni/scoreboard.png | Bin 0 -> 65859 bytes
.../assets/skyhanni/shaders/darken.fsh | 13 ++++++
.../assets/skyhanni/shaders/darken.vsh | 9 ++++
.../assets/skyhanni/shaders/rounded_rect.fsh | 34 ++++++++++++++
.../assets/skyhanni/shaders/rounded_rect.vsh | 8 ++++
.../skyhanni/shaders/rounded_rect_outline.fsh | 40 ++++++++++++++++
.../skyhanni/shaders/rounded_rect_outline.vsh | 8 ++++
.../skyhanni/shaders/rounded_texture.fsh | 37 +++++++++++++++
.../skyhanni/shaders/rounded_texture.vsh | 10 ++++
.../skyhanni/shaders/standard_chroma.fsh | 37 +++++++++++++++
.../skyhanni/shaders/standard_chroma.vsh | 13 ++++++
.../skyhanni/shaders/textured_chroma.fsh | 43 ++++++++++++++++++
.../skyhanni/shaders/textured_chroma.vsh | 15 ++++++
.../assets/skyhanni/sounds.json | 11 +++++
.../skyhanni/sounds/itstimetopunchwheat.ogg | Bin 0 -> 18944 bytes
.../SkyHanni.1.8.9.main/fabric.mod.json | 12 +++++
.../hotswap-agent.properties | 1 +
.../production/SkyHanni.1.8.9.main/mcmod.info | 20 ++++++++
.../SkyHanni.1.8.9.main/mixins.skyhanni.json | 9 ++++
.../SkyHanni.1.8.9.main/skyhanni-keystore.jks | Bin 0 -> 124141 bytes
32 files changed, 349 insertions(+)
create mode 100644 annotation-processors/out/production/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/META-INF/MANIFEST.MF
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/1.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/2.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/3.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/4.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/5.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/cold_overlay.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/folder.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/gui/regexes.xml
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/gui/slot.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/logo.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/scoreboard.png
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/darken.fsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/darken.vsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/rounded_rect.fsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/rounded_rect.vsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/rounded_rect_outline.fsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/rounded_rect_outline.vsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/rounded_texture.fsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/rounded_texture.vsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/standard_chroma.fsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/standard_chroma.vsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/textured_chroma.fsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/shaders/textured_chroma.vsh
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/sounds.json
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/sounds/itstimetopunchwheat.ogg
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/fabric.mod.json
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/hotswap-agent.properties
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/mcmod.info
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/mixins.skyhanni.json
create mode 100644 src/main/resources/production/SkyHanni.1.8.9.main/skyhanni-keystore.jks
diff --git a/annotation-processors/out/production/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider b/annotation-processors/out/production/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider
new file mode 100644
index 000000000000..5f0d42dc4a95
--- /dev/null
+++ b/annotation-processors/out/production/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider
@@ -0,0 +1 @@
+at.hannibal2.skyhanni.skyhannimodule.ModuleProvider
diff --git a/src/main/resources/production/SkyHanni.1.8.9.main/META-INF/MANIFEST.MF b/src/main/resources/production/SkyHanni.1.8.9.main/META-INF/MANIFEST.MF
new file mode 100644
index 000000000000..877ca5bd8ba8
--- /dev/null
+++ b/src/main/resources/production/SkyHanni.1.8.9.main/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: SkyHanniInstallerFrame
+
diff --git a/src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/1.png b/src/main/resources/production/SkyHanni.1.8.9.main/assets/skyhanni/bars/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..063b624c0861eb6c2c918e4a410286984d3e184d
GIT binary patch
literal 83571
zcmYhiWl&r}*DZ{@1a}DpcSvw|mjov`1P>A%hQTFxa0u=pxa&Yj(BSS62tEuxFvARA
zp7(z5bMKE+`_wsI)w{d8R`0#m-U<4;YJ_;Scqk|+gc|C~Z&6Ti{=MR$;9&hTE!7Kx
z{|v5|y4fcb6nwJ(Jg6x7U#U@0RoOI@6$}Hvo+Bn3{Wdz7u-au0C81wK?j@Q5Oh@aw
ziu98y3}08r{1nmDnJePu!r$U8a_TEbqLE^9t7mc=lq#dDs3))(;9e5Hve{R&qr?8S
zI-n=D*$W!Y|CBUG7qiU>S`KEipYC4nWIDRo?zrzfq%N0R?}cu|>Sh@p&VYzU5t6x<
zwj*<@vY2@8xfa83i(w0jZO7Q=H51Uw-VQ}>lJroEZ_9?YZ{Y)JnLK{{Z7($LRp$BH
zzm&JUFyiv8z5bN``E_z=b#~(($XT>pji+Np^(~KkExyrE|KId)F|jd}T8YZ9Gj9Pr
z_UXaq-AlQ=
z3wo!r6obUWc;aarDl!D73?G`1Eb3te(PmjhtMf592X+Ssh_?YXOdRZFf>+%zaPEN#l|N
zdmq)5^;{w{h{a3iBE%=wTW(dXvSP??MA{RUHr|_V!d2qRJGt0364R&J`z#1T3#&l`
z=`_z;8F}hp*4@OVt$d6o#6FrM6+#8neiK!!J}WFRB=p??jq^psiGXSrRc%jpUp-C7v^=(8GGG%KCXv
z%crtx1yWiJK(&_j};RyY`$mPOY}?o<(+yuGN9qKE=%goyP-uYyjR?$o575%IB-1LzLJd5W(^4QH7Es=o?04lC}r;ELid8BDOO)LhM^(
z$y-gQCd7GaX54N--!IcmhL_X&sq^567m|iEbx$G&wa5f4=N*b$R`DTPZ_i)V9T);{QT}($`ds?PqgHplLIJgnZz*P
z+c@Ka(b;4~22kV({$j5C4RxbUD<5DT`xwX!g-!n<5JGt6RP}TRN*={t%}g-`cP?9v
zwa&R@u9;$zh>`trVma!m#qB^@C-wnM-WS*tRdiGyMxKoQRsJJVKBWRYAE1O;)etX_
zM83n=8bL~_Z~Lx3y=fzJm^U932rhX289y1Ov1=ag-x53=i0%h8LkVC}Ug|ElHw0kF
zMr84*FuKjdc=FRXn6Pxl;0BB$=4{XNCjoM0MUIE
zJTxp@Ql~nKP5D*me)%R57|;{bdA+gm@viy8L;Jqudc@rEui|a-6UTF^BFErwr(zE6
zTtV9((YR#nuf)Oc5n@P~wG%$Jd8(lQn;Zq%P`Qaxm7pdiYyoitil~Qd0fMqPfG4~J
z-HO0J}
z&L3P@E2lm0peR*PFPeMXGKy!irxs5Vi%X)ZfXg=#^dUQ`ReAg)iP7k*x1!f#g;p2{
zZ8C0gTU~y#rFK(Vg-dxL*&bRHwWY#L#wvgOo?;?DYIf9v&EWmZ=beEP9gGw9km)Mj
zmnPOqMJRauFV2UWFW(x7$(U+T4*G5Ll`t~H@#b-_zYQ(tPfM^B(ex2(D`OhHUOwok
zjJ;m;Q{h*u$0+?7gXQ8wca)V7iuQBAt?;N~lhVTK!Fc>k(aNQ&lxz7wZ0(cuvI-H{YLUOf<7C3*8uDz^zGR;Cz?gX~2{9pv=IPaCqLpyO%
zGPFGj(W^FoIv=aaXQ!`gBs-h&^Gwc$%pVeuVTw_U!2+{T^t2d#d&_Z)D~lQsGz6Pz
zPD3KNsg#4mGQ2cfwj_Ih=xILj!}7-h=+7`mx|
zC1m8++#nkkCU}UI+5H%^-rXC)Ja@8Ot&cLc*M*b?v;KV%*cuPhc-7e8#dDj%YEwg>
zj$Nu`N#D5LoIf>`U)xw3ztoJaSmj`?(~jIbJju;#$O~p3;A2xNTisy5@6_6^sHwa_
z35mA)*~XvDIjcR?-9hRHs9ADEfLE0gu8wsb)
zx3Hv+oQ=!Rju>(&_6y<-0Z3ddt%qIU;&0cIBt>}sZ<#Z<17g1^!=z09ExNbOl^v09
zT}P=Z40sU9per$={l!nHga3hs|G|h)UaQS8Hz2qXF@OI(H@XQq%Gw>9%E1Lfr?$PE
zviCDb7cqGJ*zH3c`v9E$A^rVA-DG&5!GUQRdINE?2Jvh?UwH5jiB)Ptxc?0O)>e*5
z=-SjlnkLM!BHUAYPe1{9*9^l4qg0WssT&-|{2CjpZ^fx7qGu~2wzKa)#f
z2t&~gT>Q^d!!Av5@&1(9(71qX3LV@0k&~VFj<5A8pBJON6#St-))V~(^eFaxDDEyw
zh4Noul*Sy^U9v`qJx>i-P^2ig<`~ulKZojzFAS+^9WYU`e=~G2t8wBqjK?Rts;N;_
zj&Y~bDHUy2+5F6}{QhNqCK-_Ok3uc@B1%!q!&)LI{h0IjEDgUQ9xIK~$U#0hxr$5q
zCw`XV&-XFwUHM{~Y(CDVXk8fy^K8X8mk*}OT3m*C$?Y+;_@{#JN@K*s$X?MAHaAp~
z+p+IQCZxU+s{PFSvvR%9(SAQ(G1Ef%OWaqKl=sx#TY>YF}^QB84u=d5b2q?c7
ziJ6&h*k`DdeB04fjh}28Xio8&6=6QoWf3-p63ncfQvFNG!Y3Tgakv($FBUa=Gu@Ix7_oa2
zrLnC4hP_1?Pg22zSOfebC!2HAonV0iEI+D;qJN3Gz2YYzB30QEeS2(u03~^PCia
zG(696s}lX}s4B(7$ibOd<47NZ0djOFE~>t9UBx1)ZtS5&YQ1WJzgnnNDqZ*;T<^>3qm|pi~
zuyQ(t^*NrD_mZu{A1S~k`@Ul4SGuw8Ei=Y;_fvcP^m1&UH|yZ-p-{*i2loa~qR?M|
zlw0Q1jL69h>BQZ^*c^I}!5GTJV@L}`I|}&Zj*wQ-|AMRs-F4!z<>I6KAC&zEw?$D6
zN_U=5S)ln?65H9vDD9JnQ~7dzx&v}tmLboArSNbi98r?t_!c80<}Yi=3Vn*-*G&Y2
zuU&u4)_%xt3t}ch*CuY0$IisJ1+~h@<;EBneoaBgE5(yMQl@q15)EgoEbtp7bX503
zXSqQRpgbqtB_FbcE~Yf;Vm!zz20DM&iDG2XAQ!eOh!(FJ!W|Gq;c|JvaKV4k2=Jqm
z#+B6}`p)9xkEfS7&L!A?LP?
ztzm12V`Znd;~Vfdqe;FD{)vfIQ$nUr=F(q+|BcC2^&_@(zO!`#(T5DcYca}hH17!=
zhDnx`Zvn1~nC_sOX^ySe-L1sbM#hFVQBoGO+&Di&;~zvGz+qzmOD@K3D02(XcPu53
zcl~RbUnVL(n0u%+RQ@F+0L=^6#0e<~jU%YO&z%
zaD@PKNn)}671~tZ;=J!*w9Y9jO@Ve(z@@i&17GYri3mNDFjNqqGrqfzDmS`7rr+d`9*bv5mqS++Z1I{!=BQoZJf%4S<`jjcFx)62bx
zFxJJ#qELpY!NsaAs=ApIKT-w*IWvp_wVNnX``#*m(gHE~Qx}_r+v-jiT||itZ>DfR
ze%+tVqY#mcP`r*0Wv3horF+D=BlpXW`){?7J5z%bie~xN?2+MI$G}Ui^%2vAWwo1c
zYiE%f*6wlry~g2T0A7Bn6_IIYWa7XeNsTW@|&
zrGMqm`j#yCT|wWw>sctT>8xIm^)|{jm*TQLKT$4^_~wsgF^V3P$~;xz+SOfm0DFT)
zr?M*pZn+Y2>-Ou3@r4U4CPQNP!~Rd<8b&U?InVs99(und3I}IJQdr5%cM7G%moAY#
z7-v($q<3Z%`Uh{TI6P2|M28dLLq{q`Fd1#zlnr7zIOr)I}
z-D@Bj0Gl62vC~SBEc48s3~J$gyByytOZxjdJy>#wK=J6&e
zKTSC?i1#b0?>bMGbT6;}X3C)+<4#XBpfSmj)~!dRB!`ZupXgeUJ7_yYTSSvoak!!p
ze&Z$quH>SB;5l+UeZqt;CKFG^>d#2?lYXZFYY6-9VOpNK(3Y
z8ugxdy_?t^6^0Y4knl}GO#}^MM}XC|K&GLx?p
zCe`I_N;r=8Nv7xkq;4%`i9EWI(>utG^rV3(q5qRu{tKk`Fch6mLCD7Ev)UY-DBCma
zmH-ElilJ&^!|@Ra8x-SB3BQ0A@7N?Eda`$W=-22Hj&p$XW2f)WLFSsD0ixT
zevA(ln%&EAt1n>*JQE{cwRs4Y=k~&`>J2wj1$<#z7wN`7`u%LGcWd}ow5|tZC7UdXGB$BbV&^sa?uKMbAmreinvl;A{s
zctMs&S4whgpE4~MTV|QEDjM)HoKymJ!y$?wkw{Wh9c*imw33|Fv%%yeYM`D#)U%IX
z#`o(B%1R_439;O6!lNUmYqYJ1y}TToL;~vB7`};&3DK@%PDH5w>zH>g;)+Iv%=>xX
zM1LKhV!wWq;!i$cH&B4@n03A|+HYM--p`p|+bo3;O3(PoTQtCC_sUxAIopa$I@vK!
zN5*#r)9KccMJh@HM2>NoaMowx%!t$P3#(ifyIc`O;hV{GYjmY@i$ZLa6Ghaa45qc!
z24X0M5Va_FAJ>St^r?J1RS
zx_d8sDU%xUWuQQ>!qE7-u>W9=XW?JWxCMd-JU2My{l75_+L=1yFX$-;BqmcEh1`jD
z+S3y9!8@>sWfC3+j;E=3#k%w+I)LQ(){I0LOeJZX146PQMq=rK+~-boijQcVwG
zFD@r>ckm!p?!ZUe*K=2+DuO$FeAWZ^ke;7%x;<9}PuH`ELVH;KOTik>DNMQ8QTJhX
z?FXwLA>hOW1y((|V>YLeuc35{pA!Eq)XM#^&B_
zuf^oneRt(=)qC{2nthfwG3NzTR`O;lEG$m6@dAk7p8bRn
zf`qjj|8fydw&+u=w;_{y_w_NK@8SE^dbZ)Pn_|TGy1K1Si+G-QW|}2tS59S@x;q&M
zM)`QVCb@KsKRUCwO)yvmgdn*CBT~Oiq*gz_%XI4{^P`b=TK`JqV})<2tj#1B#tH0dc#>dh+>7QCSZDIHM@r@aB7iY7sB?oo^dcDAQWqS^B9S
zO;vqxPTy?CT{;gLS%HV>V!3sKQ`NCWSjT
zb5}O#hWWZl4{2V;vfm)iJ-bpklxbS~783=h`sS9NmN^!|vOjgsyct}2yR`*gre0Bk
zncV;G$E7ww!;hWho*!o+qdonEgZ@eZ1ho>8>icUaAq2E1`V|l+_k2&Jw)OlmU%&n!m
ziu>_dBdFtb~fg-~YW$D873?aTSF=m`sV*0s$p4-F5;vi)4^eoJ$p
zcHn{Z_fH^DkZC*S!yp*;%ma-`~+lg~<6-3U4H%=(=1Jr6uf*dIqeO)jA&z@1Ai9)d>8$Ht}y`2@wUN
zvNUVW*@;rcV$oBw)Dg*M@O{{q3tv&W(LZXM?x{&Dzn~I6e%lCM{i|@dUF2F9*>HUNcc|1p0nY0VkwV
zRnA~U*;c$ea~0;i-5XwMsqHPqD!G@MKQRFQxT5NfMYdnBx*Q3rdTo=Om`bH6?dQH6
zWu7^wd@PM;NFHh}#ut)FdP(G4de;c(gwKQ_TL%cWo4;5I*jo#>p>y$*c##*VG3_JQ
z_T##X?l=5UCKJIT!{Zv;osy^c&Jv8nFWq>;AOXM})fEpv{dgpD2M%}SNBLiNUOSLz
z!ukOpIP_uksYWKxH)|k=aUY&&{j?kqe+s3O4SS+40>Mt}AUGM;y17pwOxnnPV&Ug_
zcH-iQTA*iKZ3rZ;76^$N2SJC%VrOiwp%S^UN7?_3{4ELt2;M=!f_@OhKMN3ig#PC{
zeHiqgH}Sqvv7=>olGk=!Q$QB~Lg
z@qb3PCWkR;BSNIKw?gFp+5cGv`!i#l_0u1!TPYB{myet;^jiyVa@QDp`?ubu|7OkX
z(x?Ld2R>{P6Phc=nn#~`5PzsZB|Q-T@6s!pa?e3P}qN^P)m2T~AL+Sbzp+7$bdoEOVkDOheQ;KD6L9L`
zz_#@%L<$U#5;JY2cfF4VtJN>199Jmbwz~A9%7$V*j{=?@8+%tjYP|uA{TNMUQg58%
zmhRXS@q!m2PDnx#cPlsLPKeH*j@T&v0t$V0Sx*BF{g8Su
zspfFASODfV)h{LDG#27rG|D|Hx56;)NTh`uTclBcP)s9{AceX77NpevBJi$dZJz}Lfe-nXf=3utE=&yZS!Pw
zam)6-vfjCsQ6B|`k?PPAJM{tiej=PCmKs*aTT`z@hRZ_2?j^Pl!llvJ9QqkK72s7e@mBGuLc2VG0
zGlCtZqWc#xj%honcSBJFf1z1aDy3~MJF0Ni=@52A7z#_nVe+*Mykil#*4bC$6i__4
z4HXQFw4`_=s%keBCDGd^?rE~v5*5}p5POl>Mo8`}arcVQMCa+i{snSr{W&)Dcp)vD7?=!PdOQMGKoN#khgxki`aQcL!%QA3K@HJ7Meg9w
zd%vgceamb!XrqjAMcVZ$X!GAtv_yveAhzNC!?2!f4uN{OHf@Wwj@AHnHmtBd)HiCnFVVdSeM^r)^UR@hi@9M@{qe
zrOd3nrVoAJo1DBz?=p1mM1x52;zCbq&MQiYsm+1teaMtRE$BH{(+
zvtgpkvWTz~JAKy{p(1m*!MNQkZhO@&4sw3Zld+wU^O(Z%WUIDuG^Ew~`5+D#$|#Uu
z&r@g?XiA?l2vjeqV;R0LXL@eOQ+#f`N1Qc0a}E%Hj+fTBP=Yg;uYURauFZ&Jc0HVZ
zp1SIlzscWZCFi09)ST6hn82#0te6i_k&6s{idn$snYA0-;w7>YIR{IL`C|DQWUz(j
z;M$88w)Go*9oHkIg#IQR6SF30uuqe
zCDK^7Emyl1x!U3y&tuTe-RiW-snBj{61pz}$>t3p?xViudQR${5cOLccLIU^N@5V>dKd8y(g+cThFr}ZT#-wyyBOhpj7AbA7$xDSy5nLvwN8h17*
zL#duZ{X-*#>dUVO5}Ma@w4dW;L4Kj3aNLE;ay!JOinMp0PoCJwFt4WG@BGfOh}Q@!)6zJ*_WHxX&20f@YBm
z#mLNik28PZ-p8vZIvu<=1ns@-h1+05Q~kFkqpGIQi>TZxu=^bu4
zGK9{(9qPGf&B0WjG4JZJGbEVp4O$TX^7_x!Ako~#W*)&RJ=ug8GCT&|p8wLk2y*3i
z`*BBXehZ_b>}MgoXNTq3(%ISr-FFkso%*6{*w|8v8G(4sb;L=QkP5wMkYGDW`py
z)pN&|zcKY6s}P7A8q!68H>XtcE-hMsg5fbK_vn}`D#6@#(c))`_{ZAqst`uziFYIy
z)~oJZMT}nAh%L|Co0`!^9A>2IPI$aj)CNTkbwzj;
zs_G8-m!t0Ih7^!HnYVcu!5<}6nt0O3UZDHViLcS+$W}4*NRP~2|n{7-0o7H8<%;=jE_Ax*z)LU?w3e4
zcTM&o@@RMTqrV9-)qqrQcvoeTZ#NvHIND5$bGK(@m7cwrM_$U=ZAiNcP}fX(yyy_S
za>(8kJ2^n>hI!8wHj`%4`=T8OmjGz`-_bD!eYo}es26o_ySq^!rB24Tt{Pr@RJaJu
zFMjX23D(h{NB#kr9|LwgKTqVSH3o
zF%M_kKewwx>R*(0h_^o^rct3rh<}MOX2}#5zu}s%dO>$9YvNp`nq6Q-vO#>AtQxid
z*oGX(<#b#PlgRV$F}|Lhqmr!Z=XiZ+DqAKMI#sCsYxrO#sZ%T43mYw@pDfJv{3rj*kwf!2OM&xdd0H8=6S?UNvHj<
zxBput5FNKy={!0=y1dLWtb5vsJZ&5Z$r)qf7-XG^9|?FddYch|<3#pedC>agR&Oiu
z1;k5cMXqWbMBt&;Lu{XV5%|md3@Ni6gYX!(gvUs+B!mS8i~`7PdID^E`3Tn`;#0&l
z=VPw8wA*gLYNU#@T1xQKWesBKb?Y-}sj*ySTi=i@LNf2(se_NC=ic56+gsuhsT4Q5
z?nJz$hg9hrmDAfNQ(A~+xHlhO5-Y#Qq*~BMe2Vv&%)1~NZ`)by$GF&8S3X{Qh<3U6
z6s{q1rIY$o3@EnWC%WhaNnyONepY(8N(E{c%K`73)hIkoaT=cN@^7C1dnwEeC;A;Y
zw(|;E7&>qGTQ~xJD^Av~?3~n~vY+~%Ik(D3apgWeab$Z#R-5`SY%R~cJL+MvA+(SdA%?}Q8+67Z1_YFGT{ZL{VH1DP
z3K*!~PhG`sW*B)l
zKo*g6PPs_?>`05YeyH}~=Mcvl%s2$K>U~NQ7z>?%Ff|YL;+HAHWf+U;@917k!*(9G
zSTDcx%b6dx1|Be+%(Ts=-uJ2ol5QQX$;bdJh(q;0K;8Gw8AJlezU|-t0@DQrM8gfX
zpt~dzeQKjcE{Tk&^u5Wt7|t#*|NdM8x@(iV^Gv;jFmC?4`OK#uklC_R<$sIEuhi9^
zeolBlS6(&d47K(JRtR_*Ua)%1(-0{`5yPz>C1@R>-veuv-finF;s0A`6OB7FG&!B+
zD`qG4BdOBDJignUi3j_DNcSL^tgpRBb|)llB4}oEo~YjoGEHJF7!MTryq^^J3!w0r
zG!g81MbJwhe{l&3=}+u33$$(3OL)vDd*^_E|XSAvP~gK0?$a|tm&~dpFFPr@FB$@1N5hi
zCa-s(R}cn*@rIMyGF?(8>w;^WxmmH7lFM>upc+u0#U)B%+;O1&+KJS{D#z$|Cq3e_
zYkhc#G%DObu!ZSH`Ey*W$lRs&702n!{bK_Uinz{LN<&i+PTl>;n`_>iW+IuQGXmX%
zC;6AqTY+o2!of=w+Hm7BD&A8Il--=7-O`sgYNH%GArGYXefz?yWXL##(wxFn29*&a
zZSM+Ms+W7R5Hd;@Amvbg#p}-sa-iNL)NuPH{+q4=C6G*4kKpIF{%xlR^;PspXNq2t
z^3&@eVEvzZ7MZ
z=WBssnJ^vX7V1cW4aaj4=00)tkpXSQxKf-8$TKdakG8+yDe>|F?;?1zor+|-WI$%*vYtbr<;1cK^?s&7b>;-arahQvs^IMCN&(H>U_G>
zdfA4U=IKC_hCEjxSfV?Obj-pQ6)Q|u{%?97NMyx5TBr_Vg#@oc3qOA)DbbJLp2LjV
zB&Leyv6DEI;$-d9b+L27W+KL$!Z$06#onsdTkh%hg_q-cL$cl&^LdqU3gM-eUqi-LXC=D2Wh@$Y--
zfTvJBj8xmjVHsrdylL9;_k5*4*q%uOF|ng-GP?`GQ(bYp0R1=V6t-yeFMt`y7|pgP
zp`uaBOPug+qAi#_J2s2>a4j%o)LUyl;ADH@q0%!-Iq&|RjwX}d=5W*{r6mFl24&_i
zWMn)UHw!o`-k*#CbrQg;O04xr3~9k+8n7(*)G+&9L8!T#n94_;RZnatg?C
z-qa7EQLT#of~(Y2W(j5RVyo;MejhcBnC{kSTa!2k{PDxUJvy3T_vL1@AiVa$X~EHVuI#0lbKE~
zC~j~C6EO3zi^&hPU45qqaexT2a$`d1K=vv#_hLj+QjjQ)e!ByY6TRr5HpGJuIsLFq
z;pxUr=kmMwo!nN}tVR)A;NPcEUaY}`v96nv(`$b9ZLhy&5XSCsNf4~6K84)_ePwczVTc=Vqx^rU5
z7EA2s>GU2^RJXunbPfr2KT7hCJ8#uLiK|Z!b&!V4TFysr(9|jU9Vrp~ywy>Qmm@(D
zk3n_Qf4wKRyLlvsJ1#T$V-K!q_~5Y1MYBB$3Q(Mt5qkmeY+|^PqOD2BURL=mfk(_{
zA+zf#ATV_VOn{-N)o;ds`8{m^3EE%yWju16H4^xu<$LN=_=)^Enf3Q??=G(lHj!-3DP|eSqzgdBmA%*i;S2GaI8yZsL(^?usrV`9IN{)o28Ui
z*<44vMD}-fs)^E1YJxGI7`9x1iybuM=tyR8DWO6?kMeJl&VPy_1D|eb`k0qcDdlVb
z74*yUv`3pCh|MB+$66z2V%H~_L3~0~p@M~wpi9e2YR8##^XxtfYFX?DnN)E#$c8N?
zjEAIm`2MkkP%?i|f*!r_i}g>r<`cF#A*LIzsdwFFM58YKTIaqG7iD+T;fyZU=0A|s
z=k;~vZr((j_SlNrJJ)Dpspq-3m&eUkOooTucSRpg9U}n|4bV^XVF#>@sgR$HofHOf
zL|$^1eV=5P^^WDz$^)`L9GT^*#S{-7_hfAH6N*vC^B-+NMsboj4Vg3wtu+{VDArtH
zE?~2w?sHp-antF8PYxjSnM)k_%K_}<=F6_585F#y0jDp-6vsW3@I(XWQPB*1Ef3(<*VLPSX4WJ-^+j1cKyoU{Qvbd!`ea_dli;$MU+&B%>MKrVo!-{z
z!Zz4OKATGUJiz#%Gq{9~39AK+f3)rUO71otpUkMjOll=d>2T!JUNsSA-ns++A_;QB
zX7n#sFR35zt3n`!Q7!XJ`-0Rj>tM^#r|!=3h=f|h=fWVd$hpBcP^gai55IK%Lyh_mZryAGHK0Dg1KVvc%S3_eClzV=w>2$;d6GvPag@`p<5AP
z;nt1zHHL~#SYkh&o-F6~izbu5V!oDgYWuqU?h&MXl}FZ~s46X1wb`{ln188C>woT2
zV@b@?{)XZbxBRZdi?(cR+GU9;=nfcYV#uP(E6ex}aPHqhEqW?j(+LS&4_ol=MzZP!
z`~K^c(vN?cn*>&Sx$v{3uI5JQ0X>32jU)2_tO`0x>Q>Yqjw1X1G?AhaI@RA1^r3m5H}{ahj!l%#rR78Ik+leQC8UGul9jDh_)2tZ1nFCT^W!>I74Y9ucnf9rt{
z#vxhG``IIEx6sS&yYfyX?QSAdlmO8*jQ}&6kiJlIlWoVpS>}@`HO(SKeW^
zQO_3ZOV<84W>|G$}JX1P5Bsa9&3MAL3q=Y3de21!4{k~h!Mr1R8S=lCxta%B+k^r8A|v}`?_faZs{AHFmDPanMd
zo*NN*Mn|G#QHoF@dJ}#9+U;6Se4}uqrn6(lN|#5&V=`#p56fsSjFrsATG!3t>>ayh
z1TODg;VRf$h5e*;H@f&BrXx`S)SrW~z1>qfyXMHkJr8}IHLx>4e?8lCJm1KY-WBjE
z*-}|KtKU;mvxUq0&3V57cH%|dWmC&l*U~!`&o_Xho&`^eD*Pqqh=08VvuFbtiDZo1
zXVy$9sm*i4m?E|YXvoQnjc;ZqgX5=zo(~EwQ6CaCjqqX=YE>-osCjBV6JQsArG#X{
zI4e^EqV|W>o))~{@-hI*Zr%x9uwS;xkOM{XZN&OjO{&*R+xG2}Lch(Gc)BBAUT*b&
zJB>3&34Eu=nzw!W97_Kl$6hoAJ?~3-K6}l>}V@P={-x+%Ph)!RPMp;kL0U-n+e?#
zZ94Z1=gQojlG`G(?5qYd4eRM`lbj*5xK+#knEQ5Pz}+a-0-YX}TV+A&s~7!nfyTq!g}3
z8B9N@zBYYfd^}0L;h(H7=)B&fw6EgQdxgKjUpa@1?+62-c!*U+_hu{l6B27(f&`nd
z>v#`|ImFu-&SEHC0aUTfRai=S@!9jCdk5AS?Aaw2@Olmu)3nSD#nQ^mU3`w$&ahvG
z6N>JzrQj&ZJt|82%KF6-&vBtgx`@i>x83u0;5cGk-#uZHxwqLt&%tPCa%2Xje|MvW
ziwW{!R6|eY+VQl&dF3zs`m|tfVb=g^bHw`10LygY*NK
zcg)N@>zyzpADZWTn6CR(7C@ZO1Fsl7xt`ZxVD<4d;svzt(p6{=-W+$B8HvEOKCdf*pC$YazsXf95~lM-8c5)?83HUL$HveKTveZ&g9HOyv1A}c8S$bNUevAE|n2%j1L#D}AF?2kDpraWo(d?a%h_U<7c
z_*5K-Van*!`S~wsSQvlz?X*?(Eo22S|6^}kBMzxa`FbvLLNib
zB*??H{qKt{jVGnJ{g9@FnoZEcV;oU=2us3vN^8NBR9q2|)_1`p57DsqFL^4LicP3O
zZbh+fu(50$NInJ-S;A4(Xs+DlE`B@|*@7JYNzU{{5K|5?Ch3X96WD=K4!1-bxg9fn
z-%T#D=X?zzP(`@0cz$4io-RFNnlu>yMRd~@0$wJjR(;B_ZUqdWt2M{?KfRed{+U}F
zLZTY5dM0$@Xw&=dnT5Wc=~L)6brO8V!9+qES*XMmG98fh-!2mEK>WT3gQ~^IqY7`W
z?DAt@u@vpMWY>;?3SG_V~*}RfX{TnkEhec1v>JW(`53Q4E&>
zuUIV8xrf2}?ZB0N=z5l+yR=P%*8%;Sci5|ly)Vx5QUF4Z`>fNg&t?F)|ySoqivcO4Ma51YvvM!J89L-!rmVnn=qB&=sY%
z-=u2-mld8FotGf}=*_IF1*`9&@#alq8$?T^$Ipuav_u*Vk+@NdtQzBSRia!~s5_X*
z@4iXL3?(NqFDjrJox+BgPm*MwO7`BL$u2e(H~1=}%Ny|pXHzmORqTh
zdM!nFZ^k!7tGfrCx}s>FoOP)#_IcT(r#qCCh$q|z^lFshevCg(*e5=uiJ4pk{dOM^
z4D>eB`N4A(0aD(?Fwy<2(5RVMHo
zoVLc=OF#7-0q~Jhd!M(2cCuXTf@Ox6*MHVK%kM&0ew$5t?J75W8=LCEalbXI$2F`n
zz^s1mg@Bn0Qdll3osG0#%r^S&!UNQdlwzn=CK%e>m&9QxA
zhaCVkby$sZR;|eP%DDcrJg|P^wBPVEsp?UQ&Nvz)gIH)0T}E*}N5<4y6UGt}8oTCG
z(_0(^C!w1wn9N*UFad!v~
zjRgr7B)Gd?XkA!fw?W=`qrd%t1{pGzjVa_g;_GHLhaxUv-eTk|f}jjJUB?X@*}z#Pem5
zFpIBh0B=_U65wn5JVS5VDlV$=6_F>JvsoMPT7Ud2R`hCfYnK{xB&?{W5VLVD{iYiS
z3ofi~dEw%Kry@pmxkeEOaL)O)#n|?rS0mSz2I`A#tzxj^a)$19i^z>8(gfImqULU!
z0bn|i7T^66UAPymsMIIBiOnqdYg{m|?%QVXegHKV_cm2ddOre7kwUj;*2j1}4s)m=
z4H2BDteu!T5(%dCZiFyk*a6;<D&|476hb|hF!F}}65d@Eo!8AE
zzvyXs3a8&nvO>FGGJ~s1<(|hSWulLy2b@T*GLgB9cVg{`psR52MsvZmi=s#>o{7Fd
zCDEo7b)Ui}wzTC@8>-#1Js*A&hLDl|TZ&Ig9Xa#JkZB=W7fEs<$P^x$*id_o@M
zs<~31xQrDi`M#@fSrslnz1?f^5>~>8R!|I@EI(;n$SEQ
z20nF^5^V2^wI1?&LAt4C-RFFs-oT=~ep{)=Lp{?sz0LWXh!)#N*uSf{W8He}7P>|5
zErlLWl#XtIB44&ZVdo<&?Mc31^}#ZL-tcUP*~`y0>}?XR{Hj>s4^C+f*|wG4jO+vV
zjx4aH(m2CC<@Vu|XFG9I8uGKp2IOJ4d!)VWXAaxEU|`CB)h2x
zx%rqQ++Y6K-LCJ8EMlBx3+fp@E9uQk;4;ukT4=HrI8m*-i)@+ws;2oel{U+akRzmR
zXcH%fBaRPps^a`NcS~-qR+#KMZue4Kif1pG4c|2GQ^y$i^bDH=tQH5y2HT6(Ejxs7
zBuKpRITy(zC;se?F*)J-?6}V*wPWYEbQSA&+e>eL$lqlcMCJ6Yw_v7tMAl+~;}&
zBL9EGZ5vo?O(9mo_RMTuHae;QpmlGV*;hG9LuG^TayMrACD-gI7=$Ue1EHI@Sm<9E
z-`?iS7A{1IlCpoHySaa%6ZAIz_phC=8Lz@&<+=Zj``Hz4B7cT%V0{K{V84z31>=o&
zH;d=IG9=>T-I>GkZSUkKN&Q38A-G>-X`PxrW!p%-VGv@XFDJ}qH|?8?_cCeYh6pnk
z@we!&>GKrdQ~K{Cr!R0`cCkE*KH|NH+vitqL}j@++>zz}=`uLwIv12&yO%Bk+Q&W0IT6^2RN2Ax
zW>0K%i&HNC0!!vR^TOB`W<(%AC>9C1iSm0K;l%k;K6NYD0o_$MsF&~QL+sNkZa%MJ
z?Wb)ViaZhZt|FuKQDK8sUJhUxpfruw*-cp9GZ4>H&bPTC2PNN4VQ*XL+G541D9viK
z(eu0j8{6ISe3)aqSY0mRdgi~Mnk$43U1H?}17_TJozqbfBHrMDuICk<+LQXKIm6Wb
z_P!@C_^0Zr3y5Gk?N5qVlrMv~R4@Yq&a5Aw(qNFb`e8_i?`Mx
zE^M6d3iJ2r`3jk8@<6!Gx!e#9eXu$)!Csbe_6zIuL7dNdyC0|BM|(uQ0fIY7GCBO;Xel5%cI&5*H~Ig)T&5|v
z1)g5WmB8Nr#eG_mfko1vL2l`7Am6v~zhG4*h%j=lh!0HxaT@)NFv;!EKi6*VMITq+
zmYSJPoKMm9!=D|F%RMR;1^;m%>oy@x2YUYZlKdBnDtob#<%scruL-NCPyhdmV+lN|
z-ljwUU8`fqVt=azvxz>9s%l)i-2FV>9gcIvgZbRD2T|TS#PAk$)Xe=m90JUuC?faU
zXJ76eZXog`U+w&Y0gC)0j9cmmD%d!n*ULTVu$Td;jsfapZiFVf1^0!(5K2bUh~Jmm
zVBP{Jsb^fMK%HxGHod^$E=krV4UE(&W%oIcsmz)?23J86)mou-mtxG;O1;2<|Xf`6i#+7%IzXIlr)udj{|N1
zL)+>MUi!fXE4)oGrVG#>)oklcnh;*TfaZsWiy7ylr%vBR!FR&2CS!G&=exLJ9Ah`>
zs@}xyvS%-~K7v;O>fzn!Qr}yC6nCjQ>04JhKNYeLn^`&EZ
z@-AE`*ztvP%;oQ%cOm_YHwP$8dpZTD+jkog1{CIHVu&vW*yN%2%)9F~5op}xfaVM+
zkC%Kt9;^ZCdZpdQ@i#UnduKMS^ne%l@)!m8n8(dxx){pP%g+|9Qp%%(YkqY;fTLgUes6Vmz{>iLeARDW@s!
zvZ%2Kd|sUTP$cE#JQNw@_Kna=VD$`jM`lgg2IZXwBt=3^_pSYV6D7t`9|@jRxHDtI
zDm8oyxis+unbSqM);(f^BDN*qzPsXZykiS>8D6W#>Iorb&rkrQA80BtY!!~6j>OAf
zKqE1}ra0;nbIj>@)Vzn&XYD4`PbQr%t|tm0BnKDHWmbO)_K#>q_}gG?-AT<}F9Wsq
zOx1+N6gj}Zca5qISInPnJW7~s!IK87JKbx+Zj>qHD=&M^baz3-#c0$d#5%ix9lGh-
zFu-PY56eG*N#5Ax36HfnmH3|S
zMCZH5fbTylEiokhF2{P6VPXoz6c*SC$WwPmk;tyvd8q;_Xn++=kTmsxm$_u!N379`i0F22y458R(G(
z*3)9UkbQN*N*Kq^UIZtAqr&kdsnj3hhE9L#*x|khD6%kIUHUiG5yd*_LC&9%2`ivo-X+{`!CQ-1pIFAY6qxE{IBHT!g>HKkl10lL*)4FLpZ{
zM7r(y4(@sO7w)J2|iU-ZAgiE}%x4NU==JgM`9shxWZt4?~kf9)PM;
z!lGxQ2+@?5VtB4O9p+P~mFpI-Ecx}vJ0n=Ctv
zd?aetd_Ux8FZ0`zu<{Yzd^v^1%d`9Z=;cj7w08kt^u&>EOw$$w7JKgJSb*7iHzMNb
z7*4KWTM(JL9)cQ=fQ-LVZl)-4yIuqM23{F2{n}DB*!AAtMR=!
zVl+m8`lPO>Oi=U2D*N^IFT6k>vSLhD(~Y=WFI;W
zhDH1PbictS8?kPiu15Qi-r+D`?pUG(D{k*n2=SzZjWpngfT7OovQJb(bhZ&4J$6~G
z-Ak}N%!#83J^uXt{pvC}Hbm{;nO#vSl=Th(^l`X>_tU@iuK#(^#nob5)3s>+Kh+#)
zZTmyrH_Y9fUYh?t)qfsr8-%T$6PhjlhX+gT9#Qj}@|2;uph(nx89TpB{cVn1y*=$^{g&RteWD^;ZvY&lHyv}Mt5
z7%!@jv>mp?lYKRy!rURVs`)*@MdgvN6N2nQV)JGA(+q`q*j@leC7X(cKDE3aqz#MKAsgsk@i_+xRw;CDJ5RM!yWU
z;^J3^N?&=8{b!GSqp9;xkrskF$gTuQ#AXmfIcK3Qfie^*xjmFwL<`&JJX@}KH?Th@
zg-DOwoIX`ol)dCNR0okCiSZ-riBqP9oN8_f*S_aOb;0kZRlOJ8{bKH=qkVX*77AgV
z!LX)|E$c5s7H`TgFkR^}FvUM|Xu_-zxQfv5kQa>x$7(LH4sR+*h}5N4b;Bd7m|ek>
zUpcn*d=Isd2AIBQ%;nohHXaa>zJnLPRBkFGRnHM;Cf=ay#vgOG@b^}4&PM7HUQ9L5
z+E2OKOBPY+QB;ET%3Ib9-(lX(p1A##@`)5#*q=+ONJkLx2bGlOY3U({OOPH`r^VD?
zovC=`!8$SD$f<5|e!i!5~_C^GDKEHHEE>-R3{yycs(A;S&XR+oO$-qhnaP
zw{YB{ZUx9&wAf{tkdNi{3Jy=+PmqKiaq@o;I2e)NayBCxnLZzS3WbcH57{6T!own}
z-?{yKC;nt*0q4h*QnQ&tIe_s4$>^Y(vXPm9^x68VNBklOU<34A=S6Bq5x}*_zF&Do
zKZ04HOpmN=expJWx?Fs;@vg@DVMQSf5jzImCM1744&>mj4#gL^+ta-=cHPauHiW1A7gJu
zPC%=*nmNxS(#0BKOSaL1cYqURq(>-FN5AVlb>7Qge3K|YB=1!Ui3=A<0S@x*YGSER
zsCEi2C#`g|6Btsb6k@#9N%HJv!SogV`^i^scN0i$zLoEzZ|=+rb4aTEX-#1pJ?k#W
zsA0dAT%(;xw!;X@2#U4SzJ`SR$A)mKiBJI-n9i^>0dO}<0
zs87y_#`DVXAI9^7paKhR-L?$-Inn-L>Xx)sRq2q0$9Eehv=&W&*X6ImnRf9_Y0L
zlw8di8)0ZE1iApKH@T33#Pys^Yevb@iwC?95gTf#z*f#vpDtZG!HaE?wK`^Nx*&~R
zihXGhv{#FHyvc(6((C
z{!AGrjd%{-rj9t{EmHcC0z{BHvoca_h*)o!zAz;U{IjB0a}%>B|{+0WJMfqL{}
zHZ5G?&gaYaF92gdcC@z49(SiTt^nEz++>?@bFgTXE@NECe}7-~B~R;&XJeG)
zR7~`8!kO|#xH&PkH&J0>0*ec2P1aycg{2Lh*~=VMg{|(i*b`G%NdD;qs+2c}-op7F
zT5nB|OK-Qn7d%B7%h(K*dLQwDdgNW^Omz>kT=urGBG~dEg77}Ulj#i|zZ
zF>@e)QR}SCJvzIJBu_5QAyY^}=HzjVT|v)tWT~D7
z-C=XL%kX?odxHJ$gJ++>JmDRb`B6>DFDoC?{K?=|=_Zfe(QM~@^NF$Hjf>|ajM73VP^>0sd!mNd>+R>Fn=+q3Hj+%^&mShd&ZY!Hi7Nala*iMYv|(F
z12}irug-S!+}Q3O(Oy(0vpm$sVZNODUZ~v-IshJne99Vj`jg#vafsdU`fWckNCE3_TM0ucR76`JZSe@gF9>b%U!gn
z)j9AZc!(%2;Otzp`gArK$yvuQ1YK?&5PG9{;w;*oI@&
zi_k|Bn%p0ZA^pE>1k6|+C1(eV+ncb+nlF|;E%prh2MMDTM}MSnm1r%@uX?OS)Ch)p
zTlpm;SN>^s8j81Z6TbdtK%r1ouVe}f&W5pl6-%Dxfi&=+~e#Wvw
zeu+QJh-6v4^p+kE?ZsR#Z&}!~m!9A8r&4BkG(GINv0_SnD%$
zy%`FhdQ`q4i~LNaOngF?eU9%B2$lKP(=}b%=3F|^@iL8L(Nq%&h*z2g#R+rVbT5x`
zV6XsQ@NGq^cFu0sb>g4X`XC0it|_0_XVw8MzV)EdfO3Yv0uVR41b>e!T6%fl2T973
z0;J!zma}rTm)aQ5R$J5o-Q47_z@t+P`}e-e)&dXxBP2NneH%fAakB&Ebug4vup2~CFJo{1K)@kiDaLQsya}3qu}TeFEJ|5vIJ3D>xM*!+MR_dBp;PKi&3?P
zb(s%CyGfGRQ4i}4>(_J_cS05WIOj4OGxK2&3oeC9Hkx%v9k#dhSCeeUorjV%*C(A_~<3
z!q2DGhU<+R;Z_05+c7jva1uY`Ir@pnuOf#;t{f1o9!%FlKIOy1CShhV-3VUMJd2C|
zI1ww6^bnUJy{qmCF55j1-!RlkB7Rq&M5TLTSIR`!(dJK3jFu(dD;hxC)C|v`8&fh|
z-m$^eDLMGtRlg+PN10~frQst9baVB<`?%bP*}EjkYom&I
z@A4H-T;Tu?>*(yh$2wZBCkOYLwR9v8>cdR@4ag?FHn#qA4;8++>d!q2EdhdDr|
zkT(;JkTTBMVx04vrG#&rIH|=kX}4aJssv%vt=_^s4%7v|Y*xmpJS@Mv{#jk>m(t{?
z6j(X=(w0oqA}>AB$Rc7^b5rP;s)as5^zD%_8pS1vY|wh|1RjcbWz)fW-oCx;9@`z2
zT-r?(vG*y*!;>~FD-7Xgl_I7GzaX@~{_#aWyZJGVIaIjpryU26<8Wg94_K+lg<&Zd
zz3_)sh-K@yRrOXrj|Mr3>MBabaU3sAN+v)sPhuX9NMRG9A}r~I)cYc$m59z(_pdnR
zIJ5NxTXjeI1O^pH$g*InZ_guAF8LCI97a_BsrL-Y0rwT#5&8Ls@YAk0?+1{+`a1{s
z>sk1)g&u0Wd6Z|HJ>wv#*0a;>y(*t4Bn%fl5~BBfddkav<8U+yKPaYzaA?Byk4xL7
zM2r=yt!EIHX<3xIee1wAlF8K>xFCzQ6EKWC?TkR))2-NTX9;;2%agUc|KZy9+fs&H
zEd6Lc8k+UPzq_}3*(Fg94FCAqqx3?7c(k!(?g*Tl6j)jVhGUBS)0`cSkkM;gB*>t$=*L}Wmfbu3?qmW_-gZa
zx}z41S`lBz;cl2>tPcF-?&Fo4YgwfM#Pq^Z^R_olR)kP;evN$}oA)jv<94aiq6=MS
z4ZKM7`U~39IhGZX_~~u)t0!}tbkkB&9agaKU%1va4OnH6aYG=)D!QI+sZp(Xi2UU-
zECato1!4e*-cgDL{Yz(+YK`bF6G}tCY^--=!ZPw)xa6U4AK|S`>9v
z&$db(bLn&s1)v?pp|@SfqcSk36(7svigt@Vo!6`-kO+^qqst#I;)G4%HPT97SJxO1E%Eu=576rOAzOFVfq1BG{ztzPlVRJ+rb$2b0KuasKx7YIMH9)e;ZpuQa86Q-NFS5*bG&ky
ziQiXYeIx;=->Ro!?-;&-+>$;r4&YWLW+Bohb9~G2&!BLL607L5?KHDtc((G3b#hxtm_N_5aL3;He1e
zK!-QIvO6o@LWfr>szJz^5lqCsX*4TByoN`73}FPSYZ8sxrBM%YQrC{irJi2MO{6cQ
z;N;w%d|HcSAj{UI_C?DDZ4MG;ar#AkNrL~Q?-RcPBRj2osOXk^vSqL$gz)5|3~^)k
zf>cZBX2L>^`Qq=;Xqkj>?ny?+M>oTZtM@$t2L;FM{{J4+nAgKe}grl$=(5-4QfwK=yqC*r~pFAvA@d2CL%>!
zKM1BL%^9#f&2A3vbG7IlE+Cf;!MG2jW_?~#U!M(}$jm5j)cZk$Ha|+hzX)ZcPyu3i
z<&}ojOOj2ZZVSV!%Gxi|&diHv13tcTdMumjuZ2ns4IG&Y#rb}4Cq*eKbzcn}Zz~*N
z7P{gE-2qYjn=(Y#uXo}7$VTYVn*1Rxw)3%L6jTu)-xu~hXP57YZaE@uLI}$$3R=(S
z2~3CL3CP^k-Pk@b48}1tL!RT}B0iIyMie_~YoT90{L!h=yd1b7yj`~$jFSJn2J4!s
z2Ej!u52dbFaK@wlrjZ6qBuK1P6*{+a6h0&+n1zsUbCv2)11g))+#Lylf2JTM&`P&f
zdMdQvVJfS(QMak?p6uG?gmG={=U~xpyVRiGpcPVY`{6&2tF+Q
z41<$DyJa#iVaf!5IytcKP2yMddH(RG7E38;CJfGN3l=<*s{}mQ6t~`0Qvtcjuc_1u
zwpbclXOO7w87Uv1hA+IWbZ8bW9+D38YdLj!<)x18XOmdO?Bjg
z1kPJisw@URnyuKM`D&Vg
zKjM@u#{=TyDn-LIgh=)LBLu!?ZA!HG(`x$C`7`=ayItg&JNreh;~e`L8-9V^QtJ!>
z&!x>z_Sa7@w4i1q6Dil9E8ZFBe~Xq=TSVo$N?=sfI#vW9eY5!Vsk&FP7DpU2;VW|0
zHV6vawM!H?MonG`-W3FORV1&dbjN?j6RUx%32vEM8m-o?V!!(mp`_Z6%F7~R{R1ll
zvVx^to*Dq(iHLEvgH#FG8stHze*0Xl#P1aTIk+7vmLN1*f@@T>wM6qsY9?f
zSRy#pD0H{m#?1Ppve3E(k9Nk*?kOa!{-tT2O2+>1O0&FCk@A!5eQFtk@9)>B@Zv;D
zS&CR|9XTA8twQJAca~xX?iqU#v?z
zYIk^unF~}0Hr>bIhaD7>vT4Lui3t7b{h`f;!K9Zy-svtOS?AlDp*y~r{`3x~Vt|Bq
zZDgdYVoL^g1PH?G_L%Kc=ik^;6JZa%BLk1CXLp~??Sr1_5L~E!NtO(c3FyX$4M-TT
z*-*NCY)k4xkj>(|E@2MIvK;9Bb<_8Hhs{1#U)EJn@JD9Y=~^WCz8OwbOj{9k56weL
z>O2`0&-d4>nn+5f$~Vg0nr06zaKxXKHMKJJRT#8$xZj&;M``dBeP5g%eXWC1)?DCR
zyu*MKF+lXA?~ML|D!Kr~yVcWp)w1@ZsD#n@YA;IhL?01Ejx#Jkd|u1`jUhBqCFZKg
zJg6{xmoNV7@Z`zZeyPiL5$>&paNLlg9853Piw5{6t<^7<9m`;I?
zd4YN+v2Q`w^(5;BrVryhMTG0pnG)?%v~MB%u!3YQ-?7lr2GqKP9Xvx7`|XNcv1&
zOC)dQS?z>tk`fp?asXHSb3OUd_#H+~BP&mmYLNfqR`XNYk?h}Y&L3JHbz4D$&$G~y
zTX)sY6?5<#Oc}zEz52A#n%AU&NpG^h78+4Cz
z^#3BEcDIB4dX&n*`*k144&#-E*W-A
z2|8Bc;DK2mRO%Dajvp2$`#M_XxBOV+Yo%vMq|f2#E%=39?Nn{Az=T%#!6#s|ci3F-
zcbo@@9$$pCH3w81T`cb*+8GbL^XC$lwm7kX|MUB|v#wFXBF$GTs;F6X|(UQbxgc;+XS%g|=
zTeyaVy;A|=9!gpxmz=79SR{5wHvXF2ah^W6OEvk!uZb-TYE$ohBI$L8U1!_VadQC`
z!oM4PkzT>MuZ*9!_O)*er`tud$TO@YxBgsNMa8!*HXE!}ApHd2#q)T*vD+H`r7q|s
zF%`&@>Z@4Ee2DEX_H5`o^nwzno*g$NI<-Ss_$;%Z_2)(Db-zr+8>n65EBFGoj^4xd
z75&gHdm=y{SISArMAUtHs{>6kxtoLr)#v^@KQ)tgss_Gv$<(=a|pqrSS>AlA?
z5egrM0u@48o1EfZ)<sR9p9?}NSU_Ys9Ws~hap1Dq$6UC7Zx^(krfD3zVSk--wv36IGGSeFfY!ojuzPu9j
zSEQWaDfNjTZhdrZkf*pyf&jQ%DrOpWe*FDFJAABL84f*meIS5O0
zClVcn4eDj#ewX-C%6_g$UC`+ym@iIj5`J!cJuWd&obu)!WOPe}nV6({&cxtKRK1)3
zJP-LrjMn-$>wrF?Qc|C7V=&e&WVE$GTD8mimgp~fDVno#DL3jDH3CU{_pZwHGy|BuJvkb)H(`Vxfdu>CgKD{ji&n@rSpK=
z*ohkPS`7xEYnty+#&T673-+v5&jAS)C~-$-MxCTMo+V{e%VO&qT8X*XW1pULE~F_o~lJsPKl{U
zB{+1AMtS>(rK!?4T>hCP?=VCfyEwbqZFu}fn#9ig)UA5wLaqfp9k}wu%n(}E6}^hB
ztSZGCx1d&xVcR~d{b#_o@$uWv2Z8OllEcjRLBMZ;>xmENA@W8u
zY~})v3=ZOy@Sdz>KaCJb=pi_F$GU_)$%C#zaz6$eC7>6~HtJLEOD!uA%N{dOIx8V2
z8FH6lwA*QE_aE0y(HVWHaN>r#ODK42adYJBqZ_lga@oih9f&vJi@4@+N*Kh>#fmKPJ#iO==_g|^Bk4z>utSE0$+$Ic)kub_kSAA2F_$WZ$kQ^
zfJ1**rt2CDrRn^cIXD_Yx3TwNi{njOqgKO8vL9ov`ydi4p&Zw=>>`l0tpPB&i
zqTO)zOi=w}(PA0f+ZNC<(Ttmu0hIDtp@rCzSaC{I<|)bC)XFn#;U6q{XVQ5-3wa{S7?wk8YpNad~dOQkuOLnMtF&faIJ@XV0xh94O8dDzI3^9!Z
zgQt&-s-fXPIrK%ZIEQD5Qd~k;-ZWE>YXX(ppPqLEjij3+CFnwngBnufr$1PmoD8y!
zzvL4N&8=rQIR}qaV_SFpB5bUG{+03_A0-N*V3|fuKZXGL~l|
zj4WbVmCBTAGXq=-_AHnhoqxJK46?DtBpssFx6J(LicRhxphWRnnxl%1$PJe!J%cSxnqDuRa9eBMrb*sRVuQ&nPqCQbC-EQ7h;aAA18gaJ
z&q;)gsYe9-2)q5CGFunv1wT{)sH4;gs}!A>-J+h2
z-8R_A&Cu0!-~GLlaMAR#D@HJ4Qp|5-`rJve;H!`ObEh+#tmp%P-XK86PBZoGuQ{(9
zo5TJ@mnB4Dj7-c1X5}GXL@Y;+?B3AWZ&Ipqqx}+`c|x>d8>CJYko1v&6ABp|~o0H2}
zto6}dj}|{lu#u#b#~EN^mMcD6;(E{idhUpNiZ?r7r`Zh}k9tYlx1iqOi~g;!9h!94
zN?x8Sac=K{+s=H!oMwS*B5B$0>nZM-AKnGTs>W8xy)oa`wK+V{F4>7
znvYqE`u<6BJRcp~4i^FA`_J58VV9xZ#nD2rN`LppTJ4d1eqZ)afdh768sM?w>30`_
zi`XY4F1r#LO4DT>;;osbORXHLDjtX(6n}{JN~a@2siD|cqGM?uA$;%7dGQA8+f}4F
zAULfXF7-iovNx317pjnHhy~DycH^+a+`>V9K{FjLa%9!v27p5|%M1M6OEfxaVQOqT)F0jv`Uuq0X@GJ5r_WcKD
zo#&ie1d<;FAlz!J%{u*lP;C~EhasMd5lJL5Zo;t?$@|8}h!60hniM
z_PCo8JBxVYV>RtUa)mVXc=5J##YS+6=kcS{MCstNS2hOQ1ILIx_A`{)NAB+34z&bKdkokf)^7Z*6@x#TwhPT?$`RzH4Xy
zTwnh+sb@}ESH#ksZ_QXn*N5iA(!o(WjRdg+HceB|D^yl}{F#NPQIQ#73y;!2cC^nsaWVJF5RNma!vsa4_9Kt+
zc|mE~kDgidqR%;$*=%1LOL#s#8rr4RiFs+;Z!L?SB^MO=O2iEdcRsRhbuyqRJsxbY
zBoTJ8U)e%${faaGGs#FmQvkj9dqC#wmGL(44@3DIwnGTse~c)IAt*G~b5Jz!-be@wrA4#zpOc>k%2I6GU6BdPP+r`dIjGgYbFMkNT-w
zFp11M&7l_*b%dA<)STjv#nEkcGAzG>913OJO+y_U=FoA$tGRN|!-24*{Wzkz3jqyk
zp3gUm@zePZ-Y|VTtOa58HM#W$%zOvX8c4-`ts(tpK!pQjFZVeGLb^+9r~>!O@L5YW
z#aS0r_%U6`^Rurt%@r5`zBLegQGG2pIY#_xexqBghQfl-QzI!=m6|}YC8hlmR$gio
ztiV$P8k2f@+Rm-wS&>q@yWM_{HGGl5iFJydR+ar?U}K!d@A&V+ue{oJEHRbP&|Zn!Z3
z5wiREz~hdx&n<2;OS{*V-E%`*T}yzkiQmh~CEa8k^e(R5#cKbsV6(D9ZwcGp(VXCE
zk}rmLbv6Drp8adqLfluYf|-Xko!d(#DbZ&x(Yi|qQWHdd?5j2qI676l9=QFavJ4sh
z13;S{&jnut!zS3N5g@p;gx`9pP
zRg{VIi<|e@tEJ@9yLy4$=;=Igab)$s!_~2-4u#$e}ne#RCwO_SkQK=dtfwHWpZ%#jDeE1)BXe$4jioxshsfw)vU}b3ZsDHI
z-0J6**tHw-4Tj2F0&L-Z&KYj7>ktUe9s|wSF^jX`%kFci>7;zVPZdQCam1lG2eNeT
z^9nu%d`Z|mK}3P60TnQS
z9RMOU{e0@K4QIpiCI+VT;j48wniUVn^TScQ)pl95)#heJ(8Zxwq@R_ma6WITO}Dw;
zbWe7@FL?7Q?Fa<6Kp8(Ryop0Zr3XGV{gy?T}ES^SN?8u3`a6U1p$Q6am84En2RhgWw0zhKxv?ZYBHu~?
z4(@XNE`HpL8nagh0tmlBuum&*h<4M^@g{RZ5yNnJwb$vEBD|W6HMeK6CBT}EB0Rp#
zP~9VAI*kcI^?-?q1-LN{*@`rHm636@ws&r*Q6IjOg`LuN7!*G5@0(G4vl1-b+*?v<
z?Cw!mbb6ONcganJ0AKUo%(jWrQDdD6VP*G%sDYvGlQ5y~Q@0$I?mRK{Zt9yP|5^PP
z%hjfj&X!Rc6UO_-hPi7j+BG*s42rCPr@e;b@0F2+>Z=Vr?|f{TD6e=j_t_KDtWxUJ
zWDz(#Q!-Aj^Ewv><#h?4-HYdmuJed^u+|1jEdS(1JVCBjT!HisRXt!5T-l7Z51q?$sT$s}?`8((LbF}1Ul3`?{Q|3r$^~Df
zEW#SXSsfPjT<=2HxufUkE;$q%B(v92rF&m
zK`T`IpmaZCjnt_jalVpZ$-*lb^6PmwN^(qXcmUgsLZu0iGI{e7h*jRn1%(6t0(o#}
z^M?N+%x#3r2tWA%mc$p(gZ?`1e!e^kQ-+`qizAE+4z>z(Cr5ozM~mrwc9%sB6vekN
z(jYxDOr21j9NK9X8(q_4A#gP~sxZKGz5U&UwYfz~Zu=7c914%AU_O=@drwhqO&=(3
zd8a5|`pL-E+a2)M$VJ$e@>sEUMl$oTEXa>AT-=}A1MX+dz0jkR#^T3#?vuP+%rgLL
zGP%#Rjf_R?)zqCixk})B3aGZo!8%t!4Q@8bS`f{S;<%3%wz;qe>wpX_^STdmcr}1>
zf~WjmO~})D{~?nnuWm*zp#R!78X8MfwoSk%WcmJuQyjhSo4&AN6D
zJ{5*o_>8}f@5fyg_r7>_c=JpPXAgQ?agKX(>)ecJQlHix@pZ%br$5O}ou&Vm*!d2E}ZcjqE;C
z6)C7eeu@q{A3^_Ez5m(`t)+PCR(y5dG@!!e?b-hf3)#tymR*gzT0B%Ip4xynj$BK;
zk}`B&ea$*$l;VLc;BZLZ#=Qs`s-NDxzw~>WZjSe@Af<3{pQ|?Ftd&}L9Q?R6YiDlH8#+;RG^UJ%~$m@
z7js%#K7E2eE1|e6Yc7jn)v>{GHy@Vfx6@C@L{J?kyS9M73~%b!Qhc?x9hXE!ILJSzNH=39mF|$C
z=CnqX+9OXDQ9}>ef&H&Be#f%NW(^m4VIFbxt4e7JdMN`5!f;4u%$3ckX^c_4fnw&p??MLEfHK=sC}&^Jw-
zORu}PIR3}$b9c+{cP@#3o2IZSzg~udUl#oCr=evIyjb32`JW}TxU%KOGbG9XeEMLr
zR!oO(wEUGm+k5-Vli2NWw_jnCOM{->AAAiux*5UyQ$z3l!cPWINzR$lX|*&wO+wU6tXm*umeI$R*($U|Um5+@SB$L(9x4
zt}?s9Q`>s=NJ6}9Zlm2*p+=X|>pR?SqlaMec^~DyDng@(rL*gk#74mZ>tD!=(pT4P
z#<~V6-I#+RY05*ck<_PZ*eBuO#639MT@y9U-EM+Yu?4sF^O#Pr9}=S&xv>)JIk~t{
z8PaI~%T=L&_9SYU{88y0W-2%+gfhRTAjx6AOM3c}x^y)1{7~J~NhROrGj$nbSHkzJniU=mbJw@FIML^87gjd&xV(96%eJ0ZxkskZ
z@Efp^dUYT%UXL#q`cHXW&%}RW8!vOh`;x5g&FjRa}
zQMH8S8Szr7-;%F3c5bOK!j$vy%jFANDIxPv#@TbDWjS)fT1%a%N!PAAd@C$k=3?)x
z!H{jLmfD(lL1i%~y@upZ?3OxOt8Gfr!9MiW>m6(Ib%`JQ;O~Er2tA+nee2MZIy`GJ
z3cXtaWf)R_;WO+XfZz^1TG{=h!^*f8GJMB8Z8F5-E}!GFsnm6_IegY}PwMYRZum7g
znsUb7=Ck3V(A=Hyx{7zmQ`L#;3eM!KR=AE2tNO4V<&hcAqrx+*=7N(*XdzHxp{@nG
zi)-%xGVHFF;x=D#U8n1cuI{_<(tYnG@N!(P{1)9E1q?mw!EEoc+zy8(#=PLyXR_e=
zFX*=R%5MpzmB0$9zi2NxMO=#C&mX*aIBm|-f)zY2rd8G^`}6R}D*U@26Ag!F(oEI-
zX&$+Z3&86*sO>BZyK0R^o>Lyi1h5mwyqDVZ;d#Dev6Ua{9*IstTQwg13I&G;^E?mY
zW-lhZJXe}|x5=U>t+2)});U&M#GGDdcdEwy4^5E6MhC%9$|ov)#pLcL@k_$Skbt`7
zx-*XHO}zN&fpw>uJ@gEEstZE?3hbaS^!mMJI?2^`pfnOl9m(|fhVc+p)0X>BDw*<|
zN40AzyM|M0Y(RuZy8JNMsL8(Ak9{oA1MOSqe0bfry4P?}VE^f!<1Mw5$awfx^C&?<
zZ9P8MoL?(ib6n-glTjROko7eEc2EA-X-4>a|33Fl+QWgUVG%v!O5L|ybwpP}Ei;zc
z88e_2Kzca&vtN36bAxxUVd~A-Y0$2
z^Ys3kc(zOguA@el6R#~_cA)T4`EV98;>9?p<2IY^Js+L5`XvRURwGjw^AVzU$Qs(3
zm!a`W!2k}g-EAezilVa2PNNE5I|W`GF{MVfUDPUjnp}%j9aGTx-nd*st$t}n+GCIX
zGeYRHRaLjXJ0AmX{xnMOL)bhESHUZ1pF9)+(&^w2?m9*A{KmohXD8K<
zq`aDAWw1J7gIhONZ?|0-5<~iIEi+6+mNEGHYbS^LomOpOZ?)Wop`F^@^*|4rNHFwn
zxcN5N7*99*ZYvZiG;_awe^zkG7yns6F754qaf{5zOiV_CaOCH4H>dPHtBbwJ+RvEh
zlyBTgS_U`kkg_+m;mxD1M1I4f)5Q09T=(pFcQ2;}@~}KKsG=Uw4pSl7xuKCUhR#Ah
zkZR|D0!N2heSsstfWKJqf&3YNb%wY~WpkyG8w}^g$zp@pZ5OSuTD5f$#i0*OY2U>T
z#6e9$Srha|nf8S3Zc>v@xDfbyY4PYK;nacV%Y?lkU*W76$H>vhyjV-fyuM?5;O#5G
zW*pbd(-ez+tBt0TdN9?=3bUcL*YmQoMdQ)S>I#b&z;AeS`=aLXODtotq
zcwY~mU2q%sDnxCINpZpdB5$j0mZOvL^YVoawtBg`G6borbXm^+vj@391pUJ1&cDG3@vpEXDzwPoijTdMs=Z6!Ti@kh%D+na8(A^N(vnDibwW8O
z%G};<0pzQoSb9nw@D&Sjp>9qfcop;-`_=u|J4|DXo@1wv3cp-#Q>&o~?Qy2xc
zpZoU0i;35djAiLO2K*CB0w>iT$oCM8hf6UGtj80lm9QzbSQlvZPj3krUeA3Rp~$Rt
z?Yi{3*ONMeL38~{3zG8XJs8vE$#CEyfKrY$)b+&Q`sGPUY@r?IgE>;qo0G|U@$4lw
zFr^3Bziyddf`&0C8@I~fm5Lh&^)J)>lKx(@PAnm0^kmMMShaR?#qb&2vE
z&D%n4SK*>U&ogOk7>(}gqu#;<+#jlK>x`BImst~m_P`{q4c2=lVT}uvpO6S;4Id-r
z#NR64PhdvZxRoPqTP~}{T5Cgd7oK42#(*~*#_9j|k($m=-Cw~29$zapU{WO)0i_gPQ|8c4$vzbF~x
z*UW_W`@Jjk!rZ3k$)4NNGL2qX!7sDiu=!a@PM=Pk)wd1#het$8w~T$sHcTzpI;WZW
z_}blo4zar>!Lv?w{{w6C-rbQw8GuLjjZ{?TJygf>Ho9Qn-(urdIY0*W;*-pOe;yev
z7m$Aw`JYZ{-vJBcF0)Hb_Qm&UO|4Rhfr>X!ngusz-`i;+#WDBmo5`KDD)^lD|B15fSbgp<6t(
zM9|k#vg)(J!f?L;sK9}ZEHG(bSRd4;Opn!A`pc3W%81U%5v#87Z9l+CHbavF`fcE|
z2Zo2i&nuE?yVv5@FpghwxmBdqh~+30e4k5%rG#uR`i2qWqz*4oo@{Gb5g`pN{9_!u
z2ALLN6TaraHQ#|N3aci?UpFy@vKGnN5SnUcmD_?ic5xQYIAJm_S!SHM%Ko&+_5+_=2HP&$57bO1~h!!T=lgmGmAduG%X6Z}bfm7$ryq}3k1VvoUg`oVg
z#{lGp27`C)AolaTj*^su49^M8a50|`3dednCtf?5qp)Fzv6SXE`AE8(k}xd~ja>;g
z-+w(U{T$l@U6MJnAK7(a#Yfk^dD?sxN#+9K_Do|*;rkRlKWKM8-chzEsDr^aGVN^q
zXH^tb8XcksO-xd1`{E!7BgvbcPZ+Hkf02(boiCH5YlIM!-LP2G8Uyn>vr6DFQ@v)R
z-Sr#Y&P`Ck1A9iTm$e3G(K5b{xoP;zPJ!O8^KGBucnC~#2=aIW+m_4nNGgN;iqi1S
z2S1jRt2c5pJ=i!G%rc3+v1A0VROZE)q(o_3RIrvbw^_nGA%6GJr7Ug4?S72Zpgn}x0L^I{?l-5
zuh}y&)|E~jECKRrC#9nKs=d2<^P6RkHyRT`=DU+Aln$=XHY$JNS$(@n6-!Eq`oqTWr$uEgMG_V(i%kAK
zScf~vsnQ+4pXnp=Y;}}+T+jT2nDN=5ql?-B?N><(EiSXLm)2!RKk4r|tWJSBNip_z
z`|fqGzWL9uawdBrw27xWA$fN7UcpF{imJ{urCJm7v~mJ~rd#*#yVgwAR(YSp7QF%~viAf9)vufrhn5#VWjW
zf8vte$j@AXP$Oqm_2*(lYnqkIuixGjZAGAOTapD&^d6mZ%d|F+q<-Bcke%?WrhBSU
zAw>*m1an|jPJv51%bKOKn?m4jF6N|M5zTLg&V(=2+KP)?1FexDsi1U`_qk$avKUJrf*`xGRk%%Egx_AFC%QED&q(!TDeMm2ctj7?*???
z8%=2!Qa*r11u|f3>QfU2Wv!^qf2``%#p@ecm5903khL9+mi^*%d%Wi4G1A%w(<6X=
z@)kwFkBOQ3dWW*lY}u11SH32N6&1?n7^1+nRv`%|U>w>7VE?vc%mbK=3!~@k*ZV?fB`f3d?~IVZ;}gre03ONy=ttCAJ`V#d&PTlL#CS@n9`d8Aoj
z9aqaR@twiG(WO3$_b(acfD>UDOE(47?4
zx(Jjg328xpU!R4c2iicIZa-&C(wBk(fkGPMqi
zuB=^gm3RYa_;LvGmJ9o|{a^2;d^pX3FFO@l^b%`_1qj*m+NzZ2hEGA}r8N#n`u
zKTFP91zoxs+P=v*`S=rE*R~Ngs$C*6h$3S+@~P`dQZ>NNzdn{oA8rm0K^c23MlQ@w
z(O?$>c7=(8#|B2<586M*)(8EWRy)tU4RLhQR1h
ze#9;_C+@?n$tR&iWRPxo2lNLCChUe%uIXQZ=ecNQY}l4f5UZB1hdUV)uAyo_j1Rjm
zOE{{PU3E=ds_MXpf9iIeC?)&!i?pA*Qe6qk25U*J`nEtO2<8bhlw~r3B(|
z-XECWirl3mimb2Jsw?6h|H726zU#8IWy~Lcly1G0K7F?;3YA
zh2)pS9v8>SAV7uhI}YUW#FGLaU%m7$ASR)jk8sdUT-E()G!TaJ)ZywSizRa%lr3nP
z)@<%7=NmoilCrVwu#J@6g+DD11zPR@yW_eR7zr2C-<-ob`cf15kvr<=(T6yjEYXP9
zo?j^P7mMco%Qk%D{?-h_Vk8#p5B%(TKV)qYxjI~RAC!{DkmyOL$fSmrGE^l_9eirz
zNIny1nH6@_36}}e(6RWz{9rB1)TtqsFOUE`DX-25ui}<^2QIbT
zt>kvyrRrSSxgg6@*VUV6-6odT36F`R>
zYZEQqHnbo8=poLAyEzGR=jQpZ87hq{gv6-Zo46WbE81r;xklC!O2wd2T=%tWD-#!L
zz(I#zc-TYB1m9RWQU~9oKe42f
zb1fB*T4D4w$F40=Oly;eXgvwo<$c-dW=`WX44@`qWYv!{aPEjiO#nuFYrl_>tKgjQo<0_*nc}+LWZ&HM}&^1%W
z-~73(jDJXKIep~I3wmES_TFuh-D8=!pBLRT{8PEXf&{sun$2B5CO%5U4#rt
zlbZHl%dO-wd$u7_%c`8aPcDYBgXj605&4p2olYtax6IEvkl*uo`}d__Y-P~wh1;u3
zn!}wNAx+Mm1BaF&MNQ<;+J|Iay5VEj);A+k`+jQY0RsVjzkN;gDem7K7IyLQs-9}@
z%$|PCwmqxaC80`>J9te~1IydVr?AZ0^gsgzH;f8`;+;HFn%9U}=CucC4oZqI2
zne1B-jGeu@1g65H9lO>F{g$h$m!zJhD?l0zzc^=|sw4??__}bss_j-SmrvkP%B&te
zGp_92rE*;p_*_OZoOC(_pRl@{KYNWr{8Bf=mpwes84GY$|EL!~wEE6^NO!0=6fb6o
zT(+c(KC4a2-JoKx>(9dnhxv5d-)J7wE_P3pzQ8w3P{h~K>LiEy9W2@q@aSonZDcL#p|*WXC&
z9rtAb*2X{u2g<0y^Xd#ud7MBr-ANP2-^2thImsV4m9-@$eH|R7Z1-zN|D=a*cXp1(
z;>9K0#)m)bo{#H0*16t{`>-6XCo$8XJn4zQ0Dc%w{vKsNe{oyc&9St8{ig?pp&`%&
z;~LH`Hy)CCxMe3eJyx@2*%@=x8`;g`j}KO|2oFd&Wgb_iTT&hF`8eF#M~uZ`Az300
z3Duc6tI6M)B6g3KUVmkIPIIu_lx@@r?0S7YD0NK&m1uq43djAN$!YgXjXRLWxufzl
z--A7#un7+&C`mij|->7UyE
zdJFc$!H(5WH8xZkj1|dQZmg%xd)!gNvp?;#mA}IG5IOu&th{@3;lpQKJp?=#$Ske^>NPzL-?QX}FA+N!iBBn^JP))nZ83AjrU!
zGs#3n=h;ks89Gz@;lRv_`5T=LrMy*2kR&Siq*&j&0#*FGmgeqGO+#N#Hug
z1XwkDJ(mubuM^WX7dnIauPb~i)}J{#;5?cW
z`WYtnI$kzql>S>k>$%m%BVI0_jtSoU_(_w5np$W1-|U`>PW%idh3RC?yg8vY&EFO
zO|GZnK{MPhp1wPpQmw;N$i;7A_A-FCEnX{p_0TORVgB0wu{WuF;
zyGE=wNk`t<&-tlOap}Ge(VyNat=RErTTkz!)d<;om!wdH0r$D>iplbX4e?4f`@DK=
zWOX{bxq57q{mXEH=h*SHD0zPbp@Dy?7g3(iv9y#%w!|#oZAu@GS=TrDx)q|h+>Z*R
ze|8xrzt3BP0E0C`rcG2>%3mJ9-2(PSrhEb#B54?K%T=@0FQc)TIx-Z83c^%*1eHW2
z7W)3Tb$SuY6I5aw2A|~cN5;%%g=A8~9*Y1o&t48NDVQ?bspBVUpL&{$i(QE<%}(Gx
zO#4IZ!=C#!pv*u=o-z`?g%>v7*xdcMRt@z2SjA&La#3ma6}#!8j<5n7)o5{;qWv1^
zr9Dq~{*Y^{qRHl!W1LvkA=Tbsz_;sB50-$UyV3{;f}?b&P>i2pJHJKHc()78Pou9U
z@JofcT)&>jM>^{w1?z7*UqzSinabV-0%??!5u&Gc?QxT=p|KI6QM13L+)IxvS3lu7C}gQ^%7oqeh~91CW7UNEqx0kctDYQwCge0&{F$Wi)y1kH#xrsz
zw?>JtmH4CBeL8x|X!QG{b5R59(IL!;xg!1_QgIhn