From 359d513cfda28ac06080c0cc206402aa794a8e8e Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Thu, 20 Oct 2022 21:00:26 +0200 Subject: [PATCH 1/9] Generate DTU ID dynamicly based on ESP chipID --- include/Utils.h | 1 + src/Utils.cpp | 23 +++++++++++++++++++++++ src/main.cpp | 20 +++++++++++++++++--- 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/include/Utils.h b/include/Utils.h index b4387b8b..dbcea819 100644 --- a/include/Utils.h +++ b/include/Utils.h @@ -6,4 +6,5 @@ class Utils { public: static uint32_t getChipId(); + static uint64_t generateDtuSerial(); }; diff --git a/src/Utils.cpp b/src/Utils.cpp index 17769b7a..7fd090d2 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -8,4 +8,27 @@ uint32_t Utils::getChipId() chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i; } return chipId; +} + +uint64_t Utils::generateDtuSerial() +{ + uint32_t chipId = getChipId(); + uint64_t dtuId = 0; + + // Product category (char 1-4): 1 = Micro Inverter, 999 = Dummy + dtuId |= 0x199900000000; + + // Year of production (char 5): 1 equals 2015 so hard code 8 = 2022 + dtuId |= 0x80000000; + + // Week of production (char 6-7): Range is 1-52 s hard code 1 = week 1 + dtuId |= 0x0100000; + + // Running Number (char 8-12): Derived from the ESP chip id + for (uint8_t i = 0; i < 5; i++) { + dtuId |= (chipId % 10) << (i * 4); + chipId /= 10; + } + + return dtuId; } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 0aa72ead..6004b442 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,9 +7,10 @@ #include "MqttHassPublishing.h" #include "MqttPublishing.h" #include "MqttSettings.h" -#include "NtpSettings.h" -#include "WebApi.h" #include "NetworkSettings.h" +#include "NtpSettings.h" +#include "Utils.h" +#include "WebApi.h" #include "defaults.h" #include #include @@ -76,9 +77,22 @@ void setup() WebApi.init(); Serial.println(F("done")); + // Check for default DTU serial + Serial.print(F("Check for default DTU serial... ")); + CONFIG_T& config = Configuration.get(); + if (config.Dtu_Serial == DTU_SERIAL) { + Serial.print(F("generate serial based on ESP chip id: ")); + uint64_t dtuId = Utils::generateDtuSerial(); + Serial.printf("%0x%08x... ", + ((uint32_t)((dtuId >> 32) & 0xFFFFFFFF)), + ((uint32_t)(dtuId & 0xFFFFFFFF))); + config.Dtu_Serial = dtuId; + Configuration.write(); + } + Serial.println(F("done")); + // Initialize inverter communication Serial.print(F("Initialize Hoymiles interface... ")); - const CONFIG_T& config = Configuration.get(); Hoymiles.init(); Serial.println(F(" Setting radio PA level... ")); From 912604c0f67fbd4ffe8934c00156a8b5df1408bc Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Sat, 22 Oct 2022 12:02:39 +0200 Subject: [PATCH 2/9] Add custom issue and feature request templates --- .github/ISSUE_TEMPLATE/bug_report.yml | 68 ++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 33 +++++++++++ 2 files changed, 101 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..112e2b22 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,68 @@ +name: 🐛 Bug Report +description: File a bug report +labels: ["bug"] +body: + - type: markdown + attributes: + value: > + ### ✋ **This is bug tracker, not a support forum** + + If something isn't working right, you have questions or need help, [**get in touch on the Discussions**](https://github.com/tbnobody/OpenDTU/discussions). + + Please quickly search existing issues first before submitting a bug. + - type: textarea + id: what-happened + attributes: + label: What happened? + description: A clear and concise description of what the bug is. + placeholder: Tell us what the problem is. + validations: + required: true + - type: textarea + id: how-to-reproduce + attributes: + label: To Reproduce Bug + description: Steps to reproduce the behavior, if consistently possible. + placeholder: Tell us how to make the bug appear. + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected Behavior + description: A clear and concise description of what you expected to happen. + placeholder: Tell us what you expected to happen. + validations: + required: true + - type: dropdown + id: install_format + attributes: + label: Install Method + description: How did you install OpenDTU? + options: + - Pre-Compiled binary from GitHub + - Self-Compiled + validations: + required: true + - type: input + id: version + attributes: + label: What git-hash/version of OpenDTU? + description: You can find this in by going to Info -> System + placeholder: "e.g. 359d513" + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant log/trace output + description: Please copy and paste any relevant log output if you have it. This will be automatically formatted into code, so no need for backticks. + render: Shell + - type: textarea + attributes: + label: Anything else? + description: | + Links? References? Anything that will give us more context about the issue you are encountering! + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..f01d11ba --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,33 @@ +name: ✨ Request a feature +description: Suggest an improvement idea for OpenDTU! +title: "[Request]" +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: > + **Thank you for wanting to request a feature in OpenDTU!** + + Before you go ahead with your request, please first consider if it wouldn't be + better suited in a external home automation software like OpenHAB, ioBroker, Home Assistant etc. + + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. Eg, "I'm always frustrated when [...]". + - type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + - type: textarea + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + + From 2407e2ba76638c4c316e68c8c19d8ec8e15aaa1d Mon Sep 17 00:00:00 2001 From: Martin Dummer Date: Sat, 22 Oct 2022 17:29:56 +0200 Subject: [PATCH 3/9] README.md: add more details to flash instructions Signed-off-by: Martin Dummer --- README.md | 32 ++++++++++++++++++++++++++--- docs/esp32_flash_download_tool.png | Bin 0 -> 31776 bytes 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 docs/esp32_flash_download_tool.png diff --git a/README.md b/README.md index b5e23fcb..2ec839d2 100644 --- a/README.md +++ b/README.md @@ -124,9 +124,10 @@ This can be achieved by editing the 'platformio.ini' file and add/change one or * other options: * clean the sources: `platformio run -e generic -t clean` * erase flash: `platformio run -e generic -t erase` + ### using the pre-compiled .bin files The pre-compiled files can be found on the [github page](https://github.com/tbnobody/OpenDTU) in the tab "Actions" and the sub menu "OpenDTU Build". Just choose the latest build from the master branch (blue font). You need to be logged in with your github account to download the files. -Use a ESP32 flash tool of your choice and flash the .bin files to the right addresses: +Use a ESP32 flash tool of your choice (see next chapter) and flash the `.bin` files to the right addresses: | Address | File | | ---------| ---------------------- | @@ -135,8 +136,31 @@ Use a ESP32 flash tool of your choice and flash the .bin files to the right addr | 0xe000 | boot_app0.bin | | 0x10000 | opendtu-*.bin | -Make sure too uncheck the DoNotChgBin option. Otherwise you will maybe get errors like "invalid header". -For further upgraded you can just use the web interface and upload the opendtu-*.bin file. +For further updates you can just use the web interface and upload the `opendtu-*.bin` file. + +### Flash with esptool.py (Linux) +``` +esptool.py --port /dev/ttyUSB0 --chip esp32 --before default_reset --after hard_reset \ + write_flash --flash_mode dout --flash_freq 40m --flash_size detect \ + 0x1000 bootloader_dio_40m.bin \ + 0x8000 partitions.bin \ + 0xe000 boot_app0.bin \ + 0x10000 opendtu-generic.bin +``` + +### Flash with Espressif Flash Download Tool (Windows) + +[Download link](https://www.espressif.com/en/support/download/other-tools) + +- On startup, select Chip Type -> "ESP32" / WorkMode -> "Develop" +- Prepare all settings (see picture). Make sure to uncheck the `DoNotChgBin` option. Otherwise you may get errors like "invalid header". +- ![flash tool image](docs/esp32_flash_download_tool.png) +- Press "Erase" button on screen. Look into the terminal window, you should see dots appear. Then press the "Boot" button on the ESP32 board. Wait for "FINISH" to see if flashing/erasing is done. +- To program, press "Start" on screen, then the "Boot" button. +- When flashing is complete (FINISH appears) then press the Reset button on the ESP32 board (or powercycle ) to start the OpenDTU application. + +### Flash with ESP_Flasher (Windows) +Users report that [ESP_Flasher](https://github.com/Jason2866/ESP_Flasher/releases/) is suitable for flashing OpenDTU on Windows. ## First configuration * After the initial flashing of the microcontroller, an Access Point called "OpenDTU-*" is opened. The default password is "openDTU42". @@ -153,6 +177,8 @@ Navigate to Settings --> Firmware upgrade and press the browse button. Select th You'll find the firmware file (after a successfull build process) under `.pio/build/generic/firmware.bin`. +If you downloaded a precompiled zip archive, unpack it and choose `opendtu-generic.bin`. + After the successful upload, the OpenDTU immediately restarts into the new firmware. ## MQTT Topic Documentation diff --git a/docs/esp32_flash_download_tool.png b/docs/esp32_flash_download_tool.png new file mode 100644 index 0000000000000000000000000000000000000000..3f970e63fb5d988bfea0492fe7f0cf2408c0eaeb GIT binary patch literal 31776 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 E01qnQdH?_b literal 0 HcmV?d00001 From 39b7687295d767589bc37de833e4350c9a399074 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Oct 2022 18:34:30 +0200 Subject: [PATCH 4/9] webapp: upgraded dependencies --- webapp/package.json | 8 +-- webapp/yarn.lock | 122 +++++++++++++++++++++++--------------------- 2 files changed, 68 insertions(+), 62 deletions(-) diff --git a/webapp/package.json b/webapp/package.json index 510b13bd..9339b3ab 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -16,23 +16,23 @@ "bootstrap-icons-vue": "^1.8.1", "spark-md5": "^3.0.2", "vue": "^3.2.41", - "vue-router": "^4.1.5" + "vue-router": "^4.1.6" }, "devDependencies": { "@rushstack/eslint-patch": "^1.2.0", "@types/bootstrap": "^5.2.5", - "@types/node": "^18.11.0", + "@types/node": "^18.11.4", "@types/spark-md5": "^3.0.2", "@vitejs/plugin-vue": "^3.1.2", "@vue/eslint-config-typescript": "^11.0.2", "@vue/tsconfig": "^0.1.3", - "eslint": "^8.25.0", + "eslint": "^8.26.0", "eslint-plugin-vue": "^9.6.0", "npm-run-all": "^4.1.5", "typescript": "^4.8.4", "vite": "^3.1.8", "vite-plugin-compression": "^0.5.1", "vite-plugin-css-injected-by-js": "^2.1.0", - "vue-tsc": "^1.0.8" + "vue-tsc": "^1.0.9" } } diff --git a/webapp/yarn.lock b/webapp/yarn.lock index 2e98f8a8..e06b0fea 100644 --- a/webapp/yarn.lock +++ b/webapp/yarn.lock @@ -32,10 +32,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@humanwhocodes/config-array@^0.10.5": - version "0.10.5" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.5.tgz#bb679745224745fff1e9a41961c1d45a49f81c04" - integrity sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug== +"@humanwhocodes/config-array@^0.11.6": + version "0.11.6" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.6.tgz#6a51d603a3aaf8d4cf45b42b3f2ac9318a4adc4b" + integrity sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -64,7 +64,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -99,10 +99,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/node@^18.11.0": - version "18.11.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.0.tgz#f38c7139247a1d619f6cc6f27b072606af7c289d" - integrity sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w== +"@types/node@^18.11.4": + version "18.11.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.4.tgz#7017a52e18dfaad32f55eebd539993014441949c" + integrity sha512-BxcJpBu8D3kv/GZkx/gSMz6VnTJREBj/4lbzYOQueUOELkt8WrO6zAcSPmp9uRPEW/d+lUO8QK0W2xnS1hEU0A== "@types/spark-md5@^3.0.2": version "3.0.2" @@ -228,36 +228,36 @@ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.1.2.tgz#3cd52114e8871a0b5e7bd7d837469c032e503036" integrity sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ== -"@volar/language-core@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.0.8.tgz#ed923e13d626102db6f82be03cfad22b0e5fdeae" - integrity sha512-uxYSOqBk8ZFSzGjUIPOBEFPOg8F3CE6cLO5meK95DODGIlUlPytGiy9sy8QZ9w7RpUH4XMOX3MH/G48SLgP07A== +"@volar/language-core@1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.0.9.tgz#d12456b294d1e5b3928b22e5214c8e7141ee2ce1" + integrity sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw== dependencies: - "@volar/source-map" "1.0.8" + "@volar/source-map" "1.0.9" "@vue/reactivity" "^3.2.40" muggle-string "^0.1.0" -"@volar/source-map@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.0.8.tgz#3e1a6f9ae652b665e6f3eef7c6291b48ac1aa6e6" - integrity sha512-uKMe+alyfl1Abs5SviKejFoe7x9g6jDPVpVt63Tet4qn1Ziy7tFsvtCpM2Y1Ko5qw2nLIeloLslPqm9/gmbBLQ== +"@volar/source-map@1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.0.9.tgz#00aa951d3d7f9b842f84e28ab2a1831ab3b5b95a" + integrity sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ== dependencies: muggle-string "^0.1.0" -"@volar/typescript@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.0.8.tgz#45674506471c3ee8cfabb0d98f75f8e2b2f18936" - integrity sha512-2oY1Apvzcs/5tAn7p1tRlDxNgal5ezaK0h9cutcWALeimsaQBAEE2NAirCrLMHl8DneuDce0tzJqHaQeHw9RmQ== +"@volar/typescript@1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.0.9.tgz#9c0a8b5d79c0a03413755499d211c1c8001ac0cc" + integrity sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ== dependencies: - "@volar/language-core" "1.0.8" + "@volar/language-core" "1.0.9" -"@volar/vue-language-core@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.0.8.tgz#2f888309aee80b6853ba5181f82b772e21f3b13e" - integrity sha512-cXb7oTybxcm1vpz003agdYQHyxij7UAaSub60d7W1aMWpqb2iaCbVaq9izgQFlrpC4/JnVs+cJPb/Q6fAUVxBg== +"@volar/vue-language-core@1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.0.9.tgz#9eb7c30652c80f210fca071aeeea794873835eda" + integrity sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww== dependencies: - "@volar/language-core" "1.0.8" - "@volar/source-map" "1.0.8" + "@volar/language-core" "1.0.9" + "@volar/source-map" "1.0.9" "@vue/compiler-dom" "^3.2.40" "@vue/compiler-sfc" "^3.2.40" "@vue/reactivity" "^3.2.40" @@ -265,13 +265,13 @@ minimatch "^5.1.0" vue-template-compiler "^2.7.10" -"@volar/vue-typescript@1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.0.8.tgz#34cc253b65d5992cb411d110db56c55037c49956" - integrity sha512-6jBvA7iwBkRqS2VQx2gLJgfLcF3hcODyJ6Lmiw2tN8D/LVfFCovvzJgPvIQb9Y4i+rha1Y0cpsYOUt9XW2Z7ZA== +"@volar/vue-typescript@1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.0.9.tgz#47ae4424283ec42c0b3321a4efbd4c505de3fe16" + integrity sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw== dependencies: - "@volar/typescript" "1.0.8" - "@volar/vue-language-core" "1.0.8" + "@volar/typescript" "1.0.9" + "@volar/vue-language-core" "1.0.9" "@vue/compiler-core@3.2.41": version "3.2.41" @@ -315,10 +315,10 @@ "@vue/compiler-dom" "3.2.41" "@vue/shared" "3.2.41" -"@vue/devtools-api@^6.1.4": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" - integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== +"@vue/devtools-api@^6.4.5": + version "6.4.5" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz#d54e844c1adbb1e677c81c665ecef1a2b4bb8380" + integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ== "@vue/eslint-config-typescript@^11.0.2": version "11.0.2" @@ -831,14 +831,15 @@ eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@^8.25.0: - version "8.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.25.0.tgz#00eb962f50962165d0c4ee3327708315eaa8058b" - integrity sha512-DVlJOZ4Pn50zcKW5bYH7GQK/9MsoQG2d5eDH0ebEkE8PbgzTTmtt/VTH9GGJ4BfeZCpBLqFfvsjX35UacUL83A== +eslint@^8.26.0: + version "8.26.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.26.0.tgz#2bcc8836e6c424c4ac26a5674a70d44d84f2181d" + integrity sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg== dependencies: "@eslint/eslintrc" "^1.3.3" - "@humanwhocodes/config-array" "^0.10.5" + "@humanwhocodes/config-array" "^0.11.6" "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -854,14 +855,14 @@ eslint@^8.25.0: fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" find-up "^5.0.0" - glob-parent "^6.0.1" + glob-parent "^6.0.2" globals "^13.15.0" - globby "^11.1.0" grapheme-splitter "^1.0.4" ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" + is-path-inside "^3.0.3" js-sdsl "^4.1.4" js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" @@ -1063,7 +1064,7 @@ glob-parent@^5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.1: +glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -1270,6 +1271,11 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -2002,12 +2008,12 @@ vue-eslint-parser@^9.0.0, vue-eslint-parser@^9.0.1: lodash "^4.17.21" semver "^7.3.6" -vue-router@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.1.5.tgz#256f597e3f5a281a23352a6193aa6e342c8d9f9a" - integrity sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ== +vue-router@^4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.1.6.tgz#b70303737e12b4814578d21d68d21618469375a1" + integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ== dependencies: - "@vue/devtools-api" "^6.1.4" + "@vue/devtools-api" "^6.4.5" vue-template-compiler@^2.7.10: version "2.7.13" @@ -2017,13 +2023,13 @@ vue-template-compiler@^2.7.10: de-indent "^1.0.2" he "^1.2.0" -vue-tsc@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.0.8.tgz#6f24e082878d1f4960dd89fe66fe3b70f6cc2ed5" - integrity sha512-+0sJ+QVH7SHLt8mV/uIw4xlHDk1mWigZkMFugfZTv8rlHpM3S2tCVZ0BWEGclT/0rKdO8j+St+mljpvhWPN/eQ== +vue-tsc@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.0.9.tgz#7d388ec3097bc9c1789d5745a97c608217af4873" + integrity sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ== dependencies: - "@volar/vue-language-core" "1.0.8" - "@volar/vue-typescript" "1.0.8" + "@volar/vue-language-core" "1.0.9" + "@volar/vue-typescript" "1.0.9" vue@^3.2.41: version "3.2.41" From 9302c9a46b1fb5757418e2b6fa051bbf37f689a5 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Oct 2022 18:52:20 +0200 Subject: [PATCH 5/9] Added sponsor link --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..28567886 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +ko_fi: tbnobody \ No newline at end of file From ab727638810292cf2d45499588b553c8c1cb84a6 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 24 Oct 2022 19:24:28 +0200 Subject: [PATCH 6/9] webapp: add app.js.gz --- webapp_dist/js/app.js.gz | Bin 112702 -> 112725 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/webapp_dist/js/app.js.gz b/webapp_dist/js/app.js.gz index e957f307910c0d589de97c4d6376cac867889b83..41e42452a8bdad6bdeb8eb5d36eabe513362f2d5 100644 GIT binary patch delta 50252 zcmV(#K;*x^@CMcJ2CzTGe~DA6qP54{j~}lcr1PXo%e4;)F{nvJNNep)S(Q!3+5R6W z1qxyr-n=|U!Xq8l-{Eo7h7 z{HvPt_|YGa)*q?tTtcE4-HmD^f%`b6iK%c@ zs`I2i$93_}|KWT^%q(J%K@;ewFzR-lPzlv-K(@~f)Efay*w6XmBQL&B>-t*0t-NU) z#rSq~S^HBsVCQfiw;eS#@W{JGw>V!lI?cpTCre$J$uh3*e43Oq>Oz86J z2hW(GJZ}Z4f0@HRe(+V6IGV#I4R0C8hJXgwmHb+*mSnx2bdN*Yn0vLGt&C{p+aM6% z0odRHS-_;x=B5SHR~dUv%+BrPG%e#y+VIwwM!c+6?=A+gL(AH5X2pif_O&n4dKU!> zCNq5<9%?nj7Az1ryp~EjY@{P8c%M*z+)XpB|8xmJ) zu_pSqf8WTxl+%`A7lM+mpaBItJcIEc{p*jLjpz?L4u=2wGw2h6{Q|N6Jnjeqkj2lMllNKK{_2^~9hXl!_JIbOl5 zcFg8M3%D`N-Ez)uz(h7t%6poPK)~@E-;6KXe_3{(T+hmi&J^<~3Nir8q}ibU85YnFKJ>WRe&zPX017aHhEk#ff{=8Ntn@k;2UTV5WT zVqO%R>){FaBd@j4Y;ZoSX_U7dTP7Q{-nNYK(PkDA-Lhdc9Fv)g!fnm_H3Uy)98}dblN+dRjwXRAD%9&ll9c1j=$7tJxNj?bsrS)YwqrRP)7StiT4I@^9C~mGf0-%ZEK$Ywb_MUDJ^1>V> z5j}EbANtkj$dZFJJ3Jepi}k8Se?*G0l@g@u)?Pgrd&W42yvPCql;ev!}P!Zp+y@3ZH3u+D+8^jCE!dp)`>*($I_7LNko z1?qN2!k3-YNe++MOYLA zlDdlqtLZ?RdeX}Qrd?uEcy0_1SJ`#V?1qBYTq>o`X+wa2XfJ;7irO?lmUl_pfD;yr zDk$_0xN`vl%_z(#GZu+Le`3avc|@fdVrSb7f_u+F?HnydNQUnw*XFk?m`>fsBQTe= zCxJeDz3&rP9)C3o!;L&TKM&|A*vR{ELdk~nLDvWHZp5^sJf8+B!L+)C=3VegD*h^g zzKpxfv#qSEsI>#cJ#}?aH6lBpI&OX2s04#ELz~C4o%DPw0vz2Cf8z|5n|2L0Vf&Ai z;L%L3`EC-3Fv0ZAwV{ai3-SoHhnm-w*lyfe+@)Iko2s50YbR-TP1dwNP?KlnSeY+uUV-TU`B!LB5HZ2sihn#Jmwy9m{#7 zhep7tt5%soY#!(pe~7NcK>(7)0^F~^?TJh^8*y6F3A!|b9t__0nBWC~N1J?FQuoDp zgZ50*}7sAa8OPBv=f91V2meCnu+?y*bOWK6*u)Omn%U~T#1Y24M%#H7)OF^qYjNREG|PxehdrgI$2Fb9iwexlFr9ZcnK zu!#DtT45?rf7-Ef*R_`d@Qu3Dp<;)>=BE++_IO9{LDpv7TBb%Q-s}CEYmXBX)^4%r zbONzh?`75~>mOCz9sY|r%>jY+d3;xAY_WEoA?^|uZ`{ZeaWMd;tVp>x*Thl|w>JJZ z_}BW~G6;u%oId)4{!iWDZdX`F!60Ynh#+L6Geac7e{~PK|LR6oehCV~6Z52?EgFZ_ zi~wvfJdK9`v3=S{CFp9e*Ga7qCMY*pP-+#>CZKl6(jlKVNID!X&)UW9GR-8ok``bf3vh*be!R`e^tAbNsP^^aV>&5sSbFuh zu1@;+Q4l>rrW zf0Zj8;B~zlxwbe12Dw-d?LFj4?5z>vyE~Zd!e_`=4UB`--yh=UnS^Qt6$XR@b0aU5 zNY{Ex+{Qco+b46gC2rl8IEd%N+fzuwiAAf1w}|UL8Xj_7oYVNA*E`&D;5Rt%WR1~* zA=5`oj|q}1HmP@1<0x*4ac}kh4mz~>f1Np|$P;_g?9BB}TPb&daZV%~r+F410)wW5ba;3Q)PzuvS#SnR(*5w>{&*+x0n_$&nAK|u(S%U*tewpX zPd7*^N}Gm z+0C6W8iDeWS-IE$H?tZZQq-@{b2>ZQ5}ZTMJc68+1xR+b*~DK zo@={Y4jYH+`YUsdz~tG`ae=2#wvC>Z2nr@+wv}wSZg;7kfpSPTzdqaie|>xNKSrmX zM0(E?vTGOfp*Rq5xFiB;le&H`>7Dypl5d_|ATj~Z4a2hw#0FmPUZI2c?{SvZ%kU8u zNtfMdZT;?G`KQFfL!g7g#&jqRHRGAXC$NTR2T&X>hy+QQbYO;UVxCfO&e>k8+{8)Z|7zCA#X~^>a{wXGSj`5O{2B{`%yGY>y52HX&`>Tc1*tvnKJiL>S{k6 zhHZZt5Q!W{8Jn2#QZbvd)|6|QVB%y5cTOhoujG022;p0rvvdOte=zpf*u@NHFvs&`W z2u6Ip%MNZ23gtS&K9~Cu3AhNrPu!7m0U~QWj-H*1r*$3P%1~PNb^RAU(snu%rrMkNAWinaF*l8S)0u`!a3y>CKWv z3?l3biLj}6$R~$$d8ce)m^;l|vOf)@^whZFb{$tt48eHAKgB4Hl-rcu8eg5_R}W29 zihs2VrZ}|j_V$(1Zpgt+g0AcXR%XLs(w>-Ghc-Ksf7N?Vb4qpWH+EbAh2hQ>F$ui@ z0CNg!apW=VEA^XCKo7R`ZE(9>LVuwPz3uH=`!NIBc}8S30O0G42+GjqC7#Dl6}0KD z>oP^S4}sbk{w7Dz90K8$}H@*}r6NSDGu$2}p%YI_$D%o3{-~QgA19D7%$AX(nFV-u{AeZM%(9 ze`VA|&KrtZL8*Xb9vz%fjwnxq8OI*;0DF=2c@tU8PxMo0W{wgDXo~nBC}E{R>Exqx zz%N+R;uFMgfV!(`xXVwwduC6nYEETIcinu#imCaOlTtH!zE=({<2Ci^Eq#dMf@t&E>|X0maz0F?*pv)AF_fTA$D~_2 zHN@ro^x+hVk~~v{ZGOp&h{D1NoE*R@O^`hCgv{G;35Ht6oe13jigX^4&U+&-f0s)j zJfswugy!To`~t0Sb6K5_ z4PIHM77I)*B0>pK%plxw>OF2}qY|kA!=*BZ8y2}{k333LXjs_jpmshkXtSC-<27-* z1l&baSl-zrptL63Zx$+o@Jd=3f9i&gEENha{|wNr%L5f}Q4nidcK~WLWcSzXA(P{R zd&F|{;}(vPLR{8>Ftk{d9hr+<|<*i&%cg?y}#`Z*gN3Ox8e7UERx~k zJ6r_t`yLBga8X2Xu>%)xq2#~*`5dl3(A5!K#SvZ|!__A&``12PHQP){g1n?*xijX5vWLRgH5Q-8PIXvSYY6wcEvPs|yK_EO-CR4!8LwAK7 zd)q08Y*i+*J3FbC*kMKf1nH5IKWcEqEJIV z3wNG)B>szp#{u@DAH?mb)11XF=Js~^ZP4y_Jl2;<3WdENJ{Z@e2`WNm$w-nXnQm#r zv}Y74mMC=S2}(qOpB3RUF^~v9s8FrA6DWiB7R;CLpb5Q^d={nUi3j8j(pniD=)gaX z&`8a1Cv=&39Z#M3e^6nOJ={LaWO#I}0F%4Jqd!##`=bmO6|-@B!1myvBryA*VoXKh zqkyXgFql%beBrhL_lZ{y&-;03=$ly_ns;|2^Dd3dyQ%q1W5yzJ`RWy<9@PTO#5i_D z4q!8=Q)(F4BwjNmj;E0PK+3GxK9~st+n2(9puf<(Xq0mke*#Ps1RMf}mD2guVl%X` z+8M;f*~A6qu&S0J@gk`#{D{a0fe}Jo%C@YAG7h?MjcLs`pR^(u$l!ml#TDxKb9C;C zQI6QHXv3jq*YgKM_{(2yOnoG~}TpH*U?_AyG9P+R;RxjW!8DE#S|m>8~-g<<0$Jd<+xkZMCr zLlSMq8YjJ)E(j6uGm~Bt)}&?`=4z&xR}>15)1X9O6CvtQ^b|e15I9Vz{f07)DrKn~ znNdC>4S6jb?X4jSJ28fnbn#VCjhi}%{+z8{E<3U%BMoMCOI}tm?KRDg=ukr6^z*|7`OYFj=ZZKl(@zj z2>Pz=ytDg6O<K5# zw!2!aCj}(Ot+k&M&3S00%rZH4VKGOT@(Ub-f0AQPq&XhvoAIcxc|#f#1~o2QPl|-`wUlvF;?kZ2-cH2$!#reSYeku(jvPm(jLZYXhB97X%XLH;C_;yO|L%2r<1qRD@7~@>hH5TH(<{X@q#U{B z2#2tl41t(*im^%K*tWSqpC!Q(h*K)jx*?uR0%jsrPM1n_x=DV~7!O&wb|y-jAY>Ah z?i82wCQrmE|8crablQe=lpFc*?t2 zWJrLc`Aveo5!FO7va}2yd>*1}23$->OhwHe2cHvHJEZ449>Z9W8DS1+Q>&gFqpGd7#y2-NQ0Yl zQ~ior3h$V=NJzmqu~(bNe?SL)$lVz`hOMwU_k^LA#c6ao52U!^qu|*Q5Tn3VEUw0A z81GEe9AL`g>-usTfd&)ex7*q^d?C&>;d^*+NNN{J8+!{z`i# zbw#xIS%;khHFb;(*nX=o=oXpW``BcVTE{Q||Cr06T=s*var2mm^|kyxx3`4@=!Y2F;tmHRlnqkTFu}^P zvRo~2CSfuQ$Bt%{-lqlueI7h>oSkzt&a}!u4$+gxDjKE6ydS&g?3(kRC+t$r@9$&x z+-tcf0eMW5RNo;2C;pRn-ym9{lliCt*sg^(?s~Z#OGGaA(YblNikvCI+tke&yeuqV zZURlva}Cshv$W7WI{?g}9aG#vLpn?-IEHTz*bO?q(FUHoH%b>sP8OpS-oh)d-kE|^ zY6mNBo0IY17ZX3!K)xlrVu&(skS-Z`gZ7P1o0A*hBM-uWG%w|wGk5M@YDP`CXp>Fg z9XW?QIW71S3=84-f^j{Hu=QgILlQwu#06z^WtV9Dw04cgg()+-)v&rzg|?Oevaw=I zVWoUAI5YW^qu?Q2Er_s_I3~{W0R?C#avho*{9I8V=M_$yjyu@v*V;fuh%}Uv_GA@Y z6XLv-I>Qs|2s?pq`6o?#zAjA%fA=!DG?IR`FsOrB@HfY6T?V)ArRVdla0%-rK?>7M zlOW+M0=?vuP2m>_{TyGF0jvsl*OP7GDgoY;nBgJ;=aakPbpgneG2%`FN^FyX;vE7h zDU+b$C<1lqlgi>%0&%O8A>$tydWyeTHBaya0|K;YrAmu^uBb&ioP>uslUU;}M0CLw zLl;V)G#2GX8Z1e<(Fq6V+7QlHoB^B|!p5*8E&2fvxfY1aNFn{;Qj>9_%fvnPhwkSL zrc;mVq(M+ltx*3xh z_1^+FKI60G7C_lhouwf13d) zR+K&hq@8oI$2*Dcl33;sV`&^Lgm9hPiOQHRn2{W4C}mfAY*~|@BKgfP4-Lc8BV~Nr zV^YCW@Q@W(ing6#M2Mq;Q2-Sj=278dI87OCLli-YI1^#9{R|;S6nqfh2&pW*f9@$77Q*!h9W*pXD4CVqz3y4iKsuT(1d2vGz^o z@K@JHr<2g-7by5Bqelri!97or6(qH5S^EqzJi^A?*gI(tfnXJ4Y0)?qc`#8^?!J=` z<|G1e36nMEEkQA3m^{_g7l~G;Cnpx_hq1KOgXz75seIwN7F!Nn2_)1Q_5(x+ei1*JlHrIUH!v0`&mWRagZ5}@SfqthJ505m5yR|% z(JPp2BjEMj-PrLrQTDGVid6z)`*sDi+n{k!AnTRRw2@4C4wNS%O!-?hjld;E=b;Yf z8&nI}a?Q@AQy3Ev4+m&|N|Bb#s;bmK!<2|yq_Ja4@5g9Oo?vp7r}D^pQ(zeFd}@Z# z4yPDK8-vi?6@gP=aMLdZ8mt#ZI&s(xYq+MgZVvkhml#{olkn#mKK!iD;gZs^jv~y~ zJetC)58jj6dJe6P0te%QPgBa}np0raDM15N&*G~XDn@{&C!^p^E)j_il4FGo6&XO2 zN9ZaS;WnnO<5dJ#baL_sGga{|g*op>fe3h$i0Cwb&d7bvaXdRxG!K=g@o+567=%T& zXT`oFWxNV=?s{md*XEL?jn7o0<9G{%F0?X8Z(;Wwi7;x01FSOUz>|Nu9X zhYN3w`qdDzLYs9Fh%gX)P4Y8?`z^}NVUD$*Y0{`~5W^!mV?wY!3}HAQ(zJNy%p4sP z+WfG8uJfqx>gtB?-c*mK;3RO6rmk3UGy9k2=8taMVKdEOTk#uA#W&DB8L@1 zWK01BRhZa*2P0LCSLn1v;Fbz-ORM0PilIj~xMej19AoU$GH{Ir_(=2lkxZZwPN(Df zIrZIPae|x!Inqyu7>Sd5>KkFAv-T_$E!{tM9k0FLp=jj&T+zHhXNc=j!d{B<3`1HQ zQ9MR2U%Mg@W@~BInB{SHFhD!3um}~Rk)8}igAxtqEqOt@W;Io&KNmfxfa-Ar1??0O zQp5(@aNr23e$t5XllJN+RgHnfKgwBxSd-i=%CV@)G28l};3=lA4W2aNB%&h$<6z-w zMG>Kaz~ixHUShKBTfFo3tcT0x6AF{ei(bY^EvXlVbgSRskKq;GtuUZ7twpDR2*Zl6ngk?**eFr$-<>oO|ex4+Y6oILbrI|4!W*&Y0!`!h23%UjpuM37()a%~W~Nui^YH0&fJLA$yg zj>cHA&g;{}ADpIuJ|1#>(G_jKi?Jo?+ z_-as|XlQk^DN|UJL+vU8^1PF8?J-*t8km#Z1_>k?N0HO?sIoRW$28ivSX;p zslTT+4{d&zO9CYrsF9myWNl95$t6RsC$hj@*>dh2-@FgJ%g!}}_4%qM^4Ei{j zYhc{>G0s~Evv3rgn#HHEXJybflZWt00;Nln((o=0{xV#AM2iRbeT|GJCLxm!@hk;6 zu^1;#lRxn$0uo)5XYoq{W~P(0@mT`8Ns|xqe*&?DlaTTl0z(Lss`4HJa~YG$@*)j$ z7bZHWh{tE%Vpfy5llk%;0mhRT^E!XYIVtZXwYKChEun$E0jm+!&!_FUBe>&R=nzk! z!qxH^1z70n%`|ag{YR8|+%wpV2E9mo(b!d*z+D621P?YJyy3cW)&cVlUbRRQ-|!%k9KGhn4Qp*5%d)T8Bdca^g#ktiIZ#e zej3RgwHdf!TJ21oVOeP>QcTgWBMO4%!#6S8lLPfT6yCbA=d}knd?cX1&=QA0)JgI5 z!jn?yz!lLhyt0#mw^t@ky5#1^}s>AdR^<`4()XNhDc;sPE^yoRUvgfI@gNrz#N z;~##Ue-?Oa!hhi*{h}NWjrc9`2B*a-5Fqt!dpi}#YAZ;KcG|H_EWg%Rn0@5czXa{q zXeX_Yv5!QTp^y}v&$tzJ`6+B$-??*|U)vu$JHb|aT6BK>qQlI7H9Wh2ra!&CjLngi zw?b$@EN-JKIN&}>(H#o?5afZBjr#{c!@ifTqIJ?(gZK5w$H0t)oMA7`T2X5<@+YIp zX?&{VKId=)EzIEHeUmdDpmAO0zM8I6GEwoGa~&54CjegO<3FYx1ojbo%8pb^r|qLo zKq$(PUBccJ^Wmq=oE}PlEJu^$hbylQXVH<@VW-?U(WWm6E{=gA1wyv|)5q=8&h9aM z-=rf?r^1G~CyZcjWn8m%M;H#1bU=KqO*It@w&CAw8{=UjZBmpJ@wXG^ou?pzM}`a$Z7zw8vGzv~lmgz`gaL zdKhR?tKJtq)Ttkmh8bEq1YA2_F5O#T-cMU?nDaxgZiq+J}myn^xTk(wJ#) z%T#eJJ@mYyC2gG}d2B%3xrVrz4RKusaeZcw**|5q<0I|Kxo}jN1aVoN4oJQvPCt_g zqX12B?gKu?{6&C&iT9gdf4h=l$G@WUlu+tiwZC@Q7ETyoMfMRldP>lGm9sAul(t2r zI^eo5EkS|!k|aUDGT43AT%^T4lVN~?Ki5;ULSJKO|6}VlS||7)(JJAtXigAwJ{#g+ zv?45U^W?y4a2rf{%g!mHHQGXLZ=Z`8)iib$lYr5GD9j5ig^stwf4<_lcmB&M3_dl${rp(CN;TJMBjioVNb%KVe6P^WHh1`Rm|{yOgO1 zC;Y)>a7Ia7c-WLnPq`<{Snuavxr;+1KtFP_^yamE^K)>`9O|mGLJzbz9F5({Y5l?1v*~wD3&#X*`ghH=xj7>Mb{h( zWRjHBV2ZSiDbN9+q|CBSHQ*@V``Mm>Au$9WV^V_C}mm&GeDN%RKD1|aFZQMvDTSN~J$ zD%C%K>Bqe^;^t>e@2(AJkD%u+cCV9u{RB3AD+pE#>Iw(iQu)@O;hjx5A=RD-yx zcEGW12YdvCv1sjcprtkoxt{)KCf3e>|Ge@`A5fL{Ri*tE`|P0zBCZudwCam3OvB}$ zTbe*2u5NQkjASOvrGPNMvMhLkAiuIqcne)n78xRSJ#1ff7|_glv2)n|(m|p*FLn=+ zwq`)J9=CSy+C|aXdkUQZ;`Nr;fz}z8`Sb({Nm0tH`n&X$0r^ zn#TA;F`uS>c3%w0^#*_>uT!u zVGvN?^J%L3fI+CBbzJywaB?P{U{Jv9(C_ZcRn2j|CHbCHbzYY#y8Bq5xA(F@#<}*v zIM+-AjKWa68@3pQ*1H>jOQmw%q>S}w(`$Iny;KD7TG!F9q`*u0@Afuyn)G=uV*Cxcnm0u+30Ng#_V$e_ z13Wc05VP=}OJH`A?d?r6Kt^qStTm6zR>4-;MCpUF}N*#qwkGaDq++!f06dl4b01lV^WL`B-tT__il<4VliM_{{jjV{q z9MOD9`0Pga`#WhPzxCSev_VJ!AUQ!Nb`<^@Iyn7h`AyRfPw4W|^&>E&%9&9jDj}PA zNGGG2SnMGNyTTy`KmlvpUg!?Ac!OhD`*pIKuMoDl|=^RcsxF?tOsS8m`7b(8JKx zQurbWv%!p?{UYcUU$BEL3+LPrX}_8ORy6aS9glJdsuwU?hwy)mOEMz`X`AGmEK;o0 zBW06*wjynRZ1G&0CMGSE7Ai(}J)OnptsFn9rVK8;cp_ zvx&a>^?s1?kI!n?fFe-E{kP^)tOcU05cz!Tl*T;8k`VI^ZZ?wk?Bf;FG9j$Zt*w!- z1f~qWHpjSX$AO5^Ji}BhV#M0aw8yu^t>id*7XQ+Jb7u;s{a*9P#atnxpem!v^h0)w zH7&c~z*OxbMr_RxNpiy~LxD`ir7|>lk;9&0Yz=M*I}HHi!KT;fI?-LwG>@k(OyFs0 zS%PT==UwSw?F~T#0iHdD!OI*dF5o|kV$CBVn^wC#1IdCrAI%ggjanarft+GGaT<@{ zq(b+9mQ6iwnH<@Z1!Tl61G;=_On!~?f%06HJ4ygx|9o%~W+(s^`yF zEutz>lV1hqtiZ!piRYRUzgz+KxcaT;b3z4lg(@Hn(k%LpUORkF#7M3Jo?(wCV8tdU zLA5#LBZtAHag_k~K2b1v7o6#BzF7HZz_w3+xC}`^|Iki=>CS?otG18aymvg``Dc}l z+&{*wD>DpSxDpx2{ky4KJpgNuzC&+u+%SL%!0gbS(doweF|2bsH{lESAZ+aY73aZ+ zD8nABNbSeX`8rqafz6!7bd4#9LPu{$KDFzS4_8Q{OYDUM^4O1Q(EfeIij2J&vCpFp`%DiOODAvI55q!|qG z*raa)-W%=}P zr=k)sopm<6lIKbD#dX zBmtzZ3E-;4y!)roit!Z7Du&*FML1v!in{7M0AjN-YRbIk-mjbg-^RwT8_(0Uz*A+q zar4i{)5g;ccUTnD+~3;+I;|%kVocpVk6t)Tr*m5Hji>uhp6ou|fBJOeVi+3@9n6Yh zn&n1IqhdIt99VnBZ7<(b&F&50&oJLZ)J_x)yvDzBI*Q^XkNX=lj4HW*@%GilW18!Y z)7~B~E7x?pc)*A)f%aV+K$$#bdX;1{uq(tZ2)}mN_ zlQbLcE<{#pUU^RB!s9_%-MxS3Zadul(b@6#M(8tc2SH?CsPRQV-6(c=fGt=sI3Ibe ztuX1Q6W9Coa_TjCP#$T2e2?U^AcvmMU-i+RSq0i!v7?Au<*Cohc@{|v*vog#e2bgF zjgeCQZw^mB>^h<{hStvQtS=~BXwWXsKf^k>PQ&r6>|zhqr!qGWzWr?rSX<#{ z|2OVt{|y*Bw7f>a3Y4|-2J~toLrAJD2UUp@+rbRdByQ0 z)pXSxp@86=rgjs5!zqc>&zm|o%;pnc9{EM%nx^+RXXX%7S3s{+sxTf=^a5`1xyL?J ztLHI~$i&}l;TwM88!4t$#0r^t{Mr7x)hvX0_hqgY^PI~UX+vn%6qBTBBS0N)Qvy%T zB4PvbY^E%*E=C+4^+vD&bBAL2&^^Y;%E?(G&Cxx_fkQff9F227Nej0P??Rv$%GBAU9`t46KD zH$#rKz5^OE?j^bj(}0q?tk_{9wxB7HUa|KPRS-z!nzAecD(IWOS>>4)XG4F=Nc9)QgE4|0F`2V_Fu>v%=u3_`=%t?vFC*qQ`QM=f6&k%$&j<%! zG|mp*9+S1wRf0k-@e2?5guKFdJXaxkKGT!NA-g@L=^ zw16M2XgW}*0=PHhrgC+@&b<+u@6(q&jB`*~PF?~1OGlG9orxs9*>ZUnK_^x$h5vaL zC@&|q3K)V$@c+D@h0?L$}-bkaJ`Aghl`bsrO$g z93X8K%7359sHSel;9bwdINQY}*lYi%(fQSF1^;d|e)ay{ST=s$V= z-`Uz@&r{60fIXasft<+?QLvb#vpl9CO}<0d=x~WLSh%FbU$S_HIg^u#R9d)g^zMp( zzQZ}(?~UapRh>=c73{;r;Su8Fy8^&^CZF66;~1SZVHdr{`*Y#EZuUWcSX|<|!gWq( zpNOU|?uhbrzQ=R%Nw@;0BG36H^(f8oC?skoqIh~3(=nYzL)jADh;Ps}Zagr62}>_-@CY zfc{d@Wx6u5b4{#1=u}2py1$WRZo(Fr0|b-V^OWysoX7G8a8|&rZg0QG6AM~OD8~{s zh?b4WAwwAkY&Ntxqe;nHR;NiPUpg8QVhf9$I{;oRR+%{@nhRG!+6=e1LnN0lb4(b7 z<^ikEoQQJfVWv1lilL{6mR5#;7Lx9+JhW5{4b`@}7+lEOsWrHlkwE0!pU&3*5R;Bk z$ha|f5OjddW>Hvz5$%0I8paOhY_>2bxGZ0U`zD z4d>En@Jxy0j<_`a2+kvnfYj%+zFd|HU`dY}_R0XwQ!di9Y3X&vw4Mq^9>9Yg0l|Sj z-YN$R?IQF+YDcg=T>PQre6s*nvJXSbFr+1}C6W^qVuZs*FjD}M+DCL3H)BZ0Esumz zOqhd#z2-sIBH+*AMD=NZ%&6 z5z$LePJT|4Pdspcv|Pq|&F8B6aeyGMyL+tH{J4J2feOqPavchP@=p1qn(;{FH)@^zK^0oFO<+JyI9GK>#+GPzlQpd~eEY&+}qPy!t>PFjhq zW!fkK>Syi@JKEpgo=JZU(K>bsS#(ye^ML|r}iZZ1w>a`+>N*6qB+ssVMW~k;?+WA%P>krz}=p_*UXhtM} zpcBg%+>K5+XYplEniEw}r?O?|in(`G_%ppjQXiP1JugtV};H-6Ki^L`rV$u9s$ z=zzB|0Wx!=0E%$~kcko@Y{1|)go3%TL8cVynZL2MAft^2W{-9gzOg(?`q22MHg7_m z$1$yFK1>o%4RU*14TXNt_=pQ6IP&Lj;ULv3b{^Az+?b18=7@`tI>MRY9k? z0iqk~EI}x!pQ+H?JP1A&b0LtH$cb_;!=&A%@(8J%*7BKZ1a>+7;?SIR@*#~AWR0SU zKqzirpT9ffGE=u7M?hJA{P5~fWg$e?nS-f%(KU4|czH_695to_*T|vfoxG ztiDNqSA^4;KonK-TD&9RwXieVe3L?-tp$7)nDcK00DLto4dCnLL?+c1H~?8M=VIj) z?u4^k@*!xhVr6wH$XEcn=}CJGB74oVtCy1&pJB_uc2Kzcr94$TsXV5blw$##0t9@2fWRpGN!*GSm=0>DUM(lRH@JTZJOq0Z zrEXj#3mzGE1K!zCm{OY2u2$8jD4$(Z1I1bJs2FB|NeJ~5viapQoox((x85jH;I*b4 zj{ug5H^j@6xEQAW4F?-=*apn*MjS@N4V6}N^A~T`C8;;AfSJdIn5;&35(9eOIlrcvV+leQZ_vj>+|$W9;45DIp+xg>sUs5bR*8 zXfbzM0(Nw1`ZVqLnws#*@*8jn}hKnT{&<_t)z{5 zI0+omNjqYL^nsbULx~mb6{8z`>GK(M!bM>FOn`-=O%7aQ*gya^K+3->n_wtlQbRJ( ze>yKyey*FZvFdspTpV=Y9ADBC*uh8!r8xM-OPT%Yu}yeP2oUbCe*6hlFIc}>5|oSe zhfx?|tuYl}?(*K@UzG9C+1>qP7SCdtX`XWuWNr0UvK2qKwVBoLKfTd4-g+e{8ROe9 zr$|M7){UsiGhTd`9g?kzZU8f~t@PQ7e=ph}0D1-h93S97v}(StGf{>J036@i^7s;O27HTmzA@8se;lw% z+c|KUbMWE#fa0tPj*U86gaaG}B~`C51#e;jv=$+m1s9?mXf@gyLfeVcmB1O=mgdJN0>e^rweHOMVS-z)ad-u<(QS7D>%j94`d9jw4Q!-=P; z?{!s`NbCwK^GY^WKot%z7nX=ZwdQ*Ec1QBDQe|O(R`d(eT>W7C6Va+dq7vdu+A=c+ z0oIQ#BR;LkJ4|bVf#AoW=?!@(Ee7F8X{v~V29wr}pWak%lGZ9E&Ytfwm4jDjmk_>$uC{HIV-fU&b zEvCakQ@veMDWNK49ZZU*e|i(|uP*<^ealZv$iL-mZ|4#{tZYnoGlA)2T+?1gQB7?S zPzVXLKt_YmYp(ft?8yP5fi0}`g<9!Z5iCgDkC=L$PFqFjP!{h%Q%ZfeHccyQM7U%d zjyAN*!H>M-GRX(Ov++RNy5SXzhNE#mi>+kGRzG2eL>0y3<-xODeYirO^hEab1cMVNYwAjupA{KR@()P^I4l{Zvs?`OeAF8QUf|8= zO^zPS{>l{VohI5<)xRzCuyc8+7Z`l#{Cf`_!EMe&MzJES%OssiX>lg z>m~W(e*$OM>3H8{I!~rU*3v#E;73q0fMfFw&!KWjEX``g=6KxRj;4UvUI5k60DLHJ zZvl~MW%SnKMGkoJSQg^hBg(d98DKV1bO1$$T3VDI>eAU%f0SKJ0*g0HIW0=8H zyx{eA2}d~W)g<`GK0BHO3;2jUPPwKAO{47+GNQGLR_tBrRYzes61{nj-A?tf-Du^x z6g7;~M{!bR?rD?kM>oeQ=9!#L(Mp>H%!<)k&sa%%VqAn@Fw7O*=Ddyfd=^QFoCi{c zB+QY_hq9Sbe=;g~ZP)Ww_XtfkjwTODO*Y<5R%;Kr`NZJu>KL^bNCFY)xk4Daeq{2T z6qA4=Jp{+Rz26buwO^!wR(u3sdzFhu-p9!WzChAsx73t)A377`c2Y<3Pq(mZ7R&h_ zhDm=MpW}{mxiyfn+6@C>;rm4H#p}k3xlYBUw9tIgf5JfV)w!^Gvaj9zV61`zV(!m5}z2YSS zP$V2ES3EQ-^2PSnl2z#Adj#NoHo}5zsE$Ke@E*4V`Ne1@1gDix`CWh!j8A{_5+Vt_+b+KbAO-3N#Nia@31)> zbVyn_>;SHKmXF`zsmT8E3680J44nPe;`bQ7e|D1cdvW_59t*23QSuT>w9%R<{6iL! zy_IYV3j0|&5JxJN-9Z@|Jkjme;v=%dA2k!93$G({f<7dgCAr2!d`uC?ei*a3J1XMI zE?I1St`rM9uQ!zke2y+F<$T6|;MB|Se#RTC7ElqB;77FcIby$0$`3b2lYzs&*yTxo ze-t5H08R87o+!?W#?xUNb^$P4Krelr7%UiO?lmR`Sg@iSEZXlU9sl=)wco<;0nnx~ z6cT9Pgk%4o@!uJ&VJ{6c9*!fNVK|N5TKlBu&_$HXmatR85Y?~Xq@v@z$rZ6ncFS|1dI(}vxmt_u?X$?Ooj90U{U<3? z9T6k+EUHd|!>ULv`*TS$zXBALe+%>UXOc*wq}IPl=ac52=?s0YVlHld_7(DLt|~g9 zjVDr!qt{4mlT&FBKTBG1;?MJ@2^}dz!HTIBsq8`lVP=t*|1m-fhCJ|IHK3G~N;n8& zwZf=Dtl6#$Yk4IyBumaRMf2RCXvAr1&|9Jf+6k1en-DV)Ej2B@oam(xe_N-PhWf*( zR|B8rZxhDb-Y#=wa(-d-M8%Y+V72y1S-mJQqWgOp9eULH1c(Ke2G6Rpd@YAwSUjs9 z9fuY{gUjqn7wJ26ICl>)O@U2$Kl07r6O0dIFwx|Z@W6_h>ry>SwzmmANf(F8^O{$J zl1s$81qHfqryf0_VL;9Ce-+;X_wH8Z@ESZ3SM8B_XDNj{dn2ydjiu01YGKL@QqgV4 zxFtGGL421rG>=$-oXCC)r<93(jpq!f4`8Gv(s?CMW~o-NnCr^9T^@yTjQ@z%9rkFH zRMDS&NIc5fZrin$tOGQ!%h|%BBdQd{vD@m#- zllYpW&FY_VWXWMLo-`?@JTA*+p1EZpL(^p&Zz8!$<461X#QsEBcPeIRpm`iTTc^f4 zW(&){+|QWW7(!-1e~~mU(j!@n>TERA^J_i_Kv1OUX@Gr<+)p(cK@9Z<|1-PueI-A$ zNhPsB7K$?|XeE+cy9Gn9mLSihA|ps!pC|s03G2eun~8rpX=WwZ?t1JHW16ut(9ZzZ zSBjd_7?``1RW~a}P_Dek_fO5nW?eS(>R5-!JxRS)ttNC1e~=^JI7mj5kjp#KB-SG4 ztj9L0yGQ?eJ>hs#0uHzEe-2f_X+pBYw7dGoMqNvGn0141 zXl}B#I8ESbC~gyRKZg4ui2~_1;VgnbMI)!87zzw6T3N+YCg+|4_&c zBp+z@gX_xS#M8R8Q8*s`&`RS9f14TfBb>1Ze?X2N0D~og;t(gzt$s-#wg{_km3PJ2 z7hP2L5%-D71`mtLdiRLQl5W{#MRkp9d~grB9;e3;9At?gXc^;Uo%zH#UAtwn-MYguFOB+B=0^{tk~ zO-nX?dO9jSkp|%MNjvPUrgz^~e9iCKe!3EhGyq3lM#ByiKkJ;+i~Ee{3*( zH0w9)daY^KpLAEX2e2XRvW^XVE8KsA*tA8?5w!A;xj+jm6hJ)$QhBFzj3+3WT=Pvs zp&^Nut8N`Nq1{XiWdT-G%Ww)a1JPj@)^}Mt^lom-L(eM-wPP=-+Mf2iY%^aYdyDU; zVM4Jy^84&lmBf3cOx!B`;`a6)f6^37M4Ed-DoYXZB=EroX7}*2Nie^Mm%Z1-SvoOc z1~>Eo|2YmcS;v9Sx4I)fOxq1|RB2{0ZF8v06TZQFf6&TB*mKxz zSD1Z#oI;II+#FF`$KBv5+fuw-muwUbUXBV56)Q-$7n&8M`!|s`?9PGJOEW0Ej0|HC zU3}i9VzhG9g@?Ih3s1Xz0@`BP2wwjKcx8;;dx&P!e`r#oQgS(^K)nt_ z^(;oSboz5Z6r;$IacbN9?5Paf&h0;iy{n4gD=qL>?6dX38Z#5!0co0|xp&nA71oA# zz;Q#Qs6-=6iJ0IGt5ZT6z@5F!T1H1p9~G6g9qmp0bAkeq=h3i15oCo;FlY;QCf)9m z8R9r@Np6utUlR20e_t+V98s=+stj8a>(g4udqz7YkVcUhE}9oTz?J`am@EH$4_Dp` zHCJwtPd~$)zbTnMcxxGR<%({rYpl0|vM1HC&43f6SoSuE!p2f2c@)zB0;t z;ceF|Q81Q+g&pTnIa^2ty%`xUOv{`SxeT}!mhV0iNOOn?f0iZU|L_6k{qP><-~uOh zWw4VqtGfA@mQ~W2==WY=epV9GmJL<-E|sJ)ziS9Tw;J;lnH*yAh>gVV`GQI^QSRX4 zK4{!p4~>roygvzDS66Gn>wzh(1s}m)-UmTztK18)GEfLRl|e46iUr;qCK7r&>w)xu z1F7vLjmBC5e}@a}f%GblbrKNmUkuy*9JxvL$WvKzjKX?}#ikjgc8#-sFI?-Hud^nX z-Sb7?Hf~421I&tza6_cN0#2Z|Cyrnjba)vI&0wQIgZX$Btz|tN6$j@RI8Fswmdo#N z@Wyl)cmY(`c_YmR7$#XnK{r>+wn{M8AaFR2bz1Tbf1x8dFF7~p#c5Gofi(|Rtm8G` z(`)Y9F7iejRRPy~gI;m%trZYqVL)zfNJUBqX=$G+A;e+M)yXQ0LdAlFPYT&0)-~{| zs{-qsbl288(zWi^*LtUGeOzDbOxL>ZstK!x;8x?Vi^aW*3afI_0mm zC1mMp#Y#z~)r(@HR0rfdu2vnD4ADN0%Z5mte|ZRKE|D^&v;?OV*6YF3fvI=QoY;XJ zuaW!1NT>N^)$tg{nTd^vFt*Ukm~d;A*4DzD1Zy9z(4Y=II^ROy(PYG30Jo0`2{>(( zue3}_%1=IYnYnj__$>{dT~gG==4PToeCHVUHD_d`5i)q7#B;glNxJecnr+;~KVh~} ze_pU?|)_1x`g?g ztha3~Pf1kf4pM_P(B0rMxzRSNL6;&_vd7XA>kxS=;ueav4yL0wT*&s4d=)cOB>Y%| zT#7)?hd=MKG-%&;**r9YsL)dZ4Hy;;HX{B=D2vyLO9ek79m}(vv(>&SH(*dIf5in# z)L<4$8A1lzuPnGV;wl5At=YLe=u}GiS&MXP#IZ#96ns5glrfh!!U_%MkD#Zn9nM0s zOroKR%=$8dVKL}r?ZSD@O6@Pnqies3u&PEG<>%+!`=7s|zM1m$stlangBi=R>>EW| z-iCqGpuB;*FllTY{He=32?9H9F9e3wLo$M~9A@H|2KnR1)&3U|aUs51dT z7$u@aNXTwSmRPJ5DmoQbA^pSD~7Ovx?B#ASsu?sAl5Gz;& zuKu9(1?I9|Bvnqv1dGZnR(#lub7=dDz-bsf%Xi{?-?3Tza!K=15YBQaE;04b_E*(;mp(%wS|XEzv`mq$ zAE%{RZpgUGOL3@6on%=M^3)q)*%oJey8>^|LK8lBQagH6?Vv)`-N|!m zU4E#rhMmbV4>ccZuAc!>fB$W3kBjTpRem$vb|kLRLfX%Yv9LfK2?U8Sx{#enhLFFCKDSiQqdtU?9o%A4v{s2Aj-L( z)=p;jsQJPn-S?a;rq9WPevuoe+8VE`a(q1xb>Gqz{Y4Zw*e;4ne;oFvD`S%#gi?cd z7z*!hJgpiOitYvaXkT`N1)=9N;#Yu!3CFv-DWZDpU?tkV9bJw`x$vz-9Z{C1as_>! zX@13C*dLGz8oS|Y^b+GM+Ot@HOqW^TbftDiYK^3J=J#lAl#_CdlQn@$Vr?3BFh%8O z+^-nOaAy8K1Ze+rTp_b5nU$%rnBYs^B_DGmHISk8ZiHc)a0}ot^rX%3#F)OpA3OU0Cr1Bl7Ke}we_;E1qO=$Y3z2w$t!KAk)_2%N$Z!b5z~0mAY>#F6MeV_W_T^ z#-KLWjLKYqYInU=rCUPuYywDLl0TEciwi1%#**!k*h?0o<7JI}r|i5r6LV<=sY5c+ zNU_<<<$U|=At(qg!dB8wRDgtzdWo!{rTnonvkNI+DF!MCR^12CBV}||z>BSm(2oad z_ouKwe~DrO(quq8U)){s*gvBI?B;A>nSzA_Z3;FXNCU4c46GB0Tcx@c<*y@c_(cU@ zBWd_Wx3hsV{G$6l-1AgqqTp&!iStY4!+}W@+Rvr~jhgHylYz1;yTVvM8IJNi6jQOA zQb@e+K+>S6iU$3d$~r=3&IUL)RMg;Ada7Wze-B(n3Y6lFE+UeW%?CBcV|?N}zpz`t zdXj!cyr>YQ5k6(cYm!bNqK&yjIv~3VbO5s+UL4|4U2t5 zVC0rzg^%3`j{&zjaDt~qUz>kzPR4`B%)pa}WKYGjlPRzrI@`hp)ZDloVeJwFj+Z2>f0}&FZ`?b+veghjmp6zShbw*a!*9;6|e(no=&ZHA;MgnC;7UV5Tuq~;BvQ3v=O%VR~ zy5VpMjnv^fy>W_JRO>jlvQ?0f0Y1WhNSx|5{!mt3*v^>GQyg5Cy0qOd0H5#Ie?=#` z8CY=UQPh>(e9QYumn7IHbzVLK7%Vzh18QX()*KIOgVhgeFlBu-g~S?c-L|Zc*HjZG zX-b)qxF(j9bK$_Wz_epKA<Ca(K&=1?e;Mp2m<&+R-4eI!C%K}?E3>3X4#O5=@!(Y0b5?3f z43*C=>d}!9*Z6sH?`}?D%+AC6Q|#oL4O+kR`F?(|F74+B9lI6wry&vytUJiX0jAG# zl6fBx5KMTi*a~eR)IDoA-Rp=W>^~EAqzkOfeG7YEW{PO=SocgD0rE`sf6pFJ=J8rG zqQn|C&Sf*9$X$H(OMqTC-j69JvdtBxvZh(pdW4fLWSv)|){KUKE&Lu1RpeWt4 zTBB}4rzWl`S@->gHImD$LDo=}B|-j-vh*P;j183<`J@QNF-5`kWItTq+%-rOXHI9%_iK0jIC{ zoT|CZJ;{l!nQWcBgXeDXng^--q9D@>{NZ2P8U$#i7=_7Am^8&CsvUkQlvE!jvO%McTA?A>k~#J~uyasPba`l6oNIEvEx1NjgK( z&MPfRqWdEyprYHeup*$M@_eQRR8;WJkU;S_waiEl?0cPviK@S^6Y=O7?EJ#smc%?} zaAb~&(9Dv3ctFlme-r;$yj>CWT*f~e38usb|L@3iepVdw_F-|%hkL{^TYp^~W5)I4 z(uZ|4#_8ZOq8Hnuq9T8>MI$AZ4qt4Z{q1(-Dg^NVh9$J=iK8;VR#KPBzSi^fk6`8M zKl>_tP~rkTTT6ew`gx|$4BwzVyfz;R6i0)HK;ThgrQUd!f2|ja)=$;D(5of-^%?UR z+V54!-i7~rjLJI5eu$CCXKR)%uUWRTpWI&+fz^w*Btb#5`Y2v?-Qdnbn@bh!D9eNU zC1uT$giTwroDU3hl-#n4u?=C?`t#Z*FnKHHdfWdI>Dwb^C*LcwlZ!!(p@tTo{N((u z{;Jjg<)5|sfB%1;!_Ov;&jvulJQ#}c&(g=`+?bLW&S&=%!*!%^JR?##N0HI?_GP?= zB3`o)Rf^b@i5&`=m=>!SmPy;p^VTh}Cmp-(7T?|9qSMxBv(u){`fGp!kp6;sh>Z;sh?0k@cqmf2q#S0q?fSc4LsCKNGBZG%AoT z7-sPmCSWV#3Boa4j?-iSKoB|TVU!o#!zjbsyYVRb?$a9`k3Am*d;g)qw*P&*+xc~C zZ^T|=ncMQ=A9+T$mXmNaF4E;yF)HcO{UAi=xTXAjR){&u$(4?Wih(CTHeOJskcPG(UfXV zu*PKik0pQwKAd>VaMmBmhku9ike;Q}89;Ee7v}N5{=wS+?(gh{yFWTR0gdHkKpAVz zRJBDT0kny`!p_#Nz4Q#Xqt>TEV;Itv#PBZ%f85c6w?k&BfCm1kDfIw{`>~mZeq$uo z9Dt3d$OZsSCo#`aPYqytI+o0Wh4ZW9w;h5vBK>d)N4V(Y5cxAf6FwhwSP1pFELOup zF)D~;%rG?!LkAJR-C;fYli}Ye9rK@ljKBTS4gSOv{5zx?!zc9jDgFIB{rw01{U`nX ze;588(VxixdceU8{*qsv6OId`8zNYzjMUj-V|tVKVM>28>PJq0CUBh5#WYOlch=)S zR26-`lL21M=nqz1H6@nZxEtV-%aBcljMya43B;JW@{7(*w>Vh`@Sdjv^>NCFtf!CO zy?u{n&p`1B`{yj3oYQdupQOZxd&6Raf239xSU&G5m*JN4X}Yk;p6Rp|A{xphnva5T z9kAli%tY<6r@=PzyhW(&3!BnsNm!eV?Vg2=P+3WPtZzJw+t9nta*1Hkj_AVd>I}O& z_D%-wjP+p$gcX8vraJFQLqRbQWY_-k;_a#E(?>K_izid0|4%}koVmlU(eP|Me@<_a z`T(MaiDZ%fV#Q#lvyg&w`HsVI&e4iE50T>eK}N*#`XmtnTt)M~^BchWv)}gcud`x5 ztglF~YV|EuV1Ci927;k37~H??Nwo+%Bm%`4uj}3k>SM(|4={6MQ4^_VS+;V{1w_@v zw2@+mH-o=!kaw>@;QC>Kz>j+be*zx|EB>j1TfE9tiX6mm5TE8HD@|UPJ1Hx(H(*cF z@lE_b&55Kwk)%`XDc@6p$WdXQS3W46G}Hr`RB(S44FU1S@lLoxdzdWHy` zQGLSd7E6t9RbE9+AhvUs)JzkA)tYZD)TRU$gSK&kdz$AY(bH#n2pRNrBKVTc&6G1D z56mUt?#&$iR216Rq0i5ee*#ybXl9b7e3eL)>wd->xR6F%dUJ6QyJ6$^gPQh+NgH?; zictpnYE`OP**rqnAfC722rn6?D-_LY-#AGq#=!dBzoaD}Rhon3B9d!rqxzs;yXv5Pyk(rFxk5rhZJM8s9x-zq`_@OYF zVdbL7--k1@r*xhy@5%2c;tC4W9{GC5m{ZDOqn>In>xr+7pjIevQp_hk?gfs{G6^TM zyr%?{4x9CY#lgpme|NrvcGnKOc=z7tf#^QGdhznY*P-oXP&=TS-(6h1d+Vz(b*INC zvSKDQe)PhM^?M~EB$W344@9#Q+Tu7v!UTm^=|s^h{TQRn?XxQ(wNb$?a-`(3>$0P& zhrB->Me69#cz|ei{0#nfHB{bxl#xPID7KVz$S+7GZ4mO+f3UfMJcqu0R#Rs;#ORZb zps(sGa0rwY=KQ93DO%}6m*1-Z z`}x350p;?e^NF_qr(S9(OP9u&EO}2M!NOX z2WZ{-2etk(jm2nMb`>-t&(~zgNnwnmBpmN@*^AQX)oT`ofacFMtX&ak zMpSglvQnm;@S@&GFA!#W#(o!j{XNWc9&f;jzky9{q{+q&SD0*wrgEMQXj3VKQ9iFY zI5`0te`3mBgzMB1JR_IJPz@5Gqd>#Wdmfr4x!l6 zo28>9FmczwiNqmVl%-hui_x^~FnN!X8U@Kv5chjl7*{%VRI{We?rGWm(1te&0ZQ-yrBZUT4U^WYWn*Uc-+(d0=obB z0*D$s`mqgBDlS#_AG*mn7_5>&k_VbbRJg|3Sb~ zvpud;_A;qPaQFtqfyjzut|bzTt6gNuf4^yqq%Tvqwjy>#Xi}8?FE1TNsQpU3n$@k! z39nNW4VscRx$p+L9hWIU<-S`cX^arzVyP=rX$!PU^nRl)6)ZJvd_Ekp0gLj^u4RAtE;N3tC|;K z+=29^xOCS~2E~m=%xmm`ZNPt9H@A;fK}(1(cAKjP1(Iqa-{2(ox`*my;o#Pwo{GQZ zOXNSwTdwolT=Y^+qO8ZDQbEOa+F^rLzQzV|qWBV4eCHOOVaLM=Ax$6He>nfpL&fv; zpfV7gk#?YKXAz-3lx@flW%~m(5Q}_?_NxD2B;et1bk!R!bJZKO+l#-{5iUunLPTDv zB_n*1+b7}0G-t5?TfoM3nL6tFJw03=5h3z z3|QvuQ4@o{FK?!`xEZg>f9%ZS@EN3lU?j|vyy|jLjL9(PWqcAE{8hukdmKJ4Pf>{RqY9rVDyHAWT`QA3=REeHt|&9uNXOrZ8fLtr3U03G zP*Wbb-58W;xfd7{TXWQNMV+e)e_Pi zSN6?0E+rmbWR=i3Ok9*YU7;{2#`URcj#P4UZE8$FWd#{5m_274b;*?s$%1h*%z2oA ztN1HfJPbBhj%0>mU{;Ra^YezN_sIqN;`p6|R&#Ei#3CD+*mhJ*!$_#hSfCNkOc?xN zCX|wzPf6AOEX?Ize^XP*0bngM&5>_~7X!)RRrTX97R18e@hkUmaPy7UN564&l+X=Y zZp2Tnm~%M}zNEQ_zr-1x&{$U0->3oGiK%cZ#8aIpp@d-}YmUlm!aS0294ze~@v*|b z9K;I#F<0u7{iW5XY3yG`FjlH@i=ueNmasBtaXO+@X2C@@f5AnDVVK9x{%%}&$t8|G zc4u@EUJC!Uv?!$DXfOh+maG`r^3w)4p3nIZX;k3Pbs=0+++-I90#a_^e)a9Z`|!Ux zV!#|ErT4;>Z>L$spb=DcIE0S^`^tBGuZ@X)HIe$dx@wZ$2UB5-ChZ&5D0^EmQvzm! zU^WThLs(=If568OHwoyh>G^EnP@uDBY=BHcw;15p%akphJ2(0q5z2C&^u9awx|-ik zcSquO`h9r6=mPa>`336Df(z76GgZr|Yg3Ynz-(^0US`-#>SdgZzM3jqn_ro%FCU^y z;wE&zw%NL)e}m1|9f?q_Xu3pRz=cEDMw2FagRP{De?~M|Yjgh9nKff?u&2%HSN>Ej zb3ejJsE3|-zD&LwP5w+9J~Q_-Y$elF0-fTE4rmFs0zJ@er`A-SG{X@1`0z3Fc~G@4 z(Ek6@cIr(UsnoFwJrDx(_+$i4qCA?M$5$Y>bIMAwj!y7X7H6pkO>}MW!J9i)=Ki!f zxBj%mf9DAfdB3RyLA9M-^^-ljww-sdJsG8;!8?N>IwbD>D|T^sYvKR%rSjixC+tI3 z=Y+q$=D}r{IRs#1C+M{+7X{ZTlpXhS?i|Ucg;fr-j8=Q$rYo`b6@R9*8{x`S>5G~1 za2jzEJnRWKZTSEo9ui&dp~tT%f@bKCCa97)f1yqy^#ZE1+?1G9oI6u|d%)gcH{|vX z0-|E_UdC8N>TXl9HKAkDVv3IZNjDgW6llmKR_|F44YX}N4ThDXLmwrca92~6B4dvM zBN38I3{u`Lr>92?=xMV#7yTsk3UroXZP0!vATAAQh;1sh4LDJ7L*#Ra?8HCObO9EB ze*h~dZjA--1dToNr|(!|R^_14Gn|!%1)Q1Z7T2On_QMoo(m1T-3)#id>M1r5W|w() z(wwO|)L%2*Q^04^eYXPyg8!cL&Ae9p``3zETw!|o)>5OGXVrA&_YzGljX@CRD1)22 zmiO8#cqLPF+09jBRN;T<#dIfnCJJ_GjQU{f-A48;$e`JnXqJdm1P{;{rGt zDaR4RW+^$~5G#q%DikyhJf5tQ=Y-pCnm$*bP7`(_q!1Ou2>H_wz5(Qm^Be}&e@vz; zQm@A=D>Rxc)z`me?mfO--S+$|TKjlH9grl51&tn7MQyPjf|v#^KLn9E>)~6!pqe$T zbE?sSToz|k4gRdAjz^=$FIFvB4fOYD%;~;Y=!S9y1~`SN4o{_)4QFe&3tiO)49 zE2FAOEjs~mNGQY4pKr;F4K3K%Kz$!VOKSH|FFsTCOE!tqcss-Dgt^pdsKxN6Z7z`2 zH?1~(?43h@cOHL=*REf3ZL_&0OwY z0rGB>42|lH_tDrWG0tSTm5{w8AM*Zy7uTb0TRcWu2;6lpH%PWSPr{RU8c*0{OvA)` zd<@ll9?U^5nTEig`-Z5117kzKD7>8n|K45}6b}pR7;Q8c`T?lH+N4d2g+eFtUnd~9+jTIBO(Q#jEg-+N6VJd*Dp zP2u*6rMwd2B>B9Banw-tLcG>FA3gR-ecCx^Jo^meukp-XBEor!#JT73*F|pw{-o!d zBBa{Rol)RBkELR?M%(!eEmQ_Ul+}xasP+~lTSfQ;!Ig-w7fitfe`E^ZK7p9~SruAi z@+}isUjrP3kej*x9L$rYSh8&0z9dOsonUNm8b%60aXo$5MbX=k!3X;~K;ijylSs<} zx+{C%Bq-s9^R!-4a(Q1V*|f*6Ohz51zp@Y#s!)~^N>w#qmA!4oiwSxkqJxik5HC*i zX-R3pA>uORjQ5Z~f0~Y9;uuB~em-5;``+YM<;Lr|xViB@i(i3{HPdWEX$j=9sJF=- zdCG*aaSbO6(MPsuh$&O}v?T;>&oQ@x#PR z9H!Y*0*kmgC^-{vl3vF!xHLh`_~}Ce0?7xXzTx7~YXS}Re{V@hW5dNIy#T;>fYSRJ z#btEcv`b=ZkSrC(FHJB`vj>ec7Sb>Z*=`lii($x)M+BoEclV_<@f#q@`iTK`G1%NB zWChS2JMY@*V0GhQ{qWns`dx-aL5N=5HsRobvj$F>M95hQ?PSE&RH-fh*|^~?2-#d*#dny-KcxtL9;?2(fx&PTis zVkDFnS4mDn^B)^MJ}2h%Q733Wf6~bBMruqDTTp9}v44F8lIAU}9v0!w1^EeU;1<&f z{<{GgDaH_7n2)@xq_+F`1XNlo8yr0=Qxt9la0#GIf3@P09Rgc+KxLH0Ko|%h4AH&a zAo8d?7$+pm=n6Y*CGe`H4UnQc@7NpoJ=E{5R7&vPgaEyGBArsFjVM${G{j~If$p}K z0SPKfgOeV841`(|pQ=aD1-MRTl#rXLOGq3r8*N{k+HoCJvm?iouAEw`JUjw<^##cI zEu|@De>jG5Q0Fg#>|N7AA|7PVo50HE&{i*rJpL`fq)m}$zF=92-v%EgW!XZQOP~vl zNvdJAVt$aEwii&k1}f^86!(Vd7vuk4 z!k%!ax7P&jKITsEv99x;aNl`PpDqG}+56n9f5lSgdqDiOMw!$(6hi+elsW?sy+XWU zawq-zM7=}5LCNz=lLhF)E27N(C-jXRxjbzgu_WJB0t=Fqkf+E(1D8v&#{X z9yQT>v83f6-a{ke{1`Z|2IjyEp)pXDe-4`DL&z20K@QyIZygsxk_>&hm*!Uk*pTVK z4%`JG#V&poH2S@!3E7kvTgz5=kh}vmKd4z0@#6=c;s)f>E)_YI;RZVfs-R>UXoBG0 z43?mBZPRT}kqZk3N`s7oO}oG|;PoR=3OK;M&{rOyR+R5?WLNIfNm}@#2?x^me>tha zEzT?QORI09dc27_z5O(;F_(X3H29co8pl2i(VmFe!q;seY^O|=L4P4(P)&Vl%805u zU_o*;s=MespRJi+v`^GV8dD~Y;UYv>(H0A1w~x7<#k9Z?`iGk-41CMTg_vu zY7Lmd7yJ32|HwJlDgf{*w?jt(R0IK9rNEj4pzYQG+NVS{5)qmf{`B+blTXsl9V{)K-jJ5+OTWa;4)Y`1>6{(BB$?$0xUjQKQB`WQXN7Rt~%uy1F75S%mmBofmcxTFR zd$VCwP5P@j%Q=xL{SzPhlVOAoe`2GZVkLW4JyV?EU})7()lXVV*3`!{QwNBZYq_~I zBQwts!&t=l29nw=3A{vpjnF$u0}DOL{QSuXUFL~!+PU+@t#E6-OyL`WFVaB3hDS2CQOW>mjG84-dvZ80-+F`Zqpf0o$z&!1!` z)O%g1@c~MPBAPF3m?B&4C+-W5IEE#}2Jm5`KZ<4~sC$-r*6Q}qye_AD+H!E`@dq|` z+mF0%FC>rMFQES5GROBIN3%2h#GR4h1Pm}mX(Al=``&0qt06WFxl@TFfF{&~-8>}r zujuQH&qmo*b-s2I{!j}me-|1Djl;&#>DAG@-3I0xY@Tfv!>w)ScAgZ)$`p7qIqu|V zB@=%PrBufy)F_$AL&89WBbxt}S?6??_l6Iq{s}FDz;XGr(-35V& z6_Mda&fo~9R;thp?E?#OD#K}XN~sJ0K(5YCGpl}bVl$-{`g3QQ0LAy z$z}wF+T8*Th{qDrfXt4BL6D~#2^K3>pKgqP_2Sa$umg*=HUd6+c7opO5sT4p1PP3g z?Xx|i_#pDyZ9)>bv2@nneRs&bMIJy!d@iTGXgb3eP5s;%@jc!z498&yPr6D54cCvz zJX2S>-9;C?_9y~@fAN+KxXAkk! z8aZB+bFjbM9N>~zO`5MiH3*}hKW8wKISdKiR7GqS0A#rq5mGFQFMPO}0^wxe;rfV3 zJ~+(0yYu7|QZXR*Q3MQqg%Euh`m^e%9k-Hq9i(zN6-U+1@qCX>F7`M1h*ZmbhTG>4bOT0E~!vrZHIg<9x}7CPJCt+wb- zihI>-2cN&}G6GtylTTi&LB2km9#oIWuaER>s_w$qe;^2k)hYad4z=A|?Ks3sV=tIi zhYmg=#IvI6;ZOPqNDj6!Xjf<4P@RIE9gr9gJ#_A`uKe&Yz-Jbfd*a3r6#>r0$*kWD zdV<+L^=>YCzDrq8K$a?A4XV#C{&(T>kL*tMpM}C7xqlXZ7XEnd1l8yG`P>;* zpI0jXY(L992f6EhPUu0a%86I6dM~4RSJe1-GMINozCuEoK!!nQQNrzZv&VmulIYTw z{-U0UY~qIaHlp5!XwJ0bV}JxavdDWT>e#`Ke}&+a{j#4(L@~}f*}gOqApatQrOo_Y z&|l~^Af!LZh=Ng8wOp373+q5u}bWV^u~U( zaOnI~G;;&Yh`2+uY&48{3^LwnQ;>OvIb0odRK79%z z|Ixfs$=tV|J)3|1`Lk0Pcj@8x^Cu>WnpfElNAsg9G$T$fSp!I_cX4!C#XmoP0uP5j zWDB!c-y-=odoB|D*>mSU9#5>&0ruz?e@HUk4LyB&P27-noOAM05888%Fz9Iy8^1V* zqfYkM!2X=uWRK_BFMKL+mUZHyQmxm^9#Ib;M8>6q$jqx>USxnLnYwGKjL?q|Owrj~)JohPRDg-s2H4il%7%QzQbVv{?dlcSQ2InG6gc}6*}fBtz+ zG&gu2!jNFq&w0=`Xi6N_)#`0dcCgE#N2hhpRf9)T@C3H)eCM`u^z-K}A!Pu}p@JA~ z66_*C2f0~iMLvb-D7=fk^EfBbdi&!2hgB}RC_9HNM!NLBoL`t(bjF$Rus z3`lYWqayJM&|wS4pZ1W^+QFT0>tu2j+$F$Mdy#4VMbA)6;!6gA32>Q(|iV{VLA#ZCaF2_ijM3p5YVhem~F?>xtw$W*^Tcb6~tY%&5^@G}Wl zb=Ttd5aA7~9kE&gu9nlgf9Sx-I&4X=tM`D!V)$~WJaJLj82HA#BIXe?!t$1GD$?5p z?n@^lx0Q2NMOt^{s5qOUWF6IVxm3%%SWTc@>N<#6%>@sM?2>$FZWU8yQ^7 zfQa1Dbh0Q0M^VE2102|>T1&JLMRVl|a-T9L0&gy016)eP@liejR5(K9&*h@g?7jmu zqtA_3We{IM)h3eY>x$Vc>^@e*m%S^@6F@2N}VNfZex% z{0l9s1qf$x#}2Su0DoDLSFtkpH4M#BxE=-lY>QIC9Nve_3ty#njf@>9G$%N!Ueog# zVhCwEkpc~B$QI?~qtJy>Em1YTz|4kMcax2po*$U&J&!(HcQOke1e13yACtvd<3W9p?J^#wd zIueRlyg=MyPJauUjQha*$}cH0_rwGLS17~xRiZxD)?LXa8ld}Fi&e<>=ZHZGSYW<2 zfvIa%RX%A%!Zg7kg>TSa_0L|6>1&4Ms#{N_LG$bwAJ#)QtVM6%+tr=~|M(n?t&TT=LpiXz z{UJSr;eUkoEmoPi;IXj*+p%CvSm+MOYH|AWP_u2KU?v0rPGcpicUo*rCEDp&F7nP8EyOSy z>Z(15kj?6_=6XtVJ!B2$Nw_%eYTCd~i6byc!+*xQDA^W*;Z?PLF}`$W)gJ!Sh=FUC z+Y#~7D*WCEQmI#0z@!iUP2+Z$y#lI-HVuuO*_~5LKzC^HjD$3&Cr`zCM`FRFx2N&k zwuYl%(rp7Bz?oxW0}=sT7Hmi20a#>Q&28WZ0Z4*~0{#1f{MVOY0sU)2zj=Yo|M_(A zTz{d19~3%xj&$(+L39v>6^9T*ypnPb%@mPZ%<^-3R{e7(h~g}bD9(0fk|@sbX!kJE zQxEx^z!x{IDw(RP zAvJOD9ps#r*v%+?7Mk0W)M=dN^bz3d?4sSn{UGH6o)(E66AgiQ4f8S4 z(Bd9BjkH6fk#=a{qAF*g@J}cEZmHBbt78OdRlr(lDdF)B=7&n~nA5y?k05FSIe)|q zoEb&`1BJdHRAO{b}7U}Bzt6Ewty)4cP^M+&v zqH4m`myr63gqKwiZ9xrAY_E{menMjVDK6}uEwzajv^USGM);pkh2JVv_@hFF-y#)$ zyNZQ0rMbq-e5ARO;u5(>klbDx$$#x3i@`~5kMN;Db_s()T{ugFpfL+lgc{6#Hw-iP zJryaOD-e(n1&Nx3Q76Si_t^O=0^6__s`UK6{3>TLBck3)zPo2h^=P2j&oB}e)8#a( zL5jT(EzMktayw1jELR{^z33SoUN&+d%%Qdc&6Io+m~xj+?3BekZ~aTHX@AZJ&Y5aW zBR>obkJp2q|Fd^k_F=ag@v)nI@qvT z>;h13_BF$;1vp304URne)ux{Z+^za9^QF!hpSoat1Uqn_>K?p3Crwhv)bji@JA$4q z^AeuwlX+KI##fhmUOvbfqkqt#g(45a1Ir!E_|dGnw|0gk)K9#K<{_JnO6AzhGv>#> z^dz0)B6qrqi`-$gzEb>zspcPdcrjJuCrp#^6Q+-jpD-mpbg>7;hpx~Nny6Q{4l*$! z4Ms~bm|^d3h++ju0IFglQSMQ?e6L;?5j#`l2588f@ zyb552E_f+Ai_2JP+?5L&n_&2nL6kD??%+BAithORE-*_MHXA>&m14j1gshH?wBN4G zoNh=c9W&>yv>kRNRYHfHnSNLa$P?-xZuLS5(_~*tQGeo<`JHl9h&R5&-x;^N6ZX)! z=#2d9ics{?E-U+Jn9Eobc69sUWsZ49ry0Ph9`yj_GGPxWwj+2T1f4=i}U_by{@h^&KrH21hvxP#zBbXG2J)%H7 zg_eXZK!5B~wgBR}T%{IeZ4$@u(kZE*%-HF>j}MdgVh@vF;lpI-mL6+D&V^GhzSSakJQ_}9Ux??oT|QAl|a`3_%%(u}z(aQ$^S*wwUbl=uI@t|BI1JvpeWH!kU%|U=qte(Fc`h(rmv*)nrV?PA!ruMA% zRkP;}zN0UIj*njIu(#LRKz99zs-FAaZNXxmj?$=3o zeyA+KKM$|v0<$q1QF0s+F?A#?OvoGav!;heK&ldz`eF7d69S^=FZ2<= z_t}4(4Zg$l1{Nv$#5#tvGxPyI$h;F!m{AHK*QRwWjDlLQ_73xFV^$+BLJ*v|iBx1VeQodE%# zw>@qF^#ct{7Wq@kBEMO@$Y1`dmp^g=Ee=aCU{o|?fLC0I0lng1mwIvmTLC+l)^Y*t z4fY`Tka7@wTzn9`{HwRma{)mCe+RGq59^t*^=HlS;w%~fp2EaOAV8;&cg3v^T4nAC zb4F@Ze;nbfgcw1+4w1jhVR#%-?dj7eeGE<49=BlWcX-v76E_>?RTb0FSRAjL`O+zY0Oqn%qslUoC}fBoq?ys%pm zrAsNL0XOGpvL4rm*2M|@K%|s!+;oh@>A+#-TlienBCj`6a8n`@mhTxfsf#dL@*hQ8 z*jFtbeVTe^M$=KqkrrXUgv>nh#6-6R6ghIJQOaD3}#gg`p~iXRL5$ zf=^d$D=ywyHtrI7FU!@Of9742b@Tfywj3`i462H`+%x;!`f1q)<7G#!ny|$pRsU|u zrz&K)HJlrwrd7M~`Lww03%+fk$9>4^DK+Z~%&`gOoC+PWTMXG;P;L`es7i-{V6$> z`M86@^8gNXGVt;8f$zr#zWa!QQv+JVu(^4P8QgI_AsOz~^5MRV4fkk*#}tjK`=|06 zVa1oX>MW$BC~glpf5IClCoGH1v*X!xVzb2)bA&K)JmK4wP73!6?i1&5a!Ka@eG-3M zKpzwcfP7H4&_~MEXvas{>4+196NwI<_7|PJduecq9?P-i&A;~iBa=s__SRfuET7i+8Y>W4Vr2q5D z|k(~a4!L)DA7Tb zE~|a+4MQ<*>gR-anMkvVG6<7MOrxZ26?-fy=!NRvf5K+X(+AE5OS?EidO#p`gfvys zuu@WAS79W_0JpXT+?A1FLgi!axgg?sU8}1S)Q{VQ()~MTL zTzx{JpSnJ4bbZ#?`k0LTag{_YUE5~6tL(y2b#ZYOIp$jU^lexqC>$*|;fk$5UxCuq zZ-bJ!e^yutT1x2@sI60|ts9`mD?bcsycR<3rl`MNmQw=5tFc1t9$GZ$T>~wa>J$->%RNWstHoNVnyZ#z$Q{0d8xXr zQqEb6)7B|~u_2+FQE;%f1P7_xuhe^;6x@szf9-b%Fx9w0BtGlb62040bSzVJEHiXm zWIf%N{$c7xfr<-iTwca>{ij6&V}qF|mvhH3(Gv>6URQb3?Mcm_xcWh9Up-Pc=tMTy zL}CW4E*zZHL(1RqoQxT(vc-IGf19+wO;dlxcz-b)R(?1q0Fih`eE^WyFB1LL{D9aZ<)ZGYw{W~PI&RU7VhR|jqjVd(Yf4lPg7=9m0Qt@FiZ$yOs)NSi>4${@RBWj~* z=8j0-O571CxjJ`buquw@^2egHr*lW9N-J?kKLB#CBp`1ec9NM)sngFcbLq6x%3Rub zKADRqP9#II#2Iwz~U5jf3@Kx zx2MbaN_TC+Xk0d$;o{L;Uq5g-eC5^gFpkY#Uj!XT0O&exNFS)px@E@+>bIh#A*!pH z^CG&1=)~MY+!gUmeOp}U7D9NcqL-GHCU>2H!Q8vitkPx)FUL2PA$QHt@uEuKMJ?24 zdH3tJTEVDI{A3{mB0d|p9)?aqe-lDOVR}~1o%g0ZW;H`9e&DW7~P|d{OSfiE)zJWnxx5*AhSI zU5w$9MFEkV8jWI%Q!}hc;<8kMCbfdV5<{7PJV~t!Xg& zULXVFaD>EO+~v17AT3)b!Fbg2xkGR(y9mHHgK?qlKj$6=!sj=`UcOW)LSms4^?N1& zzdky%UZbM~uV)>Pn=lH|7jt`Mm25(#as_J%oGFmQ;5s7C(c&Ore{ZmxJ`Lgu)3We1 z16028iR(1L>#l!Yu#V7@9g4y_0UQSbK*no!dqA747C;4fQ@~lDtQUq~@?cSV!qNj0 zZpPjSmc|E8I0!?|>WV9EhN7ucVC#uXay{~W;D&|IyaH#nhh7(5y$$>s8A7DY+MxwT zK@)1stQ+*K*TvAPe=v}13PEP@J4>gH{%keccsj*Pk#Lqu8wCw%|0XJlJ*L^@rISfI z&cSRknG9xTGD-SeP9_&oNILA_MIn)#9QjiwBZV9-uSuj%0QzgSFdG`ikg zp_)Le?gF$Lt%_DKTm*&pS0Wba^AV`U#@btgT&*x1 zPC}60T>D-GB8iL$)|@>C-xhd$rC2O6YrFun+ACt#DRkB6Q1nSf|NU zgK@;!2YZ3d;%7ze^P2wdlxz@)VuJc7RdMmAm~iro!sDe7ACDO$`EJy`=?<6_34({B z2#98)D}NU2Dx4`@4Q9+Caavb!@`ct@>x>YN>sVWnb-hU)O41of$LIN$YD@U?A^iIJ=Y<16=UFnxWwRwx|l;{TaDl znW;WrK`cQwpBYjwa8$0ksrqnovhRiO#~yOK=r91Ez5CT7$GPags`xT>2a+n$pVfRB ze?mgVf3KGQ$VShIdvc$=zHZJEFPUcvYwV@Ab%Y~6@4o8BoJeO+=#%T5#U8KBjE`5R zv$*rt{KyZ707SHwnLCY{(X}ga=E{B}nI$q26wl16%mF8Thd}{L`>)M}|MU7x_&-0@ zYn<%w(()%-4g)yNJkT<6O*BW~`?ICaSet-uf0LQKPn#+BelyjRX=Ap;>vd+veTXj8 zUOtHmF|0#x0o?I}rix4}#~s3^npKZJJr1kw7gxm)hUNT`!-` z60VmGJ%`=4$#3&XvT||@8QL2`gJ_g!{oUk0`(TwJktT#UX!>79A9e|SxS6T+VV}^4 ze|L|f53rSw5?lHE@7u~Xf)mzp&>cj4KOdX-^Wnn%{NZ8y`Qw89{8H}cJ-MHMr0(Ze zTF&1rMxa7%mG-SDX5O|UTidlS7wy`; z<-7LBvMqugr)=6+tJI~7HyHO*_ShNOe`D`rd+e6%v2TyvV|R%?cCKxLC41|wdCz=a zxMyBJY|p&c@O&=_BeWA>VKlVd{bQ@vZjZ=y4hf*4d zNO~}p>8$8*s{6s$eA~0xpus)!25*n|`5*8*HNYOHDMfiS{owF`1^lEnx&;N(ewd zMgV4n05oC;OE?Q7zrV`4f09X@E49a-Dfn>bY*IFybE8-s$FfDbuEW`ceeRl z{7$w-BepG$$hJ6s%(hS>A7I3={lQ)^9)+>6kKPzo7yVS?9y(0yp%0JULn0z!au0np z@1d6q_t4(M_Rx>%BI)pzmV2`MHXdK`R^K1QX=%L7nN~)R)M!1&yKf*SVTV@uHmzRR zcnf4-I(KQ6=}iI)e`Tpuc&kE22j2tUz{2fYq;)hSi43y#!Q2T?V6dx5z@iIm!_LfnKA4~SzA`$b|lDc90 zdo0Xdy!P#~olZb`wV;KwcncQ~z9ED}j0FDNewNL8Rjq%he|XgatYZPFcW7|CidP87 zP3o+dnE59z77w%8){1Slw6?YZxrL>z5~Om$JhhIf`N-9H)JqO*q0O?n9m+)u(_ll1 zh`gp)BQImmO@n{CWSK{}vqofNT@_8M{P_V57&QQ|mm%8q4enR6T}}1hC+n-nKmsl# zs$`19_J*8Hf5)+t=@U7bzQi>F_*935uaAPr>!k;4bjBe$nU=?L1avs|N9eCY3)Vw= zz*yZo#R`c-O#IPOKhD_tb6JXnBqpa^)R2B}N5Kt|!RL*=W3r@^-NqtLDiNDe3f77@jM!$PSJ{oEf58KvS00@hGY=&^jU)*lK=;#b zJL*)(b&-JaGyCsojje%0E2L(l>pOH|5=--LAq}8z&-s0nsLS18tO3~N)`O{q4JfOu zB%&;?UOpo0i9x4J>*T`f?aLW(9kvP&FR3c9?yn=hu5 zgH73LNV^PWkG2~spK}dgokk*fC)Fg7XODZne>b!lE!BA($hsmql$M&ZF+&m6Nom-p zn2eIT($PUTihBO5Fr~8|$-WL3bSR3f-s#DA)PbdR8IsHe9kK$8yGxv9eX@zYhPsJ| zWD{RC9;bY`N$l3+i%0kLsTmwY_RR4i&_LH1 zOPi8U0iXOjY?t(?f&LU>`{7k-{h;VRe?!p!8fdiEPn6b^>w3^|#2ZKHutztrA(ZSY zM#=UGC41Lcc#pzWoPYjQ$LnJ!J# zoTYarw6oQ(OyYwx-tcOMc9!;2ue*o`S z4TDRQy#2W3{md>D3VV&(uKj`nCQ_nmk$_ym_na1Z>je#c$VBu&`C;W|%Ju>WEm9 zt3_4Dqh2*6uf6am5Ad^SlxIVHf18B~4;u_8cnGGJhYJy!kuKJq7O!l@uB631m1mC{ zORwd=FE4VuyvSi=^~=2v3;1S**6^D>l^*fCJxPQ3jh>)G54g*t1m$s8c`*hs($+^| zIMs5<-ySvSJ>FyMe{axByvNo*ZqOUN$JRe=EV;h>NY0&iv2*7GId@(ze>``V-ML4@ zrT6X8(0JF*lb7GKN5co)vC9E1ykFl-@c%y^$^TP5{CGrJ|C4c_WYAj+vjlLvPy#r6 zm;~@mW93<>Wg2=%%fraDcjz9PURI>!TD!yz)KDrO-p1!)F&gsuu@GZ^TTc1Kg!9@A zsP_v2_32@NdecZZ+5I8~f1W5K1Rg&VuW=Bxyq+AjB%NU<{TWXhz4N5)!s+pYiJkEA z2pjr`6s}$=!qsg|xH?-VTzzXK&4c7#!rxak;lf6y|?l~IPul_K9H zRQj2vpvF+_J#w?4L3zm$Gsxf(^D=hCgc&?yg3My49x<2xmGAy)hF+BLvZKdQJ^WN` z+Yyd|(6<Q|ha*mm zC6`+?xxXafa3a!Ye`@StbJ$=Eu1=5sZbm=)N14YRWaK?c?EI(4iI*`RXT6Lm9#Sh~ z4u3))h{S_Jlnk*?$RMyVi+3{4=z)-2ywGVIJHJlp{1^&O@mcJu1K<_dAUftj42^^6 zrwl@xfGi&bFU$JBGWUOzTxeq`B|VDLMKXpGeJ_k2Ll8aKf2-kmxE$gKyB`b!NN&;S zVa1J4tR`_+*Ca3Gdyw0vkD7@GJPc;DVYRzA-AFh9X`CEesHNTC1tH(+V60Xm=@XwE z)Yj7o+er+zIvlAVMhpVOAn8cx@9x!)Ni<9H*2W^A^u44Rwo{obo25O3Ft=6*)zyiu zmwDvYqi>{If7bqSd;>Dwd(FH9>qZ!zrr_WH@hX@n4aXVootWWsVC;K8rEl@PW%&SD zQ6ARI-1|FY??)-Ui+3~2d)J=Yuu*(BkK))kio=vq>>i!CD-Gf3#G+!4<+A=inEU@| z?EhtY|D^}^Ut<05nfw2dsjlqYk;eyNgS1b)i7t1%e_9}S=wXst3#E}(!jf9VG<&ED z#_aMj)!U==(%y^tdaU+{qhRy{-fi{>OK0%vtJ!Q&#EUQkNm)EC0gt_+R)USSFnI(U;XsKnX<<8Di=FTlMSDiaAPy9+`V$*NJ zd?#}HGi3uz6QD@26M2?HVMLOe!L0%k%B3v#e@~t=(RQabOic2l@1&Kzj0wkd@HF}n z%q1hISyQH2hu^0%>*N;@02!1;OAoAx$Dgb%caog~lkSkUvFhrJ3Oec^z*P6;%y)lb z=7K$1G<{JhZSK;qcFNq@i_=wS&Wh{veg_jhlJoxl3-cC?*`j$TUO%VJU;6n@nLm3i zf4l1ZS#f>-$1veTIsXs8Fn`JtE}Xo=45rUqy68@$1cT6Bb=p`~pYunUN(owK9{)wS#OikC+1>8S!IkSUbgKdv(s zY3%+7Yw*wIeLq8$Mx5!g-RT5bl4hRs=8%Nrs~lZbjm93a&>Z|ZI_wK zC@ZznmF()8Z56@vVNg7-u7rut2nIe|QZ`L%t|Q(`lO%7amQOK>XN8&Xjev6Yft+{p zE=KV3W)8B(W0Fk5QQ%V;f)=?{e^tLeXl}iv>hvAIdXL>zl34c&DEVi|f_+9tVkmNm z>4=s8VMIo|)yFsZpe8)Y47a))$(x;nFLnY&aVBIyxam zY@r*v+Hy;_x^al7zcj=>kN7p=!`usidelM;%nD4Pb@(1&SQ~>FK|+=wzs~Hd0E!~4|D&ojQ!u%e%%~cvjjdf_y5h<|6Q71 z2;(fS(m9@r7AeiTKR0*(*4X{$wCQ7H!LY+Gm{x)UtzwBAKc=!X59hs1CLQK)M!|T9 zT01g-qPSVHQX)^8Fyyy}@iD4zxL`O`wZUDf8z=vz_E<~d4}Roz2MXn)3D&Egcf(w- z*NxNm>&t0WST_xJP=D-TPkSnjJv}&KNUyX#+Yxxhr*5$E$ z_qyBiFvdF5Cs+r56#4@a_cO;Zt7o1-t8OHJ@#FgANc_S1sif=-o!WIHWxqCprIP}d zgX!v<90#H9@u7L@{d&r#x-w=cd#UM#-B#Xfw}SzW`NlYtX8KIt4SLYLCRN<@`Lp9d<{)GGLORNC1cC z@qSogydRC@efj9|?hgQGyX~>pJN5=XJtkzDMH9Jwzj@d{Rv7lH`fq&$a9jWVYInlN z|NjR7>;V9?n}dHfHM`U(a6P-CV@N1}+M6}!Vj|UQGeuoEh2IUCl~J;4wO==iCgSg^ z>h!oWgM41Ga7$*(=mixnO{URxn9-@6?1?hjgWoh+B1o^Qj5m$H0}VWU)@rTGq-EqP zpi%*~575|^fO@9@>Ii;+ms!WP-~5QcEp4T|BESf#tC*E*+Ib_m7QQN2R6|#P_a4Ih zKS*$VOaaG$xU60Jn1smq{q6w3K!8%QH_GL;vi_O`;~Mi8SA1|_niB>GT^#~gTA%$( znC_mO{f}Qj2B~LQbT`9GIabd{@8f=d7|~Gj-XIvv`oTEl&h5xKzv{h(VZLM5)#?!9 zHFPMw0@;&B6O+D=+f54da&_smohuWv1QVFjLfrrSpc$+a{=6v+6ZVRj*x-g1)L+TL2f%G%we9# zm7Wq``Hwwhr0Q_dIfL3Q?UVGg}c5CZnUKb0*+QPzVCYo<;VbRYZBCTg*=?X z?-QAI@C&P;=x-N)T9kDNV~N^ZWWdo9wk;IP%eFrgRowD2rNINaNm)ln(|v%*t_09K z1$IZj;n-KS$?3CZVu!o2Y}OCub(Bg;vi2ROcPwXqsLcGsZ<;w%OQ+AA$qnx2QY8^- z>7hCzQYks}k1)NLa^`!=%zylbnI{z7>GNj-fxESA{$0_3=8&}cKuGA-Rfh_z5*<{& zuAq){Ue#B5e0)|%BfOhhEINCgL}#!6f}>m<(K1iDsJb+{%9ZJ>na{24ELR=WLT|Zu z^+bI6`fvA^`__D!_qo0>27UcuG3e{*PGCRPg%j8}b>Rf|OFiAcZgd*YqpCv^P+rTC ziZ${)Nz0XgRx31rptq~Z^vq=8R1X|T$vNhAPsLnDr(!OiRzp}n^kngtEI!sdh{;Su zWTJj+i50-9@iO@O^j~%vY(ynyZPqz8;?nSR5ia#lAB0O+r|GzKBLUi!0G%vZ_t}CK zoyry)vc-&6gCA_f2cE1^mo-kc8i^ZDW>hFEAIQpo`{qU7edHp47!Sx}q!<}^XI{Fa zg-iGSVM}*>nuw*zbg;4DIfoJm9|REO)$7O8Uvc|PE?FPz_xTRkfpf_zyj3`b&vn($ z@$32$KgaLu5AbuW9vHDRSa)@tT9A7?PA#B0JpNR7Y?hPsc>D%3`3r#*f5%_y34h1Q zt`|jr9*s^{XaKKeOqKmrD)So)Qv=~D4G0yAUVE_8*fn)4hS3w|g2^_6(_g|D%JeTs z7g{bITWG$9EZx%u$TB)ziY(r*%`NJM%O?hf(q{#k+LU^WrqnV{iRn$ntj4QgfvQ)$ z!Y3aDpAsy1Vz`$^H|*_G=i>TQKF2wg4BczD zS9KTVlXscE;a#S$z035qcbUHNU8bM*F4KRAyC@Y&gf~4oZ???Uq9Kb|R^iL)U_jCE z5HVHw5>)V(41+uCOYSk=3CFI~a->HZA3e1U&K=4~5O8`>eFkXLmZPnEgO=YDc*;xV z-DSfpE*_t4r{?#)+biN|rFwCHnb_QgPPdINyTkwyl8<>+eBW&&`lVoOn^?C0PkBka z8pi%xEgsVD_$G*GG?UyOe6@$!bU9R_ASUO8s8m z!%GV?ol*CuBfN<{?D@|uUt*Kz(SAOk{)=3hp^q})iMqG}yq+}_FYYYw8ej9zpj-!S znHjrE3@P~TDp+UC6B=xPSF771A&FxpEMygB(4yDo3x)TO#14)V77A7DR?mzWZx&uB ze9>|tDJs(|0~mo(l4SP@_aKLn>-T^>7i369rTI<_XS6h=1A1DGnuU|gaB{0yuHJV> z{&mIvo4^$UWC9QoUYXu6&|^&i9-mUDR2Nl{N~;wHWdR1VrMWGCfg<8K03Q(f{aYfU z0jbxjp5u210p59pe`qO4k<#{o1tx|tY?#9lgEWPa6u3V6qow`$+vnz zh&CX2rsSJpo;^0R#bl`oAKmR0yH1MF*;07=Ygz@L5 z6n}VRw?y0R1#KsP{6%O{qoj+7>vHu1>70G(bjm4jriWOj+fFeVF<3iZI(=5<(zz19 zZgj9+2LZ*k=0aR!QnHS1lT>V*rDNOlSFw%ltiKfB8Y%deNdu_7rmU48`a)FbaCl&E zMUTTHdz)`KrTe-I63?0u7D1Q)`bVYX_@mPCf5)RzYQc4X>Rh~%O3PcSnq==yRc52h zY-W`=sPZ-4>2(&LmX3)khnGMLD4{PQxiB8)-wKAHzCt~NZoi#sw${s^h7u^6)C$nm z()TP@pS`~BkEkOg!p}G(|HrsHO7rbz=O=a_MtGQ-y}!}k(nJ}GMMH!(H$7x;?Gj;`r8yOh+lht61fltgZZ zSUHS|p5-Eb7d7S@Lp0Xcv-kyeA_JkC$iS9Cj`Pb%CR+I1n!4V*qFAjeqsBQU>^&=I z6EFeS`p?^1k%iub=0eh3FVP&4=TqCk{|d*LOEuWZWf|eEtZZ{J zclyQ!vRdU85m>$?B?z1*-zB!AdWh=mM$DetfUPN=#JAxXX3<`C7V^cXc^0Ov7@I+i zsfpWz$2a0C(~%p{yi?L8T_-zst`t|Sab^N}GY7ZP*UbIZ{43o^DwFnA%m-T}h0+& z02ilo=%x+i5l5lgaA=7aoGeg{< zSgj7qyP=)D9&Re+c%uBC!SAUg&5g42534rviAp0JvmaA5H-&Yf`s29n!v4pz|J&Yw zwRbm-B>VsGr!ZbND~%N+S(0Cg$bkR@GbS)m7-qWsZv;w!dp4Hkvs`M6TswWvbKxJzoww%_g2bC&YA?dN1 z@9tW0o>%T#`K<}<;LLlJKc$;D!F9!d(b=U;mJrdXp3GdL>J*i9H-AMcP6jkB{_6VB z##h(RPvlqEk8GU$C-$9U=8lqO7BV-6&A?}WLVljoFj0oRU41#8j-zE%QFe`XW%M{w zL3T8Hl;`NpR`|4$dD`GlpN~I;@VJ?IYNoY&=d^a6J@4NEeD4#^UjFcb^x)cm_rV~e z^4Pr@fnE*WD`>c5GznU445cD;56|M` z%O=!gLA5Uyg_$zYR?jeGXf%5(RM&mNTLeNlz1n2m%pirx68SQqbRgxdOUo*fW)!Vw& zD9un4+Ob+@!!%5P%P7lHtG{d6E#2<4&9eNofw)#n*G=0p%63o(XzSQ*%djk?RhA(G zMuOGQn`T*N3jHXEI*nF=qXoo^wV5k}K)b(*%Jr!3i&rIyTpQgj*Ye2e(_(VHDxH=1T6 z<*7qiGG&&6%XsHoz$9L4T4oCdgdug4MLBBA9L1O6&bOFNaI*#TwPos3C+U=*MlnBj zf48L@Hq7siQIa1RJ~guq+~{O%mtqH+X*PAM)izDLEISsC1lu-SZL3|Dold`IH`|s4 zvTK)R2S<;8Zgko(Ov&ge!w@R0cFSynyr#7 zHTt`@0ka4sSCXF=>K>d3ZP0XO8G;E8YM}ug+iIECl^nf~-t*xGRKajdIk6}wZHbfj zkev!_w*gbyZUOsZq!|X~#E>|74`ukYG1_KFH+7qTC@RKBlk(A&_;?S6c=rS2ddIe# zf(4VX&?(>m6#!=MfCAOaaABdEX*Jp%82aV7Xkin!)oD?EQGy2@hj0hFP6wm66c;Aw zmp0JVFO4FZJ3OWMxzuHFm55Q-7q?>PAMju{aUN3H#$bUQ-%Xr`G8lmX<6-7 z83u5Fuv!hHZP;z1f=Ub~SRkOMTNZGkmtp~$=ybq@X~XJp1rO1C1s1$eWpV}8(=>HZ zS}7Y%%0^SL5xiGmy^B;nSB*xq-7zdf;zXyMGz2H{dj*!eKuxurh3d!Z=#mPyDK{;_ zP554cH9S_?bcNYxq8b+b7<76Y#SD>EAFLRE3ubxCD9I90ryUCf0j6VVmdL2L4ZC5M z<;Osc0upGz!0(jh2=zATdNBV?yHk=OT<~Br8Zf)8vizW(U^j6kg4MM&M=+5MP)CMs zG_BGsk-=bt;PjSWmLpVrU_3VrSXVk_d4j>v0^zk=4ZBm8C79VJj5!!T@+`_Sgu5Pp zC$8ZK`DOH-poSmh7wp!f8h(&pu$2vK_;IPP(>>H&8PFZn3M01TJ=hy7v7_(B`%MdX zPL{el1#v)4gZeP^=7+FJev~LM&6R9I%~1FE+ndP^6?MgCx(VqGEA`H;1W8_bl1}43 zRD24J_gUlcz0v0_!Vj~*t(l={W>BYp(E>04PGR|P;6|cjYP$`vJ3))JI@)fUY-v2T z4f{JJ;S4G6M%l4ECMX9&~2YQfEr6frRUe<$%6zPy*1_8jJ~*PnvG^!bsrL#9FLsU4{hzpITG*ZK;-qv!*?bRl==?`s#5=|Ywfjq|ADHVJFz!k z_%Ei3a)di`$g91T(+rY!iPMST7@p&&-FMzJ@2?JW zIn*w`c6u|OChbQgQNOGH1nK`jzv{%1=)`I@Gs(#uH`GK>%ZM3c%7X$fu=yR6(VaI!2DA|%sMSQ^rsYp;GM`48W@?3peu>% zd|j8_uK}b1*_VQ_0Wks3m$a|}APL3RPJa^-#6QuO-LL^U0Z*3~u>pMn2$z+y0X7V; ztMLfkovCS6tNy*0*RcUO0d|)VvH^4fmzRaI0YL#Tm&dXJfFnmYy?^X=5e+Xlcd2Zr zmEEWwZ>j&+E$NT>u6(UMzjm+qiI-}#0b76nC?3;a+}nb>j!~PSE4soK?+RO~D%8#( zt-if}H2-|};wC$hbha_Fb{RB9dej^x#so|xI!;+4vS&uqF5CL1B4yGafVn87`@35N zl$o)+@-Ue{y4zqfe{r|MWd7!UCroCxkNy)NnLlkKnE_N(OTqmNmvh(=B*hZ}(UE_p zL61eD%y`cGu)_Lqalo|BJNH_E&ZKu6fX;0moJpYv=N6ut43?+x+0fOb^3t0^3AFgK zI0}1wmEkJ zF#Ci#ImG?zKOF87Upy>O{NMfQz7p}sMx2I3xj<-)>#Blpk-zI>ac3m6yoC3r?w+MR&&;ZjJ44+R+w3~DO!0O7IPjRwux&)aG zxV|;2-X-t_HyxzQ5g!Sh2w&2@;rB#-| zdSiJR*4w04i1jusY=3!8`|MqD2`XsLN{*OOF)=~!j_pKAANKAP zE-&ugJzSp4ChC7N^ENJG$YSPyWfeUK&daI)4fMQePdlCU#LMxXcr=Iao_I9r6(hyP z`B}aVD=y6^!K62>JVacYt0ZFH6-!nzXxzmBl#Txro4G@gEc#7m?;`-euzl)wWRi{w6_=QDz@&kf4%TOH;U%i|4ZD0iCi5&a=@o?VEXXe~aN z`U$Z6krz1PKShz%DpzE2u}J)gmvGrHQQ+67`8JX`t^ee;oOOCXmlbbV=6PR!IysRu zKRywexo2++{gNgW<;9Ub tb675&7lHCqpzbY~by(b$vmW_M0v(j<-@wR)W$}Oh4W+u$5#2=s2LROo?^OT* delta 50196 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 z zxqmQEe`5z;+V8{dSRRc;%sf2?dRx6Ae#G388u$EUML$c&7Q#8*F zibkBK2E8R(pq)VZx(P7@(NfdW%ZXkJv43@HX{bMpdNuG_{x)H}?d>v0Cg&GMPgG2K z3RY{Ml+}v@Bf7tr(V<73Pk>lpY4EHn%hz(~g~hY#(Q#-IG`P&JbdkP8hjaG;(-hd0 z_aoo@J;C@e1`|yl2@kB8xh~bSWP6*?lXP*YJg<2rD7i$eTTr0;cIwd+8V1xHUw`o} zaPMwa4zIxzan&A)ca~DPvp3?J-B=1Or52{lAQjzqj9a496vTH~L-U9Q$cgN?a7vlj z*Lcow`T#~+BAr+AWR_|Li@C0x+vQOh$M}zE-C>VLNfrIchs2|t?Y7+u7h*@V3UiwQzEmWYfEfJ^tp_D!y^^GgGKsG_+N}N=N0uB0<4KcZ%Hy(J z=9yatGBjPb@g|b1G=8+7PwY>Gb*Ey62Aapgvvq2$W45sD%l(Y0jUi+P6n{zMB0ZAD zsLn<+J-_C200c#fo(9;*$o*8K5yVh$@ISLV-&gW8n^Y1DWT7~df>t8AwOcUsY6_K>)oMcL0Dn31je}$~3AwxzO=2x#&U$R4x_k7m*AtE>B_OL%I~uLL zC?C5k1FTE+-Oo{_a*3>7*g%1y0Idoon5pB+P~}_3_y&51VYF~J9^|cg?gMcsZiq}= z)$M`GtMj~dkONojiyOEC*7&b!1<#YUT0s_<)xsk7E{5JCs@br4|9}5hdCV2ZwzBf$ zguR|<`wK(ib73gGNp2t40%4?xfVJArweuIF#!Xt*)SMCWEEMkOVn*qVt)YdCd9E|u zqs0;uB=Vsr84$L~Io10c<$AhxwE)r5v~r~byW>>2m`WuVaKBC}_E&|sc5b+?_dHPq zLl;3{JPxPmyPkHr?0--doF*hYOuMUZY}B=6hgmoHhUO+)i_-+2hT=96_hYypk|>aF zBYq3ay(pMt1td{k$b2uF85GT|vj zcuKV6)w{?|F&?a}ohcn@6g)#eMH|~Uv&}$6{11iPK=OfRKe(v4Jv;Ssw-KPFjfEw!8#Jx1;Gh&uOhYRwysso(h74itW?ws?YKQFsUF3j_ z*N(|?*4oa6U2g^W;Tv}z-&!QNw3apYPNID8R^Mt#+_YrVr>CRR6KMc0pR~iyYI^r= z#n=3vJ%6%U+9d0tZF~>3RYaxhVTyM-uXcG|NN|j;3qwKnq*i$SSV*h^W?b7clCOfH z#`+hSFBp9WOS6`lQoVZUZl@h`K79b3lmBgSUT^Igbrq*oSu01H2igFdQ~`9QCM7PR zMJ*PtA$4IP9*`vq+Cs9>vH;O1$J^vuAg;+n#eW9FN3(vzuGgA&{YiIKdjK24F6-E^ zx5E7=h)rAM96>ApmJW^h9f@So#AlXV>EtP2FX#eup- zNzRPi+5vi6Rw6c(OYAo&4%k`~+;?2lh~dc<7}dA~u9>gIB9Tf4x^u;}^}@jEXX%s& zuDRh%n=a_)#I)TYN0nw4(>8~?JmDL>2Y;M}0!Z_ods<#`FZHdFqx_Z)7VV2i$acU+zWHzc|!+CV;tJ`1L_b#61S%1EQ z=|04veo1h;Wk ztYvhx^ife++tJ>{KPM;{(t3i#u4TE zr^>J;u|BPZyl1pi0%;V9;i7rb16=u!hq?04_i*LCP;=!L`Sdf)`J0mIgSVD3SFY%` zy2g5&2U%Z7!ya~7T*IYk{>KcO?RxCd_J@k(=PRSU7v6Tg5(Q&9SlDqMm9vFZ(3_Fr z!nDjOk;{NvVfpSOfi#DRV1HR6{tq8u-Vg6#4lZzFR|Y#-v#OhaX;~$WiGJ?|=4T}_ zZP`$T?@~z`^Sg%dbE`2=k;x$zkJw1;o-e2*6Xgyr?t{jy_0afe!26TXb#=8CydIds zTJRC<<$Vyew#vN#D+7hFQyJv4s#xH?VIrZYvmQtfIFQ<2(rBy|aDTY49!Rg^SSJC| z{>8A}&ykx{k35wn$0)3qSZta>YS%dH_rkTF`8sQI**#zMZR2(XJix5j2scFPE8qlb zd*TRoL5G*Y& z76#(%1$bbOy9`WrXg3KdOAc5VyPlR;Z^?zD<>v`Az)b;b$A6@@t zcU401>tsOuEPvnigqDV;p67Cq^S%%iY`n5yWW6wSHN_9Za<7(AW z$q?=1xNL~TnSY0X<`OAWN=tA`VZ9za9hiE@%!wVy@fx{5jC7h$RvnLFoSE2&2xAMq zj0v|^X>BdcNwD_e3JvPeqw_8F9Zg2u1#tVAkbu)h`AW-_r2OPVmzjGXDIY?cAX`4ZJE0Svept`TkdCtxK4{$$Hz?@{~kn?jSW-1KkZClN)WL z8gwZ_C3`F_u?~@^B5t8r>tH&1!-Z@w$yYHmMZ%9Y$fXGMeE9P&OM~`pm(4>XhzdOw z(12mlU?bv>gtB;@xK!{X(y=_tIa}?UasvjXQh!{aL=9%4lp$oW{mOz{Bd#()+M1oq zgHENCpS4J*MjT6oPr=v2MHzExBdpM1{s?;N+TkoD%Oo1A$gD3T7#4$0)-IgatknLJ zJi7Lq2&-z8QGR~jz5n?e>YFJ~ugbvLJ(#g9%f3;h%J1>r1*;u2H;Y=2dqcj+?}q9rmZNXr!2`f*yC<%WDraj^Pv;;iZ?ycCDJ z)Jc{FAy2&#mThsiw=3}WEHvSBC$*zD)eb5|-JLwA*5!u^YuK3_^HB4l=K2{B^?%>C z7D-K(rwFj&^zNI|!xOdoHcUp-*_be>5gjf=r;NJZTCo;m@%g&0CEMF|M74}Hw+4Q! z=2K;enFV!rp{dY%W-_tSA{8Ct!X7;(>JV8Y2%?le(O*P?gYBZI#D8ILx-vG|K`1qNhoSK9#?z`nq3B+qkM?CZSP*(X zBYp)qm~gzSnm4pyS=+tKBClndWV)DdNADp%0wndVpQh5Z4kps^dSMlUhGqCJcC z$8?$XO;>7Xq}E7kXMT^?MmZ_RI9U_8B-W;32UApj#{G(c3}@!=Q;=LftbZVRagTxo zmW=44xW+6*O%A04ifva@1VxO)P$OAV;o3@mJ8A*8w+}J-ILk}&`vc_$5>F7mWBvjX zDr8i2zzv`IY5Vg%HoI1p`#$t>JB}QaebMs$&GKq4mu_8Hm&34pmZ&&(HSoZtXgUI( z9vAQj9QR$U<=Fe(5Ois{ z*m`ywW_^cUgdE57yL`aa<p1Vc7F={lYb~CAWa6e^Tpj2kNqC!oWI_xK*lKQT{s8hF?_hHIjy3bUPa;!!Nq;!#z($CJL?w zl{mjtJ{*`tq5W(+(5T6NG8rhlvMY@Bli?`OLopS*DTT!A4kQhFs%X%UsjMSp=4^m- zLq!c|}px9HSvQ=GM13l8~%Ahs3E~;}2!kh3$;_JjKCPsY~1a0`U2MU4L|vn}G#q9z|Wr&9}UtbV-7JQs?C( zfWe}3HK10uVa@TdHdy_j22<8YQ%J1A)@{rBcuh57lBSdyiECmxITsF03rst<6B2#( zk!*y!q9ub6<9seQj-Clp2{Y4Aygy);D;42D!*k1;MeS>2ZSvYMP(wbxx}aWH1JnwT zkbl8`g2?~{-7Rsuev&JSyfRCQ(YLH(6L)#e;Ojez`BE69ANq^Czq?p(664~o()t2OE-bZX+7l6Bu-SR=X28e|Ps zSrX*WC`%ur!q`x$kxz@Ut*t`+fI4ffpN#a@_qzJMDE^xL(_eA*%jBYsf0EBYy0P$feRTTFQLT?xBX*8gTlG Wr+>@Nxn#tD5J9zFEuX&KV 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

x+Vc=$4Q|k;tBgH={wGo;Z%Ji3&FF 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%0Dj+eAd>LdZLYI$aFxvFI=Me;o*=XRNM zt{;ivd}7On^BXjr_dst{hD+z0e~!mm7I<29PZ&8EM))mb^T5`O=5$CzLgpFPe>H_A z0{sYh9W!1}Y{H)fe>VIz;jaaMZTRcp8xZ&#z#pE)$Cpj0$AW5KEDAGapsi@Vu`>YW zss-?2^tA{+8htH<53|1)*Bm9-i7vkfJE2-zLB8E)TW`0T9kY3{ zvRk^{X`5yFX#;Vsmadz&Wt8op4$#)I+m>NjMyo7C28;x&p*PL4%oqkX)6p#*C~K7E z$AFPwfTWwc*=#q;jyM(=4;E;rB2c*KaFC3?EY>`H*A>S9it>aFnnre8@SQQ z*e=BmG}CPAR;z8Ac3E~T90|5_h3i0j-#`TVEHw6nOVWCsN0V)8@-T?)wm*K)f zHPdReJ23RianZsiY^&3v`l196Iu79ube#@HZz(QJ&@XMEt7EjRGF+f;vD+{i8;wRO zCScq`Ub|s*TAfl%H2bwyQ*U&PcBc#nu<`+~X4A6TtuhSYe_*v5M%%F4LQEX$998U-ZKfPvpB%Mt2r(Dh*c znRcfnL%86 z7_hE%%JKw*p#{Qgw;Fb*EK4x6O&D`9e&kt{We9gYe@HfM>YH) zzhEmH*6`y}U#EMhxiX+Ts1-(R$9u3hR$@ori}#xr?wl-jbqeBung;b@=*L_TM3f9@+6(ceW>^p8t=2l;d`UcTZA8Ge_Jy{ z(afMuf1?Fp0Gz_|-@uJT$JBNkV0VHRYjw2UG}+R4Y8&>OTBL>Ak#?@VC1eH;kQnSc zt3Bwy7s~;C+n@xXtu+`ED#<@^^3PPnjLEyG8u5eD^-mm8@8H33VvQKK>wnxNc%7X$fu=yR6(VaI!2C-=%sMSQ^rsYp;GM`48W@?3peu>%d|Q|F zuK}b1#h00|0Wkrum&>pLAPLRZPX7=Q#J|v&^soUr0ne8%u>pMn374#~0X7V8tMLfk zovCS6tNx>x?y&(l0dbcnvH^4fx0jr<0YL$8m)^1gfFmb2y?^X=5e+Xlcd2ZrmEEWw zZ>j(HE$NT>u6(UMzjm+qnU{gH0b74R7LVz#?rlL`$EZ!v64XYR^MJf znt#1}ag&`$I@=goy9}BlJ!*~;V*(};9j7c2*)yYQmu-DhkuvEIz+4p4{nIT1%FNhZ zd6>+f-EAxYVB_`^KJ70eJ(4{NI>V196YNa$#Y=k$dcBPMyhy zQ-^pw3b-otPkoXdQm=(W>ZJ?z0+Gy%(K6pd*BX z?jB1VJ--9z8r@(@UbQUpiR@JqQ!BFxE%dFaV7_JM*GHiBtC(MJ-7JjTwa93H0v%J3 zRp2I}&~2OElXUi9YmI<5`qeFka{8y#6+cVge}nITxUk@+Ip4W=i$_?*z6@Pg;0U4u z_{#z81We&JI+>NaNhtR{rCpV=k?s{k-1$9pRjypwRhjhARk`ThDa75)9E{M1%lSCD z$fM#d7OUBO#3FpE)k3tn*DP0mG2~qS>9x3XoRkN=^%C%No8)s0x-1LMmfUH!tAOir zoFv5Cw+UdUUDw7vr+_lG!2eg}EyCUbG{AHQ!{_r7?dF_6u)6Z*Q=IIZE`6(I-my1rKkuQ%@%VZC|1E%M1P2!XBQ$TT8j^+egf=% z;suWQPf=vG$`x5$ED}HBC0zDP6!`sVzKtYK>pyudXPw^9WyKqodES?wPfp~_k55Eq z?%CTyzoZF8`SbgKMddTJ6_z`DR8THYXkp1WhXp0mo4Z))f?Ib)4Tp9?4Wneq3ulp1 zMY)esIVo_LhHtU58)02i`3tw8UH)p27BBEHit>K1pgdPA>Cj1ki-J*a-Cy%_4$GzU pB2az_)V<}h4vV{T)+1j@po3EVZ!mIUS^Tg60pgKv5PL-e2LRr}tt Date: Tue, 25 Oct 2022 09:36:47 +0200 Subject: [PATCH 7/9] docs/screenshots: add README.md for convenient viewing on GH Signed-off-by: Martin Dummer --- README.md | 2 +- docs/screenshots/README.md | 71 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 docs/screenshots/README.md diff --git a/README.md b/README.md index b5e23fcb..7f46a637 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This project was started from [this](https://www.mikrocontroller.net/topic/52577 It was the goal to replace the original Hoymiles DTU (Telemetry Gateway) with their cloud access. With a lot of reverse engineering the Hoymiles protocol was decrypted and analyzed. ## Screenshots -Several screenshots of the frontend can be found here: [Screenshots](docs/screenshots) +Several screenshots of the frontend can be found here: [Screenshots](docs/screenshots/README.md) ## Currently supported Inverters * Hoymiles HM-300 diff --git a/docs/screenshots/README.md b/docs/screenshots/README.md new file mode 100644 index 00000000..f0bbbd51 --- /dev/null +++ b/docs/screenshots/README.md @@ -0,0 +1,71 @@ +# OpenDTU Screenshots + +here are some screenshots of OpenDTU's web interface. + +*** + +![](01_LiveView.png) + +*** + +![](02_NetworkAdmin.png) + +*** + +![](03_NtpAdmin.png) + +*** + +![](04_MqttAdmin.png) + +*** + +![](05_InverterAdmin.png) + +*** + +![](06_DtuAdmin.png) + +*** + +![](07_FirmwareUpgrade.png) + +*** + +![](08_NetworkInfo.png) + +*** + +![](09_NtpInfo.png) + +*** + +![](10_MqttInfo.png) + +*** + +![](11_SystemInfo.png) + +*** + +![](12_Eventlog.png) + +*** + +![](13_InverterSettings.png) + +*** + +![](14_ConfigManagement.png) + +*** + +![](15_LimitSettings.png) + +*** + +![](16_PowerSettings.png) + +*** + +![](17_InverterInfo.png) From 9c7dc681b1d91e58a80ccf268d56e3e335e04ee0 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Tue, 25 Oct 2022 22:53:46 +0200 Subject: [PATCH 8/9] Fix #268: Allow12 digit dtu serial numbers They will also be generated by OpenDTU itself --- webapp/src/views/DtuAdminView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/src/views/DtuAdminView.vue b/webapp/src/views/DtuAdminView.vue index 75883d13..47f892c0 100644 --- a/webapp/src/views/DtuAdminView.vue +++ b/webapp/src/views/DtuAdminView.vue @@ -11,7 +11,7 @@

-
From 13b22de53aa6abeb6dec0169d0db77cb3c2f998d Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Tue, 25 Oct 2022 22:56:44 +0200 Subject: [PATCH 9/9] webapp: add app.js.gz --- webapp_dist/js/app.js.gz | Bin 112725 -> 112726 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/webapp_dist/js/app.js.gz b/webapp_dist/js/app.js.gz index 41e42452a8bdad6bdeb8eb5d36eabe513362f2d5..8e3896f6e2ccdfc19b9c3accd68822478f77adeb 100644 GIT binary patch delta 5604 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 delta 5603 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