diff --git a/templates/decky/.gitignore b/templates/decky/.gitignore deleted file mode 100644 index 9880e05..0000000 --- a/templates/decky/.gitignore +++ /dev/null @@ -1,50 +0,0 @@ -lib-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz -*.swp - -pids -logs -results -tmp - -# Coverage reports -coverage - -# API keys and secrets -.env - -# Dependency directory -node_modules -bower_components - -# Editors -.idea -*.iml - -# OS metadata -.DS_Store -Thumbs.db - -# Ignore built ts files -dist/ - -__pycache__/ - -/.yalc -yalc.lock - -.vscode/settings.json - -# ignore Rust compiler files -/**/target -/bin -/bin/backend - -# packaged teasers -*.zip diff --git a/templates/decky/.vscode/config.sh b/templates/decky/.vscode/config.sh deleted file mode 100755 index b45c794..0000000 --- a/templates/decky/.vscode/config.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]:-$0}"; )" &> /dev/null && pwd 2> /dev/null; )"; -# printf "${SCRIPT_DIR}\n" -# printf "$(dirname $0)\n" -if ! [[ -e "${SCRIPT_DIR}/settings.json" ]]; then - printf '.vscode/settings.json does not exist. Creating it with default settings. Exiting afterwards. Run your task again.\n\n' - cp "${SCRIPT_DIR}/defsettings.json" "${SCRIPT_DIR}/settings.json" - exit 1 -else - printf '.vscode/settings.json does exist. Congrats.\n' - printf 'Make sure to change settings.json to match your deck.\n' -fi \ No newline at end of file diff --git a/templates/decky/.vscode/defsettings.json b/templates/decky/.vscode/defsettings.json deleted file mode 100644 index 7360735..0000000 --- a/templates/decky/.vscode/defsettings.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "deckip" : "0.0.0.0", - "deckport" : "22", - "deckpass" : "ssap", - "deckkey" : "-i ${env:HOME}/.ssh/id_rsa", - "deckdir" : "/home/deck" -} \ No newline at end of file diff --git a/templates/decky/.vscode/tasks.json b/templates/decky/.vscode/tasks.json deleted file mode 100644 index 3fc781b..0000000 --- a/templates/decky/.vscode/tasks.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "version": "2.0.0", - "tasks": [ - // OTHER - { - "label": "checkforsettings", - "type": "shell", - "group": "none", - "detail": "Check that settings.json has been created", - "command": "bash -c ${workspaceFolder}/.vscode/config.sh", - "problemMatcher": [] - }, - // BUILD - { - "label": "pnpmsetup", - "type": "shell", - "group": "build", - "detail": "Setup pnpm", - "command": "pnpm i", - "problemMatcher": [] - }, - { - "label": "updatefrontendlib", - "type": "shell", - "group": "build", - "detail": "Update deck-frontend-lib", - "command": "pnpm update decky-frontend-lib --latest", - "problemMatcher": [] - }, - { - "label": "build", - "type": "npm", - "group": "build", - "detail": "rollup -c", - "script": "build", - "path": "", - "problemMatcher": [] - }, - { - "label": "buildall", - "group": "build", - "detail": "Build decky-plugin-template", - "dependsOrder": "sequence", - "dependsOn": [ - "pnpmsetup", - "build" - ], - "problemMatcher": [] - }, - // DEPLOY - { - "label": "createfolders", - "detail": "Create plugins folder in expected directory", - "type": "shell", - "group": "none", - "dependsOn": [ - "checkforsettings" - ], - "command": "ssh deck@${config:deckip} -p ${config:deckport} ${config:deckkey} 'mkdir -p ${config:deckdir}/homebrew/pluginloader && mkdir -p ${config:deckdir}/homebrew/plugins'", - "problemMatcher": [] - }, - { - "label": "deploy", - "detail": "Deploy plugin to deck", - "type": "shell", - "group": "none", - "dependsOn": [ - "createfolders", - "chmodfolders" - ], - "command": "rsync -azp --delete --rsh='ssh -p ${config:deckport} ${config:deckkey}' --exclude='.git/' --exclude='.github/' --exclude='.vscode/' --exclude='node_modules/' --exclude='src/' --exclude='*.log' --exclude='.gitignore' . deck@${config:deckip}:${config:deckdir}/homebrew/plugins/${workspaceFolderBasename}", - "problemMatcher": [] - }, - { - "label": "chmodfolders", - "detail": "chmods folders to prevent perms issues", - "type": "shell", - "group": "none", - "command": "ssh deck@${config:deckip} -p ${config:deckport} ${config:deckkey} 'echo '${config:deckpass}' | sudo -S chmod -R ug+rw ${config:deckdir}/homebrew/'", - "problemMatcher": [] - }, - { - "label": "deployall", - "dependsOrder": "sequence", - "group": "none", - "dependsOn": [ - "deploy", - "chmodfolders" - ], - "problemMatcher": [] - }, - // ALL-IN-ONE - { - "label": "allinone", - "detail": "Build and deploy", - "dependsOrder": "sequence", - "group": "test", - "dependsOn": [ - "buildall", - "deployall" - ], - "problemMatcher": [] - } - ] -} diff --git a/templates/decky/README.md b/templates/decky/README.md deleted file mode 100644 index 04401c8..0000000 --- a/templates/decky/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# React-Frontend Plugin Template - -Reference example for using [decky-frontend-lib](https://github.com/SteamDeckHomebrew/decky-frontend-lib) in a [PluginLoader](https://github.com/SteamDeckHomebrew/PluginLoader) plugin. - -## PluginLoader Discord [![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/ZU74G2NJzk) - -## Developers - -### Dependencies - -This template relies on the user having `pnpm` installed on their system. -This can be downloaded from `npm` itself which is recommended. - -#### Linux - -```bash -sudo npm i -g pnpm -``` - -### Getting Started - -1. Clone the repository to use as an example for making your plugin. -2. In your clone of the repository run these commands: - 1. ``pnpm i`` - 2. ``pnpm run build`` -3. You should do this every time you make changes to your plugin. - -Note: If you are recieveing build errors due to an out of date library, you should run this command inside of your repository: - -```bash -pnpm update decky-frontend-lib --latest -``` - -### Distribution - -WIP. Check back in later. - diff --git a/templates/decky/assets/logo.png b/templates/decky/assets/logo.png deleted file mode 100644 index 48c4851..0000000 Binary files a/templates/decky/assets/logo.png and /dev/null differ diff --git a/templates/decky/backend/Cargo.lock b/templates/decky/backend/Cargo.lock deleted file mode 100644 index e9a21a6..0000000 --- a/templates/decky/backend/Cargo.lock +++ /dev/null @@ -1,1288 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aead" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", - "opaque-debug", -] - -[[package]] -name = "aes-gcm-siv" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "polyval", - "subtle", - "zeroize", -] - -[[package]] -name = "async-recursion" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b015a331cc64ebd1774ba119538573603427eaace0a1950c423ab971f903796" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "async-trait" -version = "0.1.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backend" -version = "0.1.0" -dependencies = [ - "log", - "simplelog", - "usdpl-back", -] - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "block-buffer" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" -dependencies = [ - "generic-array", -] - -[[package]] -name = "buf_redux" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f" -dependencies = [ - "memchr", - "safemem", -] - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - -[[package]] -name = "cpufeatures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" -dependencies = [ - "libc", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher", -] - -[[package]] -name = "digest" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "encoding" -version = "0.2.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" -dependencies = [ - "encoding-index-japanese", - "encoding-index-korean", - "encoding-index-simpchinese", - "encoding-index-singlebyte", - "encoding-index-tradchinese", -] - -[[package]] -name = "encoding-index-japanese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-korean" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-simpchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-singlebyte" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding-index-tradchinese" -version = "1.20141219.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" -dependencies = [ - "encoding_index_tests", -] - -[[package]] -name = "encoding_index_tests" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" - -[[package]] -name = "fastrand" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" -dependencies = [ - "instant", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" - -[[package]] -name = "futures-sink" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" - -[[package]] -name = "futures-task" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" - -[[package]] -name = "futures-util" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" -dependencies = [ - "futures-core", - "futures-sink", - "futures-task", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gettext-ng" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2c86be871deb255ef65fc8395048a2505912c595f1eddc4da03aeb6fda5cf34" -dependencies = [ - "byteorder", - "encoding", -] - -[[package]] -name = "h2" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "headers" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e372db8e5c0d213e0cd0b9be18be2aca3d44cf2fe30a9d46a65581cd454584" -dependencies = [ - "base64", - "bitflags", - "bytes", - "headers-core", - "http", - "httpdate", - "mime", - "sha1", -] - -[[package]] -name = "headers-core" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" -dependencies = [ - "http", -] - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "http" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "itoa" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" - -[[package]] -name = "libc" -version = "0.2.139" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - -[[package]] -name = "mio" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys", -] - -[[package]] -name = "multipart" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182" -dependencies = [ - "buf_redux", - "httparse", - "log", - "mime", - "mime_guess", - "quick-error", - "rand", - "safemem", - "tempfile", - "twoway", -] - -[[package]] -name = "num_cpus" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_threads" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" -dependencies = [ - "libc", -] - -[[package]] -name = "obfstr" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2b2cbbfd8defa51ff24450a61d73b3ff3e158484ddd274a883e886e6fbaa78" - -[[package]] -name = "once_cell" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pin-project" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "polyval" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "proc-macro2" -version = "1.0.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - -[[package]] -name = "quote" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "rustls-pemfile" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" -dependencies = [ - "base64", -] - -[[package]] -name = "ryu" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" - -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - -[[package]] -name = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "serde" -version = "1.0.152" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" - -[[package]] -name = "serde_json" -version = "1.0.91" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha-1" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha1" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "simplelog" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48dfff04aade74dd495b007c831cd6f4e0cee19c344dd9dc0884c0289b70a786" -dependencies = [ - "log", - "termcolor", - "time", -] - -[[package]] -name = "slab" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" -dependencies = [ - "autocfg", -] - -[[package]] -name = "socket2" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "syn" -version = "1.0.107" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "time" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" -dependencies = [ - "itoa", - "libc", - "num_threads", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" - -[[package]] -name = "time-macros" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" -dependencies = [ - "time-core", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tokio" -version = "1.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" -dependencies = [ - "autocfg", - "bytes", - "libc", - "memchr", - "mio", - "num_cpus", - "pin-project-lite", - "socket2", - "windows-sys", -] - -[[package]] -name = "tokio-stream" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d660770404473ccd7bc9f8b28494a811bc18542b915c0855c51e8f419d5223ce" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.17.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite", -] - -[[package]] -name = "tokio-util" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if", - "log", - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" -dependencies = [ - "once_cell", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "tungstenite" -version = "0.17.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" -dependencies = [ - "base64", - "byteorder", - "bytes", - "http", - "httparse", - "log", - "rand", - "sha-1", - "thiserror", - "url", - "utf-8", -] - -[[package]] -name = "twoway" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1" -dependencies = [ - "memchr", -] - -[[package]] -name = "typenum" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" - -[[package]] -name = "unicode-ident" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "usdpl-back" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2938cb40ba84ebea44658ebb1e4e0045fca54a562873bacab2ae094abab61ff" -dependencies = [ - "async-recursion", - "async-trait", - "bytes", - "gettext-ng", - "hex", - "log", - "obfstr", - "tokio", - "usdpl-core", - "warp", -] - -[[package]] -name = "usdpl-core" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3904ca38aca189c68a6bc876cf73de7cc60003476b4e118012ae7eb783c1700" -dependencies = [ - "aes-gcm-siv", - "base64", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "warp" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed7b8be92646fc3d18b06147664ebc5f48d222686cb11a8755e561a735aacc6d" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "headers", - "http", - "hyper", - "log", - "mime", - "mime_guess", - "multipart", - "percent-encoding", - "pin-project", - "rustls-pemfile", - "scoped-tls", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-stream", - "tokio-tungstenite", - "tokio-util", - "tower-service", - "tracing", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" - -[[package]] -name = "zeroize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" diff --git a/templates/decky/backend/Cargo.toml b/templates/decky/backend/Cargo.toml deleted file mode 100644 index b38378d..0000000 --- a/templates/decky/backend/Cargo.toml +++ /dev/null @@ -1,24 +0,0 @@ -[package] -name = "backend" # TODO replace with plugin name (also in build.sh) -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -usdpl-back = { version = "0.9" } - -# logging -log = "0.4" -simplelog = "0.12" - -[features] -default = [] -encrypt = ["usdpl-back/encrypt"] -decky = ["usdpl-back/decky"] - -[profile.release] -debug = false -strip = true -lto = true -codegen-units = 4 diff --git a/templates/decky/backend/Cross.toml b/templates/decky/backend/Cross.toml deleted file mode 100644 index 89ae1de..0000000 --- a/templates/decky/backend/Cross.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build] -default-target = "x86_64-unknown-linux-gnu" diff --git a/templates/decky/backend/build.sh b/templates/decky/backend/build.sh deleted file mode 100755 index 17dfbb4..0000000 --- a/templates/decky/backend/build.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -cargo build --release --features ,$1 -mkdir -p ../bin -# TODO replace "backend" \/ with binary name -cp ./target/release/backend ../bin/backend diff --git a/templates/decky/backend/src/main.rs b/templates/decky/backend/src/main.rs deleted file mode 100644 index b24ba09..0000000 --- a/templates/decky/backend/src/main.rs +++ /dev/null @@ -1,25 +0,0 @@ -use simplelog::{WriteLogger, LevelFilter}; - -use usdpl_back::Instance; -use usdpl_back::core::serdes::Primitive; - -const PORT: u16 = 54321; // TODO replace with something unique - -const PACKAGE_NAME: &'static str = env!("CARGO_PKG_NAME"); -const PACKAGE_VERSION: &'static str = env!("CARGO_PKG_VERSION"); - -fn main() -> Result<(), ()> { - let log_filepath = format!("/tmp/{}.log", PACKAGE_NAME); - WriteLogger::init( - #[cfg(debug_assertions)]{LevelFilter::Debug}, - #[cfg(not(debug_assertions))]{LevelFilter::Info}, - Default::default(), - std::fs::File::create(&log_filepath).unwrap() - ).unwrap(); - - log::info!("Starting back-end ({} v{})", PACKAGE_NAME, PACKAGE_VERSION); - println!("Starting back-end ({} v{})", PACKAGE_NAME, PACKAGE_VERSION); - Instance::new(PORT) - .register("hello", |_: Vec| vec![format!("Hello {}", PACKAGE_NAME).into()]) - .run_blocking() -} diff --git a/templates/decky/build.sh b/templates/decky/build.sh deleted file mode 100755 index ad7192f..0000000 --- a/templates/decky/build.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -echo "--- Building a new encrypted USDPL plugin for Decky loader ---" -echo "This script assumes you have a functioning cargo (Rust) and pnpm (Node/Javascript) setup" -echo "If you do not, parts of this script will not work correctly (but may still exit 0)" - -export USDPL_ENCRYPTION_KEY=$(openssl enc -aes-256-cbc -k caylon -pbkdf2 -P -md sha1 | awk -F= '{if ($1 == "key") print $2}') -echo "Key generated..." -#echo USDPL key: $USDPL_ENCRYPTION_KEY - -echo "Building backend..." -cd ./backend && ./build.sh decky,encrypt && cd .. - -echo "Rebuilding USDPL frontend..." -cd ./src/usdpl-front && ./rebuild.sh decky encrypt && cd ../.. - -echo "Building frontend..." -# pnpm does not like local dependencies, and doesn't install them unless forced to install everything -rm -rf ./node_modules && pnpm install && pnpm run build diff --git a/templates/decky/defaults/defaults.txt b/templates/decky/defaults/defaults.txt deleted file mode 100644 index ebf140b..0000000 --- a/templates/decky/defaults/defaults.txt +++ /dev/null @@ -1,13 +0,0 @@ -If you have plain-text json configs, theme templates, or templates for usage for your plugin of any description you should have those files be in here. -Those files will be pulled into the zip during the build process and included with the upload. Example: CssLoader with it's themes in "default/themes" would have the "themes" folder will be added alongside with the dist folder, main.py, LICENSE and README files in the subfolder of the zip containing the plugin. -Files can also be put in here such as a config, just keep in mind that they this directory cannot be utilized to put files in arbitrary locations, just within the extracted root folder of the plugin, ex: CssLoader has "defaults/themes/..." setup in it's repo, but when packaged to go to the store, the file structure will be: - -- LICENSE -- README -- dist - - index.js -- main.py -- package.json -- plugin.json -- themes - - exampletheme.css \ No newline at end of file diff --git a/templates/decky/main.py b/templates/decky/main.py deleted file mode 100644 index 2bf9b18..0000000 --- a/templates/decky/main.py +++ /dev/null @@ -1,28 +0,0 @@ -import pathlib -import subprocess -import asyncio -import os - -HOME_DIR = str(pathlib.Path(os.getcwd()).parent.parent.resolve()) -PARENT_DIR = str(pathlib.Path(__file__).parent.resolve()) - -class Plugin: - backend_proc = None - # Asyncio-compatible long-running code, executed in a task when the plugin is loaded - async def _main(self): - # startup - self.backend_proc = subprocess.Popen( - [PARENT_DIR + "/bin/backend"], - env = dict(os.environ)) - while True: - await asyncio.sleep(1) - - async def _unload(self): - # shutdown - if self.backend_proc is not None: - self.backend_proc.terminate() - try: - self.backend_proc.wait(timeout=5) # 5 seconds timeout - except subprocess.TimeoutExpired: - self.backend_proc.kill() - self.backend_proc = None diff --git a/templates/decky/package.json b/templates/decky/package.json deleted file mode 100644 index 18de44d..0000000 --- a/templates/decky/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "decky-plugin-template", - "version": "0.0.1", - "description": "A template to quickly create decky plugins from scratch, based on TypeScript and webpack", - "scripts": { - "build": "shx rm -rf dist && rollup -c", - "watch": "rollup -c -w", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/SteamDeckHomebrew/decky-plugin-template.git" - }, - "keywords": [ - "decky", - "plugin", - "plugin-template", - "steam-deck", - "deck" - ], - "author": "Jonas Dellinger ", - "license": "GPL-2.0-or-later", - "bugs": { - "url": "https://github.com/SteamDeckHomebrew/decky-plugin-template/issues" - }, - "homepage": "https://github.com/SteamDeckHomebrew/decky-plugin-template#readme", - "devDependencies": { - "@rollup/plugin-commonjs": "^21.1.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^13.3.0", - "@rollup/plugin-replace": "^4.0.0", - "@rollup/plugin-typescript": "^8.5.0", - "@types/react": "16.14.0", - "@types/webpack": "^5.28.0", - "rollup": "^2.79.1", - "rollup-plugin-import-assets": "^1.1.1", - "shx": "^0.3.4", - "tslib": "^2.5.0", - "typescript": "^4.9.5" - }, - "dependencies": { - "decky-frontend-lib": "^1.8.3", - "react-icons": "^4.7.1", - "usdpl-front": "file:src/usdpl-front" - }, - "pnpm": { - "peerDependencyRules": { - "ignoreMissing": [ - "react", - "react-dom" - ] - } - } -} diff --git a/templates/decky/plugin.json b/templates/decky/plugin.json deleted file mode 100644 index 226eec9..0000000 --- a/templates/decky/plugin.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "Example Plugin", - "author": "John Doe", - "flags": ["debug", "_root"], - "publish": { - "tags": ["template", "root"], - "description": "Decky example plugin.", - "image": "https://opengraph.githubassets.com/1/SteamDeckHomebrew/PluginLoader" - } -} diff --git a/templates/decky/pnpm-lock.yaml b/templates/decky/pnpm-lock.yaml deleted file mode 100644 index 1b66eab..0000000 --- a/templates/decky/pnpm-lock.yaml +++ /dev/null @@ -1,935 +0,0 @@ -lockfileVersion: 5.4 - -specifiers: - '@rollup/plugin-commonjs': ^21.1.0 - '@rollup/plugin-json': ^4.1.0 - '@rollup/plugin-node-resolve': ^13.3.0 - '@rollup/plugin-replace': ^4.0.0 - '@rollup/plugin-typescript': ^8.5.0 - '@types/react': 16.14.0 - '@types/webpack': ^5.28.0 - decky-frontend-lib: ^1.8.3 - react-icons: ^4.7.1 - rollup: ^2.79.1 - rollup-plugin-import-assets: ^1.1.1 - shx: ^0.3.4 - tslib: ^2.5.0 - typescript: ^4.9.5 - usdpl-front: file:src/usdpl-front - -dependencies: - decky-frontend-lib: 1.8.3 - react-icons: 4.7.1 - usdpl-front: file:src/usdpl-front - -devDependencies: - '@rollup/plugin-commonjs': 21.1.0_rollup@2.79.1 - '@rollup/plugin-json': 4.1.0_rollup@2.79.1 - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.79.1 - '@rollup/plugin-replace': 4.0.0_rollup@2.79.1 - '@rollup/plugin-typescript': 8.5.0_bhcmvni67fkldpaxrtldxbogce - '@types/react': 16.14.0 - '@types/webpack': 5.28.0 - rollup: 2.79.1 - rollup-plugin-import-assets: 1.1.1_rollup@2.79.1 - shx: 0.3.4 - tslib: 2.5.0 - typescript: 4.9.5 - -packages: - - /@jridgewell/gen-mapping/0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - - /@jridgewell/resolve-uri/3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array/1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/source-map/0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} - dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - - /@jridgewell/sourcemap-codec/1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true - - /@jridgewell/trace-mapping/0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true - - /@rollup/plugin-commonjs/21.1.0_rollup@2.79.1: - resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.38.3 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 7.2.3 - is-reference: 1.2.1 - magic-string: 0.25.9 - resolve: 1.22.1 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-json/4.1.0_rollup@2.79.1: - resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-node-resolve/13.3.0_rollup@2.79.1: - resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^2.42.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - '@types/resolve': 1.17.1 - deepmerge: 4.3.0 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.1 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-replace/4.0.0_rollup@2.79.1: - resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - magic-string: 0.25.9 - rollup: 2.79.1 - dev: true - - /@rollup/plugin-typescript/8.5.0_bhcmvni67fkldpaxrtldxbogce: - resolution: {integrity: sha512-wMv1/scv0m/rXx21wD2IsBbJFba8wGF3ErJIr6IKRfRj49S85Lszbxb4DCo8iILpluTjk2GAAu9CoZt4G3ppgQ==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^2.14.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - tslib: - optional: true - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - resolve: 1.22.1 - rollup: 2.79.1 - tslib: 2.5.0 - typescript: 4.9.5 - dev: true - - /@rollup/pluginutils/3.1.0_rollup@2.79.1: - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: true - - /@types/eslint-scope/3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} - dependencies: - '@types/eslint': 8.21.1 - '@types/estree': 0.0.51 - dev: true - - /@types/eslint/8.21.1: - resolution: {integrity: sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==} - dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 - dev: true - - /@types/estree/0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true - - /@types/estree/0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true - - /@types/estree/1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true - - /@types/json-schema/7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - dev: true - - /@types/node/18.14.0: - resolution: {integrity: sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A==} - dev: true - - /@types/prop-types/15.7.5: - resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} - dev: true - - /@types/react/16.14.0: - resolution: {integrity: sha512-jJjHo1uOe+NENRIBvF46tJimUvPnmbQ41Ax0pEm7pRvhPg+wuj8VMOHHiMvaGmZRzRrCtm7KnL5OOE/6kHPK8w==} - dependencies: - '@types/prop-types': 15.7.5 - csstype: 3.1.1 - dev: true - - /@types/resolve/1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - dependencies: - '@types/node': 18.14.0 - dev: true - - /@types/webpack/5.28.0: - resolution: {integrity: sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==} - dependencies: - '@types/node': 18.14.0 - tapable: 2.2.1 - webpack: 5.75.0 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - webpack-cli - dev: true - - /@webassemblyjs/ast/1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true - - /@webassemblyjs/floating-point-hex-parser/1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true - - /@webassemblyjs/helper-api-error/1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true - - /@webassemblyjs/helper-buffer/1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true - - /@webassemblyjs/helper-numbers/1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/helper-wasm-bytecode/1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true - - /@webassemblyjs/helper-wasm-section/1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - dev: true - - /@webassemblyjs/ieee754/1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - - /@webassemblyjs/leb128/1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/utf8/1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true - - /@webassemblyjs/wasm-edit/1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - dev: true - - /@webassemblyjs/wasm-gen/1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wasm-opt/1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - dev: true - - /@webassemblyjs/wasm-parser/1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wast-printer/1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@xtuc/ieee754/1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true - - /@xtuc/long/4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true - - /acorn-import-assertions/1.8.0_acorn@8.8.2: - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.8.2 - dev: true - - /acorn/8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv-keywords/3.5.2_ajv@6.12.6: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - dependencies: - ajv: 6.12.6 - dev: true - - /ajv/6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /balanced-match/1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /brace-expansion/1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /browserslist/4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001456 - electron-to-chromium: 1.4.302 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10_browserslist@4.21.5 - dev: true - - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - - /builtin-modules/3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /caniuse-lite/1.0.30001456: - resolution: {integrity: sha512-XFHJY5dUgmpMV25UqaD4kVq2LsiaU5rS8fb0f17pCoXQiQslzmFgnfOxfvo1bTpTqf7dwG/N/05CnLCnOEKmzA==} - dev: true - - /chrome-trace-event/1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} - dev: true - - /commander/2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true - - /commondir/1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - - /concat-map/0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /csstype/3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - dev: true - - /decky-frontend-lib/1.8.3: - resolution: {integrity: sha512-k5/Zvv3Td55JKiETpYyFVweF5Tty9jWN/kipiA4PKJEMz7mFixzGuJ3p7Ud6hAqJ4aC5K4h4Z33gVQR48VVWMg==} - dependencies: - minimist: 1.2.8 - dev: false - - /deepmerge/4.3.0: - resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} - engines: {node: '>=0.10.0'} - dev: true - - /electron-to-chromium/1.4.302: - resolution: {integrity: sha512-Uk7C+7aPBryUR1Fwvk9VmipBcN9fVsqBO57jV2ZjTm+IZ6BMNqu7EDVEg2HxCNufk6QcWlFsBkhQyQroB2VWKw==} - dev: true - - /enhanced-resolve/5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: true - - /es-module-lexer/0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true - - /escalade/3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - dev: true - - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - - /esrecurse/4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - - /estraverse/5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker/0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - - /estree-walker/1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true - - /estree-walker/2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /events/3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true - - /fast-deep-equal/3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-json-stable-stringify/2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fs.realpath/1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents/2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind/1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true - - /glob-to-regexp/0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - - /glob/7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /graceful-fs/4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true - - /has-flag/4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has/1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} - dependencies: - function-bind: 1.1.1 - dev: true - - /inflight/1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits/2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /interpret/1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true - - /is-builtin-module/3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - - /is-core-module/2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} - dependencies: - has: 1.0.3 - dev: true - - /is-module/1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - - /is-reference/1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 1.0.0 - dev: true - - /jest-worker/27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 18.14.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - - /json-parse-even-better-errors/2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - - /json-schema-traverse/0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /loader-runner/4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: true - - /magic-string/0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - - /merge-stream/2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db/1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: true - - /mime-types/2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: true - - /minimatch/3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimist/1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - - /node-releases/2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - dev: true - - /once/1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /path-is-absolute/1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-parse/1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /picocolors/1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch/2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /punycode/2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /randombytes/2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /react-icons/4.7.1: - resolution: {integrity: sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==} - peerDependencies: - react: '*' - peerDependenciesMeta: - react: - optional: true - dev: false - - /rechoir/0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - dependencies: - resolve: 1.22.1 - dev: true - - /resolve/1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true - dependencies: - is-core-module: 2.11.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /rollup-plugin-import-assets/1.1.1_rollup@2.79.1: - resolution: {integrity: sha512-u5zJwOjguTf2N+wETq2weNKGvNkuVc1UX/fPgg215p5xPvGOaI6/BTc024E9brvFjSQTfIYqgvwogQdipknu1g==} - peerDependencies: - rollup: '>=1.9.0' - dependencies: - rollup: 2.79.1 - rollup-pluginutils: 2.8.2 - url-join: 4.0.1 - dev: true - - /rollup-pluginutils/2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - - /rollup/2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /safe-buffer/5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true - - /schema-utils/3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/json-schema': 7.0.11 - ajv: 6.12.6 - ajv-keywords: 3.5.2_ajv@6.12.6 - dev: true - - /serialize-javascript/6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} - dependencies: - randombytes: 2.1.0 - dev: true - - /shelljs/0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 - dev: true - - /shx/0.3.4: - resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.8 - shelljs: 0.8.5 - dev: true - - /source-map-support/0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - - /source-map/0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /sourcemap-codec/1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - - /supports-color/8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag/1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /tapable/2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true - - /terser-webpack-plugin/5.3.6_webpack@5.75.0: - resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.17 - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.4 - webpack: 5.75.0 - dev: true - - /terser/5.16.4: - resolution: {integrity: sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - - /tslib/2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - - /typescript/4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /update-browserslist-db/1.0.10_browserslist@4.21.5: - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true - - /uri-js/4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - - /url-join/4.0.1: - resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - dev: true - - /watchpack/2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - dev: true - - /webpack-sources/3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true - - /webpack/5.75.0: - resolution: {integrity: sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0_acorn@8.8.2 - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.6_webpack@5.75.0 - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - - /wrappy/1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - file:src/usdpl-front: - resolution: {directory: src/usdpl-front, type: directory} - name: usdpl-front - version: 0.10.0 - dev: false diff --git a/templates/decky/rollup.config.js b/templates/decky/rollup.config.js deleted file mode 100644 index 8717908..0000000 --- a/templates/decky/rollup.config.js +++ /dev/null @@ -1,37 +0,0 @@ -import commonjs from '@rollup/plugin-commonjs'; -import json from '@rollup/plugin-json'; -import { nodeResolve } from '@rollup/plugin-node-resolve'; -import replace from '@rollup/plugin-replace'; -import typescript from '@rollup/plugin-typescript'; -import { defineConfig } from 'rollup'; -import importAssets from 'rollup-plugin-import-assets'; - -import { name } from "./plugin.json"; - -export default defineConfig({ - input: './src/index.tsx', - plugins: [ - commonjs(), - nodeResolve(), - typescript(), - json(), - replace({ - preventAssignment: false, - 'process.env.NODE_ENV': JSON.stringify('production'), - }), - importAssets({ - publicPath: `http://127.0.0.1:1337/plugins/${name}/` - }) - ], - context: 'window', - external: ['react', 'react-dom'], - output: { - file: 'dist/index.js', - globals: { - react: 'SP_REACT', - 'react-dom': 'SP_REACTDOM', - }, - format: 'iife', - exports: 'default', - }, -}); diff --git a/templates/decky/src/index.tsx b/templates/decky/src/index.tsx deleted file mode 100755 index 8de0f39..0000000 --- a/templates/decky/src/index.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import { - ButtonItem, - definePlugin, - DialogButton, - Menu, - MenuItem, - PanelSection, - PanelSectionRow, - Router, - ServerAPI, - showContextMenu, - staticClasses, -} from "decky-frontend-lib"; -import { VFC } from "react"; -import { FaShip } from "react-icons/fa"; - -import logo from "../assets/logo.png"; - -import {init_usdpl, target_usdpl, init_embedded, call_backend} from "usdpl-front"; - -const USDPL_PORT: number = 54321; - -// interface AddMethodArgs { -// left: number; -// right: number; -// } - -const Content: VFC<{ serverAPI: ServerAPI }> = ({}) => { - // const [result, setResult] = useState(); - - // const onClick = async () => { - // const result = await serverAPI.callPluginMethod( - // "add", - // { - // left: 2, - // right: 2, - // } - // ); - // if (result.success) { - // setResult(result.result); - // } - // }; - - // call hello callback on backend - (async () => { - let response = await call_backend("hello", []); - console.log("Backend says:", response); - })(); - - return ( - - - - showContextMenu( - {}}> - {}}>Item #1 - {}}>Item #2 - {}}>Item #3 - , - e.currentTarget ?? window - ) - } - > - Server says yolo - - - - -
- -
-
- - - { - Router.CloseSideMenus(); - Router.Navigate("/decky-plugin-test"); - }} - > - Router - - -
- ); -}; - -const DeckyPluginRouterTest: VFC = () => { - return ( -
- Hello World! - Router.NavigateToStore()}> - Go to Store - -
- ); -}; - -export default definePlugin((serverApi: ServerAPI) => { - serverApi.routerHook.addRoute("/decky-plugin-test", DeckyPluginRouterTest, { - exact: true, - }); - - // init USDPL WASM frontend - // this is required to interface with the backend - (async () => { - await init_embedded(); - init_usdpl(USDPL_PORT); - console.log("USDPL started for framework: " + target_usdpl()); - })(); - - return { - title:
Example Plugin
, - content: , - icon: , - onDismount() { - serverApi.routerHook.removeRoute("/decky-plugin-test"); - }, - }; -}); diff --git a/templates/decky/src/types.d.ts b/templates/decky/src/types.d.ts deleted file mode 100644 index dfc0472..0000000 --- a/templates/decky/src/types.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -declare module "*.svg" { - const content: string; - export default content; -} - -declare module "*.png" { - const content: string; - export default content; -} - -declare module "*.jpg" { - const content: string; - export default content; -} diff --git a/templates/decky/src/usdpl-front/README.md b/templates/decky/src/usdpl-front/README.md deleted file mode 100644 index fd771f8..0000000 --- a/templates/decky/src/usdpl-front/README.md +++ /dev/null @@ -1,9 +0,0 @@ -[![Crates.io](https://img.shields.io/crates/v/usdpl-front?style=flat-square)](https://crates.io/crates/usdpl-front) - -# usdpl-front-front - -Front-end library to be called from Javascript. -Targets WASM. - -In true Javascript tradition, this part of the library does not support error handling. - diff --git a/templates/decky/src/usdpl-front/package.json b/templates/decky/src/usdpl-front/package.json deleted file mode 100644 index 15d0344..0000000 --- a/templates/decky/src/usdpl-front/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "usdpl-front", - "collaborators": [ - "NGnius (Graham) " - ], - "description": "Universal Steam Deck Plugin Library front-end designed for WASM", - "version": "0.10.0", - "license": "GPL-3.0-only", - "repository": { - "type": "git", - "url": "https://github.com/NGnius/usdpl-rs" - }, - "files": [ - "usdpl_front_bg.wasm", - "usdpl_front.js", - "usdpl_front.d.ts" - ], - "module": "usdpl_front.js", - "types": "usdpl_front.d.ts", - "sideEffects": false -} \ No newline at end of file diff --git a/templates/decky/src/usdpl-front/rebuild.sh b/templates/decky/src/usdpl-front/rebuild.sh deleted file mode 100755 index 5d6c8e5..0000000 --- a/templates/decky/src/usdpl-front/rebuild.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -git clone https://github.com/NGnius/usdpl-rs usdpl-rs -cd usdpl-rs/usdpl-front/ - -./build.sh $1 $2 - -cd ../.. - -cp -f ./usdpl-rs/usdpl-front/pkg/* ./ -#rm ./.gitignore - -rm -rf ./usdpl-rs diff --git a/templates/decky/src/usdpl-front/usdpl_front.d.ts b/templates/decky/src/usdpl-front/usdpl_front.d.ts deleted file mode 100644 index 9477118..0000000 --- a/templates/decky/src/usdpl-front/usdpl_front.d.ts +++ /dev/null @@ -1,105 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** -* Initialize the front-end library -* @param {number} port -*/ -export function init_usdpl(port: number): void; -/** -* Get the targeted plugin framework, or "any" if unknown -* @returns {string} -*/ -export function target_usdpl(): string; -/** -* Get the UDSPL front-end version -* @returns {string} -*/ -export function version_usdpl(): string; -/** -* Get the targeted plugin framework, or "any" if unknown -* @param {string} key -* @param {any} value -* @returns {any} -*/ -export function set_value(key: string, value: any): any; -/** -* Get the targeted plugin framework, or "any" if unknown -* @param {string} key -* @returns {any} -*/ -export function get_value(key: string): any; -/** -* Call a function on the back-end. -* Returns null (None) if this fails for any reason. -* @param {string} name -* @param {any[]} parameters -* @returns {Promise} -*/ -export function call_backend(name: string, parameters: any[]): Promise; -/** -* Initialize translation strings for the front-end -* @param {string} locale -* @returns {Promise} -*/ -export function init_tr(locale: string): Promise; -/** -* Translate a phrase, equivalent to tr_n(msg_id, 0) -* @param {string} msg_id -* @returns {string} -*/ -export function tr(msg_id: string): string; -/** -* Translate a phrase, retrieving the plural form for `n` items -* @param {string} msg_id -* @param {number} n -* @returns {string} -*/ -export function tr_n(msg_id: string, n: number): string; - -export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; - -export interface InitOutput { - readonly memory: WebAssembly.Memory; - readonly init_usdpl: (a: number) => void; - readonly target_usdpl: (a: number) => void; - readonly version_usdpl: (a: number) => void; - readonly set_value: (a: number, b: number, c: number) => number; - readonly get_value: (a: number, b: number) => number; - readonly call_backend: (a: number, b: number, c: number, d: number) => number; - readonly init_tr: (a: number, b: number) => number; - readonly tr: (a: number, b: number, c: number) => void; - readonly tr_n: (a: number, b: number, c: number, d: number) => void; - readonly __wbindgen_export_0: (a: number) => number; - readonly __wbindgen_export_1: (a: number, b: number, c: number) => number; - readonly __wbindgen_export_2: WebAssembly.Table; - readonly __wbindgen_export_3: (a: number, b: number, c: number) => void; - readonly __wbindgen_add_to_stack_pointer: (a: number) => number; - readonly __wbindgen_export_4: (a: number, b: number) => void; - readonly __wbindgen_export_5: (a: number) => void; - readonly __wbindgen_export_6: (a: number, b: number, c: number, d: number) => void; -} - -export type SyncInitInput = BufferSource | WebAssembly.Module; -/** -* Instantiates the given `module`, which can either be bytes or -* a precompiled `WebAssembly.Module`. -* -* @param {SyncInitInput} module -* -* @returns {InitOutput} -*/ -export function initSync(module: SyncInitInput): InitOutput; - -/** -* If `module_or_path` is {RequestInfo} or {URL}, makes a request and -* for everything else, calls `WebAssembly.instantiate` directly. -* -* @param {InitInput | Promise} module_or_path -* -* @returns {Promise} -*/ -export default function init (module_or_path?: InitInput | Promise): Promise; - - -// USDPL customization -export function init_embedded(); diff --git a/templates/decky/src/usdpl-front/usdpl_front.js b/templates/decky/src/usdpl-front/usdpl_front.js deleted file mode 100644 index 2ae5776..0000000 --- a/templates/decky/src/usdpl-front/usdpl_front.js +++ /dev/null @@ -1,605 +0,0 @@ -let wasm; - -const heap = new Array(128).fill(undefined); - -heap.push(undefined, null, true, false); - -function getObject(idx) { return heap[idx]; } - -let heap_next = heap.length; - -function dropObject(idx) { - if (idx < 132) return; - heap[idx] = heap_next; - heap_next = idx; -} - -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} - -const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - -cachedTextDecoder.decode(); - -let cachedUint8Memory0 = null; - -function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; -} - -function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} - -function addHeapObject(obj) { - if (heap_next === heap.length) heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - - heap[idx] = obj; - return idx; -} - -let WASM_VECTOR_LEN = 0; - -const cachedTextEncoder = new TextEncoder('utf-8'); - -const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}); - -function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len); - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3); - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - } - - WASM_VECTOR_LEN = offset; - return ptr; -} - -function isLikeNone(x) { - return x === undefined || x === null; -} - -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} - -let cachedFloat64Memory0 = null; - -function getFloat64Memory0() { - if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); - } - return cachedFloat64Memory0; -} - -function makeMutClosure(arg0, arg1, dtor, f) { - const state = { a: arg0, b: arg1, cnt: 1, dtor }; - const real = (...args) => { - // First up with a closure we increment the internal reference - // count. This ensures that the Rust closure environment won't - // be deallocated while we're invoking it. - state.cnt++; - const a = state.a; - state.a = 0; - try { - return f(a, state.b, ...args); - } finally { - if (--state.cnt === 0) { - wasm.__wbindgen_export_2.get(state.dtor)(a, state.b); - - } else { - state.a = a; - } - } - }; - real.original = state; - - return real; -} -function __wbg_adapter_26(arg0, arg1, arg2) { - wasm.__wbindgen_export_3(arg0, arg1, addHeapObject(arg2)); -} - -/** -* Initialize the front-end library -* @param {number} port -*/ -export function init_usdpl(port) { - wasm.init_usdpl(port); -} - -/** -* Get the targeted plugin framework, or "any" if unknown -* @returns {string} -*/ -export function target_usdpl() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.target_usdpl(retptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_export_4(r0, r1); - } -} - -/** -* Get the UDSPL front-end version -* @returns {string} -*/ -export function version_usdpl() { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.version_usdpl(retptr); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_export_4(r0, r1); - } -} - -/** -* Get the targeted plugin framework, or "any" if unknown -* @param {string} key -* @param {any} value -* @returns {any} -*/ -export function set_value(key, value) { - const ptr0 = passStringToWasm0(key, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.set_value(ptr0, len0, addHeapObject(value)); - return takeObject(ret); -} - -/** -* Get the targeted plugin framework, or "any" if unknown -* @param {string} key -* @returns {any} -*/ -export function get_value(key) { - const ptr0 = passStringToWasm0(key, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.get_value(ptr0, len0); - return takeObject(ret); -} - -let cachedUint32Memory0 = null; - -function getUint32Memory0() { - if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) { - cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); - } - return cachedUint32Memory0; -} - -function passArrayJsValueToWasm0(array, malloc) { - const ptr = malloc(array.length * 4); - const mem = getUint32Memory0(); - for (let i = 0; i < array.length; i++) { - mem[ptr / 4 + i] = addHeapObject(array[i]); - } - WASM_VECTOR_LEN = array.length; - return ptr; -} -/** -* Call a function on the back-end. -* Returns null (None) if this fails for any reason. -* @param {string} name -* @param {any[]} parameters -* @returns {Promise} -*/ -export function call_backend(name, parameters) { - const ptr0 = passStringToWasm0(name, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passArrayJsValueToWasm0(parameters, wasm.__wbindgen_export_0); - const len1 = WASM_VECTOR_LEN; - const ret = wasm.call_backend(ptr0, len0, ptr1, len1); - return takeObject(ret); -} - -/** -* Initialize translation strings for the front-end -* @param {string} locale -* @returns {Promise} -*/ -export function init_tr(locale) { - const ptr0 = passStringToWasm0(locale, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.init_tr(ptr0, len0); - return takeObject(ret); -} - -/** -* Translate a phrase, equivalent to tr_n(msg_id, 0) -* @param {string} msg_id -* @returns {string} -*/ -export function tr(msg_id) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(msg_id, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len0 = WASM_VECTOR_LEN; - wasm.tr(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_export_4(r0, r1); - } -} - -/** -* Translate a phrase, retrieving the plural form for `n` items -* @param {string} msg_id -* @param {number} n -* @returns {string} -*/ -export function tr_n(msg_id, n) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(msg_id, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - const len0 = WASM_VECTOR_LEN; - wasm.tr_n(retptr, ptr0, len0, n); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_export_4(r0, r1); - } -} - -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - wasm.__wbindgen_export_5(addHeapObject(e)); - } -} -function __wbg_adapter_58(arg0, arg1, arg2, arg3) { - wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); -} - -async function load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); - - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - - } else { - return instance; - } - } -} - -function getImports() { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbindgen_object_drop_ref = function(arg0) { - takeObject(arg0); - }; - imports.wbg.__wbindgen_string_new = function(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_string_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'string' ? obj : undefined; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; - }; - imports.wbg.__wbindgen_object_clone_ref = function(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_number_new = function(arg0) { - const ret = arg0; - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_boolean_get = function(arg0) { - const v = getObject(arg0); - const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; - return ret; - }; - imports.wbg.__wbindgen_number_get = function(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof(obj) === 'number' ? obj : undefined; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); - }; - imports.wbg.__wbindgen_is_null = function(arg0) { - const ret = getObject(arg0) === null; - return ret; - }; - imports.wbg.__wbindgen_is_undefined = function(arg0) { - const ret = getObject(arg0) === undefined; - return ret; - }; - imports.wbg.__wbg_instanceof_Window_e266f02eee43b570 = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Window; - } catch { - result = false; - } - const ret = result; - return ret; - }; - imports.wbg.__wbg_fetch_465e8cb61a0f43ea = function(arg0, arg1) { - const ret = getObject(arg0).fetch(getObject(arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_instanceof_Response_fb3a4df648c1859b = function(arg0) { - let result; - try { - result = getObject(arg0) instanceof Response; - } catch { - result = false; - } - const ret = result; - return ret; - }; - imports.wbg.__wbg_text_f61464d781b099f0 = function() { return handleError(function (arg0) { - const ret = getObject(arg0).text(); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_newwithstrandinit_c45f0dc6da26fd03 = function() { return handleError(function (arg0, arg1, arg2) { - const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbindgen_cb_drop = function(arg0) { - const obj = takeObject(arg0).original; - if (obj.cnt-- == 1) { - obj.a = 0; - return true; - } - const ret = false; - return ret; - }; - imports.wbg.__wbg_newnoargs_2b8b6bd7753c76ba = function(arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_call_95d1ea488d03e4e8 = function() { return handleError(function (arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_new_f9876326328f45ed = function() { - const ret = new Object(); - return addHeapObject(ret); - }; - imports.wbg.__wbindgen_is_string = function(arg0) { - const ret = typeof(getObject(arg0)) === 'string'; - return ret; - }; - imports.wbg.__wbg_self_e7c1f827057f6584 = function() { return handleError(function () { - const ret = self.self; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_window_a09ec664e14b1b81 = function() { return handleError(function () { - const ret = window.window; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_globalThis_87cbb8506fecf3a9 = function() { return handleError(function () { - const ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_global_c85a9259e621f3db = function() { return handleError(function () { - const ret = global.global; - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_newwithlength_0da6f12fbc1ab6eb = function(arg0) { - const ret = new Array(arg0 >>> 0); - return addHeapObject(ret); - }; - imports.wbg.__wbg_set_17224bc548dd1d7b = function(arg0, arg1, arg2) { - getObject(arg0)[arg1 >>> 0] = takeObject(arg2); - }; - imports.wbg.__wbg_call_9495de66fdbe016b = function() { return handleError(function (arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_new_9d3a9ce4282a18a8 = function(arg0, arg1) { - try { - var state0 = {a: arg0, b: arg1}; - var cb0 = (arg0, arg1) => { - const a = state0.a; - state0.a = 0; - try { - return __wbg_adapter_58(a, state0.b, arg0, arg1); - } finally { - state0.a = a; - } - }; - const ret = new Promise(cb0); - return addHeapObject(ret); - } finally { - state0.a = state0.b = 0; - } - }; - imports.wbg.__wbg_resolve_fd40f858d9db1a04 = function(arg0) { - const ret = Promise.resolve(getObject(arg0)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_then_ec5db6d509eb475f = function(arg0, arg1) { - const ret = getObject(arg0).then(getObject(arg1)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_then_f753623316e2873a = function(arg0, arg1, arg2) { - const ret = getObject(arg0).then(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }; - imports.wbg.__wbg_set_6aa458a4ebdb65cb = function() { return handleError(function (arg0, arg1, arg2) { - const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); - return ret; - }, arguments) }; - imports.wbg.__wbg_parse_3ac95b51fc312db8 = function() { return handleError(function (arg0, arg1) { - const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbg_stringify_029a979dfb73aa17 = function() { return handleError(function (arg0) { - const ret = JSON.stringify(getObject(arg0)); - return addHeapObject(ret); - }, arguments) }; - imports.wbg.__wbindgen_throw = function(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_closure_wrapper377 = function(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 74, __wbg_adapter_26); - return addHeapObject(ret); - }; - - return imports; -} - -function initMemory(imports, maybe_memory) { - -} - -function finalizeInit(instance, module) { - wasm = instance.exports; - init.__wbindgen_wasm_module = module; - cachedFloat64Memory0 = null; - cachedInt32Memory0 = null; - cachedUint32Memory0 = null; - cachedUint8Memory0 = null; - - - return wasm; -} - -function initSync(module) { - const imports = getImports(); - - initMemory(imports); - - if (!(module instanceof WebAssembly.Module)) { - module = new WebAssembly.Module(module); - } - - const instance = new WebAssembly.Instance(module, imports); - - return finalizeInit(instance, module); -} - -async function init(input) { - if (typeof input === 'undefined') { - input = new URL('usdpl_front_bg.wasm', import.meta.url); - } - const imports = getImports(); - - if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { - input = fetch(input); - } - - initMemory(imports); - - const { instance, module } = await load(await input, imports); - - return finalizeInit(instance, module); -} - -export { initSync } -export default init; - - -// USDPL customization -const encoded = "AGFzbQEAAAABtwEbYAJ/fwBgAn9/AX9gAX8AYAN/f38AYAR/f39/AGADf39/AX9gAX8Bf2AAAGAAAX9gBX9/f39/AGAEf39/fwF/YAV/f39/fwF/YAF/AX5gA39/fwF+YAR/fn9/AGAGf39/f39/AX9gBn9/f39/fwBgBX9/fn9/AGAFf399f38AYAV/f3x/fwBgBH99f38AYAR/fH9/AGACfn8AYAd/f39/f39/AX9gA35/fwF/YAF8AX9gAn9/AX4CqgkjA3diZxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgACA3diZxVfX3diaW5kZ2VuX3N0cmluZ19uZXcAAQN3YmcVX193YmluZGdlbl9zdHJpbmdfZ2V0AAADd2JnG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgAGA3diZxVfX3diaW5kZ2VuX251bWJlcl9uZXcAGQN3YmcWX193YmluZGdlbl9ib29sZWFuX2dldAAGA3diZxVfX3diaW5kZ2VuX251bWJlcl9nZXQAAAN3YmcSX193YmluZGdlbl9pc19udWxsAAYDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAYDd2JnKF9fd2JnX2luc3RhbmNlb2ZfV2luZG93X2UyNjZmMDJlZWU0M2I1NzAABgN3YmccX193YmdfZmV0Y2hfNDY1ZThjYjYxYTBmNDNlYQABA3diZypfX3diZ19pbnN0YW5jZW9mX1Jlc3BvbnNlX2ZiM2E0ZGY2NDhjMTg1OWIABgN3YmcbX193YmdfdGV4dF9mNjE0NjRkNzgxYjA5OWYwAAYDd2JnKF9fd2JnX25ld3dpdGhzdHJhbmRpbml0X2M0NWYwZGM2ZGEyNmZkMDMABQN3YmcSX193YmluZGdlbl9jYl9kcm9wAAYDd2JnIF9fd2JnX25ld25vYXJnc18yYjhiNmJkNzc1M2M3NmJhAAEDd2JnG19fd2JnX2NhbGxfOTVkMWVhNDg4ZDAzZTRlOAABA3diZxpfX3diZ19uZXdfZjk4NzYzMjYzMjhmNDVlZAAIA3diZxRfX3diaW5kZ2VuX2lzX3N0cmluZwAGA3diZxtfX3diZ19zZWxmX2U3YzFmODI3MDU3ZjY1ODQACAN3YmcdX193Ymdfd2luZG93X2EwOWVjNjY0ZTE0YjFiODEA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OgCAAiACIAU2AjggAkGAATYCwAQgAkEIaiAAQZAEaiIDIAJBwARqIAJBOGoQgwIgAigCCEUEQCACKAIMIgRBhAFPBEAgBBAACyACKALABCIEQYQBTwRAIAQQAAsgAigCOCIEQYQBTwRAIAQQAAsgAygCACIDQYQBTwRAIAMQAAtBASEEIAAoApQEIgNBhAFJDQEgAxAADAELQbiAwABBFRCTAwALIAAgBDoAmAQgAkGgBmokACABQQBHC/ALAQZ/IwBBoAJrIgMkACABAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AYEEBaw4EBwACAwELAAsgASABKQMANwMIIANB0ABqIAFBEGpBKBCfAxogASABLwFcOwFeIAEQETYCOCABQThqIgQQvQEgBBC+ASADQYwBakEGNgIAIANBhAFqQQc2AgAgAyABQd4AajYCiAEgA0Hsi8AANgKAASADQQg2AnwgAyABQQhqNgJ4IANBAzYCtAEgA0EENgKsASADQcCLwAA2AqgBIANBADYCoAEgAyADQfgAajYCsAEgA0GQAWogA0GgAWoQPyABQcQAaiADQZgBaiIHKAIANgIAIAEgAykDkAE3AjwgA0GgAWogA0HQAGoQgAEgAygCoAEhBSADKAKkASIGRQ0KIAFB0ABqIAMoAqgBIgg2AgAgAUHMAGogBjYCACABIAU2AkggA0GgAWogBiAIEDcgA0GQAWogA0GgAWoQuAEgA0GoAWogBygCADYCACADIAMpA5ABNwOgASADIANBoAFqENgCNgJ4IAQgA0H4AGoQrQEgAygCeCIFQYQBTwRAIAUQAAsgA0HIAGogAUFAaygCACABQcQAaigCACAEEPEBIAMoAkwhBSADKAJIDQkgASAFNgJUIANBQGsQ6wEgAygCQEUNBiABIAMoAkQ2AlggASABQdgAaigCACABQdQAaigCABAKEEg2AmgLIANBOGogAUHoAGoiBCACEIsBAkAgAygCOCIGQQJHBEAgAygCPCEFIAQQrAEgBg0JIANBMGogBRDvASADKAI0IQUgAygCMEUNAQwJCyAAQQs2AgBBAwwNCyABIAU2AmggA0EoaiAEEPQBIAMoAighBCABQfQAaiADKAIsIgU2AgAgASAENgJwIAQNASABIAUQSDYCbAsgA0EgaiABQewAaiIEIAIQiwEgAygCICICQQJGDQEgAygCJCEFIAQQrAEgAg0AIANBGGogBRDwASADKAIcIQQgAygCGEUNAiAEIQULIAEoAmgiAkGEAUkNBSACEAAMBQsgAEELNgIAQQQMCQsgA0EQaiAEEAIgAygCECIFRQRAIANBADYCpAEMAwsgAygCFCECIAMgBTYCpAEgAyACNgKoASADIAI2AqABIANBCGogA0GgAWoQrwIgA0GgAWogAygCCCADKAIMEOMCIAMoAqQBRQ0CIANBgAFqIANBqAFqIgYoAgAiAjYCACADIAMpA6ABNwN4IANBoAFqIAMoAnwgAhCaASADKAKgASICQQpHBEAgAygCpAEhBSADQdABaiAGQSgQnwMaIANBgAJqIANB2AFqKQMANwMAIANBiAJqIANB4AFqKQMANwMAIANBkAJqIANB6AFqKQMANwMAIAMgAykD0AE3A/gBIANB+ABqEMcCIARBhAFPBEAgBBAACyABKAJoIgRBhAFPBEAgBBAACyABKAJYIgRBhAFPBEAgBBAACyABKAJUIgRBhAFPBEAgBBAACyABQcgAahDHAiABQTxqEMcCIAEoAjgiAUGDAUsNBwwICyADIAMpAqQBNwOYAiADQZgCahDAASEFIANB+ABqEMcCIARBhAFPBEAgBBAACyABKAJoIgJBhAFPBEAgAhAACyABKAJYIgJBhAFPBEAgAhAACyABKAJUIgJBhAFPBEAgAhAACyABQcgAahDHAiABQTxqEMcCQQohAiABKAI4IgFBgwFLDQYMBwtBkILAAEEjQZCLwAAQ9QEAC0GghsAAQStB9IvAABD1AQALQaCGwABBK0GEjMAAEPUBAAsgASgCWCICQYQBTwRAIAIQAAsgASgCVCICQYQBSQ0AIAIQAAsgAUHIAGoQxwILIAFBPGoQxwJBCiECIAEoAjgiAUGDAU0NAQsgARAACyAAIAU2AgQgACACNgIAIAAgAykD+AE3AwggAEEQaiADQYACaikDADcDACAAQRhqIANBiAJqKQMANwMAIABBIGogA0GQAmopAwA3AwBBAQs6AGAgA0GgAmokAAuhDAIJfwJ+IwBBkARrIgIkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQDYAkEBaw4DBwIBAAsgACAAQagBakGoARCfAxoLAkAgAC0AoAFBAWsOAwUBAAILIABBCGohBSAAQZgBai0AAEEBaw4DBwADAgsACyAAKAIAIQMgAiAAKAIEIgQ2AogDIAIgAzYChAMgAiAENgKAAyACQShqIAJBgANqEK8CIAJBMGogAigCKCACKAIsEOMCIAJBjARqIAJBOGooAgA2AgAgAiACKQMwNwKEBCACQUBrIAJBgANqQZABEJ8DGiAAQQhqIgUgAkFAa0GQARCfAxogAEGYAWpBADoAAAsgAEGIAWogAEGUAWooAgA2AgAgAEGAAWoiAyAAQYwBaikCADcCAEHI7MAAQcjswAApAwAiC0IBfDcDACACQagCakEEciADEM8BIAJBCTYCqAJB0OzAAC8BACEDIAJBiANqIAJBqAJqQSgQnwMaIAJB+AFqIAJBgANqQTAQnwMaIAAgCzcDCCAAQRBqIAJB+AFqQTAQnwMaIABB6ABqQQA6AAAgAEHkAGogAzsBAAsgAkGAA2ogBSABECcgAigCgANBC0YNAiACQdABaiACQYADakEoEJ8DGiAFEKsBAkACQCACKALQASIHQXhqDgMBBgAGCyACKALUASEBQZTtwAAoAgAEQBDhAgtBlO3AAEEANgIAIAFBhAFJDQggARAADAgLIAJB2AFqKAIAIQEgAkHcAWooAgAhAyACKALUASEGIAJBGGpBtILAABDkASACKQMYIQsgAikDICEMIAJBgANqIAMQayACQcACaiIIIAJBiANqIgkpAwA3AwAgAiACKQOAAzcDuAIgAiAMNwOwAiACIAs3A6gCIAIgATYCjAMgAiABIANBGGwiBGo2AogDIAIgATYChAMgAiAGNgKAAyADRQ0FIAJB6AJqIQYDQCACIAFBGGoiAzYChAMgASgCBCIKRQ0GIAYgAUEUaigCADYCACACIAo2AtQCIAIgASgCCDYC2AIgAiABKAIANgLQAiACIAEpAgw3A+ACIAJB8AJqIAJBqAJqIAJB0AJqIAJB4AJqEEsgAigC9AIEQCACQfACahCkAiACQfACahDHAgsgAyEBIARBaGoiBA0ACwwFC0GQgsAAQSNBnI3AABD1AQALQZCCwABBI0H8gcAAEPUBAAtBAyEEIABBAzoAmAEgAEEDOgCgAUEBIQEMBQtBkILAAEEjQYyNwAAQ9QEAC0GU7cAAKAIABEAQ4QILQZTtwABBADYCAEEBIQEMAQsgAkGAA2oQugEgAkGYA2ogCCkDADcDACACQZADaiIDIAJBuAJqKQMANwMAIAkgAkGwAmopAwA3AwAgAiACKQOoAjcDgANBACEBQZTtwAAoAgAEQBDhAgtB+OzAACACKQOAAzcDAEGQ7cAAIAJBmANqKQMANwMAQYjtwAAgAykDADcDAEGA7cAAIAJBiANqKQMANwMACwJAAkAgB0F4ag4DAQACAAsgAkHQAWoQtgEMAQsgAUUNACACQdABakEEciIBEJkCIAEQxwILIABBgAFqEMcCQQEhASAAQQE6AJgBIAUQqgIgAkEQakKAgICAgBA3AwAgAigCFCEDIAIoAhAhBSAAQQE6AKABQQMhBAJAAkACQAJAAkAgBQ4DAAEFAQsgAiADNgJAIAJBgAE2AoADIAJBCGogAEHQAmogAkGAA2ogAkFAaxCDAiACKAIIDQIgAigCDCIBQYQBTwRAIAEQAAsgAigCgAMiAUGEAU8EQCABEAALIAIoAkAiAUGEAUkNASABEAAMAQsgAiADNgJAIAJBgAE2AoADIAIgAEHUAmogAkGAA2ogAkFAaxCDAiACKAIADQIgAigCBCIBQYQBTwRAIAEQAAsgAigCgAMiAUGEAU8EQCABEAALIAIoAkAiAUGEAUkNACABEAALIAAoAtACIgFBhAFPBEAgARAAC0EBIQRBACEBIAAoAtQCIgNBhAFJDQIgAxAADAILQbiAwABBFRCTAwALQbiAwABBFRCTAwALIAAgBDoA2AIgAkGQBGokACABC9oIAQR/IwBB8ABrIgUkACAFIAM2AgwgBSACNgIIAkACQAJAAkAgBQJ/AkACQCABQYECTwRAA0AgACAGaiAGQX9qIgchBkGAAmosAABBv39MDQALIAdBgQJqIgYgAUkNAiABQf99aiAHRw0EIAUgBjYCFAwBCyAFIAE2AhQLIAUgADYCEEHMzsAAIQdBAAwBCyAAIAdqQYECaiwAAEG/f0wNASAFIAY2AhQgBSAANgIQQeTWwAAhB0EFCzYCHCAFIAc2AhgCQCACIAFLIgYgAyABS3JFBEACfwJAAkAgAiADTQRAAkACQCACRQ0AIAIgAU8EQCABIAJGDQEMAgsgACACaiwAAEFASA0BCyADIQILIAUgAjYCICABIQYgAiABSQRAIAJBAWoiA0EAIAJBfWoiBiAGIAJLGyIGSQ0GIAAgA2ogACAGamshBgNAIAZBf2ohBiAAIAJqIAJBf2oiByECLAAAQUBIDQALIAdBAWohBgsgBgR/AkAgBiABTwRAIAEgBkYNAQwLCyAAIAZqLAAAQb9/TA0KCyABIAZrBSABC0UNBwJAIAAgBmoiASwAACIAQX9MBEAgAS0AAUE/cSEDIABBH3EhAiAAQV9LDQEgAkEGdCADciEADAQLIAUgAEH/AXE2AiRBAQwECyABLQACQT9xIANBBnRyIQMgAEFwTw0BIAMgAkEMdHIhAAwCCyAFQeQAakGCATYCACAFQdwAakGCATYCACAFQdQAakHuADYCACAFQTxqQQQ2AgAgBUHEAGpBBDYCACAFQcjXwAA2AjggBUEANgIwIAVB7gA2AkwgBSAFQcgAajYCQCAFIAVBGGo2AmAgBSAFQRBqNgJYIAUgBUEMajYCUCAFIAVBCGo2AkgMCAsgAkESdEGAgPAAcSABLQADQT9xIANBBnRyciIAQYCAxABGDQULIAUgADYCJEEBIABBgAFJDQAaQQIgAEH/D00NABpBA0EEIABBgIAESRsLIQcgBSAGNgIoIAUgBiAHajYCLCAFQTxqQQU2AgAgBUHEAGpBBTYCACAFQewAakGCATYCACAFQeQAakGCATYCACAFQdwAakGEATYCACAFQdQAakGFATYCACAFQZzYwAA2AjggBUEANgIwIAVB7gA2AkwgBSAFQcgAajYCQCAFIAVBGGo2AmggBSAFQRBqNgJgIAUgBUEoajYCWCAFIAVBJGo2AlAgBSAFQSBqNgJIDAULIAUgAiADIAYbNgIoIAVBPGpBAzYCACAFQcQAakEDNgIAIAVB3ABqQYIBNgIAIAVB1ABqQYIBNgIAIAVBjNfAADYCOCAFQQA2AjAgBUHuADYCTCAFIAVByABqNgJAIAUgBUEYajYCWCAFIAVBEGo2AlAgBSAFQShqNgJIDAQLIAYgA0Hg2MAAEIYDAAsgACABQQAgBiAEEPECAAtBzM7AAEErIAQQ9QEACyAAIAEgBiABIAQQ8QIACyAFQTBqIAQQpgIAC/AHAQh/AkACQCAAQQNqQXxxIgIgAGsiBSABSyAFQQRLcg0AIAEgBWsiB0EESQ0AIAdBA3EhCEEAIQECQCAAIAJGDQAgBUEDcSEDAkAgAiAAQX9zakEDSQRAIAAhAgwBCyAFQXxxIQYgACECA0AgASACLAAAQb9/SmogAiwAAUG/f0pqIAIsAAJBv39KaiACLAADQb9/SmohASACQQRqIQIgBkF8aiIGDQALCyADRQ0AA0AgASACLAAAQb9/SmohASACQQFqIQIgA0F/aiIDDQALCyAAIAVqIQACQCAIRQ0AIAAgB0F8cWoiAiwAAEG/f0ohBCAIQQFGDQAgBCACLAABQb9/SmohBCAIQQJGDQAgBCACLAACQb9/SmohBAsgB0ECdiEFIAEgBGohAwNAIAAhASAFRQ0CIAVBwAEgBUHAAUkbIgRBA3EhBiAEQQJ0IQgCQCAEQfwBcSIHRQRAQQAhAgwBCyABIAdBAnRqIQlBACECA0AgAEUNASACIAAoAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEEaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiAAQQhqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBDGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWohAiAAQRBqIgAgCUcNAAsLIAUgBGshBSABIAhqIQAgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IANqIQMgBkUNAAsCQCABRQRAQQAhAgwBCyABIAdBAnRqIQAgBkF/akH/////A3EiAkEBaiIEQQNxIQECQCACQQNJBEBBACECDAELIARB/P///wdxIQZBACECA0AgAiAAKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIABBBGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAEEIaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiAAQQxqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIQIgAEEQaiEAIAZBfGoiBg0ACwsgAUUNAANAIAIgACgCACICQX9zQQd2IAJBBnZyQYGChAhxaiECIABBBGohACABQX9qIgENAAsLIAJBCHZB/4H8B3EgAkH/gfwHcWpBgYAEbEEQdiADag8LIAFFBEBBAA8LIAFBA3EhAgJAIAFBf2pBA0kEQAwBCyABQXxxIQEDQCADIAAsAABBv39KaiAALAABQb9/SmogACwAAkG/f0pqIAAsAANBv39KaiEDIABBBGohACABQXxqIgENAAsLIAJFDQADQCADIAAsAABBv39KaiEDIABBAWohACACQX9qIgINAAsLIAMLkQcBBX8gABCnAyIAIAAQlAMiAhCkAyEBAkACQAJAIAAQlQMNACAAKAIAIQMCQCAAEP8CRQRAIAIgA2ohAiAAIAMQpQMiAEGw8cAAKAIARw0BIAEoAgRBA3FBA0cNAkGo8cAAIAI2AgAgACACIAEQwgIPCyACIANqQRBqIQAMAgsgA0GAAk8EQCAAEGAMAQsgAEEMaigCACIEIABBCGooAgAiBUcEQCAFIAQ2AgwgBCAFNgIIDAELQaDxwABBoPHAACgCAEF+IANBA3Z3cTYCAAsCQCABEPoCBEAgACACIAEQwgIMAQsCQAJAAkBBtPHAACgCACABRwRAIAFBsPHAACgCAEcNAUGw8cAAIAA2AgBBqPHAAEGo8cAAKAIAIAJqIgE2AgAgACABEN8CDwtBtPHAACAANgIAQazxwABBrPHAACgCACACaiIBNgIAIAAgAUEBcjYCBCAAQbDxwAAoAgBGDQEMAgsgARCUAyIDIAJqIQICQCADQYACTwRAIAEQYAwBCyABQQxqKAIAIgQgAUEIaigCACIBRwRAIAEgBDYCDCAEIAE2AggMAQtBoPHAAEGg8cAAKAIAQX4gA0EDdndxNgIACyAAIAIQ3wIgAEGw8cAAKAIARw0CQajxwAAgAjYCAAwDC0Go8cAAQQA2AgBBsPHAAEEANgIAC0HA8cAAKAIAIAFPDQFBCEEIEOQCIQBBFEEIEOQCIQFBEEEIEOQCIQNBAEEQQQgQ5AJBAnRrIgJBgIB8IAMgACABamprQXdxQX1qIgAgAiAASRtFDQFBtPHAACgCAEUNAUEIQQgQ5AIhAEEUQQgQ5AIhAUEQQQgQ5AIhAkEAAkBBrPHAACgCACIEIAIgASAAQQhramoiAk0NAEG08cAAKAIAIQFBiO/AACEAAkADQCAAKAIAIAFNBEAgABCBAyABSw0CCyAAKAIIIgANAAtBACEACyAAEJYDDQAgAEEMaigCABoMAAtBABBma0cNAUGs8cAAKAIAQcDxwAAoAgBNDQFBwPHAAEF/NgIADwsgAkGAAkkNASAAIAIQYkHI8cAAQcjxwAAoAgBBf2oiADYCACAADQAQZhoPCw8LIAJBeHFBmO/AAGohAQJ/QaDxwAAoAgAiA0EBIAJBA3Z0IgJxBEAgASgCCAwBC0Gg8cAAIAIgA3I2AgAgAQshAyABIAA2AgggAyAANgIMIAAgATYCDCAAIAM2AggLhgcBCH8CQAJAIAAoAggiCkEBR0EAIAAoAhAiA0EBRxtFBEACQCADQQFHDQAgASACaiEJIABBFGooAgBBAWohBiABIQQDQAJAIAQhAyAGQX9qIgZFDQAgAyAJRg0CAn8gAywAACIFQX9KBEAgBUH/AXEhBSADQQFqDAELIAMtAAFBP3EhCCAFQR9xIQQgBUFfTQRAIARBBnQgCHIhBSADQQJqDAELIAMtAAJBP3EgCEEGdHIhCCAFQXBJBEAgCCAEQQx0ciEFIANBA2oMAQsgBEESdEGAgPAAcSADLQADQT9xIAhBBnRyciIFQYCAxABGDQMgA0EEagsiBCAHIANraiEHIAVBgIDEAEcNAQwCCwsgAyAJRg0AIAMsAAAiBEF/SiAEQWBJciAEQXBJckUEQCAEQf8BcUESdEGAgPAAcSADLQADQT9xIAMtAAJBP3FBBnQgAy0AAUE/cUEMdHJyckGAgMQARg0BCwJAAkAgB0UNACAHIAJPBEBBACEDIAIgB0YNAQwCC0EAIQMgASAHaiwAAEFASA0BCyABIQMLIAcgAiADGyECIAMgASADGyEBCyAKRQ0CIABBDGooAgAhBwJAIAJBEE8EQCABIAIQKiEEDAELIAJFBEBBACEEDAELIAJBA3EhBQJAIAJBf2pBA0kEQEEAIQQgASEDDAELIAJBfHEhBkEAIQQgASEDA0AgBCADLAAAQb9/SmogAywAAUG/f0pqIAMsAAJBv39KaiADLAADQb9/SmohBCADQQRqIQMgBkF8aiIGDQALCyAFRQ0AA0AgBCADLAAAQb9/SmohBCADQQFqIQMgBUF/aiIFDQALCyAHIARLBEAgByAEayIEIQYCQAJAAkBBACAALQAgIgMgA0EDRhtBA3EiA0EBaw4CAAECC0EAIQYgBCEDDAELIARBAXYhAyAEQQFqQQF2IQYLIANBAWohAyAAQQRqKAIAIQQgACgCHCEFIAAoAgAhAAJAA0AgA0F/aiIDRQ0BIAAgBSAEKAIQEQEARQ0AC0EBDwtBASEDIAVBgIDEAEYNAiAAIAEgAiAEKAIMEQUADQJBACEDA0AgAyAGRgRAQQAPCyADQQFqIQMgACAFIAQoAhARAQBFDQALIANBf2ogBkkPCwwCCyAAKAIAIAEgAiAAKAIEKAIMEQUAIQMLIAMPCyAAKAIAIAEgAiAAKAIEKAIMEQUAC60HAgZ/An4jAEEwayIDJAAgA0H/AToADyADQRBqIAEgA0EPakEBIAIoAiAiBhEEAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMtABBBBEcEQCADKQMQIglC/wGDQgZSDQELIAMtAA9Bf2oOChMQAgMEBQYHCQgBCyAAIAk3AgQMEwsgAEEFOgAEDBILIANBfzYCKCADQRBqIAEgA0EoakEEIAYRBAAgAy0AEEEERwRAIAMxABBCBlINDQsgAzUCKCEJQQQhBUECIQQMEAsgA0J/NwMoIANBEGogASADQShqQQggBhEEACADLQAQQQRHBEAgAzEAEEIGUg0LCyADKQMoIgpCIIYhCSAKQiCIpyEHQQghBUEDIQQMDwsgA0F/NgIoIANBEGogASADQShqQQQgBhEEACADLQAQQQRHBEAgAykDECIJQv8Bg0IGUg0JCyADNQIoIQlBBCEEQQQhBQwOCyADQn83AyAgA0EoaiABIANBIGpBCCAGEQQAIAMtAChBBEcEQCADKQMoIglC/wGDQgZSDQcLIAMgAykDICIJNwIUIAlCIIinIQcgAykDECEJQQghBUEFIQQMDQsgA0F/NgIoIANBEGogASADQShqQQQgBhEEACADLQAQQQRHBEAgAykDECIJQv8Bg0IGUg0FCyADNQIoIQlBBCEFQQYhBAwMCyADQn83AyAgA0EoaiABIANBIGpBCCAGEQQAIAMtAChBBEcEQCADKQMoIglC/wGDQgZSDQMLIAMgAykDICIJNwIUIAlCIIinIQcgAykDECEJQQghBUEHIQQMCwsgA0EQaiABIAIQRSADKAIURQ0IIAMoAhghByADKQMQIQkgAygCHCEFQQkhBAwKCyADQRBqIAEgAhC8ASADKAIQRQ0IIAAgAykCFDcCBAwKCyAAIAk3AgQMCQsgACAJNwIEDAgLIAAgCTcCBAwHCyAAIAk3AgQMBgsgACADNQIQIAM1AhRCIIaENwIEDAULIAAgAzUCECADNQIUQiCGhDcCBAwECyADQRBqIAEgAhBFIAMoAhQEQCADKAIYIQcgAykDECEJIAMoAhwhBUEBIQQMAwsgACADKQMYNwIEDAMLIAAgAykDGDcCBAwCC0EIIQQgA0EYaigCACEFIAMtABQhCAsgACAHNgAMIAAgCTcABCAAIAg6AAEgACAEOgAAIAAgBUEBajYCEAwBCyAAQQo6AAALIANBMGokAAulBwENfwJAAkAgAigCACILQSIgAigCBCINKAIQIg4RAQBFBEACQCABRQRAQQAhAkEAIQEMAQsgACABaiEPQQAhAiAAIQcCQANAAkAgByIILAAAIgVBf0oEQCAIQQFqIQcgBUH/AXEhAwwBCyAILQABQT9xIQQgBUEfcSEDIAVBX00EQCADQQZ0IARyIQMgCEECaiEHDAELIAgtAAJBP3EgBEEGdHIhBCAIQQNqIQcgBUFwSQRAIAQgA0EMdHIhAwwBCyADQRJ0QYCA8ABxIActAABBP3EgBEEGdHJyIgNBgIDEAEYNAiAIQQRqIQcLQYKAxAAhBUEwIQQCQAJAAkACQAJAAkACQAJAAkAgAw4jBgEBAQEBAQEBAgQBAQMBAQEBAQEBAQEBAQEBAQEBAQEBAQUACyADQdwARg0ECyADEE9FBEAgAxByDQYLIANBgYDEAEYNBSADQQFyZ0ECdkEHcyEEIAMhBQwEC0H0ACEEDAMLQfIAIQQMAgtB7gAhBAwBCyADIQQLIAYgAkkNAQJAIAJFDQAgAiABTwRAIAEgAkYNAQwDCyAAIAJqLAAAQUBIDQILAkAgBkUNACAGIAFPBEAgASAGRw0DDAELIAAgBmosAABBv39MDQILIAsgACACaiAGIAJrIA0oAgwRBQAEQEEBDwtBBSEJAkACQANAIAkhDCAFIQJBgYDEACEFQdwAIQoCQAJAAkACQAJAAkAgAkGAgLx/akEDIAJB///DAEsbQQFrDgMBBQACC0EAIQlB/QAhCiACIQUCQAJAAkAgDEH/AXFBAWsOBQcFAAECBAtBAiEJQfsAIQoMBQtBAyEJQfUAIQoMBAtBBCEJQdwAIQoMAwtBgIDEACEFIAQhCiAEQYCAxABHDQMLQQEhAiADQYABSQ0FQQIhAiADQf8PSw0EDAULIAxBASAEGyEJQTBB1wAgAiAEQQJ0dkEPcSIFQQpJGyAFaiEKIARBf2pBACAEGyEECyACIQULIAsgCiAOEQEARQ0AC0EBDwtBA0EEIANBgIAESRshAgsgAiAGaiECCyAGIAhrIAdqIQYgByAPRw0BDAILCyAAIAEgAiAGQfjSwAAQ8QIACyACRQRAQQAhAgwBCwJAIAIgAU8EQCABIAJGDQEMBQsgACACaiwAAEG/f0wNBAsgASACayEBCyALIAAgAmogASANKAIMEQUARQ0BC0EBDwsgC0EiIA4RAQAPCyAAIAEgAiABQYjTwAAQ8QIAC48HAQZ/AkACQAJAIAJBCU8EQCADIAIQSSICDQFBAA8LQQhBCBDkAiEBQRRBCBDkAiEFQRBBCBDkAiEEQQAhAkEAQRBBCBDkAkECdGsiBkGAgHwgBCABIAVqamtBd3FBfWoiASAGIAFJGyADTQ0BQRAgA0EEakEQQQgQ5AJBe2ogA0sbQQgQ5AIhBSAAEKcDIgEgARCUAyIGEKQDIQQCQAJAAkACQAJAAkACQCABEP8CRQRAIAYgBU8NASAEQbTxwAAoAgBGDQIgBEGw8cAAKAIARg0DIAQQ+gINByAEEJQDIgcgBmoiCCAFSQ0HIAggBWshBiAHQYACSQ0EIAQQYAwFCyABEJQDIQQgBUGAAkkNBiAEIAVBBGpPQQAgBCAFa0GBgAhJGw0FIAEoAgAiBiAEakEQaiEHIAVBH2pBgIAEEOQCIQRBACIFRQ0GIAUgBmoiASAEIAZrIgBBcGoiAjYCBCABIAIQpANBBzYCBCABIABBdGoQpANBADYCBEG48cAAQbjxwAAoAgAgBCAHa2oiADYCAEHE8cAAQcTxwAAoAgAiAiAFIAUgAksbNgIAQbzxwABBvPHAACgCACICIAAgAiAASxs2AgAMCQsgBiAFayIEQRBBCBDkAkkNBCABIAUQpAMhBiABIAUQtwIgBiAEELcCIAYgBBA9DAQLQazxwAAoAgAgBmoiBiAFTQ0EIAEgBRCkAyEEIAEgBRC3AiAEIAYgBWsiBUEBcjYCBEGs8cAAIAU2AgBBtPHAACAENgIADAMLQajxwAAoAgAgBmoiBiAFSQ0DAkAgBiAFayIEQRBBCBDkAkkEQCABIAYQtwJBACEEQQAhBgwBCyABIAUQpAMiBiAEEKQDIQcgASAFELcCIAYgBBDfAiAHIAcoAgRBfnE2AgQLQbDxwAAgBjYCAEGo8cAAIAQ2AgAMAgsgBEEMaigCACIJIARBCGooAgAiBEcEQCAEIAk2AgwgCSAENgIIDAELQaDxwABBoPHAACgCAEF+IAdBA3Z3cTYCAAsgBkEQQQgQ5AJPBEAgASAFEKQDIQQgASAFELcCIAQgBhC3AiAEIAYQPQwBCyABIAgQtwILIAENAwsgAxAkIgVFDQEgBSAAIAEQlANBeEF8IAEQ/wIbaiIBIAMgASADSRsQnwMgABArDwsgAiAAIAEgAyABIANJGxCfAxogABArCyACDwsgARD/AhogARCmAwv0BQEHfwJ/IAEEQEErQYCAxAAgACgCGCIJQQFxIgEbIQogASAFagwBCyAAKAIYIQlBLSEKIAVBAWoLIQgCQCAJQQRxRQRAQQAhAgwBCwJAIANBEE8EQCACIAMQKiEGDAELIANFBEAMAQsgA0EDcSELAkAgA0F/akEDSQRAIAIhAQwBCyADQXxxIQcgAiEBA0AgBiABLAAAQb9/SmogASwAAUG/f0pqIAEsAAJBv39KaiABLAADQb9/SmohBiABQQRqIQEgB0F8aiIHDQALCyALRQ0AA0AgBiABLAAAQb9/SmohBiABQQFqIQEgC0F/aiILDQALCyAGIAhqIQgLAkACQCAAKAIIRQRAQQEhASAAKAIAIgcgAEEEaigCACIAIAogAiADEKACDQEMAgsCQAJAAkACQCAAQQxqKAIAIgcgCEsEQCAJQQhxDQQgByAIayIGIQdBASAALQAgIgEgAUEDRhtBA3EiAUEBaw4CAQIDC0EBIQEgACgCACIHIABBBGooAgAiACAKIAIgAxCgAg0EDAULQQAhByAGIQEMAQsgBkEBdiEBIAZBAWpBAXYhBwsgAUEBaiEBIABBBGooAgAhBiAAKAIcIQggACgCACEAAkADQCABQX9qIgFFDQEgACAIIAYoAhARAQBFDQALQQEPC0EBIQEgCEGAgMQARg0BIAAgBiAKIAIgAxCgAg0BIAAgBCAFIAYoAgwRBQANAUEAIQECfwNAIAcgASAHRg0BGiABQQFqIQEgACAIIAYoAhARAQBFDQALIAFBf2oLIAdJIQEMAQsgACgCHCELIABBMDYCHCAALQAgIQxBASEBIABBAToAICAAKAIAIgYgAEEEaigCACIJIAogAiADEKACDQAgByAIa0EBaiEBAkADQCABQX9qIgFFDQEgBkEwIAkoAhARAQBFDQALQQEPC0EBIQEgBiAEIAUgCSgCDBEFAA0AIAAgDDoAICAAIAs2AhxBAA8LIAEPCyAHIAQgBSAAKAIMEQUAC/AFAgd/An4jAEHQAGsiBCQAIAQgAjYCECABKAIIIQIgBCAEQRBqNgIUAkAgAkEBaiIDIAJJBEAQ5gEgBCgCBCEDIAQoAgAhBQwBCwJAAkAgAyABKAIAIgUgBUEBakEDdkEHbCAFQQhJGyIFQQF2SwRAIAMgBUEBaiIFIAMgBUsbIgNBCEkNASADIANB/////wFxRgRAQQEhBSADQQN0IgNBDkkNA0F/IANBB25Bf2pndkEBaiEFDAMLEOYBIAQoAgghBSAEKAIMIgNBgYCAgHhHDQMMAgsgASAEQRRqQYCAwABBGBAzQYGAgIB4IQMMAgtBBEEIIANBBEkbIQULIARBMGpBGCAFEGcgBCgCMCEFIAQoAjQhAyAEKAI8IgZFDQAgBkH/ASAFQQlqEJ4DIQYgBEKYgICAgAE3AyggBCAGNgIkIAQgBTYCGCAEIAI2AiAgBCADIAJrNgIcIAEoAgAiCEF/RwRAA0AgASgCDCICIAdqLAAAQQBOBEAgBiAFIAQoAhQoAgAgAkEAIAdrQRhsakFoahBCpyIJcSIDaikAAEKAgYKEiJCgwIB/gyIKUARAQQghAgNAIAIgA2ohAyACQQhqIQIgBiADIAVxIgNqKQAAQoCBgoSIkKDAgH+DIgpQDQALCyAGIAp6p0EDdiADaiAFcSICaiwAAEF/SgRAIAYpAwBCgIGChIiQoMCAf4N6p0EDdiECCyACIAZqIAlBGXYiAzoAACACQXhqIAVxIAZqQQhqIAM6AAAgBiACQX9zQRhsaiICIAEoAgwgB0F/c0EYbGoiAykAADcAACACQRBqIANBEGopAAA3AAAgAkEIaiADQQhqKQAANwAACyAHIAhGIAdBAWohB0UNAAsLIAEpAgAhCiABIAQpAxg3AgAgBEEgaiICKQMAIQsgAiABQQhqIgEpAgA3AwAgASALNwIAIAQgCjcDGCAEQRhqEOMBQYGAgIB4IQMLIAAgAzYCBCAAIAU2AgAgBEHQAGokAAvtBQEJfwJAIAJFDQBBACACQXlqIgMgAyACSxshCSABQQNqQXxxIAFrIgpBf0YhC0EAIQMDQAJAAkACQAJAAkACQAJAAkACQCABIANqLQAAIgdBGHRBGHUiCEEATgRAIAsgCiADa0EDcXINASADIAlJDQIMCAtBASEGQQEhBAJAAkACQAJAAkACQAJAAkAgB0Hk1MAAai0AAEF+ag4DAAECDgsgA0EBaiIFIAJJDQZBACEEDA0LQQAhBCADQQFqIgUgAk8NDCABIAVqLAAAIQUgB0GgfmoiBEUNASAEQQ1GDQIMAwsgA0EBaiIEIAJPBEBBACEEDAwLIAEgBGosAAAhBQJAAkACQCAHQZB+ag4FAQAAAAIACyAIQQ9qQf8BcUECTQ0JQQEhBAwNCyAFQfAAakH/AXFBMEkNCQwLCyAFQY9/Sg0KDAgLIAVBYHFBoH9HDQkMAgsgBUGgf04NCAwBCwJAIAhBH2pB/wFxQQxPBEAgCEF+cUFuRg0BQQEhBAwKCyAFQb9/Sg0IDAELQQEhBCAFQUBODQgLQQAhBCADQQJqIgUgAk8NByABIAVqLAAAQb9/TA0FQQEhBEECIQYMBwsgASAFaiwAAEG/f0oNBQwECyADQQFqIQMMBwsDQCABIANqIgQoAgBBgIGChHhxDQYgBEEEaigCAEGAgYKEeHENBiADQQhqIgMgCUkNAAsMBQtBASEEIAVBQE4NAwsgA0ECaiIEIAJPBEBBACEEDAMLIAEgBGosAABBv39KBEBBAiEGQQEhBAwDC0EAIQQgA0EDaiIFIAJPDQIgASAFaiwAAEG/f0wNAEEDIQZBASEEDAILIAVBAWohAwwDC0EBIQQLIAAgAzYCBCAAQQlqIAY6AAAgAEEIaiAEOgAAIABBATYCAA8LIAMgAk8NAANAIAEgA2osAABBAEgNASACIANBAWoiA0cNAAsMAgsgAyACSQ0ACwsgACABNgIEIABBCGogAjYCACAAQQA2AgALyQUCDn8BfiAAKAIAQQFqIQcgACgCDCEGA0ACQAJ/IARBAXEEQCAFQQdqIgQgBUkgBCAHT3INAiAFQQhqDAELIAUgB0kiCkUNASAKIAUiBGoLIQUgBCAGaiIEIAQpAwAiEkJ/hUIHiEKBgoSIkKDAgAGDIBJC//79+/fv37//AIR8NwMAQQEhBAwBCwsCQCAHQQhPBEAgBiAHaiAGKQAANwAADAELIAZBCGogBiAHEKADCyAAAn9BACAAKAIAIg1Bf0YNABpBACADayEKQQAhBQNAAkAgACgCDCIEIAUiB2otAABBgAFHDQAgBCALaiEOIAQgB0F/cyADbGohDyACKAIUIRACQANAIAEgACAHIBARDQAhEiAAKAIAIgkgEqciDHEiBiEEIAAoAgwiCCAGaikAAEKAgYKEiJCgwIB/gyISUARAQQghBSAGIQQDQCAEIAVqIQQgBUEIaiEFIAggBCAJcSIEaikAAEKAgYKEiJCgwIB/gyISUA0ACwsgCCASeqdBA3YgBGogCXEiBGosAABBf0oEQCAIKQMAQoCBgoSIkKDAgH+DeqdBA3YhBAsgBCAGayAHIAZrcyAJcUEISQ0BIAggBEF/cyADbGohBSAEIAhqIgYtAAAgBiAMQRl2IgY6AAAgBEF4aiAJcSAIakEIaiAGOgAAQf8BRwRAIANFDQEgCiEEA0AgBCAOaiIGLQAAIQggBiAFLQAAOgAAIAUgCDoAACAFQQFqIQUgBEEBaiIEDQALDAELCyAAKAIMIgQgB2pB/wE6AAAgBCAAKAIAIAdBeGpxakEIakH/AToAACAFIA8gAxCfAxoMAQsgByAIaiAMQRl2IgQ6AAAgCSAHQXhqcSAIakEIaiAEOgAACyAHQQFqIQUgCyADayELIAcgDUcNAAsgACgCACIBIAFBAWpBA3ZBB2wgAUEISRsLIAAoAghrNgIEC/kFAgh/An4jAEHQAGsiAiQAIAJB2OzAADYCEEHw7MAAKAIAIQQgAiACQRBqNgIUAkAgBEEBaiIBIARJBEAQ5gEgAigCBCEBIAIoAgAhAwwBCwJAAkAgAUHo7MAAKAIAIgMgA0EBakEDdkEHbCADQQhJGyIDQQF2SwRAIAEgA0EBaiIDIAEgA0sbIgFBCEkNASABIAFB/////wFxRgRAQQEhAyABQQN0IgFBDkkNA0F/IAFBB25Bf2pndkEBaiEDDAMLEOYBIAIoAgghAyACKAIMIgFBgYCAgHhHDQMMAgtB6OzAACACQRRqQZiAwABBEBAzQYGAgIB4IQEMAgtBBEEIIAFBBEkbIQMLIAJBMGpBECADEGcgAigCMCEDIAIoAjQhASACKAI8IgVFDQAgBUH/ASADQQlqEJ4DIQUgAkKQgICAgAE3AyggAiAFNgIkIAIgAzYCGCACIAQ2AiAgAiABIARrNgIcQejswAAoAgAiB0F/RwRAA0BB9OzAACgCACIBIAZqLAAAQQBOBEAgBSADIAIoAhQoAgAgASAGQQR0a0FwahBCpyIIcSIBaikAAEKAgYKEiJCgwIB/gyIJUARAQQghBANAIAEgBGohASAEQQhqIQQgBSABIANxIgFqKQAAQoCBgoSIkKDAgH+DIglQDQALCyAFIAl6p0EDdiABaiADcSIEaiwAAEF/SgRAIAUpAwBCgIGChIiQoMCAf4N6p0EDdiEECyAEIAVqIAhBGXYiAToAACAEQXhqIANxIAVqQQhqIAE6AAAgBSAEQX9zQQR0aiIBQfTswAAoAgAgBkF/c0EEdGoiBCkAADcAACABQQhqIARBCGopAAA3AAALIAYgB0YgBkEBaiEGRQ0ACwtB6OzAACkCACEJQejswAAgAikDGDcCACACQSBqIgEpAwAhCiABQfDswAApAgA3AwBB8OzAACAKNwIAIAIgCTcDGCACQRhqEOMBQYGAgIB4IQELIAAgATYCBCAAIAM2AgAgAkHQAGokAAuSBQEHfwJAAkACfwJAIAAgAWsgAkkEQCABIAJqIQUgACACaiEDIAJBD0sNASAADAILIAJBD00EQCAAIQMMAwsgAEEAIABrQQNxIgVqIQQgBQRAIAAhAyABIQADQCADIAAtAAA6AAAgAEEBaiEAIANBAWoiAyAESQ0ACwsgBCACIAVrIgJBfHEiBmohAwJAIAEgBWoiBUEDcSIABEAgBkEBSA0BIAVBfHEiB0EEaiEBQQAgAEEDdCIIa0EYcSEJIAcoAgAhAANAIAQgACAIdiABKAIAIgAgCXRyNgIAIAFBBGohASAEQQRqIgQgA0kNAAsMAQsgBkEBSA0AIAUhAQNAIAQgASgCADYCACABQQRqIQEgBEEEaiIEIANJDQALCyACQQNxIQIgBSAGaiEBDAILIANBfHEhAEEAIANBA3EiBmshByAGBEAgASACakF/aiEEA0AgA0F/aiIDIAQtAAA6AAAgBEF/aiEEIAAgA0kNAAsLIAAgAiAGayIGQXxxIgJrIQNBACACayECAkAgBSAHaiIFQQNxIgQEQCACQX9KDQEgBUF8cSIHQXxqIQFBACAEQQN0IghrQRhxIQkgBygCACEEA0AgAEF8aiIAIAQgCXQgASgCACIEIAh2cjYCACABQXxqIQEgAyAASQ0ACwwBCyACQX9KDQAgASAGakF8aiEBA0AgAEF8aiIAIAEoAgA2AgAgAUF8aiEBIAMgAEkNAAsLIAZBA3EiAEUNAiACIAVqIQUgAyAAawshACAFQX9qIQEDQCADQX9qIgMgAS0AADoAACABQX9qIQEgACADSQ0ACwwBCyACRQ0AIAIgA2ohAANAIAMgAS0AADoAACABQQFqIQEgA0EBaiIDIABJDQALCwuJBgIEfwF+IwBBIGsiBCQAIAQgAS0AACIGQQFqOgAQIARBGGogAiAEQRBqQQEgAygCDCIFEQQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/IAQtABhBBEYEQCAEKAIcDAELIAQpAxgiCEL/AYNCBlINASAIQiCIpwshByAGQQFrDgkBAgMEBQYHCAkLCyAAIAg3AgAMDAsgBEEIaiABQQRqIAIgAxCFAQwICyAEIAEoAgQ2AhAgBEEYaiACIARBEGpBBCAFEQQAIAQtABhBBEYEQCAEIAQoAhw2AgwgBEEGOgAIDAgLIAQgBCkDGDcDCAwHCyAEIAErAwg5AxggBEEQaiACIARBGGpBCCAFEQQAIAQtABBBBEYEQCAEIAQoAhQ2AgwgBEEGOgAIDAcLIAQgBCkDEDcDCAwGCyAEIAEoAgQ2AhAgBEEYaiACIARBEGpBBCAFEQQAIAQtABhBBEYEQCAEIAQoAhw2AgwgBEEGOgAIDAYLIAQgBCkDGDcDCAwFCyAEIAEpAwg3AxggBEEQaiACIARBGGpBCCAFEQQAIAQtABBBBEYEQCAEIAQoAhQ2AgwgBEEGOgAIDAULIAQgBCkDEDcDCAwECyAEIAEoAgQ2AhAgBEEYaiACIARBEGpBBCAFEQQAIAQtABhBBEYEQCAEIAQoAhw2AgwgBEEGOgAIDAQLIAQgBCkDGDcDCAwDCyAEIAEpAwg3AxggBEEQaiACIARBGGpBCCAFEQQAIAQtABBBBEYEQCAEIAQoAhQ2AgwgBEEGOgAIDAMLIAQgBCkDEDcDCAwCCyAEIAEtAAE6ABAgBEEYaiACIARBEGpBASAFEQQAIAQtABhBBEYEQCAEIAQoAhw2AgwgBEEGOgAIDAILIAQgBCkDGDcDCAwBCyAEQQhqIAFBBGogAiADEIUBCyAELQAIQQZGBEAgBCgCDCEGDAELIAQpAwgiCEL/AYNCBlINASAIQiCIpyEGCyAAQQY6AAAgACAGIAdqNgIEDAELIAAgCDcCAAsgBEEgaiQAC9MFAQV/IwBB8ABrIgMkACADQShqIAEgAhD3AiADIAMpAyg3AzAgA0HQAGogA0EwahA+AkAgAygCUARAIANB6ABqIANB2ABqKQMANwMAIAMgAykDUDcDYCADQSBqIANB4ABqEJoDIAMoAiQhBCADKAIgIQYgA0EYaiADQeAAahCbAyADKAIcRQRAIAAgBjYCBCAAQQA2AgAgAEEIaiAENgIADAILAkACQAJAIAJFBEBBASEBDAELIAJBf0wNAiACQQEQ9QIiAUUNAQsgA0EANgJAIAMgATYCPCADIAI2AjggBCACSwR/IANBOGpBACAEEIQBIAMoAkAhBSADKAI8BSABCyAFaiAGIAQQnwMaIAMgBCAFaiICNgJAIAMoAjggAmtBAk0EQCADQThqIAJBAxCEASADKAJAIQILIAMoAjwiASACaiIEQcjOwAAvAAAiBTsAACAEQQJqQcrOwAAtAAAiBjoAACADIAJBA2oiAjYCQCADIAMpAzA3A0ggA0HQAGogA0HIAGoQPiADKAJQBEADQCADQegAaiADQdgAaikDADcDACADIAMpA1A3A2AgA0EQaiADQeAAahCaAyADKAIQIQcgAygCOCACayADKAIUIgRJBEAgA0E4aiACIAQQhAEgAygCQCECIAMoAjwhAQsgASACaiAHIAQQnwMaIAMgAiAEaiICNgJAIANBCGogA0HgAGoQmwMgAygCDARAIAMoAjggAmtBAk0EQCADQThqIAJBAxCEASADKAJAIQILIAMoAjwiASACaiIEIAU7AAAgBEECaiAGOgAAIAMgAkEDaiICNgJACyADQdAAaiADQcgAahA+IAMoAlANAAsLIAAgAykDODcCBCAAQQE2AgAgAEEMaiADQUBrKAIANgIADAMLIAJBARCYAwALEJYCAAsgAEGUzcAANgIEIABBADYCACAAQQhqQQA2AgALIANB8ABqJAAL0AQCBH8GfiAAIAAoAjggAmo2AjgCQCAAAn8CQAJAAkAgACgCPCIFRQRADAELAn4gAkEIIAVrIgQgAiAESRsiBkEDTQRAQgAMAQtBBCEDIAE1AAALIQcgACAAKQMwIANBAXIgBkkEQCABIANqMwAAIANBA3SthiAHhCEHIANBAnIhAwsgAyAGSQR+IAEgA2oxAAAgA0EDdK2GIAeEBSAHCyAFQQN0QThxrYaEIgc3AzAgBCACSw0BIAAgACkDGCAHhSIIIAApAwh8IgkgACkDECIKQg2JIAogACkDAHwiCoUiC3wiDCALQhGJhTcDECAAIAxCIIk3AwggACAJIAhCEImFIghCFYkgCCAKQiCJfCIIhTcDGCAAIAcgCIU3AwALIAIgBGsiAkEHcSEDIAQgAkF4cSICSQRAIAApAwghCCAAKQMQIQcgACkDACEJIAApAxghCgNAIAggASAEaikAACILIAqFIgh8IgogByAJfCIJIAdCDYmFIgd8IgwgB0IRiYUhByAKIAhCEImFIghCFYkgCCAJQiCJfCIJhSEKIAxCIIkhCCAJIAuFIQkgBEEIaiIEIAJJDQALIAAgBzcDECAAIAk3AwAgACAKNwMYIAAgCDcDCAsgA0EDSw0BQgAhB0EADAILIAIgBWohAwwCCyABIARqNQAAIQdBBAsiAkEBciADSQRAIAEgAiAEamozAAAgAkEDdK2GIAeEIQcgAkECciECCyACIANJBH4gASACIARqajEAACACQQN0rYYgB4QFIAcLNwMwCyAAIAM2AjwLqQUCB38EfiMAQTBrIgMkACADQf8BOgAHIANBCGogASADQQdqQQEgAigCIBEEAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADLQAIQQRHBEAgAykDCCIKQv8Bg0IGUg0BC0ECIQQgAy0AB0F/ag4KCgkMAggDBAcGBQELIAAgCjcCBAwMCyAAQQU6AAQMCwtBAyEEDAkLQQUhBAwICyAAQQU6AAQMCAsgA0EIaiABIAIQRSADKAIMIgZFDQUgAykDECILQiCIpyEFIAMoAgghB0EJIQQMBgsgA0EIaiABIAIQUSADKAIMIgYEQCADKQMQIgpC/////w+DIQsgCkIgiKchBSADKAIIIQdBCCEEDAYLIAAgAykDEDcCBAwGCyADQQhqIAEgAhBEIAMoAgwiBgRAIAMpAxAiCkL/////D4MhCyAKQiCIpyEFIAMoAgghB0EHIQQMBQsgACADKQMQNwIEDAULIANBCGogASACEEUgAygCDCIGBEAgAykDECILQiCIpyEFIAMoAgghB0EEIQQMBAsgACADKQMQNwIEDAQLIANBCGogASACEI0BIAMpAwghDCADKAIUIggEQCAMQiCIIQsgAygCICEFIAMpAxghCiADKAIQIQkgDKchBkEBIQQMAwsgACAMNwIEDAMLIANBCGogASACEGMgAykDCCENIAMoAhQiCARAIA1CIIghCyADKAIoIQUgAykDICEMIAMpAxghCiADKAIQIQkgDachBkEAIQQMAgsgACANNwIEDAIL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IARrQRhsakFoaiIAIAIpAgA3AgAgAEEQaiACQRBqKQIANwIAIABBCGogAkEIaikCADcCACAIQRBqJAAL1AMCCn8BfiMAQfAAayIDJAAgA0F/NgIMIANBQGsgASADQQxqQQQgAigCIBEEAAJAAkACQCADLQBAQQRHBEAgAykDQCINQv8Bg0IGUg0BCyADIAMoAgwiBxCeASADQQA2AhggAyADKQMANwMQIAdFBEBBBCEFDAILIANBzABqIQZBBCEFA0ACQCADQUBrIAEgAhA5IAMpAkQhDSADKAJAIghBCkYNACADQThqIgkgBkEYaigCADYCACADQTBqIgogBkEQaikCADcDACADQShqIgsgBkEIaikCADcDACADIAYpAgA3AyAgAygCaCEMIAMoAhgiBCADKAIQRgRAIANBEGogBBD7ASADKAIYIQQLIAUgDGohBSADKAIUIARBKGxqIgQgDTcCBCAEIAg2AgAgBCADKQMgNwIMIARBFGogCykDADcCACAEQRxqIAopAwA3AgAgBEEkaiAJKAIANgIAIAMgAygCGEEBajYCGCAHQX9qIgcNAQwDCwsgAEEANgIEIAAgDTcCCCADQRBqEKcBIANBEGoQxwIMAgsgAEEANgIEIAAgDTcCCAwBCyAAIAMpAxA3AgAgACAFNgIMIABBCGogA0EYaigCADYCAAsgA0HwAGokAAvSAwIFfwF+IwBBQGoiAyQAIANBfzYCFCADQShqIAEgA0EUakEEIAIoAiAiBxEEAAJAAkAgAy0AKEEERwRAIAMpAygiCEL/AYNCBlINAQtBACECIANBCGogAygCFCIGENwBIANBADYCICADIAMoAgwiBDYCHCADIAMoAggiBTYCGCADQf8BOgAnAkACQCADQShqIAYEQCAGIQQDQCADQShqIAEgA0EnakEBIAcRBAAgAy0AKEEERwRAIAMpAygiCEL/AYNCBlINAwsgAy0AJyEFIAMoAiAiAiADKAIYRgR/IANBGGogAhD8ASADKAIgBSACCyADKAIcaiAFOgAAIAMgAygCIEEBaiICNgIgIARBf2oiBA0ACyADKAIYIQUgAygCHCEECyAEIAIQMiADKAIoBEAgAykCLCIIQoCAgIDwH4NCgICAgCBSDQILIAAgAjYCCCAAIAZBBGo2AgwgACAFrSAErUIghoQ3AgAMAwsgAEEANgIEIAAgCDcCCCADQRhqEJgCDAILIAMgAjYCOCADIAg3AyggAyAFrSAErUIghoQ3AzAgA0EwahCYAiAAQQA2AgQgAEIFNwIIDAELIABBADYCBCAAIAg3AggLIANBQGskAAvaAwEHfyMAQRBrIgYkAEH07MAAKAIAIgRB6OzAACgCACIFIACnIgdxIgNqKQAAQoCBgoSIkKDAgH+DIgBQBEBBCCECA0AgAiADaiEDIAJBCGohAiAEIAMgBXEiA2opAABCgIGChIiQoMCAf4MiAFANAAsLAkAgBCAAeqdBA3YgA2ogBXEiAmosAAAiA0F/SgR/IAQgBCkDAEKAgYKEiJCgwIB/g3qnQQN2IgJqLQAABSADC0EBcSIIRQ0AQezswAAoAgANACAGQQhqEDRB9OzAACgCACIEQejswAAoAgAiBSAHcSIDaikAAEKAgYKEiJCgwIB/gyIAUARAQQghAgNAIAIgA2ohAyACQQhqIQIgBCADIAVxIgNqKQAAQoCBgoSIkKDAgH+DIgBQDQALCyAEIAB6p0EDdiADaiAFcSICaiwAAEF/TA0AIAQpAwBCgIGChIiQoMCAf4N6p0EDdiECCyACIARqIAdBGXYiAzoAACACQXhqIAVxIARqQQhqIAM6AABB7OzAAEHs7MAAKAIAIAhrNgIAQfDswABB8OzAACgCAEEBajYCAEH07MAAKAIAIAJBBHRrQXBqIgIgASkCADcCACACQQhqIAFBCGopAgA3AgAgBkEQaiQAC5EDAQt/IwBBMGsiAyQAIANCgYCAgKABNwMgIAMgAjYCHCADQQA2AhggAyACNgIUIAMgATYCECADIAI2AgwgA0EANgIIIAAoAgQhCCAAKAIAIQkgACgCCCEKAn8DQAJAIAZFBEACQCAEIAJLDQADQCABIARqIQYCfyACIARrIgVBCE8EQCADIAYgBRBdIAMoAgQhACADKAIADAELQQAhAEEAIAVFDQAaA0BBASAAIAZqLQAAQQpGDQEaIAUgAEEBaiIARw0ACyAFIQBBAAtBAUcEQCACIQQMAgsgACAEaiIAQQFqIQQCQCAAIAJPDQAgACABai0AAEEKRw0AQQAhBiAEIQUgBCEADAQLIAQgAk0NAAsLQQEhBiACIgAgByIFRw0BC0EADAILAkAgCi0AAARAIAlBpNDAAEEEIAgoAgwRBQANAQsgASAHaiELIAAgB2shDCAKIAAgB0cEfyALIAxqQX9qLQAAQQpGBSANCzoAACAFIQcgCSALIAwgCCgCDBEFAEUNAQsLQQELIANBMGokAAvOAwEEfyMAQYABayIBJAAgASAANgIUIAFBPGpBAjYCACABQSBqQgA3AwAgAUEANgIYIAFBGGoQrgIiACAAKAIAQQFqIgI2AgACQAJAIAJFDQAgAUEIaiAAELUCIAEoAggiAkHctsAAEJIDIQMgAUHctsAANgJMIAEgAjYCSCABIAM2AlAgACAAKAIAQQFqIgI2AgAgAkUNACABIAAQtgIgASgCACICQfC2wAAQkgMhAyABQfC2wAA2AlwgASACNgJYIAEgAzYCYCABQRRqKAIAIAFByABqKAIIIAFB2ABqKAIIEB0iAkGEAU8EQCACEAALIAFBIGoiAiABQdAAaigCADYCACABQSxqIAFB4ABqKAIANgIAIAEgASkDWDcCJCABQfAAaiIDIAIpAwA3AwAgAUH4AGoiAiABQShqKQMANwMAIAEgASkDSDcDaCAAKAIIDQEgAEF/NgIIIABBFGoiBBDZAiAAQSRqIAIpAwA3AgAgAEEcaiADKQMANwIAIAQgASkDaDcCACAAIAAoAghBAWo2AgggASgCFCICQYQBTwRAIAIQAAsgAUGAAWokACAADwsAC0G8tsAAQRAgAUEYakHMtsAAQYS4wAAQsQEAC48DAQV/AkACQAJAAkAgAUEJTwRAQRBBCBDkAiABSw0BDAILIAAQJCEEDAILQRBBCBDkAiEBC0EIQQgQ5AIhA0EUQQgQ5AIhAkEQQQgQ5AIhBUEAQRBBCBDkAkECdGsiBkGAgHwgBSACIANqamtBd3FBfWoiAyAGIANJGyABayAATQ0AIAFBECAAQQRqQRBBCBDkAkF7aiAASxtBCBDkAiIDakEQQQgQ5AJqQXxqECQiAkUNACACEKcDIQACQCABQX9qIgQgAnFFBEAgACEBDAELIAIgBGpBACABa3EQpwMhAkEQQQgQ5AIhBCAAEJQDIAJBACABIAIgAGsgBEsbaiIBIABrIgJrIQQgABD/AkUEQCABIAQQtwIgACACELcCIAAgAhA9DAELIAAoAgAhACABIAQ2AgQgASAAIAJqNgIACyABEP8CDQEgARCUAyICQRBBCBDkAiADak0NASABIAMQpAMhACABIAMQtwIgACACIANrIgMQtwIgACADED0MAQsgBA8LIAEQpgMgARD/AhoLvwMBAX8jAEFAaiICJAACQAJAAkACQAJAAkAgAC0AAEEBaw4DAQIDAAsgAiAAKAIENgIEQRRBARD1AiIARQ0EIABBEGpB8MfAACgAADYAACAAQQhqQejHwAApAAA3AAAgAEHgx8AAKQAANwAAIAJBFDYCECACIAA2AgwgAkEUNgIIIAJBNGpBAzYCACACQTxqQQI2AgAgAkEkakHrADYCACACQdjFwAA2AjAgAkEANgIoIAJB7AA2AhwgAiACQRhqNgI4IAIgAkEEajYCICACIAJBCGo2AhggASACQShqENYBIQAgAigCCEUNAyACKAIMECsMAwsgAC0AASEAIAJBNGpBATYCACACQTxqQQE2AgAgAkHUv8AANgIwIAJBADYCKCACQe0ANgIMIAIgAEEgc0E/cUECdCIAQfTHwABqKAIANgIcIAIgAEH0ycAAaigCADYCGCACIAJBCGo2AjggAiACQRhqNgIIIAEgAkEoahDWASEADAILIAAoAgQiACgCACAAKAIEIAEQmQMhAAwBCyAAKAIEIgAoAgAgASAAQQRqKAIAKAIQEQEAIQALIAJBQGskACAADwtBFEEBEJgDAAuFAwIKfwV+IwBBIGsiBCQAIAFBEGohCCABIAIQQiEPIAFBHGooAgAiCUFoaiEKIAEoAhAiByAPp3EhBSAPQhmIQv8Ag0KBgoSIkKDAgAF+IREgAigCCCELIAIoAgQhDAJAA0AgBSAJaikAACIQIBGFIg5Cf4UgDkL//fv379+//358g0KAgYKEiJCgwIB/gyEOA0AgDlAEQCAQIBBCAYaDQoCBgoSIkKDAgH+DUARAIAUgDUEIaiINaiAHcSEFDAMLIARBEGogAkEIaigCADYCACAEQRxqIANBCGooAgA2AgAgBCACKQIANwMIIAQgAykCADcCFCAIIA8gBEEIaiABEEMgAEEANgIEDAMLIA56IRIgDkJ/fCAOgyEOIAwgCyAKQQAgEqdBA3YgBWogB3FrQRhsaiIGKAIEIAYoAggQzgJFDQALCyAAIAYpAgw3AgAgBiADKQIANwIMIABBCGogBkEUaiIAKAIANgIAIAAgA0EIaigCADYCACACEMcCCyAEQSBqJAALywMBBn9BASECAkAgASgCACIG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IAUEQCABKAIEIQEgBUEEdCEFA0AgBEEIaiABIAIgAxA2An8gBC0ACEEGRgRAIAQoAgwMAQsgBCkDCCIIQv8Bg0IGUg0DIAhCIIinCyEHIAFBEGohASAGIAdqIQYgBUFwaiIFDQALCyAAQQY6AAAgACAGNgIEDAELIAAgCDcCAAsgBEEQaiQAC+oBAgR/AX4jAEEQayIEJAAgBCABKAIIIgU2AgQgBEEIaiACIARBBGpBBCADKAIMEQQAAkACQAJ/IAQtAAhBBEYEQCAEKAIMDAELIAQpAwgiCEL/AYNCBlINASAIQiCIpwshBiAFBEAgASgCBCEBIAVBDGwhBQNAIARBCGogASACIAMQhQECfyAELQAIQQZGBEAgBCgCDAwBCyAEKQMIIghC/wGDQgZSDQMgCEIgiKcLIQcgAUEMaiEBIAYgB2ohBiAFQXRqIgUNAAsLIABBBjoAACAAIAY2AgQMAQsgACAINwIACyAEQRBqJAALhgIBAn8jAEEwayICJAACfwJAAkACQCAALQAAIgNBfGpBAiADQQNLG0H/AXFBAWsOAgECAAsgAkEcakEBNgIAIAJBJGpBADYCACACQYSfwAA2AhggAkH4ncAANgIgIAJBADYCECABIAJBEGoQ1gEMAgsgAkEcakEBNgIAIAJBJGpBADYCACACQeCewAA2AhggAkH4ncAANgIgIAJBADYCECABIAJBEGoQ1gEMAQsgAiAANgIMIAJBHGpBAjYCACACQSRqQQE2AgAgAkG4nsAANgIYIAJBADYCECACQcEANgIsIAIgAkEoajYCICACIAJBDGo2AiggASACQRBqENYBCyACQTBqJAALhgIBAn8jAEEwayICJAACfwJAAkACQCAALQAAIgNBfGpBAiADQQNLG0H/AXFBAWsOAgECAAsgAkEcakEBNgIAIAJBJGpBADYCACACQeifwAA2AhggAkH4ncAANgIgIAJBADYCECABIAJBEGoQ1gEMAgsgAkEcakEBNgIAIAJBJGpBADYCACACQcSfwAA2AhggAkH4ncAANgIgIAJBADYCECABIAJBEGoQ1gEMAQsgAiAANgIMIAJBHGpBAjYCACACQSRqQQE2AgAgAkGcn8AANgIYIAJBADYCECACQcEANgIsIAIgAkEoajYCICACIAJBDGo2AiggASACQRBqENYBCyACQTBqJAAL6gECAn8BfiMAQSBrIgMkACAAKAIARQRAIABBfzYCACADQRhqIABBHGopAgA3AwAgA0EQaiAAQRRqKQIANwMAIABBDGoiBCkCACEFIARBADYCACADIAU3AwggA0EIahDZAgJAIABBJGooAgBBAkYNACAAQShqKAIAIgRBhAFJDQAgBBAACyAAIAE2AiQgAEEoaiACNgIAIABBCGoiAigCACEBIAJBADYCACAAIAAoAgBBAWo2AgAgAQRAIAAoAgQgASgCBBECAAsgA0EgaiQADwtBvLbAAEEQIANBCGpBzLbAAEGUuMAAELEBAAvpAQIDfwJ+IwBBIGsiAyQAIANBEGogASACEEUCQAJAIAMoAhQiBARAIAMoAhAhBSADIAMpAxgiBz4CCCADIAQ2AgQgAyAFNgIAIANBEGogASACEFMgAygCFCIBRQ0BIAMoAhAhAiADKQMYIQYgACADKQMANwIAIAAgBj4CFCAAIAE2AhAgACACNgIMIABBCGogA0EIaigCADYCACAAIAZCIIinIAdCIIinajYCGAwCCyADKQMYIQYgAEEANgIEIAAgBjcCCAwBCyADKQMYIQYgAEEANgIEIAAgBjcCCCADEJgCCyADQSBqJAALzwEBBX8jAEEgayIDJAAgAAJ/QQAgAkEBaiIEIAJJDQAaIAEoAgAiAkEBdCIFIAQgBSAESxsiBEEEIARBBEsbIgVBGGwhBCAFQdaq1SpJQQJ0IQYCQCACBEAgASgCBCEHIANBBDYCGCADIAJBGGw2AhQgAyAHNgIQDAELIANBADYCGAsgAyAEIAYgA0EQahCXASADKAIEIQQgAygCAARAIANBCGooAgAMAQsgASAFNgIAIAEgBDYCBEGBgICAeAs2AgQgACAENgIAIANBIGokAAvPAQEFfyMAQSBrIgMkACAAAn9BACACQQFqIgQgAkkNABogASgCACICQQF0IgUgBCAFIARLGyIEQQQgBEEESxsiBUEobCEEIAVBtObMGUlBA3QhBgJAIAIEQCABKAIEIQcgA0EINgIYIAMgAkEobDYCFCADIAc2AhAMAQsgA0EANgIYCyADIAQgBiADQRBqEJcBIAMoAgQhBCADKAIABEAgA0EIaigCAAwBCyABIAU2AgAgASAENgIEQYGAgIB4CzYCBCAAIAQ2AgAgA0EgaiQAC9ABAQV/IwBBIGsiAyQAIAACf0EAIAJBAWoiBCACSQ0AGiABKAIAIgJBAXQiBSAEIAUgBEsbIgRBBCAEQQRLGyIFQQR0IQQgBUGAgIDAAElBA3QhBgJAIAIEQCABKAIEIQcgA0EINgIYIAMgAkEEdDYCFCADIAc2AhAMAQsgA0EANgIYCyADIAQgBiADQRBqEJcBIAMoAgQhBCADKAIABEAgA0EIaigCAAwBCyABIAU2AgAgASAENgIEQYGAgIB4CzYCBCAAIAQ2AgAgA0EgaiQAC9ABAQV/IwBBIGsiAyQAIAACf0EAIAJBAWoiBCACSQ0AGiABKAIAIgJBAXQiBSAEIAUgBEsbIgRBBCAEQQRLGyIFQQxsIQQgBUGr1arVAElBAnQhBgJAIAIEQCABKAIEIQcgA0EENgIYIAMgAkEMbDYCFCADIAc2AhAMAQsgA0EANgIYCyADIAQgBiADQRBqEJcBIAMoAgQhBCADKAIABEAgA0EIaigCAAwBCyABIAU2AgAgASAENgIEQYGAgIB4CzYCBCAAIAQ2AgAgA0EgaiQAC9ABAQV/IwBBIGsiAyQAIAACf0EAIAJBAWoiBCACSQ0AGiABKAIAIgJBAXQiBSAEIAUgBEsbIgRBBCAEQQRLGyIFQQJ0IQQgBUGAgICAAklBAnQhBgJAIAIEQCABKAIEIQcgA0EENgIYIAMgAkECdDYCFCADIAc2AhAMAQsgA0EANgIYCyADIAQgBiADQRBqEJcBIAMoAgQhBCADKAIABEAgA0EIaigCAAwBCyABIAU2AgAgASAENgIEQYGAgIB4CzYCBCAAIAQ2AgAgA0EgaiQAC8kBAQV/IwBBMGsiAiQAIAJBCGpBgAgQ3AEgAkEANgIYIAIgAikDCDcDECACQSBqIAEgAkEQahCCAQJAIAItACBBBkYEQCACKAIkIQUgAigCFCEEIAIgAigCGCIDENwBIAIoAgAhBiACKAIEIAQgAxCfAyEEIAAgBTYCDCAAIAM2AgggACAENgIEIAAgBjYCAAwBCyACIAIpAyA3AyggAkEoahC/ASEDIABBADYCBCAAIAM2AgALIAJBEGoQxwIgARC2ASACQTBqJAAL4AEBAn8jAEEgayICJAAgAiAANgIMIAIgASgCAEHs5MAAQREgASgCBCgCDBEFADoAGCACIAE2AhQgAkEAOgAZIAJBADYCECACQRBqIAJBDGpB3OTAABBhIQACfyACLQAYIgEgACgCACIDRQ0AGiABQf8BcSEAQQEgAA0AGiACKAIUIQACQCADQQFHDQAgAi0AGUUNACAALQAYQQRxDQBBASAAKAIAQbjQwABBASAAKAIEKAIMEQUADQEaCyAAKAIAQffOwABBASAAKAIEKAIMEQUACyACQSBqJABB/wFxQQBHC70BAgJ/AX4jAEEgayIDJAAgA0GACBDcASADQQA2AhAgAyADKQMANwMIIANBGGogASADQQhqQciSwAAQVQJAAkACQAJ/IAMtABhBBkYEQCADKAIcDAELIAMpAxgiBUL/AYNCBlINASAFQiCIpwshASADKAIQIgQgAUkNAiADKAIMIAEgAhDoASAAQQY6AAAgACABNgIEDAELIAAgBTcCAAsgA0EIahDHAiADQSBqJAAPCyABIARBvJPAABCFAwALzAEBAn8jAEEgayIDJAACQAJAIAEgAmoiAiABSQ0AIAAoAgAiAUEBdCIEIAIgBCACSxsiAkEIIAJBCEsbIgJBf3NBH3YhBAJAIAEEQCADQQE2AhggAyABNgIUIAMgAEEEaigCADYCEAwBCyADQQA2AhgLIAMgAiAEIANBEGoQmAEgAygCBCEBIAMoAgBFBEAgACACNgIAIAAgATYCBAwCCyADQQhqKAIAIgBBgYCAgHhGDQEgAEUNACABIAAQmAMACxCWAgALIANBIGokAAvMAQECfyMAQSBrIgMkAAJAAkAgASACaiICIAFJDQAgACgCACIBQQF0IgQgAiAEIAJLGyICQQggAkEISxsiAkF/c0EfdiEEAkAgAQRAIANBATYCGCADIAE2AhQgAyAAQQRqKAIANgIQDAELIANBADYCGAsgAyACIAQgA0EQahCRASADKAIEIQEgAygCAEUEQCAAIAI2AgAgACABNgIEDAILIANBCGooAgAiAEGBgICAeEYNASAARQ0AIAEgABCYAwALEJYCAAsgA0EgaiQAC8sBAgN/AX4jAEEQayIEJAAgASgCBCEFIAQgASgCCCIBNgIEIARBCGogAiAEQQRqQQQgAygCDCIGEQQAAkACQAJ/IAQtAAhBBEYEQCAEKAIMDAELIAQpAwgiB0L/AYNCBlINASAHQiCIpwshAyAEQQhqIAIgBSABIAYRBAACfyAELQAIQQRGBEAgBCgCDAwBCyAEKQMI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/wGDQgRRBEAgAEG4g8AANgIEIABBAjYCAAwBCyAAIAU3AgALIAMoAgQgAygCADYCCCADQSBqJAAPCyAEIAJBhIPAABCEAwALpgEBAX8jAEEwayIDJAAgA0EEOgAIIAMgATYCECADQShqIAJBEGopAgA3AwAgA0EgaiACQQhqKQIANwMAIAMgAikCADcDGAJAIANBCGpB3JTAACADQRhqEDoEQCADLQAIQQRGBEAgAEGElcAANgIEIABBAjYCAAwCCyAAIAMpAwg3AgAMAQsgAEEEOgAAIAMtAAhBBEYNACADQQhqEIcCCyADQTBqJAALqQEBA38jAEEwayICJAAgASgCBEUEQCABKAIMIQMgAkEQaiIEQQA2AgAgAkKAgICAEDcDCCACIAJBCGo2AhQgAkEoaiADQRBqKQIANwMAIAJBIGogA0EIaikCADcDACACIAMpAgA3AxggAkEUakGEv8AAIAJBGGoQOhogAUEIaiAEKAIANgIAIAEgAikDCDcCAAsgAEGIx8AANgIEIAAgATYCACACQTBqJAALnQEBAX8jAEFAaiIEJAAgBCACNgI4IAQgATYCNCAEIAI2AjAgBEEIaiAEQTBqEK8CIARBIGogBCgCCCAEKAIMEOMCIARBOGoiASAEQShqKAIANgIAIAQgBCkDIDcDMCAEQRBqIARBMGogAxBSIAEgBEEYaigCADYCACAEIAQpAxA3AzAgBCAEQTBqEK8CIAAgBCkDADcDACAEQUBrJAALrAEBA38jAEEgayIDJAAgA0IANwMIIANBAToAHCADQQhqEIUCIgIgAigCAEEBaiIENgIAAkAgBARAIAIoAggNASACQX82AgggAkEMaiIEEIgCIAJBGGpB5LvAADYCACACQRRqIAJBCGo2AgAgAkEQaiABNgIAIAQgADYCACACQQA2AgggAhDyASADQSBqJAAPCwALQfy4wABBECADQQhqQYy5wABB0LvAABCxAQALmwEBAX8jAEFAaiIDJAAgAyACNgI4IAMgATYCNCADIAI2AjAgA0EIaiADQTBqEK8CIANBIGogAygCCCADKAIMEOMCIANBOGoiASADQShqKAIANgIAIAMgAykDIDcDMCADQRBqIANBMGoQWiABIANBGGooAgA2AgAgAyADKQMQNwMwIAMgA0EwahCvAiAAIAMpAwA3AwAgA0FAayQA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ARDYAiAALQAAIgNBBE9BACADQQZxQQRGG0UEQCAAEIcCCyABQUBrJAAPC0G0l8AAQTcgAUE4akHsl8AAQciYwAAQsQEAC3kBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQQI2AgAgA0EcakECNgIAIANBLGpB7gA2AgAgA0HQz8AANgIQIANBADYCCCADQe4ANgIkIAMgA0EgajYCGCADIAM2AiggAyADQQRqNgIgIANBCGogAhCmAgALeQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBFGpBAjYCACADQRxqQQI2AgAgA0EsakHuADYCACADQYDUwAA2AhAgA0EANgIIIANB7gA2AiQgAyADQSBqNgIYIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEKYCAAt5AQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EUakECNgIAIANBHGpBAjYCACADQSxqQe4ANgIAIANBoNTAADYCECADQQA2AgggA0HuADYCJCADIANBIGo2AhggAyADQQRqNgIoIAMgAzYCICADQQhqIAIQpgIAC3kBAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRRqQQI2AgAgA0EcakECNgIAIANBLGpB7gA2AgAgA0HU1MAANgIQIANBADYCCCADQe4ANgIkIAMgA0EgajYCGCADIANBBGo2AiggAyADNgIgIANBCGogAhCmAgALdAEEfyMAQRBrIgEkACAAKAIIIgIgACgCBCIDRwRAIAIgA2tBAnZBAnQhAgNAIAMoAgAiBEGEAU8EQCAEEAALIANBBGohAyACQXxqIgINAAsLIAEgACgCDDYCDCABIAAoAgA2AgggAUEIahCXAiABQRBqJAALbAEBfyMAQTBrIgMkACADIAE2AiggAyAANgIkIAMgATYCICADQQhqIANBIGoQrwIgA0EQaiADKAIIIAMoAgwQ4wIgA0EoaiADQRhqKAIANgIAIAMgAykDEDcDICADQSBqIAIQ+AEgA0EwaiQAC2kBAX8jAEEwayICJAAgAiABNgIoIAIgADYCJCACIAE2AiAgAkEIaiACQSBqEK8CIAJBEGogAigCCCACKAIMEOMCIAJBKGogAkEYaigCADYCACACIAIpAxA3AyAgAkEgahBqIAJBMGokAAtyAQN/IwBBIGsiAiQAAn9BASAAIAEQXg0AGiABKAIEIQMgASgCACEEIAJBADYCHCACQczOwAA2AhggAkEBNgIUIAJB/M7AADYCECACQQA2AghBASAEIAMgAkEIahA6DQAaIABBBGogARBeCyACQSBqJAALeQEBfwJAAkAgAEUNACAAKAIAIQEgAEEANgIAIAAoAgQhAAJAIAEOAgECAAsgAEGEAUkNACAAEAALEFYhAAtBtO3AACgCACEBQbTtwAAgADYCAEGw7cAAKAIAQbDtwABBATYCAEUgAUGEAUlyRQRAIAEQAAtBtO3AAAt8AQN/IAAgABCmAyIAQQgQ5AIgAGsiAhCkAyEAQazxwAAgASACayIBNgIAQbTxwAAgADYCACAAIAFBAXI2AgRBCEEIEOQCIQJBFEEIEOQCIQNBEEEIEOQCIQQgACABEKQDIAQgAyACQQhramo2AgRBwPHAAEGAgIABNgIAC3MAIwBBMGsiASQAQZjtwAAtAAAEQCABQRRqQQI2AgAgAUEcakEBNgIAIAFBlMbAADYCECABQQA2AgggAUHuADYCJCABIAA2AiwgASABQSBqNgIYIAEgAUEsajYCICABQQhqQbzGwAAQpgIACyABQTBqJAALdgEBfyAALQAEIQEgAC0ABQRAIAFB/wFxIQEgAAJ/QQEgAQ0AGiAAKAIAIgEtABhBBHFFBEAgASgCAEGz0MAAQQIgASgCBCgCDBEFAAwBCyABKAIAQbLQwABBASABKAIEKAIMEQUACyIBOgAECyABQf8BcUEARwt7AgJ/AX4jAEEQayIBJABBgO7AAAJ+AkAgAEUNACAAKAIAIABCADcDAEEBRw0AIAApAwghAyAAKQMQDAELIAFCAjcDCCABQgE3AwAgASkDACEDIAEpAwgLNwMAQfjtwAAgAzcDAEHw7cAAQgE3AwAgAUEQaiQAQfjtwAALawECfyMAQSBrIgIkACACQQhqIAEoAgAQAgJAIAIoAggiAwRAIAIoAgwhASACIAM2AhQgAiABNgIYIAIgATYCECACIAJBEGoQrwIgACACKAIAIAIoAgQQ4wIMAQsgAEEANgIECyACQSBqJAALawECfyABQQRqKAIAIQMCQAJAAkAgAUEIaigCACIBRQRAQQEhAgwBCyABQX9MDQEgAUEBEPUCIgJFDQILIAIgAyABEJ8DIQIgACABNgIIIAAgAjYCBCAAIAE2AgAPCxCWAgALIAFBARCYAwALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHwhcAAIAJBCGoQOiACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGIhsAAIAJBCGoQOiACQSBqJAALYQEDfyAAIAEQyAIgACgCBCIEIAAoAggiAmohAwJAAkAgAUECTwRAIANBACABQX9qIgEQngMaIAQgASACaiICaiEDDAELIAFFDQELIANBADoAACACQQFqIQILIAAgAjYCCAtZAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQYS/wAAgAkEIahA6IAJBIGokAAtZAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQfzMwAAgAkEIahA6IAJBIGokAAtZAQF/IwBBIGsiAiQAIAIgACgCADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQcTSwAAgAkEIahA6IAJBIGokAAtTAQJ/IwBBIGsiAiQAIAAoAgQhAyAAKAIAIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAMgAkEIahA6IAJBIGokAAtWAQF/IwBBIGsiAiQAIAIgADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQfCFwAAgAkEIahA6IAJBIGokAAtWAQF/IwBBIGsiAiQAIAIgADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQYiGwAAgAkEIahA6IAJBIGokAAuTAQIBfwJ+IwBBEGsiASQAQdDswAAgADsBAEHI7MAAQgA3AwAgAUGsjcAAEOQBIAEpAwghAiABKQMAIQNB9OzAACgCAARAQejswAAoAgAEQBCbARCpAgsLQfTswABB6IrAADYCAEHo7MAAQgA3AwBB2OzAACADNwMAQeDswAAgAjcDAEHw7MAAQQA2AgAgAUEQaiQAC1YBAX8jAEEgayICJAAgAiAANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBxNLAACACQQhqEDogAkEgaiQAC2YBAX8jAEFAaiIBJAAgAUEBOgAPIABBADYCCCAAQoCAgIAQNwIAIAFBEGogAEGEkMAAELsCIAFBD2ogAUEQahCSAQRAQZyQwABBNyABQThqQdSQwABBsJHAABCxAQALIAFBQGskAAtIAQJ/AkAgAUUEQEEBIQIMAQsgAUEATgRAIAEgAUF/c0EfdiIDEPUCIgINASABIAMQmAMACxCWAgALIAAgAjYCBCAAIAE2AgALYgEBfyMAQSBrIgMkACAAKAIAIANBCGogASACEDIgAygCCARAIAMgAykCDDcDGEGIsMAAQSsgA0EYakG0sMAAQaixwAAQsQEACyADKAIMIANBEGooAgAQlQIgA0EgaiQAQQALaQEDfyMAQRBrIgEkAAJAQQBB4LvAACgCABEGACICBEAgACgCACgCACIAIAAoAgBBAWoiAzYCACADRQ0BIAIgABC0ASABQRBqJAAPC0GGtcAAQcYAIAFBCGpBzLXAAEGstsAAELEBAAsAC1YBAn8CQCAAQQNwQQNzQQNwIgRFBEAMAQtBACEAA0AgACACRwRAIAAgAWpBPToAACAAQQFqIQNBASEAIAMgBEkNAQwCCwsgAiACQcigwAAQwQEACyADC1oBAX8jAEEQayIEJAAgASgCACACKAIAIAMoAgAQHiEBIARBCGoQugIgAAJ/IAQoAghFBEAgACABQQBHOgABQQAMAQsgACAEKAIMNgIEQQELOgAAIARBEGokAAtUAQF/IwBBMGsiASQAIAFBEGpB65HAAEEGEIQCIAFBKGogAUEYaigCADYCACABIAEpAxA3AyAgAUEIaiABQSBqEK8CIAAgASkDCDcDACABQTBqJAALWQECfyAAKAIMIgIgACgCACIDRgRAIAAQqQEgACgCDCECIAAoAgAhAwsgACgCBCAAKAIIIAJqIgJBACADIAIgA0kba0ECdGogATYCACAAIAAoAgxBAWo2AgwLRwECfwJAIAAoAgAiAkUNACACIABBFGooAgAiASAANQIQIAJBAWqtfqdqQX9qQQAgAWtxIgFqQQlqRQ0AIAAoAgwgAWsQKwsLYQIBfwF+IwBBEGsiAiQAQQAgASgCABEGACIBBEAgASABKQMAIgNCAXw3AwAgACABKQMINwMIIAAgAzcDACACQRBqJAAPC0G0hMAAQcYAIAJBCGpB/ITAAEHchcAAELEBAAtgAQJ/IwBBEGsiASQAIAFBsI3AAEEVEIQCQQxBBBD1AiICRQRAQQxBBBCYAwALIAIgASkDADcCACACQQhqIAFBCGooAgA2AgAgAEGIlMAANgIEIAAgAjYCACABQRBqJAALSgEBfyMAQSBrIgAkACAAQRRqQQE2AgAgAEEcakEANgIAIABBkMzAADYCECAAQfTLwAA2AhggAEEANgIIIABBCGpB7MzAABCmAgALTQEBfyMAQTBrIgEkACABQRBqENsBIAFBKGogAUEYaigCADYCACABIAEpAxA3AyAgAUEIaiABQSBqEK8CIAAgASkDCDcDACABQTBqJAALZwEBfyMAQSBrIgMkACADIAI2AgwgA0EQaiICQYACOwEEIAJBBmpBADoAACACQf0FNgIAIANBEGogACABIANBDGoQJQRAQaSKwABBIiADQRhqQcyGwABByIrAABCxAQALIANBIGokAAtMAQJ/IAAoAggiAQRAIAAoAgQhACABQQR0IQEDQCAALQAAIgJBfmpBB0kgAkVyRQRAIABBBGoQmAILIABBEGohACABQXBqIgENAAsLC1YBAn8gASgCACECIAFBADYCAAJAIAIEQCABKAIEIQNBCEEEEPUCIgFFDQEgASADNgIEIAEgAjYCACAAQeiywAA2AgQgACABNgIADwsAC0EIQQQQmAMAC1IBA38jAEEQayIBJAAgAUEIahCNAhCyAiABKAIMIQICQCABKAIIRQRAQQEhAwwBCyACQYQBSQ0AIAIQAAsgACACNgIEIAAgAzYCACABQRBqJAALSwECfyMAQRBrIgEkACABIABBeGo2AgggAC0AFCAAQQE6ABQgASABQQhqNgIMQQFxRQRAIAFBDGoQ3gELIAFBCGoQswEgAUEQaiQAC18BA38jAEEQayIBJAACQCAAKAIMIgIEQCAAKAIIIgNFDQEgASACNgIIIAEgADYCBCABIAM2AgAgARCqAQALQZy/wABBK0H4xsAAEPUBAAtBnL/AAEErQejGwAAQ9QEAC1ACAn8CfiABQRBqKAIAIgIgASkDACIEIAKtIgUgBCAFVBunIgNJBEAgAyACQZSPwAAQhAMACyAAIAIgA2s2AgQgACABQQxqKAIAIANqNgIAC0gBA38jAEEQayICJAAgAiABNgIMQQEhASACQQxqKAIAEAtBAEcgAigCDCEDBEBBACEBCyAAIAM2AgQgACABNgIAIAJBEGokAAtIAQN/IwBBEGsiAiQAIAIgATYCDEEBIQEgAkEMaigCABASQQFGIAIoAgwhAwRAQQAhAQsgACADNgIEIAAgATYCACACQRBqJAALSgEBfyMAQRBrIgQkACABIAIgAygCABANIQEgBEEIahC6AiAAAn8gASAEKAIIIgFFDQAaIAQoAgwLNgIEIAAgATYCACAEQRBqJAALWAECfyMAQRBrIgEkACABIAA2AgRBAEHgu8AAKAIAEQYAIgIEQCACIAAQtAEgAUEQaiQADwsgAUEEahCzAUGGtcAAQcYAIAFBCGpBzLXAAEGstsAAELEBAAtYAQF/IwBBIGsiACQAIABBDGpBATYCACAAQRRqQQE2AgAgAEGwmcAANgIIIABBADYCACAAQQc2AhwgAEHUnMAANgIYIAAgAEEYajYCECAAQdycwAAQpgIAC0YBAX8jAEEQayICJAAgASgCABAMIQEgAkEIahC6AiAAAn8gASACKAIIIgFFDQAaIAIoAgwLNgIEIAAgATYCACACQRBqJAALUgEBfyMAQSBrIgMkACADQQxqQQE2AgAgA0EUakEANgIAIANBzM7AADYCECADQQA2AgAgAyABNgIcIAMgADYCGCADIANBGGo2AgggAyACEKYCAAtTAQF/IwBBIGsiAiQAIAJBDGpBATYCACACQRRqQQE2AgAgAkHwz8AANgIIIAJBADYCACACQYIBNgIcIAIgADYCGCACIAJBGGo2AhAgAiABEKYCAAtDAQN/AkAgAkUNAANAIAAtAAAiBCABLQAAIgVGBEAgAEEBaiEAIAFBAWohASACQX9qIgINAQwCCwsgBCAFayEDCyADC00BAX8jAEEQayICJABB9OzAACgCAEUEQEHAkcAAQStBiJLAABD1AQALIAJBCGogACABEFcgAigCCCEAIAIoAgwgAkEQ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a0EYbGpBaGoQQgsRACAAKAIABEAgACgCBBArCwsgAQF/IAAoAgAgACgCCCICayABSQRAIAAgAiABEP4BCwsjACAARQRAQZO8wABBMhCTAwALIAAgAiADIAQgASgCEBEKAAsjACAARQRAQZO8wABBMhCTAwALIAAgAiADIAQgASgCEBEVAAsjACAARQRAQZO8wABBMhCTAwALIAAgAiADIAQgASgCEBEEAAsjACAARQRAQZO8wABBMhCTAwALIAAgAiADIAQgASgCEBEOAAsjACAARQRAQZO8wABBMhCTAwALIAAgAiADIAQgASgCEBEUAAsXACABIANGBH8gACACIAEQ9wFFBUEACwseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLHwEBf0H47cAAIQFB8O3AACkDAFAEfyAAEM0BBSABCwshACAARQRAQZO8wABBMhCTAwALIAAgAiADIAEoAhARAwALFAAgACgCAARAIABBBGooAgAQKwsLGgAgACgCACgCACABKAIMIAJBBHRrQXBqEEILHQAgASgCAEUEQAALIABB6LLAADYCBCAAIAE2AgALHwAgAEUEQEHUtMAAQTIQkwMACyAAIAIgASgCEBEAAAsfACAARQRAQbS4wABBMhCTAwALIAAgAiABKAIQEQAACx8AIABFBEBBk7zAAEEyEJMDAAsgACACIAEoAhARAQALFQEBfyAAKAIEIAAoAggQASAAEMcCCxcAIAAoAgAEQCAAEKcCIABBDGoQpwILCx4BAX9BtO3AACEBQbDtwAAoAgAEfyABBSAAEMkBCwsZAQF/IAAoAhAiAQR/IAEFIABBFGooAgALCxkAIAEgAiADEJUCIABBBDoAACAAIAM2AgQLFwAgAEEEaigCACAAQQhqKAIAIAEQmQMLEgBBAEEZIABBAXZrIABBH0YbCxYAIAAgAUEBcjYCBCAAIAFqIAE2AgALFgAgAEEEaigCACAAQQhqKAIAIAEQLgsTAEGI7cAAKAIABEAQmQEQogILCxcAQaDtwAAoAgBFBEAgABBvC0Gc7cAACxcAIAAgAjYCCCAAIAE2AgQgACACNgIACxAAIAAgAWpBf2pBACABa3ELEgAgAC0AAEEERwRAIAAQhwILCwwAIAAgASACIAMQLwsLACABBEAgABArCwsPACAAQQF0IgBBACAAa3ILGQAgASgCAEGEz8AAQQsgASgCBCgCDBEFAAsZACABKAIAQY/PwABBDiABKAIEKAIMEQUACxkAIAEoAgBBmOXAAEEFIAEoAgQoAgwRBQALEwAgACgCACgCCCABIAIQlQJBAAsSACABIAIgAxCVAiAAQQQ6AAALCgAgAEEIahDHAgsPACAAKAIABEAgABCsAQsLFAAgACgCACABIAAoAgQoAgwRAQALDwAgACABIAIgAyAEECkACw4AIAAoAgAgARBwGkEACxAAIAAoAgAgASACEJUCQQALEAAgACgCCCABIAIQlQJBAAsIACAAIAEQSQsRACAAKAIAIAAoAgQgARCZAwsQACAAIAI2AgQgACABNgIACxYAQdTtwAAgADYCAEHQ7cAAQQE6AAALEwAgAEGYx8AANgIEIAAgATYCAAsNACAALQAEQQJxQQF2Cw8AIAAgAUEEaikCADcDAAsQACABIAAoAgAgACgCBBAsCw0AIAAgASACEJUCQQALCgBBACAAayAAcQsLACAALQAEQQNxRQsMACAAIAFBA3I2AgQLDQAgACgCACAAKAIEagsNACAAKAIAIAEQWEEACw4AIAAoAgAaA0AMAAsACwwAIAAgASACEMIBAAsMACAAIAEgAhDDAQALDAAgACABIAIQxAEACw0AIAA1AgBBASABEFsLDAAgACABIAIQvgIACw0AIAAoAgAgASACEEcLDQAgACkDAEEBIAEQWwsNACAAMwEAQQEgARBbCwsAIAAjAGokACMACw0AIAFB7IXAAEECECwLCgAgACABIAIQOwsLACAAIAIgARChAQsHACAAEMcCCwsAIAAoAgAgARBKCwsAIAAgAUHSABAiCwkAIAAgARAhAAsKACAAKAIEQXhxCwoAIAAoAgRBAXELCgAgACgCDEEBcQsKACAAKAIMQQF2CxoAIAAgAUHY7cAAKAIAIgBB7wAgABsRAAAACwoAIAIgACABECwLDAAgACABKQIANwMACwwAIAAgASkCCDcDAAsLACAAKAIAIAEQXAsNACABQZjTwABBAhAsCwsAIAAgASACEJYBCwoAIAAgASACEFkLCgAgACABIAIQNQsJACAAQQQ6AAALCQAgAEEANgIACwgAIAAgARAaCwcAIAAgAWoLBwAgACABawsHACAAQQhqCwcAIABBeGoLBwAgABDZAQsHACAAEIwCCwQAQQELDQBCv5iI+LSLlrOSfwsNAELIteDPyobb04l/Cw0AQpaj96+51KDrgX8LDABCh6/GrIOQrLgSCwMAAQsDAAELC55sBABBgIDAAAvkVQEAAAAEAAAABAAAAAIAAAADAAAAAwAAAAEAAAAEAAAABAAAAAQAAAAFAAAABQAAAP//////////YHVud3JhcF90aHJvd2AgZmFpbGVkAAAACQAAAGABAAAIAAAACgAAAAsAAAAgAgAACAAAAAwAAAANAAAABAAAAAQAAAAOAAAADwAAAA0AAAAEAAAABAAAABAAAAARAAAAL2hvbWUvbmduaXVzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3dhc20tYmluZGdlbi1mdXR1cmVzLTAuNC4zNC9zcmMvbGliLnJzAJgAEABjAAAA2gAAABUAAAAAAAAAYGFzeW5jIGZuYCByZXN1bWVkIGFmdGVyIGNvbXBsZXRpb24AEgAAAC9ydXN0Yy85YTdjYzZjMzJmMWE2OTBmODY4MjdlNDcyNGJjZGE4NWU1MDZlZjM1L2xpYnJhcnkvc3RkL3NyYy9pby9tb2QucnMAAAA4ARAASQAAAFUBAAAYAAAAc3RyZWFtIGRpZCBub3QgY29udGFpbiB2YWxpZCBVVEYtOAAAlAEQACIAAAAVAAAAL3J1c3RjLzlhN2NjNmMzMmYxYTY5MGY4NjgyN2U0NzI0YmNkYTg1ZTUwNmVmMzUvbGlicmFyeS9zdGQvc3JjL2lvL3JlYWRidWYucnMAAADEARAATQAAAMsAAAA2AAAAxAEQAE0AAABjAAAANgAAAGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb24AAA0AAAAAAAAAAQAAABMAAAAvcnVzdGMvOWE3Y2M2YzMyZjFhNjkwZjg2ODI3ZTQ3MjRiY2RhODVlNTA2ZWYzNS9saWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2xvY2FsLnJzAIwCEABPAAAApgEAABoAAAAoKQAADQAAAAQAAAAEAAAAFAAAABUAAAAWAAAADQAAAAQAAAAEAAAAFwAAABgAAAAZAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQANAAAAAAAAAAEAAAAaAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQANAAAAAAAAAAEAAAAbAAAAL2hvbWUvbmduaXVzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjEvc3JjL2NodW5rZWRfZW5jb2Rlci5ycwAAAJgDEABhAAAALQAAABoAAACYAxAAYQAAADcAAABEAAAAmAMQAGEAAAA6AAAAJwAAAC9ob21lL25nbml1cy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iYXNlNjQtMC4xMy4xL3NyYy9lbmNvZGUucnMsBBAAWAAAALYAAAAgAAAALAQQAFgAAAC3AAAAJQAAACwEEABYAAAA/AAAABwAAAAsBBAAWAAAAP0AAAAhAAAALAQQAFgAAAATAQAACQAAACwEEABYAAAAFAEAAAkAAAAsBBAAWAAAAAsBAAAJAAAALAQQAFgAAAANAQAADwAAACwEEABYAAAADAEAAAkAAAAsBBAAWAAAAA8BAAAJAAAAV3JpdGluZyB0byBhIFN0cmluZyBzaG91bGRuJ3QgZmFpbAAALAQQAFgAAABTAAAADgAAACwEEABYAAAAoAAAACoAAAD//////////3VzZHBsLWZyb250L3NyYy9jb25uZWN0aW9uLnJzAAAAcAUQAB0AAAAZAAAAJgAAAFBPU1RodHRwOi8vdXNkcGwuOi91c2RwbC9jYWxsAAAApAUQAAwAAACwBRAAAQAAALEFEAABAAAAsgUQAAsAAABsb2NhbGhvc3QAAADgBRAACQAAAHAFEAAdAAAALQAAACQAAABwBRAAHQAAADQAAAAnAAAAcAUQAB0AAABJAAAAJgAAAEV4cGVjdGVkIGNhbGwgcmVzcG9uc2UgbWVzc2FnZSwgZ290IHNvbWV0aGluZyBlbHNldXNkcGwtZnJvbnQvc3JjL2xpYi5yc1YGEAAWAAAAcAAAAE4AAABWBhAAFgAAAG8AAAABAAAAVgYQABYAAACfAAAAJgAAAFYGEAAWAAAAngAAAAEAAAAcAAAAZmFpbGVkIHRvIGZpbGwgYnVmZmVyZmFpbGVkIHRvIGZpbGwgd2hvbGUgYnVmZmVyxQYQABsAAAAlAAAAL3J1c3RjLzlhN2NjNmMzMmYxYTY5MGY4NjgyN2U0NzI0YmNkYTg1ZTUwNmVmMzUvbGlicmFyeS9zdGQvc3JjL2lvL2ltcGxzLnJzAOwGEABLAAAA8gAAAA0AAAAvcnVzdGMvOWE3Y2M2YzMyZjFhNjkwZjg2ODI3ZTQ3MjRiY2RhODVlNTA2ZWYzNS9saWJyYXJ5L3N0ZC9zcmMvaW8vY3Vyc29yLnJzSAcQAEwAAADrAAAACgAAAC9ydXN0Yy85YTdjYzZjMzJmMWE2OTBmODY4MjdlNDcyNGJjZGE4NWU1MDZlZjM1L2xpYnJhcnkvc3RkL3NyYy9pby9yZWFkYnVmLnJzAAAApAcQAE0AAADmAAAADgAAAB0AAAAMAAAABAAAAB4AAAAfAAAAIAAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAIQAAAAAAAAABAAAAIgAAAC9ydXN0Yy85YTdjYzZjMzJmMWE2OTBmODY4MjdlNDcyNGJjZGE4NWU1MDZlZjM1L2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwBkCBAASwAAAOkJAAAOAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZTAuMTAuMHVzZHBsLWZyb250L3NyYy9saWIucnMA8QgQABYAAABhAAAAGAAAAPEIEAAWAAAAaQAAABgAAADxCBAAFgAAAMMAAABAAAAA8QgQABYAAADRAAAAQAAAACMAAAAMAAAABAAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAAvaG9tZS9uZ25pdXMvRG9jdW1lbnRzL2dpdC1yZXBvcy91c2RwbC1ycy91c2RwbC1jb3JlL3NyYy9zZXJkZXMvdHJhaXRzLnJzAAAAcAkQAEkAAAB2AAAAHAAAACsAAAAYAAAACAAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAAIwAAAAwAAAAEAAAANAAAACMAAAAMAAAABAAAADUAAAA0AAAA+AkQADYAAAA3AAAAOAAAADYAAAA5AAAAZmFpbGVkIHRvIHdyaXRlIHdob2xlIGJ1ZmZlcjQKEAAcAAAAFwAAADoAAAAMAAAABAAAADsAAAA8AAAAPQAAAGZvcm1hdHRlciBlcnJvcgB0ChAADwAAACgAAAAvcnVzdGMvOWE3Y2M2YzMyZjFhNjkwZjg2ODI3ZTQ3MjRiY2RhODVlNTA2ZWYzNS9saWJyYXJ5L3N0ZC9zcmMvaW8vbW9kLnJzAAAAkAoQAEkAAAAmBQAAFgAAAC9ydXN0Yy85YTdjYzZjMzJmMWE2OTBmODY4MjdlNDcyNGJjZGE4NWU1MDZlZjM1L2xpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9pby5ycwAAAOwKEABdAAAADgAAABMAAABhZHZhbmNpbmcgaW8gc2xpY2VzIGJleW9uZCB0aGVpciBsZW5ndGgAXAsQACcAAACQChAASQAAACgFAAANAAAAIwAAAAwAAAAEAAAAPgAAAD8AAAAgAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQBAAAAAAAAAAAEAAAAiAAAAL3J1c3RjLzlhN2NjNmMzMmYxYTY5MGY4NjgyN2U0NzI0YmNkYTg1ZTUwNmVmMzUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAPwLEABLAAAA6QkAAA4AAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogAAAAgwwQACoAAAAvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMS9zcmMvZGVjb2RlLnJzuAwQAFgAAADZAQAAHwAAALgMEABYAAAA3wEAAB8AAAC4DBAAWAAAAOgBAAAfAAAAuAwQAFgAAADxAQAAHwAAALgMEABYAAAA+gEAAB8AAAC4DBAAWAAAAAMCAAAfAAAAuAwQAFgAAAAMAgAAHwAAALgMEABYAAAAFQIAAB8AAAC4DBAAWAAAAAoBAAAkAAAAuAwQAFgAAAALAQAAKQAAALgMEABYAAAAMQEAABYAAAC4DBAAWAAAADQBAAAaAAAAuAwQAFgAAABIAQAADgAAALgMEABYAAAASwEAABIAAAC4DBAAWAAAAF8BAAATAAAASW1wb3NzaWJsZTogbXVzdCBvbmx5IGhhdmUgMCB0byA4IGlucHV0IGJ5dGVzIGluIGxhc3QgY2h1bmssIHdpdGggbm8gaW52YWxpZCBsZW5ndGhzAA4QAFQAAAC4DBAAWAAAAKQBAAAOAAAAuAwQAFgAAAC4AQAACQAAAE92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgb3V0cHV0IGJ1ZmZlciBsZW5ndGgAALgMEABYAAAAnQAAAAoAAAC4DBAAWAAAAKIAAAAhAAAAdXNkcGwtZnJvbnQvc3JjL2NvbnZlcnQucnMAAMwOEAAaAAAAIAAAACcAAABjcmFua3NoYWZ0AAD4DhAACgAAAGRlY2t5AAAADA8QAAUAAABhbnkAHA8QAAMAAABMb2FkRXJyb3I6IElvKCkAKA8QAA4AAAA2DxAAAQAAAExvYWRFcnJvcjogSW52YWxpZERhdGEAAEgPEAAWAAAATG9hZEVycm9yOiBUb29TbWFsbEJ1ZmZlcgAAAGgPEAAZAAAARHVtcEVycm9yOiBJbygAAIwPEAAOAAAANg8QAAEAAABEdW1wRXJyb3I6IFVuc3VwcG9ydGVkAACsDxAAFgAAAER1bXBFcnJvcjogVG9vU21hbGxCdWZmZXIAAADMDxAAGQAAAC9ob21lL25nbml1cy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iYXNlNjQtMC4xMy4xL3NyYy9lbmNvZGUucnPwDxAAWAAAADsBAAAJAAAAISIjJCUmJygpKissLTAxMjM0NTY3ODlAQUJDREVGR0hJSktMTU5QUVJTVFVWWFlaW2BhYmNkZWhpamtsbXBxckFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5KywuL0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Li8wMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv////////////////////////////////////////////AAECAwQFBgcICQoLDP//DQ4PEBESExQVFv///////xcYGRobHB0eHyAhIiMkJf8mJygpKiss/y0uLzD/////MTIzNDU2//83ODk6Ozz//z0+P/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+P////zQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn///////8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAE2Nzg5Ojs8PT4//////////wIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRob////////HB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDX//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgMEBQYHCAkKC/////////8MDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJf///////yYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z7//zQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn/////P/8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pv///z80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mBEQAFgREAAYERAA2BAQAJgQEABYEBAA2BYQANgVEADYFBAA2BMQANgSEADYERAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBCAAAACAAAAAQAAABDAAAAL2hvbWUvbmduaXVzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2Jhc2U2NC0wLjEzLjEvc3JjL2NodW5rZWRfZW5jb2Rlci5ycwAAAEQYEABhAAAAaAAAADAAAABPdmVyZmxvdyB3aGVuIGNhbGN1bGF0aW5nIG51bWJlciBvZiBjaHVua3MgaW4gaW5wdXQvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMS9zcmMvZGVjb2RlLnJzAOsYEABYAAAAwwAAAAoAAABEAAAACAAAAAQAAABFAAAARgAAAEQAAAAIAAAABAAAAEcAAABib2R5bWV0aG9kbW9kZXNhbWUtb3JpZ2lubm8tY29yc2NvcnNuYXZpZ2F0ZWF0dGVtcHRlZCB0byBjb252ZXJ0IGludmFsaWQgUmVxdWVzdE1vZGUgaW50byBKU1ZhbHVlL2hvbWUvbmduaXVzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3dlYi1zeXMtMC4zLjYxL3NyYy9mZWF0dXJlcy9nZW5fUmVxdWVzdE1vZGUucnPZGRAAawAAAAMAAAABAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRjYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uSwAAAAAAAAABAAAAEwAAAC9ydXN0Yy85YTdjYzZjMzJmMWE2OTBmODY4MjdlNDcyNGJjZGE4NWU1MDZlZjM1L2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnMA3BoQAE8AAACmAQAAGgAAAGFscmVhZHkgYm9ycm93ZWRLAAAAAAAAAAEAAABMAAAATQAAAAQAAAAEAAAATgAAAE8AAABNAAAABAAAAAQAAABQAAAAUQAAAEZuT25jZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2UvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMtMC40LjM0L3NyYy9saWIucnMAoBsQAGMAAAClAAAADwAAAKAbEABjAAAAhQAAACcAAACgGxAAYwAAAK8AAAAkAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWQAAFMAAAAEAAAABAAAAFQAAABVAAAAYWxyZWFkeSBib3Jyb3dlZFYAAAAAAAAAAQAAAEwAAABhbHJlYWR5IG11dGFibHkgYm9ycm93ZWRWAAAAAAAAAAEAAABXAAAAL2hvbWUvbmduaXVzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3dhc20tYmluZGdlbi1mdXR1cmVzLTAuNC4zNC9zcmMvcXVldWUucnMAAADEHBAAZQAAABoAAAAuAAAAxBwQAGUAAAAdAAAAKQAAAMQcEABlAAAAMgAAABoAAAAvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMtMC40LjM0L3NyYy90YXNrL3NpbmdsZXRocmVhZC5ycwAAAFwdEABxAAAAIQAAABUAAABYAAAAWQAAAFoAAABbAAAAXAAAAFwdEABxAAAAVQAAACUAAABdAAAAcmV0dXJuIHRoaXNjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGNhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb24AagAAAAAAAAABAAAAEwAAAC9ydXN0Yy85YTdjYzZjMzJmMWE2OTBmODY4MjdlNDcyNGJjZGE4NWU1MDZlZjM1L2xpYnJhcnkvc3RkL3NyYy90aHJlYWQvbG9jYWwucnMAnB4QAE8AAACmAQAAGgAAAFRyaWVkIHRvIHNocmluayB0byBhIGxhcmdlciBjYXBhY2l0efweEAAkAAAAL3J1c3RjLzlhN2NjNmMzMmYxYTY5MGY4NjgyN2U0NzI0YmNkYTg1ZTUwNmVmMzUvbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5ycygfEABMAAAArwEAAAkAAABwAAAABAAAAAQAAABxAAAAcgAAAHMAAABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlQWNjZXNzRXJyb3IAAJwfEAAAAAAAdW5jYXRlZ29yaXplZCBlcnJvcm90aGVyIGVycm9yb3V0IG9mIG1lbW9yeXVuZXhwZWN0ZWQgZW5kIG9mIGZpbGV1bnN1cHBvcnRlZG9wZXJhdGlvbiBpbnRlcnJ1cHRlZGFyZ3VtZW50IGxpc3QgdG9vIGxvbmdpbnZhbGlkIGZpbGVuYW1ldG9vIG1hbnkgbGlua3Njcm9zcy1kZXZpY2UgbGluayBvciByZW5hbWVkZWFkbG9ja2V4ZWN1dGFibGUgZmlsZSBidXN5cmVzb3VyY2UgYnVzeWZpbGUgdG9vIGxhcmdlZmlsZXN5c3RlbSBxdW90YSBleGNlZWRlZHNlZWsgb24gdW5zZWVrYWJsZSBmaWxlbm8gc3RvcmFnZSBzcGFjZXdyaXRlIHplcm90aW1lZCBvdXRpbnZhbGlkIGRhdGFpbnZhbGlkIGlucHV0IHBhcmFtZXRlcnN0YWxlIG5ldHdvcmsgZmlsZSBoYW5kbGVmaWxlc3lzdGVtIGxvb3Agb3IgaW5kaXJlY3Rpb24gbGltaXQgKGUuZy4gc3ltbGluayBsb29wKXJlYWQtb25seSBmaWxlc3lzdGVtIG9yIHN0b3JhZ2UgbWVkaXVtZGlyZWN0b3J5IG5vdCBlbXB0eWlzIGEgZGlyZWN0b3J5bm90IGEgZGlyZWN0b3J5b3BlcmF0aW9uIHdvdWxkIGJsb2NrZW50aXR5IGFscmVhZHkgZXhpc3RzYnJva2VuIHBpcGVuZXR3b3JrIGRvd25hZGRyZXNzIG5vdCBhdmFpbGFibGVhZGRyZXNzIGluIHVzZW5vdCBjb25uZWN0ZWRjb25uZWN0aW9uIGFib3J0ZWRuZXR3b3JrIHVucmVhY2hhYmxlaG9zdCB1bnJlYWNoYWJsZWNvbm5lY3Rpb24gcmVzZXRjb25uZWN0aW9uIHJlZnVzZWRwZXJtaXNzaW9uIGRlbmllZGVudGl0eSBub3QgZm91bmQgKG9zIGVycm9yICkAAACcHxAAAAAAAMkiEAALAAAA1CIQAAEAAABtZW1vcnkgYWxsb2NhdGlvbiBvZiAgYnl0ZXMgZmFpbGVkAADwIhAAFQAAAAUjEAANAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzJCMQABgAAABVAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnNMIxAAHAAAAD4CAAAeAAAATCMQABwAAAA9AgAAHwAAAHQAAAAMAAAABAAAAHUAAABwAAAACAAAAAQAAAB2AAAAdwAAABAAAAAEAAAAeAAAAHkAAABwAAAACAAAAAQAAAB6AAAAewAAAHAAAAAAAAAAAQAAAHwAAABvcGVyYXRpb24gc3VjY2Vzc2Z1bA4AAAAQAAAAFgAAABUAAAALAAAAFgAAAA0AAAALAAAAEwAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABEAAAASAAAAEAAAABAAAAATAAAAEgAAAA0AAAAOAAAAFQAAAAwAAAALAAAAFQAAABUAAAAPAAAADgAAABMAAAAmAAAAOAAAABkAAAAXAAAADAAAAAkAAAAKAAAAEAAAABcAAAAZAAAADgAAAA0AAAAUAAAACAAAABsAAABjIBAAUyAQAD0gEAAoIBAAHSAQAAcgEAD6HxAA7x8QANwfEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEAC5IhAAuSIQALkiEACoIhAAliIQAIYiEAB2IhAAYyIQAFEiEABEIhAANiIQACEiEAAVIhAACiIQAPUhEADgIRAA0SEQAMMhEACwIRAAiiEQAFIhEAA5IRAAIiEQABYhEAANIRAAAyEQAPMgEADcIBAAwyAQALUgEACoIBAAlCAQAIwgEABxIBAASGFzaCB0YWJsZSBjYXBhY2l0eSBvdmVyZmxvd/QlEAAcAAAAL2NhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oYXNoYnJvd24tMC4xMi4zL3NyYy9yYXcvbW9kLnJzGCYQAFQAAABaAAAAKAAAAH0AAAAEAAAABAAAAH4AAAB/AAAAgAAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNjYXBhY2l0eSBvdmVyZmxvdwAAALAmEAARAAAAlCYQABwAAAANAgAABQAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvcgB9AAAAAAAAAAEAAAAiAAAAbGlicmFyeS9hbGxvYy9zcmMvZm10LnJzICcQABgAAABkAgAAIAAAAO+/vQBjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlKS4uAAB4JxAAAgAAAEJvcnJvd0Vycm9yQm9ycm93TXV0RXJyb3IAaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyAgYnV0IHRoZSBpbmRleCBpcyCeJxAAIAAAAL4nEAASAAAAhgAAAAAAAAABAAAAhwAAAEwnEAAAAAAAYDogAEwnEAAAAAAA+ScQAAIAAACGAAAADAAAAAQAAACIAAAAiQAAAIoAAAAgICAgIHsKLAosICB7IH0gfSgKKCwAAACGAAAABAAAAAQAAACLAAAAbGlicmFyeS9jb3JlL3NyYy9mbXQvbnVtLnJzAEwoEAAbAAAAZQAAABQAAAAweDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AACGAAAABAAAAAQAAACMAAAAjQAAAI4AAABsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAXCkQABsAAACSCQAAHgAAAFwpEAAbAAAAmQkAABYAAAAoKWxpYnJhcnkvY29yZS9zcmMvc2xpY2UvbWVtY2hyLnJzAACaKRAAIAAAAHEAAAAnAAAAcmFuZ2Ugc3RhcnQgaW5kZXgg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BQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsuAzABAgQCAicBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEAAJQA0YLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJCgQCAV8DAgEBAgYBAgGdAQMIFQI5AgEBAQEWAQ4HAwXDCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAgYBAWUDAgQBBQAJAQL1AQoCAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAQEBAAEGDwAFOwcAAT8EUQEAAgAuAhcAAQEDBAUICAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQVkAaAHAAE9BAAEAAdtBwBggPAAQdDswAALAml6AEcJcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkCBndhbHJ1cwYwLjE5LjAMd2FzbS1iaW5kZ2VuEjAuMi44NCAoY2VhOGNjM2QyKQ=="; - -function asciiToBinary(str) { - if (typeof atob === 'function') { - return atob(str) - } else { - return new Buffer(str, 'base64').toString('binary'); - } -} - -function decode() { - var binaryString = asciiToBinary(encoded); - var bytes = new Uint8Array(binaryString.length); - for (var i = 0; i < binaryString.length; i++) { - bytes[i] = binaryString.charCodeAt(i); - } - return (async function() {return new Response(bytes.buffer);})(); -} - -export function init_embedded() { - return init(decode()) -} diff --git a/templates/decky/src/usdpl-front/usdpl_front_bg.wasm b/templates/decky/src/usdpl-front/usdpl_front_bg.wasm deleted file mode 100644 index 9303370..0000000 Binary files a/templates/decky/src/usdpl-front/usdpl_front_bg.wasm and /dev/null differ diff --git a/templates/decky/src/usdpl-front/usdpl_front_bg.wasm.d.ts b/templates/decky/src/usdpl-front/usdpl_front_bg.wasm.d.ts deleted file mode 100644 index 959d805..0000000 --- a/templates/decky/src/usdpl-front/usdpl_front_bg.wasm.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -export const memory: WebAssembly.Memory; -export function init_usdpl(a: number): void; -export function target_usdpl(a: number): void; -export function version_usdpl(a: number): void; -export function set_value(a: number, b: number, c: number): number; -export function get_value(a: number, b: number): number; -export function call_backend(a: number, b: number, c: number, d: number): number; -export function init_tr(a: number, b: number): number; -export function tr(a: number, b: number, c: number): void; -export function tr_n(a: number, b: number, c: number, d: number): void; -export function __wbindgen_export_0(a: number): number; -export function __wbindgen_export_1(a: number, b: number, c: number): number; -export const __wbindgen_export_2: WebAssembly.Table; -export function __wbindgen_export_3(a: number, b: number, c: number): void; -export function __wbindgen_add_to_stack_pointer(a: number): number; -export function __wbindgen_export_4(a: number, b: number): void; -export function __wbindgen_export_5(a: number): void; -export function __wbindgen_export_6(a: number, b: number, c: number, d: number): void; diff --git a/templates/decky/tsconfig.json b/templates/decky/tsconfig.json deleted file mode 100644 index 13b0c35..0000000 --- a/templates/decky/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "outDir": "dist", - "module": "ESNext", - "target": "ES2020", - "jsx": "react", - "jsxFactory": "window.SP_REACT.createElement", - "declaration": false, - "moduleResolution": "node", - "noUnusedLocals": true, - "noUnusedParameters": true, - "esModuleInterop": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "strict": true, - "suppressImplicitAnyIndexErrors": true, - "allowSyntheticDefaultImports": true, - "skipLibCheck": true - }, - "include": ["src"], - "exclude": ["node_modules"] -}