From d86d72af05fa64fe5bfe5d82e3f23729243b1999 Mon Sep 17 00:00:00 2001 From: "NGnius (Graham)" Date: Mon, 4 Jul 2022 22:02:38 -0400 Subject: [PATCH] Upgrade to decky 2.0 plugin system --- .gitignore | 43 + README.md | 2 +- assets/logo.png | Bin 0 -> 21108 bytes assets/ui.png | Bin 0 -> 122785 bytes backend-rs/Cargo.lock | 1107 ++++++++++++ backend-rs/Cargo.toml | 19 + backend-rs/Cross.toml | 6 + backend-rs/build.sh | 4 + backend-rs/src/api.rs | 259 +++ backend-rs/src/control.rs | 217 +++ backend-rs/src/datastructs.rs | 211 +++ backend-rs/src/json.rs | 78 + backend-rs/src/main.rs | 41 + backend-rs/src/sys.rs | 17 + extras/ui.png | Bin 89510 -> 0 bytes fantastic.json | 1 + main.py | 4 +- package-lock.json | 2582 ++++++++++++++++++++++++++++ package.json | 46 + plugin.json | 6 +- rollup.config.js | 37 + src/backend.ts | 74 + src/canvas.tsx | 39 + src/index.tsx | 287 ++++ src/types.d.ts | 14 + src/usdpl/package.json | 21 + src/usdpl/usdpl_front.d.ts | 51 + src/usdpl/usdpl_front.js | 476 +++++ src/usdpl/usdpl_front_bg.wasm | Bin 0 -> 58753 bytes src/usdpl/usdpl_front_bg.wasm.d.ts | 14 + tsconfig.json | 23 + 31 files changed, 5673 insertions(+), 6 deletions(-) create mode 100644 .gitignore create mode 100644 assets/logo.png create mode 100644 assets/ui.png create mode 100644 backend-rs/Cargo.lock create mode 100644 backend-rs/Cargo.toml create mode 100644 backend-rs/Cross.toml create mode 100755 backend-rs/build.sh create mode 100644 backend-rs/src/api.rs create mode 100644 backend-rs/src/control.rs create mode 100644 backend-rs/src/datastructs.rs create mode 100644 backend-rs/src/json.rs create mode 100644 backend-rs/src/main.rs create mode 100644 backend-rs/src/sys.rs delete mode 100644 extras/ui.png create mode 100644 fantastic.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 rollup.config.js create mode 100644 src/backend.ts create mode 100644 src/canvas.tsx create mode 100755 src/index.tsx create mode 100644 src/types.d.ts create mode 100644 src/usdpl/package.json create mode 100644 src/usdpl/usdpl_front.d.ts create mode 100644 src/usdpl/usdpl_front.js create mode 100644 src/usdpl/usdpl_front_bg.wasm create mode 100644 src/usdpl/usdpl_front_bg.wasm.d.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6497471 --- /dev/null +++ b/.gitignore @@ -0,0 +1,43 @@ +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 + +# ignore Rust compiler files +/backend-rs/target diff --git a/README.md b/README.md index 0242c86..e9a36e3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Fantastic -![plugin_demo](./extras/ui.png) +![plugin_demo](./assets/ui.png) Steam Deck fan controls. diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..48c4851c91b074e80ef95af91ea3903e1adefe47 GIT binary patch literal 21108 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 literal 0 HcmV?d00001 diff --git a/backend-rs/Cargo.lock b/backend-rs/Cargo.lock new file mode 100644 index 0000000..6cee412 --- /dev/null +++ b/backend-rs/Cargo.lock @@ -0,0 +1,1107 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[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.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "cpufeatures" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" +dependencies = [ + "libc", +] + +[[package]] +name = "crypto-common" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", +] + +[[package]] +name = "fantastic-rs" +version = "0.3.0" +dependencies = [ + "log", + "serde", + "serde_json", + "simplelog", + "usdpl-back", +] + +[[package]] +name = "fastrand" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +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.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" + +[[package]] +name = "futures-sink" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" + +[[package]] +name = "futures-task" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" + +[[package]] +name = "futures-util" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +dependencies = [ + "futures-core", + "futures-sink", + "futures-task", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "h2" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util 0.7.3", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" + +[[package]] +name = "headers" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cff78e5788be1e0ab65b04d306b2ed5092c815ec97ec70f4ebd5aee158aa55d" +dependencies = [ + "base64", + "bitflags", + "bytes", + "headers-core", + "http", + "httpdate", + "mime", + "sha-1 0.10.0", +] + +[[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.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[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.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" + +[[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.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42dc3c131584288d375f2d07f822b0cb012d8c6fb899a5b9fdb3cb7eb9b6004f" +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.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6012d540c5baa3589337a98ce73408de9b5a25ec9fc2c6fd6be8f0d39e0ca5a" +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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" + +[[package]] +name = "libc" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "matches" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713d550d9b44d89174e066b7a6217ae06234c10cb47819a88290d2b353c31799" +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.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +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 = "once_cell" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" + +[[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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pin-project" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" +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 = "ppv-lite86" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" + +[[package]] +name = "proc-macro2" +version = "1.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" +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.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" +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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +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 = "ryu" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + +[[package]] +name = "serde" +version = "1.0.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.137" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" +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.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.3", +] + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" + +[[package]] +name = "socket2" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "syn" +version = "1.0.96" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf" +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.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2702e08a7a860f005826c6815dcac101b19b5eb330c27fe4a5928fec1d20ddd" +dependencies = [ + "itoa", + "libc", + "num_threads", + "time-macros", +] + +[[package]] +name = "time-macros" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" + +[[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.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439" +dependencies = [ + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "once_cell", + "pin-project-lite", + "socket2", + "winapi", +] + +[[package]] +name = "tokio-stream" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "511de3f85caf1c98983545490c3d09685fa8eb634e57eec22bb4db271f46cbd8" +dependencies = [ + "futures-util", + "log", + "pin-project", + "tokio", + "tungstenite", +] + +[[package]] +name = "tokio-util" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", + "tracing", +] + +[[package]] +name = "tower-service" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" + +[[package]] +name = "tracing" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" +dependencies = [ + "cfg-if", + "log", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7709595b8878a4965ce5e87ebf880a7d39c9afc6837721b21a5a816a8117d921" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "tungstenite" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0b2d8558abd2e276b0a8df5c05a2ec762609344191e5fd23e292c910e9165b5" +dependencies = [ + "base64", + "byteorder", + "bytes", + "http", + "httparse", + "log", + "rand", + "sha-1 0.9.8", + "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.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + +[[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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" + +[[package]] +name = "unicode-ident" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "usdpl-back" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1e504c8c884d63ae224ebdbcc506112a7a24250a2fbb329f742d443d5fecda7" +dependencies = [ + "bytes", + "tokio", + "usdpl-core", + "warp", +] + +[[package]] +name = "usdpl-core" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd726b9f0121d4449082e3ce73586dea0a0448494031833b7b173e4476f0ea5" +dependencies = [ + "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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cef4e1e9114a4b7f1ac799f16ce71c14de5778500c5450ec6b7b920c55b587e" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "headers", + "http", + "hyper", + "log", + "mime", + "mime_guess", + "multipart", + "percent-encoding", + "pin-project", + "scoped-tls", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-stream", + "tokio-tungstenite", + "tokio-util 0.6.10", + "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.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" diff --git a/backend-rs/Cargo.toml b/backend-rs/Cargo.toml new file mode 100644 index 0000000..8a004c6 --- /dev/null +++ b/backend-rs/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "fantastic-rs" +version = "0.3.0" +edition = "2021" + +[dependencies] +usdpl-back = { version = "0.5.2", features = ["blocking"]}#, path = "../usdpl/usdpl-back"} +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" + +# logging +log = "0.4" +simplelog = "0.12" + +[profile.release] +debug = false +strip = true +lto = true +codegen-units = 4 diff --git a/backend-rs/Cross.toml b/backend-rs/Cross.toml new file mode 100644 index 0000000..3456834 --- /dev/null +++ b/backend-rs/Cross.toml @@ -0,0 +1,6 @@ +[build] +#xargo = true +default-target = "x86_64-unknown-linux-gnu" + +[build.env] +volumes = ["/home/ngnius/Documents/git-repos",] diff --git a/backend-rs/build.sh b/backend-rs/build.sh new file mode 100755 index 0000000..b7838e5 --- /dev/null +++ b/backend-rs/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +cross build --release +cp ./target/release/fantastic-rs ../backend diff --git a/backend-rs/src/api.rs b/backend-rs/src/api.rs new file mode 100644 index 0000000..9ae5953 --- /dev/null +++ b/backend-rs/src/api.rs @@ -0,0 +1,259 @@ +use usdpl_back::core::serdes::Primitive; + +use super::control::ControlRuntime; +use super::json::GraphPointJson; + +pub const VERSION: &'static str = env!("CARGO_PKG_VERSION"); +pub const NAME: &'static str = env!("CARGO_PKG_NAME"); + +pub fn hello(params: Vec) -> Vec { + if let Some(Primitive::String(name)) = params.get(0) { + vec![Primitive::String(format!("Hello {}", name))] + } else { + vec![] + } +} + +pub fn echo(params: Vec) -> Vec { + params +} + +pub fn version(_: Vec) -> Vec { + vec![VERSION.into()] +} + +pub fn name(_: Vec) -> Vec { + vec![NAME.into()] +} + +pub fn get_fan_rpm(_: Vec) -> Vec { + if let Some(rpm) = crate::sys::read_fan() { + log::debug!("get_fan_rpm() success: {}", rpm); + vec![rpm.into()] + } else { + log::error!("get_fan_rpm failed to read fan speed"); + Vec::new() + } +} + +pub fn get_temperature(_: Vec) -> Vec { + if let Some(temperature) = crate::sys::read_thermal_zone(0) { + let real_temp = temperature as f64 / 1000.0; + log::debug!("get_temperature() success: {}", real_temp); + vec![real_temp.into()] + } else { + log::error!("get_fan_rpm failed to read fan speed"); + Vec::new() + } +} + +pub fn set_enable_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + let runtime_state = runtime.state_clone(); + move |params| { + if let Some(Primitive::Bool(enabled)) = params.get(0) { + let mut settings = match runtime_settings.write() { + Ok(x) => x, + Err(e) => { + log::error!("set_enable failed to acquire settings write lock: {}", e); + return vec![]; + } + }; + if settings.enable != *enabled { + settings.enable = *enabled; + let mut state = match runtime_state.write() { + Ok(x) => x, + Err(e) => { + log::error!("set_enable failed to acquire state write lock: {}", e); + return vec![]; + } + }; + state.dirty = true; + log::debug!("set_enable({}) success", enabled); + } + vec![(*enabled).into()] + } else { + Vec::new() + } + } +} + +pub fn get_enable_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + move |_| { + let lock = match runtime_settings.read() { + Ok(x) => x, + Err(e) => { + log::error!("get_enable failed to acquire settings read lock: {}", e); + return vec![]; + } + }; + log::debug!("get_enable() success"); + vec![lock.enable.into()] + } +} + +pub fn set_interpolate_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + let runtime_state = runtime.state_clone(); + move |params| { + if let Some(Primitive::Bool(enabled)) = params.get(0) { + let mut settings = match runtime_settings.write() { + Ok(x) => x, + Err(e) => { + log::error!("set_enable failed to acquire settings write lock: {}", e); + return vec![]; + } + }; + if settings.interpolate != *enabled { + settings.interpolate = *enabled; + let mut state = match runtime_state.write() { + Ok(x) => x, + Err(e) => { + log::error!("set_interpolate failed to acquire state write lock: {}", e); + return vec![]; + } + }; + state.dirty = true; + log::debug!("set_interpolate({}) success", enabled); + } + vec![(*enabled).into()] + } else { + Vec::new() + } + } +} + +pub fn get_interpolate_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + move |_| { + let lock = match runtime_settings.read() { + Ok(x) => x, + Err(e) => { + log::error!("get_interpolate failed to acquire settings read lock: {}", e); + return vec![]; + } + }; + log::debug!("get_interpolate() success"); + vec![lock.interpolate.into()] + } +} + +fn curve_to_json(curve: &Vec) -> serde_json::Result { + let mut curve_points = Vec::::with_capacity(curve.len()); + for point in curve.iter() { + curve_points.push(point.clone().into()); + } + serde_json::to_string(&curve_points) +} + +pub fn get_curve_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + move |_| { + let lock = match runtime_settings.read() { + Ok(x) => x, + Err(e) => { + log::error!("get_curve failed to acquire settings read lock: {}", e); + return vec![]; + } + }; + let json_str = match curve_to_json(&lock.curve) { + Ok(x) => x, + Err(e) => { + log::error!("get_curve failed to serialize points: {}", e); + return vec![]; + } + }; + log::debug!("get_curve() success"); + vec![Primitive::Json(json_str)] + } +} + +pub fn add_curve_point_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + let runtime_state = runtime.state_clone(); + move |params| { + if let Some(Primitive::Json(json_str)) = params.get(0) { + let mut settings = match runtime_settings.write() { + Ok(x) => x, + Err(e) => { + log::error!("add_curve_point failed to acquire settings write lock: {}", e); + return vec![]; + } + }; + let new_point: GraphPointJson = match serde_json::from_str(&json_str) { + Ok(x) => x, + Err(e) => { + log::error!("add_curve_point failed deserialize point json: {}", e); + return vec![]; + } + }; + let version = settings.version; + settings.curve.push(super::datastructs::GraphPoint::from_json(new_point, version)); + settings.sort_curve(); + let mut state = match runtime_state.write() { + Ok(x) => x, + Err(e) => { + log::error!("add_curve_point failed to acquire state write lock: {}", e); + return vec![]; + } + }; + state.dirty = true; + let json_str = match curve_to_json(&settings.curve) { + Ok(x) => x, + Err(e) => { + log::error!("add_curve_point failed to serialize points: {}", e); + return vec![]; + } + }; + log::debug!("add_curve_point({}) success", json_str); + vec![Primitive::Json(json_str)] + } else { + Vec::new() + } + } +} + +pub fn remove_curve_point_gen(runtime: &ControlRuntime) -> impl Fn(Vec) -> Vec { + let runtime_settings = runtime.settings_clone(); + let runtime_state = runtime.state_clone(); + move |params| { + if let Some(Primitive::F64(index)) = params.get(0) { + let mut settings = match runtime_settings.write() { + Ok(x) => x, + Err(e) => { + log::error!("remove_curve_point failed to acquire settings write lock: {}", e); + return vec![]; + } + }; + let rounded = index.round(); + if rounded >= 0.0 && rounded < settings.curve.len() as _ { + let index = rounded as usize; + settings.curve.swap_remove(index); + settings.sort_curve(); + let mut state = match runtime_state.write() { + Ok(x) => x, + Err(e) => { + log::error!("remove_curve_point failed to acquire state write lock: {}", e); + return vec![]; + } + }; + state.dirty = true; + let json_str = match curve_to_json(&settings.curve) { + Ok(x) => x, + Err(e) => { + log::error!("remove_curve_point failed to serialize points: {}", e); + return vec![]; + } + }; + log::debug!("remove_curve_point({}) success", json_str); + vec![Primitive::Json(json_str)] + } else { + log::error!("remove_curve_point received index out of bounds: {} indexing array of length {}", index, settings.curve.len()); + return vec![]; + } + } else { + Vec::new() + } + } +} diff --git a/backend-rs/src/control.rs b/backend-rs/src/control.rs new file mode 100644 index 0000000..7cfda0c --- /dev/null +++ b/backend-rs/src/control.rs @@ -0,0 +1,217 @@ +//! Fan control + +use std::sync::{RwLock, Arc}; + +use std::thread; +use std::time::{Duration, Instant}; + +use super::datastructs::{Settings, State, GraphPoint}; +use super::json::SettingsJson; + +pub struct ControlRuntime { + settings: Arc>, + state: Arc>, +} + +impl ControlRuntime { + pub fn new() -> Self { + let new_state = State::new(); + let settings_p = settings_path(&new_state.home); + Self { + settings: Arc::new(RwLock::new(super::json::SettingsJson::open(settings_p).unwrap_or_default().into())), + state: Arc::new(RwLock::new(new_state)), + } + } + + pub(crate) fn settings_clone(&self) -> Arc> { + self.settings.clone() + } + + pub(crate) fn state_clone(&self) -> Arc> { + self.state.clone() + } + + pub fn run(&self) -> thread::JoinHandle<()> { + let runtime_settings = self.settings_clone(); + let runtime_state = self.state_clone(); + thread::spawn(move || { + let sleep_duration = Duration::from_millis(1000); + let mut start_time = Instant::now(); + loop { + if Instant::now().duration_since(start_time).as_secs_f64() * 0.95 > sleep_duration.as_secs_f64() { + // resumed from sleep; do fan re-init + log::debug!("Detected resume from sleep, overriding fan again"); + { + let state = match runtime_state.read() { + Ok(x) => x, + Err(e) => { + log::error!("runtime failed to acquire state read lock: {}", e); + continue; + } + }; + let settings = match runtime_settings.read() { + Ok(x) => x, + Err(e) => { + log::error!("runtime failed to acquire settings read lock: {}", e); + continue; + } + }; + Self::on_set_enable(&settings, &state); + } + } + start_time = Instant::now(); + { // save to file + let state = match runtime_state.read() { + Ok(x) => x, + Err(e) => { + log::error!("runtime failed to acquire state read lock: {}", e); + continue; + } + }; + if state.dirty { + // save settings to file + let settings = match runtime_settings.read() { + Ok(x) => x, + Err(e) => { + log::error!("runtime failed to acquire settings read lock: {}", e); + continue; + } + }; + let settings_json: SettingsJson = settings.clone().into(); + if let Err(e) = settings_json.save(settings_path(&state.home)) { + log::error!("SettingsJson.save({}) error: {}", settings_path(&state.home).display(), e); + } + Self::on_set_enable(&settings, &state); + } + } + { // fan control + let settings = match runtime_settings.read() { + Ok(x) => x, + Err(e) => { + log::error!("runtime failed to acquire settings read lock: {}", e); + continue; + } + }; + if settings.enable { + Self::do_fan_control(&settings); + } + } + thread::sleep(sleep_duration); + } + }) + } + + fn on_set_enable(settings: &Settings, _state: &State) { + // TODO stop/start jupiter fan control (or maybe let the UI handle that?) + if let Err(e) = crate::sys::write_fan_recalc(settings.enable) { + log::error!("runtime failed to write to fan recalculate file: {}", e); + } + } + + fn do_fan_control(settings: &Settings) { + /* + curve = self.settings["curve"] + fan_ratio = 0 # unnecessary in Python, but stupid without + if len(curve) == 0: + fan_ratio = 1 + else: + index = -1 + temperature_ratio = (thermal_zone(0) - TEMPERATURE_MINIMUM) / (TEMPERATURE_MAXIMUM - TEMPERATURE_MINIMUM) + for i in range(len(curve)-1, -1, -1): + if curve[i]["x"] < temperature_ratio: + index = i + break + if self.settings["interpolate"]: + fan_ratio = self.interpolate_fan(self, index, temperature_ratio) + else: + fan_ratio = self.step_fan(self, index, temperature_ratio) + set_fan_target(int((fan_ratio * FAN_MAXIMUM) + FAN_MINIMUM)) + */ + let fan_ratio: f64 = if let Some(thermal_zone) = crate::sys::read_thermal_zone(0) { + let temperature_ratio = (((thermal_zone as f64)/1000.0) - settings.temperature_bounds.min) + / (settings.temperature_bounds.max - settings.temperature_bounds.min); + let mut index = None; + for i in (0..settings.curve.len()).rev() { + if settings.curve[i].x < temperature_ratio { + index = Some(i); + break; + } + } + if settings.interpolate { + Self::interpolate_fan(settings, index, temperature_ratio) + } else { + Self::step_fan(settings, index, temperature_ratio) + } + } else { + 1.0 + }; + let fan_speed: u64 = ((fan_ratio * (settings.fan_bounds.max - settings.fan_bounds.min)) + settings.fan_bounds.min) as _; + if let Err(e) = crate::sys::write_fan_target(fan_speed) { + log::error!("runtime failed to write to fan target file: {}", e); + } + } + + fn interpolate_fan(settings: &Settings, index: Option, t_ratio: f64) -> f64 { + /* + curve = self.settings["curve"] + upper_point = {"x": 1.0, "y": 0.0} + lower_point = {"x": 0.0, "y": 1.0} + if index != -1: # guaranteed to not be empty + lower_point = curve[index] + if index != len(curve) - 1: + upper_point = curve[index+1] + #logging.debug(f"lower_point: {lower_point}, upper_point: {upper_point}") + upper_y = 1-upper_point["y"] + lower_y = 1-lower_point["y"] + slope_m = (upper_y - lower_y) / (upper_point["x"] - lower_point["x"]) + y_intercept_b = lower_y - (slope_m * lower_point["x"]) + logging.debug(f"interpolation: y = {slope_m}x + {y_intercept_b}") + return (slope_m * temperature_ratio) + y_intercept_b + */ + let (upper, lower) = if let Some(i) = index { + (if i != settings.curve.len() - 1 { + settings.curve[i+1].clone() + } else { + GraphPoint{x: 1.0, y: 1.0} + }, + settings.curve[i].clone()) + } else { + (if settings.curve.is_empty() { + GraphPoint{x: 1.0, y: 1.0} + } else { + settings.curve[0].clone() + }, + GraphPoint{x: 0.0, y: 0.0}) + }; + let slope_m = (upper.y - lower.y) / (upper.x - lower.x); + let y_intercept_b = lower.y - (slope_m * lower.x); + log::debug!("interpolation: y = {}x + {} (between {:?} and {:?})", slope_m, y_intercept_b, upper, lower); + (slope_m * t_ratio) + y_intercept_b + } + + fn step_fan(settings: &Settings, index: Option, _t_ratio: f64) -> f64 { + /* + curve = self.settings["curve"] + if index != -1: + return 1 - curve[index]["y"] + else: + if len(curve) == 0: + return 1 + else: + return 0.5 + */ + if let Some(index) = index { + settings.curve[index].y + } else { + if settings.curve.is_empty() { + 1.0 + } else { + 0.5 + } + } + } +} + +fn settings_path>(home: P) -> std::path::PathBuf { + home.as_ref().join(".config/fantastic/fantastic.json") +} diff --git a/backend-rs/src/datastructs.rs b/backend-rs/src/datastructs.rs new file mode 100644 index 0000000..e5d3b04 --- /dev/null +++ b/backend-rs/src/datastructs.rs @@ -0,0 +1,211 @@ +use std::default::Default; +use std::convert::{Into, From}; +use std::path::PathBuf; + +use super::json::{SettingsJson, GraphPointJson, BoundsJson}; + +#[derive(Debug, Clone)] +pub struct Settings { + pub version: u64, + pub enable: bool, + pub interpolate: bool, + pub curve: Vec, + pub fan_bounds: Bounds, + pub temperature_bounds: Bounds, +} + +impl Settings { + pub fn sort_curve(&mut self) { + self.curve.sort_by(|a, b| a.x.total_cmp(&b.x)) + } +} + +impl From for Settings { + fn from(mut other: SettingsJson) -> Self { + match other.version { + 0 => Self { + version: 1, + enable: other.enable, + interpolate: other.interpolate, + curve: other.curve.drain(..).map(|x| GraphPoint::from_json(x, other.version)).collect(), + fan_bounds: Bounds { + min: 1.0, + max: 7000.0, + }, + temperature_bounds: Bounds { + min: 0.0, + max: 100.0, + }, + }, + 1 => Self { + version: 1, + enable: other.enable, + interpolate: other.interpolate, + curve: other.curve.drain(..).map(|x| GraphPoint::from_json(x, other.version)).collect(), + fan_bounds: other.fan_bounds.map(|x| Bounds::::from_json(x, other.version)).unwrap_or(Bounds { + min: 1.0, + max: 7000.0, + }), + temperature_bounds: other.temperature_bounds.map(|x| Bounds::::from_json(x, other.version)).unwrap_or(Bounds { + min: 0.0, + max: 100.0, + }), + }, + _ => Self { + version: 1, + enable: other.enable, + interpolate: other.interpolate, + curve: other.curve.drain(..).map(|x| GraphPoint::from_json(x, other.version)).collect(), + fan_bounds: Bounds { + min: 1.0, + max: 7000.0, + }, + temperature_bounds: Bounds { + min: 0.0, + max: 100.0, + }, + } + } + } +} + +impl Into for Settings { + #[inline] + fn into(mut self) -> SettingsJson { + SettingsJson { + version: self.version, + enable: self.enable, + interpolate: self.interpolate, + curve: self.curve.drain(..).map(|x| x.into()).collect(), + fan_bounds: Some(self.fan_bounds.into()), + temperature_bounds: Some(self.temperature_bounds.into()), + } + } +} + +#[derive(Debug, Clone)] +pub struct GraphPoint { + pub x: f64, + pub y: f64, +} + +impl GraphPoint { + #[inline] + pub fn from_json(other: GraphPointJson, version: u64) -> Self { + match version { + 0 => Self { + x: other.x, + y: 1.0 - other.y, // use bottom left as origin, instead of whacky old way of top left + }, + 1 => Self { + x: other.x, + y: other.y, + }, + _ => Self { + x: other.x, + y: other.y, + } + } + } +} + +impl Into for GraphPoint { + #[inline] + fn into(self) -> GraphPointJson { + GraphPointJson { + x: self.x, + y: self.y, + } + } +} + +#[derive(Debug, Clone)] +pub struct Bounds { + pub min: T, + pub max: T, +} + +/*impl Bounds { + #[inline] + pub fn from_json(other: BoundsJson, version: u64) -> Self { + match version { + 0 => Self { + min: other.min as _, + max: other.max as _, + }, + 1 => Self { + min: other.min as _, + max: other.max as _, + }, + _ => Self { + min: other.min as _, + max: other.max as _, + } + } + } +}*/ + +impl Bounds { + #[inline] + pub fn from_json(other: BoundsJson, version: u64) -> Self { + match version { + 0 => Self { + min: other.min, + max: other.max, + }, + 1 => Self { + min: other.min, + max: other.max, + }, + _ => Self { + min: other.min, + max: other.max, + } + } + } +} + +/*impl Into for Bounds { + #[inline] + fn into(self) -> BoundsJson { + BoundsJson { + min: self.min as _, + max: self.max as _, + } + } +}*/ + +impl Into for Bounds { + #[inline] + fn into(self) -> BoundsJson { + BoundsJson { + min: self.min, + max: self.max, + } + } +} + +#[derive(Debug)] +pub struct State { + pub home: PathBuf, + pub dirty: bool, +} + +impl State { + pub fn new() -> Self { + let def = Self::default(); + Self { + home: usdpl_back::api::dirs::home().unwrap_or(def.home), + dirty: true, + } + } +} + +impl Default for State { + fn default() -> Self { + Self { + home: "/home/deck".into(), + dirty: true, + } + } +} diff --git a/backend-rs/src/json.rs b/backend-rs/src/json.rs new file mode 100644 index 0000000..363395f --- /dev/null +++ b/backend-rs/src/json.rs @@ -0,0 +1,78 @@ +use std::default::Default; +use std::fmt::Display; + +use serde::{Serialize, Deserialize}; + +//use super::datastructs::{Settings, GraphPoint}; + +#[derive(Serialize, Deserialize)] +pub struct SettingsJson { + pub version: u64, + pub enable: bool, + pub interpolate: bool, + pub curve: Vec, + pub fan_bounds: Option, + pub temperature_bounds: Option, +} + +#[derive(Serialize, Deserialize)] +pub struct GraphPointJson { + pub x: f64, + pub y: f64, +} + +#[derive(Serialize, Deserialize)] +pub struct BoundsJson { + pub min: f64, + pub max: f64, +} + +impl Default for SettingsJson { + fn default() -> Self { + Self { + version: 1, + enable: false, + interpolate: true, + curve: Vec::new(), + fan_bounds: Some(BoundsJson { + min: 0.0, + max: 7000.0, + }), + temperature_bounds: Some(BoundsJson { + min: 0.0, + max: 100.0, + }) + } + } +} + +impl SettingsJson { + pub fn save>(&self, path: P) -> Result<(), JsonError> { + let path = path.as_ref(); + if let Some(parent) = path.parent() { + std::fs::create_dir_all(parent).map_err(JsonError::Io)?; + } + let mut file = std::fs::File::create(path).map_err(JsonError::Io)?; + serde_json::to_writer_pretty(&mut file, &self).map_err(JsonError::Serde) + } + + pub fn open>(path: P) -> Result { + let mut file = std::fs::File::open(path).map_err(JsonError::Io)?; + serde_json::from_reader(&mut file).map_err(JsonError::Serde) + } +} + +#[derive(Debug)] +pub enum JsonError { + Serde(serde_json::Error), + Io(std::io::Error), +} + +impl Display for JsonError { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match self { + Self::Serde(e) => (e as &dyn Display).fmt(f), + Self::Io(e) => (e as &dyn Display).fmt(f), + } + } +} diff --git a/backend-rs/src/main.rs b/backend-rs/src/main.rs new file mode 100644 index 0000000..5b0545e --- /dev/null +++ b/backend-rs/src/main.rs @@ -0,0 +1,41 @@ +mod api; +mod control; +mod datastructs; +mod json; +mod sys; + +use simplelog::{WriteLogger, LevelFilter}; + +use usdpl_back::Instance; + +const PORT: u16 = 44444; + +fn main() -> Result<(), ()> { + WriteLogger::init( + LevelFilter::Debug, + Default::default(), + std::fs::File::create("/tmp/fantastic.log").unwrap() + ).unwrap(); + + log::info!("Starting back-end ({} v{})", api::NAME, api::VERSION); + println!("Starting back-end ({} v{})", api::NAME, api::VERSION); + let runtime = control::ControlRuntime::new(); + runtime.run(); + Instance::new(PORT) + .register("echo", api::echo) + .register("hello", api::hello) + .register("version", api::version) + .register("name", api::name) + .register("get_fan_rpm", api::get_fan_rpm) + .register("get_temperature", api::get_temperature) + .register("set_enable", api::set_enable_gen(&runtime)) + .register("get_enable", api::get_enable_gen(&runtime)) + .register("set_interpolate", api::set_interpolate_gen(&runtime)) + .register("get_interpolate", api::get_interpolate_gen(&runtime)) + .register("get_curve", api::get_curve_gen(&runtime)) + .register("add_curve_point", api::add_curve_point_gen(&runtime)) + .register("remove_curve_point", api::remove_curve_point_gen(&runtime)) + .run_blocking() + //Ok(()) + //println!("Hello, world!"); +} diff --git a/backend-rs/src/sys.rs b/backend-rs/src/sys.rs new file mode 100644 index 0000000..9bc0cd7 --- /dev/null +++ b/backend-rs/src/sys.rs @@ -0,0 +1,17 @@ +use usdpl_back::api::files::*; + +pub fn read_fan() -> Option { + read_single("/sys/class/hwmon/hwmon5/fan1_input").ok() +} + +pub fn read_thermal_zone(index: u8) -> Option { + read_single(format!("/sys/class/thermal/thermal_zone{}/temp", index)).ok() +} + +pub fn write_fan_recalc(enabled: bool) -> Result<(), std::io::Error> { + write_single("/sys/class/hwmon/hwmon5/recalculate", enabled as u8) +} + +pub fn write_fan_target(rpm: u64) -> Result<(), std::io::Error> { + write_single("/sys/class/hwmon/hwmon5/fan1_target", rpm) +} diff --git a/extras/ui.png b/extras/ui.png deleted file mode 100644 index 760a68c12a9a8b53bf8b4ff3d0c49004de720113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89510 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 diff --git a/fantastic.json b/fantastic.json new file mode 100644 index 0000000..0956d87 --- /dev/null +++ b/fantastic.json @@ -0,0 +1 @@ +{"version": 0, "enable": true, "interpolate": true, "curve": [{"x": 0.2740740740740741, "y": 0.815}, {"x": 0.725925925925926, "y": 0.665}, {"x": 0.9074074074074074, "y": 0.08}]} \ No newline at end of file diff --git a/main.py b/main.py index b0c5535..578aacf 100644 --- a/main.py +++ b/main.py @@ -10,7 +10,7 @@ HOME_DIR = str(pathlib.Path(os.getcwd()).parent.parent.resolve()) import logging logging.basicConfig( - filename = "/tmp/fantastic.log", + filename = "/tmp/fantastic.old.log", format = '%(asctime)s %(levelname)s %(message)s', filemode = 'w', force = True) @@ -35,6 +35,8 @@ DEFAULT_DATA = { "curve": [], # items are {x: int (distance from left), y: int (distance from top, NOT bottom)} } +logging.debug(f"CWD: {os.getcwd()}") + class Plugin: settings = None is_changed = False diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0719b85 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2582 @@ +{ + "name": "decky-plugin-template", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "decky-plugin-template", + "version": "0.0.1", + "license": "GPL-2.0-or-later", + "dependencies": { + "decky-frontend-lib": "*", + "react-icons": "^4.3.1", + "usdpl-front": "file:./src/usdpl" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^21.1.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^13.2.1", + "@rollup/plugin-replace": "^4.0.0", + "@rollup/plugin-typescript": "^8.3.2", + "@types/react": "16.14.0", + "@types/webpack": "^5.28.0", + "rollup": "^2.70.2", + "rollup-plugin-import-assets": "^1.1.1", + "shx": "^0.3.4", + "tslib": "^2.4.0", + "typescript": "^4.6.4" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", + "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz", + "integrity": "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^2.38.3" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^2.42.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-4.0.0.tgz", + "integrity": "sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-typescript": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.3.tgz", + "integrity": "sha512-55L9SyiYu3r/JtqdjhwcwaECXP7JeJ9h1Sg1VWRJKIutla2MdZQodTgcCNybXLMCnqpNLEhS2vGENww98L1npg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "rollup": "^2.14.0", + "tslib": "*", + "typescript": ">=3.7.0" + }, + "peerDependenciesMeta": { + "tslib": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", + "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.1.tgz", + "integrity": "sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "node_modules/@types/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.0.tgz", + "integrity": "sha512-jJjHo1uOe+NENRIBvF46tJimUvPnmbQ41Ax0pEm7pRvhPg+wuj8VMOHHiMvaGmZRzRrCtm7KnL5OOE/6kHPK8w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/webpack": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz", + "integrity": "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "tapable": "^2.2.0", + "webpack": "^5" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "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" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", + "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001359", + "electron-to-chromium": "^1.4.172", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001363", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz", + "integrity": "sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", + "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", + "dev": true + }, + "node_modules/decky-frontend-lib": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/decky-frontend-lib/-/decky-frontend-lib-1.0.1.tgz", + "integrity": "sha512-SgIPoB3IcWbzVRlXvs8JfhwrMphHYa7O/Ek2mh+rC0WTVT3TI2qGJ5+OoV16mw5kGY0DMu1ikcZC6ib1lh2zKQ==" + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.177", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.177.tgz", + "integrity": "sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-builtin-module": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", + "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "peer": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "dev": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-icons": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.4.0.tgz", + "integrity": "sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup": { + "version": "2.75.7", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.7.tgz", + "integrity": "sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-import-assets": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-import-assets/-/rollup-plugin-import-assets-1.1.1.tgz", + "integrity": "sha512-u5zJwOjguTf2N+wETq2weNKGvNkuVc1UX/fPgg215p5xPvGOaI6/BTc024E9brvFjSQTfIYqgvwogQdipknu1g==", + "dev": true, + "dependencies": { + "rollup-pluginutils": "^2.7.1", + "url-join": "^4.0.1" + }, + "peerDependencies": { + "rollup": ">=1.9.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shx": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", + "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", + "dev": true, + "dependencies": { + "minimist": "^1.2.3", + "shelljs": "^0.8.5" + }, + "bin": { + "shx": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz", + "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.7", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", + "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "node_modules/usdpl-front": { + "resolved": "src/usdpl", + "link": true + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "src/usdpl": { + "name": "usdpl-front", + "version": "0.4.0", + "license": "GPL-3.0-only" + } + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz", + "integrity": "sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", + "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@rollup/plugin-commonjs": { + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz", + "integrity": "sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-node-resolve": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", + "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.1.0", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-4.0.0.tgz", + "integrity": "sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/plugin-typescript": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.3.3.tgz", + "integrity": "sha512-55L9SyiYu3r/JtqdjhwcwaECXP7JeJ9h1Sg1VWRJKIutla2MdZQodTgcCNybXLMCnqpNLEhS2vGENww98L1npg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "resolve": "^1.17.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@types/eslint": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", + "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/node": { + "version": "18.0.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.1.tgz", + "integrity": "sha512-CmR8+Tsy95hhwtZBKJBs0/FFq4XX7sDZHlGGf+0q+BRZfMbOTkzkj0AFAuTyXbObDIoanaBBW0+KEW+m3N16Wg==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.0.tgz", + "integrity": "sha512-jJjHo1uOe+NENRIBvF46tJimUvPnmbQ41Ax0pEm7pRvhPg+wuj8VMOHHiMvaGmZRzRrCtm7KnL5OOE/6kHPK8w==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/webpack": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-5.28.0.tgz", + "integrity": "sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==", + "dev": true, + "requires": { + "@types/node": "*", + "tapable": "^2.2.0", + "webpack": "^5" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@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" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@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" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@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" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserslist": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.1.tgz", + "integrity": "sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001359", + "electron-to-chromium": "^1.4.172", + "node-releases": "^2.0.5", + "update-browserslist-db": "^1.0.4" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001363", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz", + "integrity": "sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "csstype": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", + "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", + "dev": true + }, + "decky-frontend-lib": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/decky-frontend-lib/-/decky-frontend-lib-1.0.1.tgz", + "integrity": "sha512-SgIPoB3IcWbzVRlXvs8JfhwrMphHYa7O/Ek2mh+rC0WTVT3TI2qGJ5+OoV16mw5kGY0DMu1ikcZC6ib1lh2zKQ==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.177", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.177.tgz", + "integrity": "sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "is-builtin-module": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", + "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "dev": true, + "requires": { + "builtin-modules": "^3.0.0" + } + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "peer": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "peer": true, + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-icons": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.4.0.tgz", + "integrity": "sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg==", + "requires": {} + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "rollup": { + "version": "2.75.7", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.7.tgz", + "integrity": "sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-import-assets": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-import-assets/-/rollup-plugin-import-assets-1.1.1.tgz", + "integrity": "sha512-u5zJwOjguTf2N+wETq2weNKGvNkuVc1UX/fPgg215p5xPvGOaI6/BTc024E9brvFjSQTfIYqgvwogQdipknu1g==", + "dev": true, + "requires": { + "rollup-pluginutils": "^2.7.1", + "url-join": "^4.0.1" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shx": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/shx/-/shx-0.3.4.tgz", + "integrity": "sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==", + "dev": true, + "requires": { + "minimist": "^1.2.3", + "shelljs": "^0.8.5" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz", + "integrity": "sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz", + "integrity": "sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.7", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.7.2" + } + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz", + "integrity": "sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "usdpl-front": { + "version": "file:src/usdpl" + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..438922f --- /dev/null +++ b/package.json @@ -0,0 +1,46 @@ +{ + "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.2.1", + "@rollup/plugin-replace": "^4.0.0", + "@rollup/plugin-typescript": "^8.3.2", + "@types/react": "16.14.0", + "@types/webpack": "^5.28.0", + "rollup": "^2.70.2", + "rollup-plugin-import-assets": "^1.1.1", + "shx": "^0.3.4", + "tslib": "^2.4.0", + "typescript": "^4.6.4" + }, + "dependencies": { + "decky-frontend-lib": "*", + "react-icons": "^4.3.1", + "usdpl-front": "file:./src/usdpl" + } +} diff --git a/plugin.json b/plugin.json index 5cd1e1d..d612125 100644 --- a/plugin.json +++ b/plugin.json @@ -1,9 +1,7 @@ { - "name": "Fantastic", + "name": "Fantastic_React", "author": "NGnius", - "main_view_html": "main_view.html", - "tile_view_html": "", - "flags": ["root", "_debug"], + "flags": ["root", "debug"], "publish": { "discord_id": "106537989684887552", "description": "Fan controls", diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..8717908 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,37 @@ +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/src/backend.ts b/src/backend.ts new file mode 100644 index 0000000..87f5a78 --- /dev/null +++ b/src/backend.ts @@ -0,0 +1,74 @@ +import {init_usdpl, target, init_embedded, call_backend} from "usdpl-front"; + +const USDPL_PORT: number = 44444; + +// Utility + +export function resolve(promise: Promise, setter: any) { + (async function () { + let data = await promise; + if (data != null) { + console.debug("Got resolved", data); + setter(data); + } else { + console.warn("Resolve failed:", data); + } + })(); +} + +export function execute(promise: Promise) { + (async function () { + let data = await promise; + console.debug("Got executed", data); + })(); +} + +export async function initBackend() { + // init usdpl + await init_embedded(); + init_usdpl(USDPL_PORT); + console.log("USDPL started for framework: " + target()); + //setReady(true); +} + +// Back-end functions + +export async function setEnabled(value: boolean): Promise { + return (await call_backend("set_enable", [value]))[0]; +} + +export async function getEnabled(): Promise { + return (await call_backend("get_enable", []))[0]; +} + +export async function setInterpolate(value: boolean): Promise { + return (await call_backend("set_interpolate", [value]))[0]; +} + +export async function getInterpolate(): Promise { + return (await call_backend("get_interpolate", []))[0]; +} + +export async function getVersion(): Promise { + return (await call_backend("version", []))[0]; +} + +export async function getCurve(): Promise<{"x": number, "y": number}[]> { + return (await call_backend("get_curve", []))[0]; +} + +export async function addCurvePoint(point: {"x": number, "y": number}): Promise<{"x": number, "y": number}[]> { + return (await call_backend("add_curve_point", [point]))[0]; +} + +export async function removeCurvePoint(index: number): Promise<{"x": number, "y": number}[]> { + return (await call_backend("remove_curve_point", [index]))[0]; +} + +export async function getFanRpm(): Promise { + return (await call_backend("get_fan_rpm", []))[0]; +} + +export async function getTemperature(): Promise { + return (await call_backend("get_temperature", []))[0]; +} diff --git a/src/canvas.tsx b/src/canvas.tsx new file mode 100644 index 0000000..c2016cb --- /dev/null +++ b/src/canvas.tsx @@ -0,0 +1,39 @@ +// from https://medium.com/@pdx.lucasm/canvas-with-react-js-32e133c05258 + +//import React from 'react'; +import { useRef, useEffect } from 'react'; + +export const Canvas = (props: any) => { + + const { draw, options, ...rest } = props; + //const { context, ...moreConfig } = options; + const canvasRef = useCanvas(draw); + + return ; +} + +export const useCanvas = (draw: (ctx: any, count: number) => void) => { + + const canvasRef: any = useRef(null); + + useEffect(() => { + + const canvas = canvasRef.current; + const context = canvas!.getContext('2d'); + let frameCount = 0; + let animationFrameId: number; + + const render = () => { + frameCount++; + draw(context, frameCount); + animationFrameId = window.requestAnimationFrame(render); + } + render(); + + return () => { + window.cancelAnimationFrame(animationFrameId); + } + }, [draw]); + + return canvasRef; +} diff --git a/src/index.tsx b/src/index.tsx new file mode 100755 index 0000000..a73b5f7 --- /dev/null +++ b/src/index.tsx @@ -0,0 +1,287 @@ +import { + definePlugin, + DialogButton, + PanelSection, + PanelSectionRow, + ServerAPI, + ToggleField, + staticClasses, + gamepadDialogClasses, + joinClassNames, +} from "decky-frontend-lib"; +import { VFC, useState } from "react"; +import { FaFan } from "react-icons/fa"; + +import * as backend from "./backend"; +import {Canvas} from "./canvas"; + +const POINT_SIZE = 32; + +var periodicHook: any = null; + +const Content: VFC<{ serverAPI: 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); + // } + // }; + + const [enabledGlobal, setEnableInternal] = useState(false); + const [interpolGlobal, setInterpol] = useState(false); + const [serverApiGlobal, setServerApi] = useState(serverAPI); + const [firstTime, setFirstTime] = useState(true); + const [usdplReady, setUsdplReady] = useState(false); + const [curveGlobal, setCurve] = useState<{x: number, y: number}[]>([]); + + const [temperatureGlobal, setTemperature] = useState(-273.15); + const [fanRpmGlobal, setFanRpm] = useState(-1337); + + function setEnable(enable: boolean) { + setEnableInternal(enable); + //@ts-ignore + SteamClient.System.SetBetaFanControl(!enable); + } + + function onClickCanvas(e: any) { + //console.log("canvas click", e); + const realEvent: any = e.nativeEvent; + //console.log("Canvas click @ (" + realEvent.layerX.toString() + ", " + realEvent.layerY.toString() + ")"); + const target: any = e.currentTarget; + //console.log("Target dimensions " + target.width.toString() + "x" + target.height.toString()); + const clickX = realEvent.layerX; + const clickY = realEvent.layerY; + for (let i = 0; i < curveGlobal.length; i++) { + const curvePoint = curveGlobal[i]; + const pointX = curvePoint.x * target.width; + const pointY = (1 - curvePoint.y) * target.height; + if ( + pointX + POINT_SIZE > clickX + && pointX - POINT_SIZE < clickX + && pointY + POINT_SIZE > clickY + && pointY - POINT_SIZE < clickY + ) { + //console.log("Clicked on point " + i.toString()); + backend.resolve(backend.removeCurvePoint(i), setCurve); + return; + } + } + //console.log("Adding new point"); + backend.resolve(backend.addCurvePoint({x: clickX / target.width, y: 1 - (clickY / target.height)}), setCurve); + } + + function drawCanvas(ctx: any, frameCount: number): void { + const width: number = ctx.canvas.width; + const height: number = ctx.canvas.height; + + ctx.strokeStyle = "#1a9fff"; + ctx.fillStyle = "#1a9fff"; + ctx.lineWidth = 2; + ctx.lineJoin = "round"; + //ctx.beginPath(); + ctx.clearRect(0, 0, width, height); + /*ctx.arc(75, 75, 50, 0, Math.PI * 2, true); // Outer circle + ctx.moveTo(110, 75); + ctx.arc(75, 75, 35, 0, Math.PI, false); // Mouth (clockwise) + ctx.moveTo(65, 65); + ctx.arc(60, 65, 5, 0, Math.PI * 2, true); // Left eye + ctx.moveTo(95, 65); + ctx.arc(90, 65, 5, 0, Math.PI * 2, true); // Right eye*/ + //ctx.beginPath(); + //ctx.moveTo(0, height); + if (interpolGlobal) { + ctx.beginPath(); + ctx.moveTo(0, height); + for (let i = 0; i < curveGlobal.length; i++) { + const canvasHeight = (1 - curveGlobal[i].y) * height; + const canvasWidth = curveGlobal[i].x * width; + ctx.lineTo(canvasWidth, canvasHeight); + ctx.moveTo(canvasWidth, canvasHeight); + ctx.arc(canvasWidth, canvasHeight, 8, 0, Math.PI * 2); + ctx.moveTo(canvasWidth, canvasHeight); + } + ctx.lineTo(width, 0); + //ctx.moveTo(width, 0); + ctx.stroke(); + ctx.fill(); + } else { + ctx.beginPath(); + ctx.moveTo(0, height); + for (let i = 0; i < curveGlobal.length - 1; i++) { + const canvasHeight = (1 - curveGlobal[i].y) * height; + const canvasWidth = curveGlobal[i].x * width; + const canvasHeight2 = (1 - curveGlobal[i+1].y) * height; + const canvasWidth2 = curveGlobal[i+1].x * width; + //ctx.lineTo(canvasWidth, canvasHeight); + ctx.moveTo(canvasWidth, canvasHeight); + ctx.arc(canvasWidth, canvasHeight, 8, 0, Math.PI * 2); + ctx.moveTo(canvasWidth, canvasHeight); + ctx.lineTo(canvasWidth2, canvasHeight); + ctx.moveTo(canvasWidth2, canvasHeight); + ctx.lineTo(canvasWidth2, canvasHeight2); + } + if (curveGlobal.length != 0) { + const i = curveGlobal.length - 1; + const canvasHeight = (1 - curveGlobal[i].y) * height; + const canvasWidth = curveGlobal[i].x * width; + //ctx.lineTo(width, 0); + ctx.moveTo(canvasWidth, canvasHeight); + ctx.arc(canvasWidth, canvasHeight, 8, 0, Math.PI * 2); + ctx.moveTo(canvasWidth, canvasHeight); + ctx.lineTo(width, canvasHeight); + //ctx.moveTo(width, canvasHeight); + //ctx.lineTo(width, 0); + const canvasHeight2 = (1 - curveGlobal[0].y) * height; + const canvasWidth2 = curveGlobal[0].x * width; + ctx.moveTo(canvasWidth2, canvasHeight2); + ctx.lineTo(canvasWidth2, height); + } + + //ctx.moveTo(width, 0); + ctx.stroke(); + ctx.fill(); + } + //console.debug("Drew canvas with " + curveGlobal.length.toString() + " points; " + width.toString() + "x" + height.toString()); + //ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height); + //ctx.fillStyle = '#000000'; + //ctx.beginPath(); + //ctx.arc(50, 100, 20*Math.sin(frameCount*0.05)**2, 0, 2*Math.PI); + //ctx.fill(); + + } + + if (firstTime) { + setFirstTime(false); + setServerApi(serverAPI); + (async function(){ + await backend.initBackend(); + setUsdplReady(true); + backend.resolve(backend.getEnabled(), setEnable); + backend.resolve(backend.getInterpolate(), setInterpol); + backend.resolve(backend.getCurve(), setCurve); + backend.resolve(backend.getTemperature(), setTemperature); + backend.resolve(backend.getFanRpm(), setFanRpm); + })(); + + periodicHook = setInterval(function() { + backend.resolve(backend.getTemperature(), setTemperature); + backend.resolve(backend.getFanRpm(), setFanRpm); + }, 1000); + } + + if (!usdplReady) { + return ( + + + ); + } + + const FieldWithSeparator = joinClassNames(gamepadDialogClasses.Field, gamepadDialogClasses.WithBottomSeparatorStandard); + + // TODO handle clicking on fan curve nodes + + return ( + + +
+
+
+ Current Fan Speed +
+
+ {fanRpmGlobal.toFixed(0) + " RPM"} +
+
+
+
+ +
+
+
+ Current Temperature +
+
+ {temperatureGlobal.toFixed(1) + " °C"} +
+
+
+
+ + { + backend.resolve(backend.setEnabled(value), setEnable); + }} + /> + + { enabledGlobal && +
+ Fan +
+ } + { enabledGlobal && + + onClickCanvas(e)}/> + + } + { enabledGlobal && + + { + backend.resolve(backend.setInterpolate(value), setInterpol); + }} + /> + + } +
+ ); +}; + +const DeckyPluginRouterTest: VFC = () => { + return ( +
+ Hello World! + {}}> + Go to Store + +
+ ); +}; + +export default definePlugin((serverApi: ServerAPI) => { + serverApi.routerHook.addRoute("/decky-plugin-test", DeckyPluginRouterTest, { + exact: true, + }); + + return { + title:
Fantastic
, + content: , + icon: , + onDismount() { + clearInterval(periodicHook!); + serverApi.routerHook.removeRoute("/decky-plugin-test"); + }, + }; +}); diff --git a/src/types.d.ts b/src/types.d.ts new file mode 100644 index 0000000..dfc0472 --- /dev/null +++ b/src/types.d.ts @@ -0,0 +1,14 @@ +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/src/usdpl/package.json b/src/usdpl/package.json new file mode 100644 index 0000000..13a0be4 --- /dev/null +++ b/src/usdpl/package.json @@ -0,0 +1,21 @@ +{ + "name": "usdpl-front", + "collaborators": [ + "NGnius (Graham) " + ], + "description": "Universal Steam Deck Plugin Library front-end designed for WASM", + "version": "0.4.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/src/usdpl/usdpl_front.d.ts b/src/usdpl/usdpl_front.d.ts new file mode 100644 index 0000000..3034865 --- /dev/null +++ b/src/usdpl/usdpl_front.d.ts @@ -0,0 +1,51 @@ +/* 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(): string; +/** +* 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; + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly init_usdpl: (a: number) => void; + readonly target: (a: number) => void; + readonly call_backend: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_malloc: (a: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number) => number; + readonly __wbindgen_export_2: WebAssembly.Table; + readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h2bd47cee569ae4c6: (a: number, b: number, c: number) => void; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly wasm_bindgen__convert__closures__invoke2_mut__hfe1195d34914cc54: (a: number, b: number, c: number, d: number) => void; +} + +/** +* 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/src/usdpl/usdpl_front.js b/src/usdpl/usdpl_front.js new file mode 100644 index 0000000..3863e8f --- /dev/null +++ b/src/usdpl/usdpl_front.js @@ -0,0 +1,476 @@ + +let wasm; + +const heap = new Array(32).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let WASM_VECTOR_LEN = 0; + +let cachegetUint8Memory0 = null; +function getUint8Memory0() { + if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { + cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachegetUint8Memory0; +} + +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 cachegetInt32Memory0 = null; +function getInt32Memory0() { + if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) { + cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachegetInt32Memory0; +} + +const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); + +cachedTextDecoder.decode(); + +function getStringFromWasm0(ptr, len) { + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +let heap_next = heap.length; + +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; +} + +function dropObject(idx) { + if (idx < 36) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +let cachegetFloat64Memory0 = null; +function getFloat64Memory0() { + if (cachegetFloat64Memory0 === null || cachegetFloat64Memory0.buffer !== wasm.memory.buffer) { + cachegetFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachegetFloat64Memory0; +} + +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._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h2bd47cee569ae4c6(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() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.target(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_free(r0, r1); + } +} + +let cachegetUint32Memory0 = null; +function getUint32Memory0() { + if (cachegetUint32Memory0 === null || cachegetUint32Memory0.buffer !== wasm.memory.buffer) { + cachegetUint32Memory0 = new Uint32Array(wasm.memory.buffer); + } + return cachegetUint32Memory0; +} + +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_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passArrayJsValueToWasm0(parameters, wasm.__wbindgen_malloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.call_backend(ptr0, len0, ptr1, len1); + return takeObject(ret); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} +function __wbg_adapter_58(arg0, arg1, arg2, arg3) { + wasm.wasm_bindgen__convert__closures__invoke2_mut__hfe1195d34914cc54(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; + } + } +} + +async function init(input) { + if (typeof input === 'undefined') { + input = new URL('usdpl_front_bg.wasm', import.meta.url); + } + const imports = {}; + imports.wbg = {}; + 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_malloc, wasm.__wbindgen_realloc); + var len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + 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_headers_0a71906114661592 = function(arg0) { + const ret = getObject(arg0).headers; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithstrandinit_fd99688f189f053e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_instanceof_Window_0e6c0f1096d66c3c = function(arg0) { + const ret = getObject(arg0) instanceof Window; + return ret; + }; + imports.wbg.__wbg_fetch_ef7a6623d1fcd3b8 = function(arg0, arg1) { + const ret = getObject(arg0).fetch(getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_6884dcc6cdd65022 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + getObject(arg0).set(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); + }, arguments) }; + imports.wbg.__wbg_instanceof_Response_ccfeb62399355bcd = function(arg0) { + const ret = getObject(arg0) instanceof Response; + return ret; + }; + imports.wbg.__wbg_url_06c0f822d68d195c = function(arg0, arg1) { + const ret = getObject(arg1).url; + const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }; + imports.wbg.__wbg_text_2612fbe0b9d32220 = function() { return handleError(function (arg0) { + const ret = getObject(arg0).text(); + 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_e23b458e372830de = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_ae78342adc33730a = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_36359baae5a47e27 = 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_99737b4dcdf6f0d8 = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_9b61fbbf3564c4fb = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_globalThis_8e275ef40caea3a3 = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_5de1e0f82bddcd27 = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_newwithlength_e80fb11cf19c1628 = function(arg0) { + const ret = new Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_561aac756158708c = function(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_call_3ed288a247f13ea5 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_37705eed627d5ed9 = 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_a9a87bdd64e9e62c = function(arg0) { + const ret = Promise.resolve(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_ce526c837d07b68f = function(arg0, arg1) { + const ret = getObject(arg0).then(getObject(arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_then_842e65b843962f56 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).then(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_93b1c87ee2af852e = function() { return handleError(function (arg0, arg1, arg2) { + const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); + return ret; + }, arguments) }; + imports.wbg.__wbg_parse_8217e7299bf72f3d = function() { return handleError(function (arg0, arg1) { + const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_stringify_c760003feffcc1f2 = 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_wrapper609 = function(arg0, arg1, arg2) { + const ret = makeMutClosure(arg0, arg1, 53, __wbg_adapter_26); + return addHeapObject(ret); + }; + + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } + + + + const { instance, module } = await load(await input, imports); + + wasm = instance.exports; + init.__wbindgen_wasm_module = module; + + return wasm; +} + +export default init; + + + +// USDPL customization +const encoded = "AGFzbQEAAAABigEVYAJ/fwBgAX8AYAJ/fwF/YAF/AX9gA39/fwBgA39/fwF/YAR/f39/AGAFf39/f38AYAABf2AEf39/fwF/YAAAYAF/AX5gBX9/f39/AX9gBn9/f39/fwBgBX9/fX9/AGAFf398f38AYAR/fX9/AGAEf3x/fwBgBn9/f39/fwF/YAJ+fwF/YAF8AX8CkQomA3diZxVfX3diaW5kZ2VuX3N0cmluZ19nZXQAAAN3YmcVX193YmluZGdlbl9zdHJpbmdfbmV3AAIDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX25ldwAUA3diZxpfX3diaW5kZ2VuX29iamVjdF9kcm9wX3JlZgABA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAMDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAAA3diZxJfX3diaW5kZ2VuX2lzX251bGwAAwN3YmcXX193YmluZGdlbl9pc191bmRlZmluZWQAAwN3YmceX193YmdfaGVhZGVyc18wYTcxOTA2MTE0NjYxNTkyAAMDd2JnKF9fd2JnX25ld3dpdGhzdHJhbmRpbml0X2ZkOTk2ODhmMTg5ZjA1M2UABQN3YmcoX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfMGU2YzBmMTA5NmQ2NmMzYwADA3diZxxfX3diZ19mZXRjaF9lZjdhNjYyM2QxZmNkM2I4AAIDd2JnG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgADA3diZxpfX3diZ19zZXRfNjg4NGRjYzZjZGQ2NTAyMgAHA3diZypfX3diZ19pbnN0YW5jZW9mX1Jlc3BvbnNlX2NjZmViNjIzOTkzNTViY2QAAwN3YmcaX193YmdfdXJsXzA2YzBmODIyZDY4ZDE5NWMAAAN3YmcbX193YmdfdGV4dF8yNjEyZmJlMGI5ZDMyMjIwAAMDd2JnEl9fd2JpbmRnZW5fY2JfZHJvcAADA3diZyBfX3diZ19uZXdub2FyZ3NfZTIzYjQ1OGUzNzI4MzBkZQACA3diZxtfX3diZ19jYWxsX2FlNzgzNDJhZGMzMzczMGEAAgN3YmcaX193YmdfbmV3XzM2MzU5YmFhZTVhNDdlMjcACAN3YmcUX193YmluZGdlbl9pc19zdHJpbmcAAwN3YmcbX193Ymdfc2VsZl85OTczN2I0ZGNkZjZmMGQ4AAgDd2JnHV9fd2JnX3dpbmRvd185YjYxZmJiZjM1NjRjNGZiAAgDd2JnIV9fd2JnX2dsb2JhbFRoaXNfOGUyNzVlZjQwY2FlYTNhMwAIA3diZx1fX3diZ19nbG9iYWxfNWRlMWUwZjgyYmRkY2QyNwAIA3diZyRfX3diZ19uZXd3aXRobGVuZ3RoX2U4MGZiMTFjZjE5YzE2MjgAAwN3YmcaX193Ymdfc2V0XzU2MWFhYzc1NjE1ODcwOGMABAN3YmcbX193YmdfY2FsbF8zZWQyODhhMjQ3ZjEzZWE1AAUDd2JnGl9fd2JnX25ld18zNzcwNWVlZDYyN2Q1ZWQ5AAIDd2JnHl9fd2JnX3Jlc29sdmVfYTlhODdiZGQ2NGU5ZTYyYwADA3diZxtfX3diZ190aGVuX2NlNTI2YzgzN2QwN2I2OGYAAgN3YmcbX193YmdfdGhlbl84NDJlNjViODQzOTYyZjU2AAUDd2JnGl9fd2JnX3NldF85M2IxYzg3ZWUyYWY4NTJlAAUDd2JnHF9fd2JnX3BhcnNlXzgyMTdlNzI5OWJmNzJmM2QAAgN3YmcgX193Ymdfc3RyaW5naWZ5X2M3NjAwMDNmZWZmY2MxZjIAAwN3YmcQX193YmluZGdlbl90aHJvdwAAA3diZx1fX3diaW5kZ2VuX2Nsb3N1cmVfd3JhcHBlcjYwOQAFA5wCmgIGAwYEAgEFBQkEBAYFBAQAAAAAAwQCAgQIAAMEAAUTBgABBAIIAgAABAMECQQBBAQGBgYBBgQABwQCBAYEAQACBgQBAAEBAQEBAAEEBAADAwAHBAABDQEBAAAGBgEDBwICAwQBAAAAAAQCBAABAQIBAgACAAEFAgAGBgQBAAEAAAAAAQEAAAAFAAEFAAYBAAAABAMAAAEFAAMEAQcEAAEKAwAACAQAAQEBAQEAAAABAQoAAwADAAIAAAAAAQAAAQQAAQABAAEKAQQHAwUEEg4HDA8AAQYBAAQEBQEDAwMBAwMAAgICBAIJAAMBAgECBQIEAgQBAgADAgUDAwADAgICBAIDAQIAAwMDAwAAAAAFBQICAgMDAQsLCwEEBQFwAWNjBQMBABEGCQF/AUGAgMAACweDAwwGbWVtb3J5AgAKaW5pdF91c2RwbACSAgZ0YXJnZXQAowEMY2Fs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DAQLIANB6ABqIANBkAFqKQMAIgY3AQAgA0HgAGogA0GIAWopAwAiBzcBACADQdgAaiADQYABaikDACIINwEAIAMgA0H4AGopAwAiCTcBUCADQZgBaigCACEFIANBQGsgBjcDACADQThqIAc3AwAgA0EwaiAINwMAIAMgCTcDKCADQYwBaiAGNwIAIANBhAFqIAc3AgAgA0H8AGogCDcCACADIAk3AnQgAyADQfAAakEkELUCGkEAIQQMAgsgA0HgAGogA0GIAWopAwAiBjcBACADQdgAaiADQYABaikDACIHNwEAIAMgA0H4AGopAwAiCDcBUCADQZABaigCACEFIANBOGogBjcDACADQTBqIAc3AwAgAyAINwMoIANBhAFqIAY3AgAgA0H8AGogBzcCACADIAg3AnQgAyADQfAAakEkELUCGgwBCyADQdQAaiADQfwAaigCACIBNgEAIANBCGogATYCACADIAMpAnQ3AwAgA0GAAWooAgAhBUEEIQQLIABBDGogA0EkELUCGiAAQTBqIAVBAWo2AgAgAEEIaiAENgIAIABBADoAAAsgA0GgAWokAAusBgIHfwF+IwBB0ABrIgMkAAJ/AkACQAJAAkACQAJAAkAgAS0AvAlBAWsOAwMAAgELAAsgASABKQOACTcDmAkgASABKQKMCTcCpAkgAUGgCWogAUGICWooAgA2AgAgAUGsCWoiBSABQZQJaigCACIENgIAQZDBwABBkMHAACkDACIKQgF8NwMAIANBCGogBBBvIAMoAgghBCABQQA2ArgJIAFBtAlqIAMoAgw2AgAgASAENgKwCSABKAKoCSEGIAMgASgCpAkiBCAFKAIAIgdBAnRqNgJMIAMgBDYCSCADIAY2AkQgAyAENgJAIAFBsAlqIQUgBwRAA0AgAyAEQQRqNgJIIANBEGogBCgCABA4IAEoArgJIgQgASgCtAlGBEAgBSAEELUBIAEoArgJIQQLIAEoArAJIARBBHRqIgQgAykDEDcDACAEQQhqIANBGGopAwA3AwAgASABKAK4CUEBajYCuAkgAygCSCIEIAMoAkxHDQALCyADQUBrEIkBQZjBwAAvAQAhBCADQSBqIAFBmAlqEJkBIANBLGogBSkCADcCACADQTRqIAVBCGooAgA2AgAgAyAKNwMYIANBADYCECABIANBEGpBKBC1AiIFQQA6AGwgBSAEOwFoCyADQRBqIAEgAhApIAMoAhAiBkECRwRAIANBGGopAwAhCiADKAIUIQQgARBoIAYNAiADIApCIIinIgUQGjYCPCADIAQgBUEEdCICajYCTCADIAQ2AkggAyAKPgJEIAMgBDYCQCAFRQ0DQQAhBiADQRBqQQFyIgdBB2ohCANAIAMgBEEQaiIFNgJIIAQtAAAiCUEKRg0EIAcgBEEBaikAADcAACAIIARBCGopAAA3AAAgAyAJOgAQIANBEGoQQCEEIANBPGooAgAgBiAEEBsgBkEBaiEGIAUhBCACQXBqIgINAAsMAwsgAUEDOgC8CUEADAQLQaCJwABBI0H0i8AAEMoBAAtBISEGIARBJEkNASAEEAMMAQsgA0FAaxB9IAMoAjwhBgsgAUGYCWoQhAIgAUEBOgC8CUEBCyEBIAAgBjYCBCAAIAFFNgIAIANB0ABqJAALjAUBAn8jAEEQayIEJAAgAAJ/AkAgA0UEQCAAQQA6AAEMAQsCQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBAWsOCQECAwQFBgcICQALIAJBAToAACAEQQA6AAggBEEANgIMDAkLIAJBAjoAACAEQQhqIAFBBGogAkEBaiADQX9qEIEBDAgLIAJBAzoAACAEAn8gA0F/akEETwRAIARBBDYCDCACIAFBBGooAgA2AAFBAAwBCyAEQQA6AAlBAQs6AAgMBwsgAkEEOgAAIAQCfyADQX9qQQhPBEAgBEEINgIMIAIgAUEIaikDADcAAUEADAELIARBADoACUEBCzoACAwGCyACQQU6AAAgBAJ/IANBf2pBBE8EQCAEQQQ2AgwgAiABQQRqKAIANgABQQAMAQsgBEEAOgAJQQELOgAIDAULIAJBBjoAACAEAn8gA0F/akEITwRAIARBCDYCDCACIAFBCGopAwA3AAFBAAwBCyAEQQA6AAlBAQs6AAgMBAsgAkEHOgAAIAQCfyADQX9qQQRPBEAgBEEENgIMIAIgAUEEaigCADYAAUEADAELIARBADoACUEBCzoACAwDCyACQQg6AAAgBAJ/IANBf2pBCE8EQCAEQQg2AgwgAiABQQhqKQMANwABQQAMAQsgBEEAOgAJQQELOgAIDAILIAJBCToAAEEBIQUCQCADQQFGBEAgBEEAOgAJDAELIAIgAS0AAToAASAEQQE2AgxBACEFCyAEIAU6AAgMAQsgAkEKOgAAIARBCGogAUEEaiACQQFqIANBf2oQgQELIAQtAAhFBEAgAEEEaiAEKAIMQQFqNgIAQQAMAgsgACAELQAJOgABC0EBCzoAACAEQRBqJAALgAUBCn8jAEEwayIDJAAgA0EkaiABNgIAIANBAzoAKCADQoCAgICABDcDCCADIAA2AiAgA0EANgIYIANBADYCEAJAAkACQCACKAIIIgpFBEAgAkEUaigCACIERQ0BIAIoAgAhASACKAIQIQAgBEF/akH/////AXFBAWoiByEEA0AgAUEEaigCACIFBEAgAygCICABKAIAIAUgAygCJCgCDBEFAA0ECyAAKAIAIANBCGogAEEEaigCABECAA0DIABBCGohACABQQhqIQEgBEF/aiIEDQALDAELIAJBDGooAgAiAEUNACAAQQV0IQsgAEF/akH///8/cUEBaiEHIAIoAgAhAQNAIAFBBGooAgAiAARAIAMoAiAgASgCACAAIAMoAiQoAgwRBQANAwsgAyAEIApqIgVBHGotAAA6ACggAyAFQQRqKQIAQiCJNwMIIAVBGGooAgAhBiACKAIQIQhBACEJQQAhAAJAAkACQCAFQRRqKAIAQQFrDgIAAgELIAZBA3QgCGoiDCgCBEHeAEcNASAMKAIAKAIAIQYLQQEhAAsgAyAGNgIUIAMgADYCECAFQRBqKAIAIQACQAJAAkAgBUEMaigCAEEBaw4CAAIBCyAAQQN0IAhqIgYoAgRB3gBHDQEgBigCACgCACEAC0EBIQkLIAMgADYCHCADIAk2AhggCCAFKAIAQQN0aiIAKAIAIANBCGogACgCBBECAA0CIAFBCGohASALIARBIGoiBEcNAAsLQQAhACAHIAIoAgRJIgFFDQEgAygCICACKAIAIAdBA3RqQQAgARsiASgCACABKAIEIAMoAiQoAgwRBQBFDQELQQEhAAsgA0EwaiQAIAAL3AQBBn8jAEFAaiIDJAAgA0EIaiABIAIQlgIgAyADKAIIIAMoAgwQlgIgAyADKQMANwMQIANBMGogA0EQahA2AkACQAJAAkACQAJAAkAgAygCMCIGBEAgAygCNCEBIANBPGooAgBFDQUgAg0BQQEhBQwCCyAAQbS4wAA2AgRBACEBDAULIAJBf0wNASACQQEQlQIiBUUNAgsg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EAQiA0EBRhtBACADGyIDQQJHBEAgAEEIOgAAIAAgAzoAAQwBCyACQRhqIAEQBSACKAIYBEAgAisDICEGIABBAzoAACAAQQhqIAY5AwAMAQsgAkEQaiABEAACQCACKAIQIgNFBEAgAkEANgIwDAELIAIgAigCFCIENgJYIAIgBDYCVCACIAM2AlAgAkEIaiACQdAAahDeASACQTBqIAIoAgggAigCDBCLAiACKAIwRQ0AIABBAToAACAAQQRqIAIpAzA3AgAgAEEMaiACQThqKAIANgIADAELAkACQAJAAkAgARAGQQFGDQAgARAHQQFGDQAgAiACQSxqEMMBIAIoAgQhASACKAIARQ0BIABBADoAACABQSRPDQIMAwsgAEEAOgAADAILIAIgATYCPCACQdAAaiACQTxqEJEBIAIoAlBFDQMgAkHIAGogAkHYAGooAgAiAzYCACACIAIpA1AiBTcDQCAAQQxqIAM2AgAgAEEEaiAFNwIAIABBCToAACABQSRJDQELIAEQAwsgAigCLCEBCyABQSRPBEAgARADCyACQeAAaiQADwtBrIHAAEErQYSCwAAQygEAC94DAQN/IwBBgAFrIgEkACABIAA2AhQgAUEwakEANgIAIAFBKGpBADYCACABQoCAgIAgNwMYIAFBGGoQ2gEiACAAKAIAIgJBAWoiAzYCAAJAAkAgAyACSQ0AIAFBCGogABDiASABKAIIIgJB/KjAABCqAiEDIAFB0ABqQfyowAA2AgAgASACNgJMIAEgAzYCSCAAIAAoAgAiAkEBaiIDNgIAIAMgAkkNACABIAAQ4wEgASgCACICQZCpwAAQqgIhAyABQeAAakGQqcAANgIAIAEgAjYCXCABIAM2AlggAUEUaigCACABQcgAaigCACABQdgAaigCABAgIgJBJE8EQCACEAMLIAFBIGoiAiABQdAAaigCADYCACABQSxqIAFB4ABqKAIANgIAIAEgASkDWDcCJCABQfAAaiIDIAIpAwA3AwAgAUH4AGoiAiABQShqKQMANwMAIAEgASkDSDcDaCAAKAIIDQEgAEF/NgIIIABBHGoQgAIgAEEsaiACKQMANwIAIABBJGogAykDADcCACAAIAEpA2g3AhwgACAAKAIIQQFqNgIIIAEoAhQiAkEkTwRAIAIQAwsgAUGAAWokACAADwsAC0HaqMAA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AyABKAAAIgYQaSADQQA2AhAgAyADKQMANwMIIAYEQCADQSBqIQcgA0HQAGohCANAIAQgAksNBCADQcgAaiABIARqIAIgBGsQLyADLQBIDQMgByAIQSgQtQIhBSADKAJ4IQkgA0HIAGogBUEoELUCGiADKAIQIgUgAygCDEYEQCADQQhqIAUQtgEgAygCECEFCyAEIAlqIQQgAygCCCAFQShsaiADQcgAakEoELUCGiADIAVBAWo2AhAgBkF/aiIGDQALCyAAQQA6AAAgAEEEaiADKQMINwIAIABBEGogBDYCACAAQQxqIANBEGooAgA2AgAMAwsgAEEBOwEADAILIAMtAEkhASAAQQE6AAAgACABOgABIANBCGoQfCADQQhqENABDAELIAQgAhCxAgALIANBgAFqJAAL1AIBA38jAEEQayICJAACQAJ/AkACQCABQYABTwRAIAJBADYCDCABQYAQSQ0BIAFBgIAETw0CIAIgAUE/cUGAAXI6AA4gAiABQQx2QeABcjoADCACIAFBBnZBP3FBgAFyOgANQQMMAwsgACgCCCIDIABBBGooAgBGBEAgACADEFwgACgCCCEDCyAAIANBAWo2AgggACgCACADaiABOgAADAMLIAIgAUE/cUGAAXI6AA0gAiABQQZ2QcABcjoADEECDAELIAIgAUE/cUGAAXI6AA8gAiABQRJ2QfABcjoADCACIAFBBnZBP3FBgAFyOgAOIAIgAUEMdkE/cUGAAXI6AA1BBAshASAAQQRqKAIAIABBCGoiBCgCACIDayABSQRAIAAgAyABEFsgBCgCACEDCyAAKAIAIANqIAJBDGogARC1AhogBCABIANqNgIACyACQRBqJAALtgIBB38CQCACQQ9NBEAgACEDDAELIABBACAAa0EDcSIEaiEFIAQEQCAAIQMgASEGA0AgAyAGLQAAOgAAIAZBAWohBiADQQFqIgMgBUkNAAsLIAUgAiAEayIIQXxxIgdqIQMCQCABIARqIgRBA3EEQCAHQQFIDQEgBEEDdCICQRhxIQkgBEF8cSIGQQRqIQFBACACa0EYcSECIAYoAgAhBgNAIAUgBiAJdiABKAIAIgYgAnRyNgIAIAFBBGohASAFQQRqIgUgA0kNAAsMAQsgB0EBSA0AIAQhAQNAIAUgASgCADYCACABQQRqIQEgBUEEaiIFIANJ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QSBqIANBCGopAgA3AwAgAiADKQIANwMYIAJBFGpB7LXAACACQRhqEDIaIARBCGogBSgCADYCACAEIAIpAwg3AgALIAJBIGoiAyAEQQhqKAIANgIAIAFBDGpBADYCACAEKQIAIQYgAUIBNwIEIAIgBjcDGEEMQQQQlQIiAUUEQEEMQQQQsAIACyABIAIpAxg3AgAgAUEIaiADKAIANgIAIABB1LfAADYCBCAAIAE2AgAgAkEwaiQAC+8BAQR/IwBBIGsiAyQAAkACQCAAAn8gAkEETwRAIAEoAAAiBEEEaiEFIARBe0sNAiAFIAJLDQMgA0EQaiABQQRqIAQQMwJAIAMoAhBFBEAgAygCFCEGIANBCGogA0EYaigCACICEH8gAygCDCEBIAMoAggiBCAGIAIQtQIaDAELIANBHGooAgAhAiADQRhqKAIAIQEgAygCFCEECyAAQRBqIAU2AgAgAEEMaiACNgIAIABBCGogATYCACAAQQRqIAQ2AgBBAAwBCyAAQQA6AAFBAQs6AAAgA0EgaiQADwtBBCAFELMCAAsgBSACELICAAv6AQIDfwF+IwBBMGsiASQAAkAgAARAIAApAgAhBCAAQQA2AgAgAUEoaiICIABBEGooAgA2AgAgAUEgaiIDIABBCGopAgA3AwAgASAENwMYIASnBEAgAUEQaiACKAIANgIAIAFBCGogAykDADcDACABIAEpAxg3AwAMAgsgAUEYahDkAQsgARBTC0GgwcAAKQIAIQRBoMHAACABKQMANwIAIAFBKGpBsMHAACgCADYCACABQSBqQajBwAApAgA3AwBBqMHAACABQQhqKQMANwIAQbDBwAAgAUEQaigCADYCACABIAQ3AxggAUEYahDkASABQTBqJABBoMHAAAv4AQEEfyMAQSBrIgMkACAAAn8CQAJAAkAgASgCBCACTwRAIANBCGogARDdASADKAIQIgRFDQMgAygCDCEFIAMoAgghBgJAAkACQCACRQRAQQEhBCAFDQEMBgsgBEEBRg0BIAJBARCVAiIERQ0CIAQgBiACELUCGiAFRQ0FCyAGECsMBAsgBiAFQQEgAhCNAiIEDQMMAgsMAQsgA0EcakEANgIAIANBtLTAADYCGCADQgE3AgwgA0GktcAANgIIIANBCGpBrLXAABDXAQALQQEMAgsgASACNgIEIAEgBDYC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IgEkACABIAA6AA8gAUEANgIYIAFCATcDECABQSBqIAFBEGpBgIDAABDlASABQQ9qIAFBIGoQhgEEQEGYgMAAQTcgAUHIAGpB2IHAAEGcgcAAEIQBAAsgAUEoaiABQRhqKAIANgIAIAEgASkDEDcDICABQSBqEIICIAFB0ABqJAALlQEBA38jAEEQayIDJAAgACgCACICKAIIRQRAIAJBfzYCCCACQQxqIAEQnQEgAkEcaiIBLQAAIQQgAUEBOgAAIAIgAigCCEEBajYCCAJAIARBAXENACAAQQRqKAIAIABBCGooAgAQHyIAQSRJDQAgABADCyADQRBqJAAPC0Ggr8AAQRAgA0EIakHYr8AAQfCwwAAQhAEAC40BAQF/IwBBEGsiBSQAAkACQCAEIANLBEAgAiAESQ0CIAAgASAEQQJ0ajYCACACIARrIQQMAQsgBUEIaiABIAIgBCADEMEBIAUoAgwhBCAAIAUoAgg2AgBBACEDCyAAIAE2AgggACAENgIEIABBDGogAzYCACAFQRBqJAAPC0GUscAAQSNBsLLAABDKAQALngEBAn8jAEEQayIDJAAgAEEUaigCACEEAkACfwJAAkAgAEEEaigCAA4CAAEDCyAEDQJBACEAQYS2wAAMAQsgBA0BIAAoAgAiBCgCBCEAIAQoAgALIQQgAyAANgIEIAMgBDYCACADQYi4wAAgASgCCCACIAEtABAQXQALIANBADYCBCADIAA2AgAgA0H0t8AAIAEoAgggAiABLQAQEF0AC1MBA38gAUEDbiICQf////8DcSACRyEDIAJBAnQhBAJAIAEgAkEDbGtFBEAgBCEBDAELIAMgBEEEaiIBIARJciEDCyAAIAE2AgQgACADQQFzNgIAC4UBAQF/IAAoAgAiACAAKAIAQX9qIgE2AgACQCABDQAgAEEMaigCACIBBEAgASAAQRBqIgEoAgAoAgARAQAgASgCACIBKAIEBEAgASgCCBogACgCDBArCyAAQRRqKAIAIABBGGooAgAoAgwRAQALIAAgACgCBEF/aiIBNgIEIAENACAAECsLC4QBAQF/IwBBIGsiBiQAIAEEQCAGIAEgAyAEIAUgAigCEBEHACAGQRhqIAZBCGooAgAiATYCACAGIAYpAwA3AxAgBigCFCABSwRAIAZBEGogARC9ASAGKAIYIQELIAYoAhAhAiAAIAE2AgQgACACNgIAIAZBIGokAA8LQby1wABBMBCrAgALjwEBAn8gACgCCCICBEAgACgCACEAIAJBKGwhAgNAAkACQAJAAkACQCAAKAIADgcBAgQEAwQEAAsgAEEEaiIBEHwgARDQAQwDCyAAQRBqEM8BIABBHGoiARCoASABEM4BDAILIABBEGoiARCoASABEM4BDAELIABBBGoQzwELIABBKGohACACQVhqIgINAAsLC3IBBH8jAEEQayIDJAAgACgCDCAAKAIIIgFrIgIEQCACQQR2QQR0IQIDQCABLQAAIgRBfmpBB0kgBEVyRQRAIAFBBGoQhAILIAFBEGohASACQXBqIgINAAsLIAMgACkCADcDCCADQQhqEM4BIANBEGokAAuJAQECfyABQQhqKAIAIQIgASgCBCEDAkACQAJAIAEoAgBFBEACQCACRQRAQQEhAQwBCyACQX9MDQMgAkEBEJUCIgFFDQQLIAAgASADIAIQtQI2AgAgAiEBDAELIAFBDGooAgAhASAAIAM2AgALIAAgATYCCCAAIAI2AgQPCxDWAQALIAJBARCwAgALbQECfyMAQRBrIgIkAAJAIAFFBEBBASEDDAELAkAgAUF/TARAIAJBCGogAUEAEJYCIAIoAgxBgYCAgHhHDQELIAFBARCVAiIDDQEgAUEBELACAAsQ1gEACyAAIAE2AgQgACADNgIAIAJBEGokAAt5AQF/IwBBEGsiBCQAIAACfwJAIANBCE8EQCACIAEpAwA3AAAgBEEIaiABQQhqIAJBCGogA0F4ahBXIAQtAAhFBEAgAEEEaiAEKAIMQQhqNgIAQQAMAwsgACAELQAJOgABDAELIABBADoAAQtBAQs6AAAgBEEQaiQAC3UBAn8CQAJAIAACfyABKAIIIgRBBGoiBSADTQRAIANBA00NAiABKAIAIQEgAiAENgAAIARBfE8NAyACQQRqIAEgBBC1AhogAEEEaiAFNgIAQQAMAQsgAEEAOgABQQELOgAADwtBBCADELICAAtBBCAFELMCAAt+AQF/IwBBEGsiASQAIAFB0KjAAEEGEAE2AgggAUGcisAAQQQQATYCDCABIAAgAUEIaiABQQxqEJ4BIAEoAgwiAEEkTwRAIAAQAwsgASgCCCIAQSRPBEAgABADCwJAIAEtAABFDQAgASgCBCIAQSRJDQAgABADCyABQRBqJAALfAEBfgJAAkAgAEUNACAAKQIAIQEgAEEANgIAIAFCIIinIQACQCABpw4CAQIACyAAQSRJDQAgABADCxA+IQALQbTBwAApAgAhAUG4wcAAIAA2AgBBtMHAAEEBNgIAAkAgAadFDQAgAUIgiKciAEEkSQ0AIAAQAwtBuMHAAAuAAQEBfyMAQUBqIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUEsakECNgIAIAVBPGpB4AA2AgAgBUICNwIcIAVB6LrAADYCGCAFQd8ANgI0IAUgBUEwajYCKCAFIAVBEGo2AjggBSAFQQhqNgIwIAVBGGogBBDXAQALgAEBAX8jAEEgayICJAACfyAALQAARQRAIAJBHGpBADYCACACQdCOwAA2AhggAkIBNwIMIAJBjI/AADYCCCABIAJBCGoQjwEMAQsgAkEcakEANgIAIAJB0I7AADYCGCACQgE3AgwgAkHojsAANgIIIAEgAkEIahCPAQsgAkEgaiQAC4ABAQF/IwBBIGsiAiQAAn8gAC0AAEUEQCACQRxqQQA2AgAgAkHQjsAANgIYIAJCATcCDCACQdCPwAA2AgggASACQQhqEI8BDAELIAJBHGpBADYCACACQdCOwAA2AhggAkIBNwIMIAJBrI/AADYCCCABIAJBCGoQjwELIAJBIGokAAt8AQF/IAAtAAQhASAALQAFBEAgAUH/AXEhASAAAn9BASABDQAaIAAoAgAiAS0AAEEEcUUEQCABKAIYQfm6wABBAiABQRxqKAIAKAIMEQUADAELIAEoAhhB+LrAAEEBIAFBHGooAgAoAgwRBQALIgE6AAQLIAFB/wFxQQBHC2wBAX8jAEGQCGsiAyQAIANBgAgQtgIiA0GACGogASACIAMQJgJAAkAgAygCgAhFBEAgAygChAgiAUGBCE8NAiAAIAMgARAvDAELIABBAToAACAAQQE6AAELIANBkAhqJAAPCyABQYAIELICAAtmAQR/IwBBEGsiAiQAIAAoAgwgACgCCCIDayIBBEAgAUECdkECdCEBA0AgAygCACIEQSRPBEAgBBADCyADQQRqIQMgAUF8aiIBDQALCyACIAApAgA3AwggAkEIahDNASACQRBqJAALfAEDfyAAIAAQuQIiAEEIEIwCIABrIgIQtwIhAEGExcAAIAEgAmsiATYCAEGMxcAAIAA2AgAgACABQQFyNgIEQQhBCBCMAiECQRRBCBCMAiEDQRBBCBCMAiEEIAAgARC3AiAEIAMgAkEIa2pqNgIEQajFwABBgICAATYCAAtyAQF/IwBBMGsiAiQAIAIgATYCBCACIAA2AgAgAkEcakECNgIAIAJBLGpBzAA2AgAgAkICNwIMIAJByL3AADYCCCACQcwANgIkIAIgAkEgajYCGCACIAJBBGo2AiggAiACNgIgIAJBCGpB2L3AABDXAQALcgEBfyMAQTBrIgIkACACIAE2AgQgAiAANgIAIAJBHGpBAjYCACACQSxqQcwANgIAIAJCAjcCDCACQYy+wAA2AgggAkHMADYCJCACIAJBIGo2AhggAiACQQRqNgIoIAIgAjYCICACQQhqQZy+wAAQ1wEAC3IBAX8jAEEwayICJAAgAiABNgIEIAIgADYCACACQRxqQQI2AgAgAkEsakHMADYCACACQgI3AgwgAkH4vMAANgIIIAJBzAA2AiQgAiACQSBqNgIYIAIgAkEEajYCKCACIAI2AiAgAkEIakGovcAAENcBAAtvAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBzAA2AgAgA0ICNwIMIANBvLrAADYCCCADQcwANgIkIAMgA0EgajYCGCADIAM2AiggAyADQQRqNgIgIANBCGogAhDXAQALVgECfyMAQSBrIgIkACAAQRxqKAIAIQMgACgCGCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCADIAJBCGoQMiACQSBqJAALbwEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBHGpBAjYCACADQSxqQcwANgIAIANCAzcCDCADQey+wAA2AgggA0HMADYCJCADIANBIGo2AhggAyADNgIoIAMgA0EEajYCICADQQhqIAIQ1wEAC2kBAn8jAEEgayICJAAgAkEIaiABKAIAEAACQCACKAIIIgEEQCACIAIoAgwiAzYCGCACIAM2AhQgAiABNgIQIAIgAkEQahDeASAAIAIoAgAgAigCBBCLAgwBCyAAQQA2AgALIAJBIGokAAthAQF/IwBBQGoiASQAIABBADYCCCAAQgE3AgAgAUEBOgAPIAFBEGogAEGUgsAAEOUBIAFBD2ogAUEQahBlBEBBrILAAEE3IAFBOGpBwIPAAEGwg8AAEIQBAAsgAUFAayQAC3ABAX8CQAJAAkACQCAALQCYJg4EAQICAAILIABBiBNqEPkBIAAoApAmIgFBJE8EQCABEAMLIAAoApQmIgBBI00NAQwCCyAAEPkBIAAoApAmIgFBJE8EQCABEAMLIAAoApQmIgBBI0sNAQsPCyAAEAMLWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakG4jsAAIAJBCGoQMiACQSBqJAALawEEfyMAQRBrIgEkAAJAQQBBsK3AACgCABEDACICBEAgACgCACgCACIAIAAoAgAiA0EBaiIENgIAIAQgA08NAQALQdSqwABBxgAgAUEIakH8q8AAQeyrwAAQhAEACyACIAAQdiABQRBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHstcAAIAJBCGoQMiACQSBqJAALaQAjAEEwayIBJABBnMHAAC0AAARAIAFBHGpBATYCACABQgI3AgwgAUHgtsAANgIIIAFBzAA2AiQgASAANgIsIAEgAUEgajYCGCABIAFBLGo2AiAgAUEIakGIt8AAENcBAAsgAUEwaiQAC1kBAX8jAEEgayICJAAgAiAAKAIANgIEIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAJBBGpBnLjAACACQQhqEDIgAkEgaiQAC2gBAn8gASgCACEDAkACQAJAIAFBCGooAgAiAUUEQEEBIQIMAQsgAUF/TA0BIAFBARCVAiICRQ0CCyACIAMgARC1AiECIAAgATYCCCAAIAE2AgQgACACNgIADwsQ1gEACyABQQEQsAIAC18AAkACQAJAAkACQCAAKAIADgcBAgMDBAMDAAsgAEEEaiIAEHwgABDQAQ8LIABBEGoQhAIgAEEcaiIAEKgBIAAQzgEPCyAAQRBqIgAQqAEgABDOAQsPCyAAQQRqEIQCC1sBAn8jAEEQayIDJAAgA0EIaiABEHkCQCADKAIIBEAgAygCDCIEQYAISw0BIAAgASACIAQQ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ACACQQhqIAAgARBIAkAgAigCDCIAQYGAgIB4RwRAIABFDQEgAigCCCAAELACAAsgAkEQaiQADwsQ1gEAC0ACAn8BfiMAQRBrIgEkACABQQhqIABBCGooAgAiAjYCACABIAApAgAiAzcDACADpyACEAEgARCEAiABQRBqJAALRgEBfyAAKAIEIAAoAggiA2sgAiABayICSQRAIAAgAyACELcBIAAoAgghAwsgACgCACADaiABIAIQtQIaIAAgAiADajYCCAtFAQF/IAAoAgAiACAAKAIAQX9qIgE2AgACQCABDQAgAEEMahBsIABBFGoQzQEgACAAKAIEQX9qIgE2AgQgAQ0AIAAQKwsLPAACQCAEIANPBEAgBCACSw0BIAAgBCADazYCBCAAIAEgA0ECdGo2AgAPCyADIAQQswIACyAEIAIQsgIAC0YBAn8jAEEQayIDJAAgASACECIhASADQQhqEOsBIAMoAgwhAiAAIAMoAggiBEEARzYCACAAIAIgASAEGzYCBCADQRBqJAALRwEDfyMAQRBrIgIkACABKAIAECMhASACQQhqEOsBIAIoAgwhAyAAIAIoAggiBEEARzYCACAAIAMgASAEGzYCBCACQRBqJAALQAECfyAAKAIIIgEEQCAAKAIAIQAgAUECdCEBA0AgACgCACICQSRPBEAgAhADCyAAQQRqIQAgAUF8aiIBDQALCwtOAQF/IwBBIGsiACQAIABBFGpBATYCACAAQgE3AgQgAEGQhMAANgIAIABBCzYCHCAAQbSHwAA2AhggACAAQRhqNgIQIABBvIfAABDXAQALRgEBfyMAQZATayIBJAAgASAAQYgTELUCIgAgADYCjBMgAEGME2pBjIjAABAdIAAtALwJQQRHBEAgABD5AQsgAEGQE2okAAtDAQF/IwBBEGsiAiQAIAAoAgAiAEUEQEGkqcAAQRwQqwIACyACIAA2AgwgAEEIakEBIAEQVSACQQxqEG0gAkEQaiQAC0MBAX8jAEEQayICJAAgACgCACIARQRAQaSpwABBHBCrAgALIAIgADYCDCAAQQhqQQAgARBVIAJBDGoQbSACQRBqJAALSQECfyMAQRBrIgEkAEEAQfCywAAoAgARAwAiAEUEQEH/ssAAQcYAIAFBCGpBpLTAAEGUtMAAEIQBAAsgACgCABAMIAFBEGokAAtIAQF/IwBBIGsiAyQAIANBFGpBADYCACADQey5wAA2AhAgA0IBNwIEIAMgATYCHCADIAA2AhggAyADQRhqNgIAIAMgAhDXAQALSQEBfyMAQSBrIgIkACACQRRqQQE2AgAgAkIBNwIEIAJB3LrAADYCACACQd8ANgIcIAIgADYCGCACIAJBGGo2AhAgAiABENcBAAs/AAJAAkACQCAALQC8CQ4EAQICAAILIAAQaCAAQZgJahCEAg8LIABBgAlqEIQCIABBjAlqIgAQxAEgABDNAQsLNQEBfyMAQRBrIgEkACABIAAQrgECQCABKAIIRQ0AIAEoAgRFDQAgASgCABArCyABQRBqJAALNQEBfyMAQRBrIgEkACABIAAQrAECQCABKAIIRQ0AIAEoAgRFDQAgASgCABArCyABQRBqJAALNQEBfyMAQRBrIgEkACABIAAQ3QECQCABKAIIRQ0AIAEoAgRFDQAgASgCABArCyABQRBqJAALNQEBfyMAQRBrIgEkACABIAAQogECQCABKAIIRQ0AIAEoAgRFDQAgASgCABArCyABQRBqJAALRgECfyABKAIEIQIgASgCACEDQQhBBBCVAiIBRQRAQQhBBBCwAgALIAEgAjYCBCABIAM2AgAgAEHkt8AANgIEIAAgATYCAAs7AQF/IwBBEGsiAiQAIAJBCGogACABEFAgAigCDCIAQYGAgIB4RwRAIAIoAgggABCwAgALIAJBEGokAAs5AQF/IAFBEHZAACECIABBADYCCCAAQQAgAUGAgHxxIAJBf0YiARs2AgQgAEEAIAJBEHQgARs2AgALOgEBfwJAIAAoAgAQEUUNACAAKAIEIgEgAEEIaigCACIAKAIAEQEAIAAoAgRFDQAgACgCCBogARArCwtqAQN/IwBBEGsiASQAIAAoAgwiAkUEQEGEtsAAQStBtLfAABDKAQALIAAoAggiA0UEQEGEtsAAQStBxLfAABDKAQALIAEgAjYCCCABIAA2AgQgASADNgIAIAEoAgAgASgCBCABKAIIEHgAC0ABAX8jAEEgayIAJAAgAEEcakEANgIAIABBtLjAADYCGCAAQgE3AgwgAEH0uMAANgIIIABBCGpB/LjAABDXAQALPwEBfyMAQSBrIgIkACACQQE6ABggAiABNgIUIAIgADYCECACQcy6wAA2AgwgAkHsucAANgIIIAJBCGoQ1QEACysAAkAgAEF8Sw0AIABFBEBBBA8LIAAgAEF9SUECdBCVAiIARQ0AIAAPCwALNAECfyABQXhqIgIgAigCACICQQFqIgM2AgAgAyACSQRAAAsgAEG0rcAANgIEIAAgATYCAAszAQF/QTRBBBCVAiIBRQRAQTRBBBCwAgALIAFCgYCAgBA3AgAgAUEIaiAAQSwQtQIaIAELLwEBfyMAQRBrIgIkACACIAAoAgA2AgwgAkEMaiABEEwgAkEMahDAASACQRBqJAALJAAjAEEQayIAJAAgAEEIaiABEOYBIABBCGoQhwEgAEEQaiQACywBAX8gAAJ/QQAgASgCBCICRQ0AGiAAIAI2AgQgACABKAIANgIAQQELNgIICzIBAX8gACABKAIEIAEoAggiAksEfyABIAIQ0gEgASgCCAUgAgs2AgQgACABKAIANgIACzIBAX8gACABKAIEIAEoAggiAksEfyABIAIQvQEgASgCCAUgAgs2AgQgACABKAIANgIACyMBAX8Cf0EBIAEQCkUNABpBAAshAiAAIAE2AgQgACACNgIACy0BAX8jAEEQayIBJAAgAUEIaiAAQQhqKAIANgIAIAEgACkCADcDACABEOcBAAsxAQF/QQRBBBCVAiICRQRAQQRBBBCwAgALIAIgATYCACAAQfyowAA2AgQgACACNgIACzEBAX9BBEEEEJUCIgJFBEBBBEEEELACAAsgAiABNgIAIABBkKnAADYCBCAAIAI2AgALKgEBfyAAKAIABEAgABDAASAAKAIEIgFBJE8EQCABEAMLIABBCGoQ1AELCzQAIABBAzoAICAAQoCAgICABDcCACAAIAE2AhggAEEANgIQIABBADYCCCAAQRxqIAI2AgALNQEBfyABKAIYQa+2wABBCyABQRxqKAIAKAIMEQUAIQIgAEEAOgAFIAAgAjoABCAAIAE2AgALLQEBfyMAQRBrIgEkACABIAApAgA3AwggAUEIakHYpsAAQQAgACgCCEEBEF0ACycAIAAgACgCBEEBcSABckECcjYCBCAAIAFqIgAgACgCBEEBcjYCBAslAQF/IwBBEGsiASQAIAEgAEF4ajYCDCABQQxqEHogAUEQaiQACyYAAkAgAEUNACAAIAEoAgARAQAgASgCBEUNACABKAIIGiAAECsLCzoBAn9B1MHAAC0AACEBQdTBwABBADoAAEHYwcAAKAIAIQJB2MHAAEEANgIAIAAgAjYCBCAAIAE2AgALLgEBfyMAQRBrIgAkACAAQbyowAA2AgggAEE1NgIEIABBmqfAADYCACAAEOEBAAsgAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARArCwsmAQF/IwBBEGsiAyQAIAMgATYCDCADIAA2AgggA0EIaiACEMsBAAsfACABIANGBEAgACACIAEQtQIaDwsgASADIAQQkAEACyYBAX8gAEEHaiIBIABJBEBBuJLAAEEzQcSTwAAQpgIACyABQQN2Cx8AAkAgAUF8TQRAIAAgAUEEIAIQjQIiAA0BCwALIAALIwAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALJQAgAEUEQEG8tcAAQTAQqwIACyAAIAIgAyAEIAUgASgCEBEMAAsjACAARQRAQby1wABBMBCrAgALIAAgAiADIAQgASgCEBEQAAsjACAARQRAQby1wABBMBCrAgALIAAgAiADIAQgASgCEBEGAAsjACAARQRAQby1wABBMBCrAgALIAAgAiADIAQgASgCEBEJAAsjACAARQRAQby1wABBMBCrAgALIAAgAiADIAQgASgCEBERAAseACAAIAFBA3I2AgQgACABaiIAIAAoAgRBAXI2AgQLJQACQAJAAkAgAC0AgBMOBAECAgACCyAAQcAJahBZDwsgABBZCwshACAARQRAQby1wABBMBCrAgALIAAgAiADIAEoAhARBAALFAAgAEEEaigCAARAIAAoAgAQKwsLHQAgASgCAEUEQAALIABB7KbAADYCBCAAIAE2AgALHwAgAEUEQEHUrcAAQTAQqwIACyAAIAIgASgCEBEAAAsfACAARQRAQcCywABBMBCrAgALIAAgAiABKAIQEQAACx8AIABFBEBBvLXAAEEwEKsCAAsgACACIAEoAhARAgALFwAgACgCBARAIAAQ1AEgAEEMahDUAQsLHQEBf0GgwcAAIQFBoMHAACgCAAR/IAEFIAAQTwsLFQEBfyAAKAIAIAAoAggQASAAEIQCCx4BAX9BuMHAACEBQbTBwAAoAgAEfyABBSAAEIMBCwsRACAAKAIEBEAgACgCABArCwsZAQF/IAAoAhAiAQR/IAEFIABBFGooAgALCxIAQQBBGSAAQQF2ayAAQR9GGwsWACAAIAFBAXI2AgQgACABaiABNgIACxwAIAEoAhhB7rnAAEELIAFBHGooAgAoAgwRBQALHAAgASgCGEH5ucAAQQ4gAUEcaigCACgCDBEFAAscACABKAIYQYTBwABBBSABQRxqKAIAKAIMEQUACxcAIAAgAjYCCCAAIAI2AgQgACABNgIACxAAIAAgAWpBf2pBACABa3ELDAAgACABIAIgAxAuCwsAIAEEQCAAECsLCw8AIABBAXQiAEEAIABrcgsOACAAKAIABEAgABBtCwsUACAAKAIAIAEgACgCBCgCDBECAAsWAEGYwcAAIAA7AQBBkMHAAEIBNwMACxEAIAAoAgAgACgCCCABELQCCxAAIAAoAgAgASACEJgCQQALCAAgACABEDsLEAAgACACNgIEIAAgATYCAAsRACAAKAIAIAAoAgQgARC0AgsOACAAIAEgASACahC/AQsWAEHYwcAAIAA2AgBB1MHAAEEBOgAACw0AIAAoAgAgARA/QQALEwAgAEHkt8AANgIEIAAgATYCAAsNACAALQAEQQJxQQF2CxAAIAEgACgCACAAKAIEECwLDQAgACABIAIQmAJBAAsKAEEAIABrIABxCwsAIAAtAARBA3FFCwwAIAAgAUEDcjYCBAsNACAAKAIAIAAoAgRqCw0AIAAoAgAgARBCQQALDgAgACgCABoDQAwACwALCwAgADUCACABEEQLDAAgACABIAIQ7gEACwsAIAAzAQAgARBECwsAIAAjAGokACMACwcAIAAQhAILCgAgACABQSwQJQsJACAAIAEQJAALCgAgACgCBEF4cQsKACAAKAIEQQFxCwoAIAAoAgxBAXELCgAgACgCDEEBdgsaACAAIAFB3MHAACgCACIAQc0AIAAbEQAAAAsKACAAIAEQjQEACwoAIAAgARCLAQALCgAgACABEIwBAAsKACACIAAgARAsCwoAIAAgASACEEMLCAAgACABEF8LBwAgACABagsHACAAIAFrCwcAIABBCGoLBwAgAEF4agsHACAAEMABCw0AQovk55XyuI/XuH8LDABC0Lbvt4yR2uhNCw0AQsmrmNye2tvOuX8LAwABCwviQAUAQYCAwAALkQkBAAAADAAAAAQAAAACAAAAAwAAAAQAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRlNzI1YmFkNzM3NDdhNGM5M2EzYWM1MzEwNmU0YjQwMDZlZGM2NjUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABPABAASwAAALoJAAAOAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAFAAAAAAAAAAEAAAAGAAAAdXNkcGwtZnJvbnQvc3JjL2NvbnZlcnQucnMAAOgAEAAaAAAAIAAAACcAAAAHAAAADAAAAAQAAAAIAAAACQAAAAQAAABhIERpc3BsYXkgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3IgdW5leHBlY3RlZGx5L3J1c3RjLzRlNzI1YmFkNzM3NDdhNGM5M2EzYWM1MzEwNmU0YjQwMDZlZGM2NjUvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAABjARAASwAAALoJAAAOAAAACgAAAAAAAAABAAAABgAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IADlARAAKgAAAC9ob21lL25nbml1cy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iYXNlNjQtMC4xMy4wL3NyYy9kZWNvZGUucnMYAhAAWAAAANIBAAAfAAAAGAIQAFgAAADYAQAAHwAAABgCEABYAAAA4QEAAB8AAAAYAhAAWAAAAOoBAAAfAAAAGAIQAFgAAADzAQAAHwAAABgCEABYAAAA/AEAAB8AAAAYAhAAWAAAAAUCAAAfAAAAGAIQAFgAAAAOAgAAHwAAABgCEABYAAAAAwEAACQAAAAYAhAAWAAAAAQBAAApAAAAGAIQAFgAAAAqAQAAFgAAABgCEABYAAAALQEAABoAAAAYAhAAWAAAAEEBAAAOAAAAGAIQAFgAAABEAQAAEgAAABgCEABYAAAAWAEAABMAAABJbXBvc3NpYmxlOiBtdXN0IG9ubHkgaGF2ZSAwIHRvIDggaW5wdXQgYnl0ZXMgaW4gbGFzdCBjaHVuaywgd2l0aCBubyBpbnZhbGlkIGxlbmd0aHNgAxAAVAAAABgCEABYAAAAnQEAAA4AAAAYAhAAWAAAALEBAAAJAAAAGAIQAFgAAAAuAgAAEgAAABgCEABYAAAAvAEAABEAAAAMAAAAIBMAAAgAAAANAAAADgAAAAQAAAAEAAAADwAAABAAAAAvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMtMC40LjMwL3NyYy9saWIucnMAIAQQAGMAAADaAAAAIABBoInAAAvkNmBhc3luYyBmbmAgcmVzdW1lZCBhZnRlciBjb21wbGV0aW9uY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZXVzZHBsLWZyb250L3NyYy9jb25uZWN0aW9uLnJzAO4EEAAdAAAAEAAAAFwAAABQT1NUaHR0cDovL2xvY2FsaG9zdDovdXNkcGwvY2FsbCAFEAARAAAAMQUQAAsAAADuBBAAHQAAABsAAAAzAAAAQWNjZXB0YXBwbGljYXRpb24vYnl0ZXMA7gQQAB0AAAAjAAAAJAAAAO4EEAAdAAAAKgAAADoAAABFeHBlY3RlZCBjYWxsIHJlc3BvbnNlIG1lc3NhZ2UgZnJvbSAsIGdvdCBzb21ldGhpbmcgZWxzZZQFEAAkAAAAuAUQABQAAAB1c2RwbC1mcm9udC9zcmMvbGliLnJzAADcBRAAFgAAAEEAAABOAAAA3AUQABYAAABAAAAAAQAAAC9ob21lL25nbml1cy9Eb2N1bWVudHMvZ2l0LXJlcG9zL3VzZHBsLXJzL3VzZHBsLWNvcmUvc3JjL3NlcmRlcy90cmFpdHMucnMAAAAUBhAASQAAAE0AAAAoAAAAFAYQAEkAAAAnAAAAFQAAAGB1bndyYXBfdGhyb3dgIGZhaWxlZHVzaXplIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgYnVmZmVyIHNpemUvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZW5jb2RlLnJzwAYQAFgAAAB5AAAACgAAAMAGEABYAAAAewAAAB8AAAATAAAABAAAAAQAAAAUAAAAFQAAABYAAABMb2FkRXJyb3I6IEludmFsaWREYXRhAABQBxAAFgAAAExvYWRFcnJvcjogVG9vU21hbGxCdWZmZXIAAABwBxAAGQAAAER1bXBFcnJvcjogVW5zdXBwb3J0ZWQAAJQHEAAWAAAARHVtcEVycm9yOiBUb29TbWFsbEJ1ZmZlcgAAALQHEAAZAAAAdXNkcGwtY29yZS9zcmMvc2VyZGVzL2R1bXBfaW1wbC5ycwAA2AcQACIAAAAUAAAADwAAANgHEAAiAAAAFwAAACUAAAB1c2RwbC1jb3JlL3NyYy9zZXJkZXMvbG9hZF9pbXBsLnJzAAAcCBAAIgAAAB0AAAAnAAAAY3JhbmtzaGFmdAAAUAgQAAoAAABkZWNreQAAAGQIEAAFAAAAYW55AHQIEAADAAAAdXNkcGwtY29yZS9zcmMvcmVtb3RlX2NhbGwucnMAAACACBAAHQAAABEAAAA2AAAAgAgQAB0AAAAhAAAALgAAAHVzZHBsLWNvcmUvc3JjL3NlcmRlcy9kdW1wX2ltcGwucnMAAMAIEAAiAAAACwAAAA8AAADACBAAIgAAAAwAAAAPAAAAdXNkcGwtY29yZS9zcmMvc2VyZGVzL2xvYWRfaW1wbC5ycwAABAkQACIAAAAMAAAAJAAAAE92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgbnVtYmVyIG9mIGNodW5rcyBpbiBpbnB1dC9ob21lL25nbml1cy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9iYXNlNjQtMC4xMy4wL3NyYy9kZWNvZGUucnMAawkQAFgAAAC8AAAACgAAACEiIyQlJicoKSorLC0wMTIzNDU2Nzg5QEFCQ0RFRkdISUpLTE1OUFFSU1RVVlhZWltgYWJjZGVoaWprbG1wcXJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSssLi9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS4vMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL////////////////////////////////////////////wABAgMEBQYHCAkKCwz//w0ODxAREhMUFRb///////8XGBkaGxwdHh8gISIjJCX/JicoKSorLP8tLi8w/////zEyMzQ1Nv//Nzg5Ojs8//89Pj//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Pj////80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABNjc4OTo7PD0+P/////////8CAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaG////////xwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJCgv/////////DA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCX///////8mJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8+//80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ/////z//GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1QQEABUDxAAVA4QAFQNEABUDBAAVAsQAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IAAAbBEQACoAAAAvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmFzZTY0LTAuMTMuMC9zcmMvZW5jb2RlLnJzoBEQAFgAAACSAAAAJwAAAHVzaXplIG92ZXJmbG93IHdoZW4gY2FsY3VsYXRpbmcgYjY0IGxlbmd0aAAAoBEQAFgAAACZAAAACgAAAKAREABYAAAAtgAAACAAAACgERAAWAAAALcAAAAlAAAAoBEQAFgAAAD8AAAAHAAAAKAREABYAAAA/QAAACEAAACgERAAWAAAABMBAAAuAAAAoBEQAFgAAAATAQAACQAAAKAREABYAAAAFAEAAAkAAACgERAAWAAAAAsBAAAuAAAAoBEQAFgAAAALAQAACQAAAKAREABYAAAADQEAAA8AAACgERAAWAAAAAwBAAAJAAAAoBEQAFgAAAAPAQAACQAAAEltcG9zc2libGUgcmVtYWluZGVyBBMQABQAAACgERAAWAAAACoBAAAWAAAAoBEQAFgAAAA7AQAACQAAABQLEADUChAAlAoQAFQKEAAUChAA1AkQABcAAAAIAAAABAAAABgAAAAZAAAAGgAAAAgAAAAEAAAAGwAAAHNhbWUtb3JpZ2lubm8tY29yc2NvcnNuYXZpZ2F0ZWF0dGVtcHRlZCB0byBjb252ZXJ0IGludmFsaWQgUmVxdWVzdE1vZGUgaW50byBKU1ZhbHVlL2hvbWUvbmduaXVzLy5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL3dlYi1zeXMtMC4zLjU3L3NyYy9mZWF0dXJlcy9nZW5fUmVxdWVzdE1vZGUucnMAAM8TEABrAAAAAwAAAAEAAABib2R5bWV0aG9kbW9kZWFscmVhZHkgYm9ycm93ZWQAABwAAAAAAAAAAQAAAB0AAAAeAAAABAAAAAQAAAAfAAAAIAAAACEAAAAEAAAABAAAACIAAAAjAAAARm5PbmNlIGNhbGxlZCBtb3JlIHRoYW4gb25jZS9ob21lL25nbml1cy8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy93YXNtLWJpbmRnZW4tZnV0dXJlcy0wLjQuMzAvc3JjL2xpYi5ycwDAFBAAYwAAAKUAAAAPAAAAwBQQAGMAAACFAAAAJwAAAMAUEABjAAAArwAAACQAAABjYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uL3J1c3RjLzRlNzI1YmFkNzM3NDdhNGM5M2EzYWM1MzEwNmU0YjQwMDZlZGM2NjUvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwAAAJoVEABPAAAApQEAABoAAAAkAAAAAAAAAAEAAAAlAAAAYWxyZWFkeSBib3Jyb3dlZCYAAAAAAAAAAQAAAB0AAAAvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMtMC40LjMwL3NyYy90YXNrL3NpbmdsZXRocmVhZC5ycwAAACwWEABxAAAAIQAAABUAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwWEABxAAAAVQAAACUAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgZGVzdHJveWVkIGFscmVhZHkvcnVzdGMvNGU3MjViYWQ3Mzc0N2E0YzkzYTNhYzUzMTA2ZTRiNDAwNmVkYzY2NS9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy92ZWNfZGVxdWUvbW9kLnJzYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5jYXAoKSA9PSBvbGRfY2FwICogMgAAAAQXEABeAAAAyggAAAkAAABhbHJlYWR5IGJvcnJvd2VkYWxyZWFkeSBtdXRhYmx5IGJvcnJvd2VkLQAAAAAAAAABAAAALgAAAC8AAAAAAAAAAQAAAB0AAAAvaG9tZS9uZ25pdXMvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvd2FzbS1iaW5kZ2VuLWZ1dHVyZXMtMC40LjMwL3NyYy9xdWV1ZS5ycwAAAOgXEABlAAAAGgAAAC4AAADoFxAAZQAAAB0AAAApAAAA6BcQAGUAAAAyAAAAGgAAADAAAAAEAAAABAAAADEAAAAyAAAAYXNzZXJ0aW9uIGZhaWxlZDogbWlkIDw9IHNlbGYubGVuKCkvcnVzdGMvNGU3MjViYWQ3Mzc0N2E0YzkzYTNhYzUzMTA2ZTRiNDAwNmVkYzY2NS9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy92ZWNfZGVxdWUvcmluZ19zbGljZXMucnMAAAC3GBAAZgAAACAAAAAOAAAAtxgQAGYAAAAjAAAAEQAAAGNsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBkZXN0cm95ZWQgYWxyZWFkeTYAAAByZXR1cm4gdGhpc2Nhbm5vdCBhY2Nlc3MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb24vcnVzdGMvNGU3MjViYWQ3Mzc0N2E0YzkzYTNhYzUzMTA2ZTRiNDAwNmVkYzY2NS9saWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2xvY2FsLnJzxRkQAE8AAAClAQAAGgAAADcAAAAAAAAAAQAAACUAAAAvcnVzdGMvNGU3MjViYWQ3Mzc0N2E0YzkzYTNhYzUzMTA2ZTRiNDAwNmVkYzY2NS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzVHJpZWQgdG8gc2hyaW5rIHRvIGEgbGFyZ2VyIGNhcGFjaXR5gBoQACQAAAA0GhAATAAAAKkBAAAJAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGRlc3Ryb3llZCBhbHJlYWR5TgAAAAQAAAAEAAAATwAAAFAAAABRAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZUFjY2Vzc0Vycm9ybWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAoAAAA6GxAAFQAAAE8bEAAOAAAAbGlicmFyeS9zdGQvc3JjL2FsbG9jLnJzcBsQABgAAABEAQAACQAAAGxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnOYGxAAHAAAAEYCAAAfAAAAmBsQABwAAABHAgAAHgAAAFIAAAAMAAAABAAAAFMAAABOAAAACAAAAAQAAABUAAAAVQAAABAAAAAEAAAAVgAAAFcAAABOAAAACAAAAAQAAABYAAAAWQAAAFoAAAAEAAAABAAAAFsAAABcAAAAXQAAAFoAAAAAAAAAAQAAAAYAAABsaWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAABgHBAAEQAAAEQcEAAcAAAABQIAAAUAAABhIGZvcm1hdHRpbmcgdHJhaXQgaW1wbGVtZW50YXRpb24gcmV0dXJuZWQgYW4gZXJyb3JsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAvxwQABgAAABkAgAAIAAAAO+/vQAAKUJvcnJvd0Vycm9yQm9ycm93TXV0RXJyb3JpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAAAAcdEAAgAAAAJx0QABIAAABhAAAAAAAAAAEAAABiAAAA7BwQAAAAAAA6IAAA7BwQAAAAAABkHRAAAgAAAH0gfTAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5cmFuZ2Ugc3RhcnQgaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIABDHhAAEgAAAFUeEAAiAAAAbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pbmRleC5ycwCIHhAAHwAAADQAAAAFAAAAcmFuZ2UgZW5kIGluZGV4ILgeEAAQAAAAVR4QACIAAACIHhAAHwAAAEkAAAAFAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBidXQgZW5kcyBhdCAA6B4QABYAAAD+HhAADQAAAIgeEAAfAAAAXAAAAAUAAABzb3VyY2Ugc2xpY2UgbGVuZ3RoICgpIGRvZXMgbm90IG1hdGNoIGRlc3RpbmF0aW9uIHNsaWNlIGxlbmd0aCAoLB8QABUAAABBHxAAKwAAAO0cEAABAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQcbAwAALMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMEBAQEBABBhMHAAAsFRXJyb3IAQZDBwAALCgEAAAAAAAAAaXoAgwEJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0YyUxLjYzLjAtbmlnaHRseSAoNGU3MjViYWQ3IDIwMjItMDYtMDQpBndhbHJ1cwYwLjE5LjAMd2FzbS1iaW5kZ2VuEjAuMi44MCAoNGNhYTk4MTY1KQ=="; + +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/src/usdpl/usdpl_front_bg.wasm b/src/usdpl/usdpl_front_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..f6e11625d25f464e8319ac889374b68498d408f5 GIT binary patch literal 58753 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