From 983fcfc61680117779b42f0fb4c944c031e5b1b1 Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Mon, 16 Sep 2024 07:11:33 -0700 Subject: [PATCH] Chore: hoist example projects for discoverability (#2959) * hoist example projects, remove oidc * move over example projects from the separate repo * Update ecommerce site to the latest version of dioxus * update wifi scanner to 0.5 * drop the chatbot example; might be restored in a separate PR --------- Co-authored-by: Evan Almloff --- .cargo/config.toml | 6 - Cargo.lock | 231 +- Cargo.toml | 35 +- example-projects/ecommerce-site/.gitignore | 1 + example-projects/ecommerce-site/Cargo.toml | 17 + example-projects/ecommerce-site/README.md | 24 + example-projects/ecommerce-site/demo.png | Bin 0 -> 285508 bytes example-projects/ecommerce-site/input.css | 3 + .../ecommerce-site/public/loading.css | 0 .../ecommerce-site/public/tailwind.css | 1228 ++++ example-projects/ecommerce-site/src/api.rs | 160 + .../ecommerce-site/src/components/cart.rs | 0 .../ecommerce-site/src/components/error.rs | 14 + .../ecommerce-site/src/components/home.rs | 24 + .../ecommerce-site/src/components/loading.rs | 32 + .../ecommerce-site/src/components/nav.rs | 389 + .../src/components/product_item.rs | 44 + .../src/components/product_page.rs | 309 + example-projects/ecommerce-site/src/main.rs | 52 + .../ecommerce-site/tailwind.config.js | 13 + example-projects/file-explorer/.gitignore | 13 + example-projects/file-explorer/Cargo.toml | 14 + example-projects/file-explorer/Dioxus.toml | 43 + example-projects/file-explorer/README.md | 13 + .../file-explorer}/assets/fileexplorer.css | 0 .../file-explorer/assets/image.png | Bin 0 -> 45110 bytes .../file-explorer/src/main.rs | 38 +- .../fullstack-hackernews}/.gitignore | 0 .../fullstack-hackernews}/Cargo.toml | 0 .../assets/hackernews.css | 17 + .../fullstack-hackernews}/src/main.rs | 0 example-projects/wifi-scanner/.gitignore | 1 + example-projects/wifi-scanner/Cargo.toml | 15 + example-projects/wifi-scanner/README.md | 5 + example-projects/wifi-scanner/demo_small.png | Bin 0 -> 126436 bytes example-projects/wifi-scanner/src/main.rs | 91 + .../fullstack-auth}/.gitignore | 0 .../fullstack-auth}/Cargo.toml | 0 .../fullstack-auth}/src/auth.rs | 0 .../fullstack-auth}/src/main.rs | 0 .../fullstack-desktop}/.gitignore | 0 .../fullstack-desktop}/Cargo.toml | 0 .../fullstack-desktop}/src/main.rs | 0 .../fullstack-hello-world}/.gitignore | 0 .../fullstack-hello-world}/Cargo.toml | 0 .../fullstack-hello-world}/src/main.rs | 0 .../fullstack-router}/.gitignore | 0 .../fullstack-router}/Cargo.toml | 0 .../fullstack-router}/src/main.rs | 0 .../fullstack-streaming}/.gitignore | 0 .../fullstack-streaming}/Cargo.toml | 0 .../fullstack-streaming}/src/main.rs | 0 .../openid_connect_demo/.cargo/config.toml | 5 - examples/openid_connect_demo/.gitignore | 3 - examples/openid_connect_demo/Cargo.lock | 6372 ----------------- examples/openid_connect_demo/Cargo.toml | 36 - examples/openid_connect_demo/Dioxus.toml | 35 - examples/openid_connect_demo/README.md | 12 - examples/openid_connect_demo/src/constants.rs | 2 - examples/openid_connect_demo/src/main.rs | 36 - examples/openid_connect_demo/src/model/mod.rs | 1 - .../openid_connect_demo/src/model/user.rs | 7 - examples/openid_connect_demo/src/oidc.rs | 127 - .../openid_connect_demo/src/props/client.rs | 20 - examples/openid_connect_demo/src/props/mod.rs | 1 - examples/openid_connect_demo/src/router.rs | 16 - examples/openid_connect_demo/src/storage.rs | 35 - .../openid_connect_demo/src/views/header.rs | 221 - .../openid_connect_demo/src/views/home.rs | 5 - .../openid_connect_demo/src/views/login.rs | 86 - examples/openid_connect_demo/src/views/mod.rs | 4 - .../src/views/not_found.rs | 10 - examples/{PWA-example => pwa}/Cargo.toml | 0 examples/{PWA-example => pwa}/Dioxus.toml | 0 examples/{PWA-example => pwa}/LICENSE | 0 examples/{PWA-example => pwa}/README.md | 0 examples/{PWA-example => pwa}/index.html | 0 .../{PWA-example => pwa}/public/favicon.ico | Bin .../{PWA-example => pwa}/public/logo_192.png | Bin .../{PWA-example => pwa}/public/logo_512.png | Bin .../{PWA-example => pwa}/public/manifest.json | 0 examples/{PWA-example => pwa}/public/sw.js | 0 examples/{PWA-example => pwa}/src/main.rs | 0 .../ssg-github-pages}/.gitignore | 0 .../ssg-github-pages}/Cargo.toml | 0 .../ssg-github-pages}/src/main.rs | 0 .../router => examples/ssg-router}/.gitignore | 0 .../router => examples/ssg-router}/Cargo.toml | 0 .../ssg-router}/src/main.rs | 0 .../simple => examples/ssg-simple}/.gitignore | 0 .../simple => examples/ssg-simple}/Cargo.toml | 0 .../ssg-simple}/src/main.rs | 0 packages/desktop/examples/stress.rs | 23 - .../benches/incremental.rs.old | 207 - 94 files changed, 2774 insertions(+), 7322 deletions(-) create mode 100644 example-projects/ecommerce-site/.gitignore create mode 100644 example-projects/ecommerce-site/Cargo.toml create mode 100644 example-projects/ecommerce-site/README.md create mode 100644 example-projects/ecommerce-site/demo.png create mode 100644 example-projects/ecommerce-site/input.css rename packages/fullstack/examples/hackernews/assets/hackernews.css => example-projects/ecommerce-site/public/loading.css (100%) create mode 100644 example-projects/ecommerce-site/public/tailwind.css create mode 100644 example-projects/ecommerce-site/src/api.rs create mode 100644 example-projects/ecommerce-site/src/components/cart.rs create mode 100644 example-projects/ecommerce-site/src/components/error.rs create mode 100644 example-projects/ecommerce-site/src/components/home.rs create mode 100644 example-projects/ecommerce-site/src/components/loading.rs create mode 100644 example-projects/ecommerce-site/src/components/nav.rs create mode 100644 example-projects/ecommerce-site/src/components/product_item.rs create mode 100644 example-projects/ecommerce-site/src/components/product_page.rs create mode 100644 example-projects/ecommerce-site/src/main.rs create mode 100644 example-projects/ecommerce-site/tailwind.config.js create mode 100644 example-projects/file-explorer/.gitignore create mode 100644 example-projects/file-explorer/Cargo.toml create mode 100644 example-projects/file-explorer/Dioxus.toml create mode 100644 example-projects/file-explorer/README.md rename {examples => example-projects/file-explorer}/assets/fileexplorer.css (100%) create mode 100644 example-projects/file-explorer/assets/image.png rename examples/file_explorer.rs => example-projects/file-explorer/src/main.rs (78%) rename {packages/fullstack/examples/hackernews => example-projects/fullstack-hackernews}/.gitignore (100%) rename {packages/fullstack/examples/hackernews => example-projects/fullstack-hackernews}/Cargo.toml (100%) create mode 100644 example-projects/fullstack-hackernews/assets/hackernews.css rename {packages/fullstack/examples/hackernews => example-projects/fullstack-hackernews}/src/main.rs (100%) create mode 100644 example-projects/wifi-scanner/.gitignore create mode 100644 example-projects/wifi-scanner/Cargo.toml create mode 100644 example-projects/wifi-scanner/README.md create mode 100644 example-projects/wifi-scanner/demo_small.png create mode 100644 example-projects/wifi-scanner/src/main.rs rename {packages/fullstack/examples/auth => examples/fullstack-auth}/.gitignore (100%) rename {packages/fullstack/examples/auth => examples/fullstack-auth}/Cargo.toml (100%) rename {packages/fullstack/examples/auth => examples/fullstack-auth}/src/auth.rs (100%) rename {packages/fullstack/examples/auth => examples/fullstack-auth}/src/main.rs (100%) rename {packages/fullstack/examples/desktop => examples/fullstack-desktop}/.gitignore (100%) rename {packages/fullstack/examples/desktop => examples/fullstack-desktop}/Cargo.toml (100%) rename {packages/fullstack/examples/desktop => examples/fullstack-desktop}/src/main.rs (100%) rename {packages/fullstack/examples/hello-world => examples/fullstack-hello-world}/.gitignore (100%) rename {packages/fullstack/examples/hello-world => examples/fullstack-hello-world}/Cargo.toml (100%) rename {packages/fullstack/examples/hello-world => examples/fullstack-hello-world}/src/main.rs (100%) rename {packages/fullstack/examples/router => examples/fullstack-router}/.gitignore (100%) rename {packages/fullstack/examples/router => examples/fullstack-router}/Cargo.toml (100%) rename {packages/fullstack/examples/router => examples/fullstack-router}/src/main.rs (100%) rename {packages/fullstack/examples/streaming => examples/fullstack-streaming}/.gitignore (100%) rename {packages/fullstack/examples/streaming => examples/fullstack-streaming}/Cargo.toml (100%) rename {packages/fullstack/examples/streaming => examples/fullstack-streaming}/src/main.rs (100%) delete mode 100644 examples/openid_connect_demo/.cargo/config.toml delete mode 100644 examples/openid_connect_demo/.gitignore delete mode 100644 examples/openid_connect_demo/Cargo.lock delete mode 100644 examples/openid_connect_demo/Cargo.toml delete mode 100644 examples/openid_connect_demo/Dioxus.toml delete mode 100644 examples/openid_connect_demo/README.md delete mode 100644 examples/openid_connect_demo/src/constants.rs delete mode 100644 examples/openid_connect_demo/src/main.rs delete mode 100644 examples/openid_connect_demo/src/model/mod.rs delete mode 100644 examples/openid_connect_demo/src/model/user.rs delete mode 100644 examples/openid_connect_demo/src/oidc.rs delete mode 100644 examples/openid_connect_demo/src/props/client.rs delete mode 100644 examples/openid_connect_demo/src/props/mod.rs delete mode 100644 examples/openid_connect_demo/src/router.rs delete mode 100644 examples/openid_connect_demo/src/storage.rs delete mode 100644 examples/openid_connect_demo/src/views/header.rs delete mode 100644 examples/openid_connect_demo/src/views/home.rs delete mode 100644 examples/openid_connect_demo/src/views/login.rs delete mode 100644 examples/openid_connect_demo/src/views/mod.rs delete mode 100644 examples/openid_connect_demo/src/views/not_found.rs rename examples/{PWA-example => pwa}/Cargo.toml (100%) rename examples/{PWA-example => pwa}/Dioxus.toml (100%) rename examples/{PWA-example => pwa}/LICENSE (100%) rename examples/{PWA-example => pwa}/README.md (100%) rename examples/{PWA-example => pwa}/index.html (100%) rename examples/{PWA-example => pwa}/public/favicon.ico (100%) rename examples/{PWA-example => pwa}/public/logo_192.png (100%) rename examples/{PWA-example => pwa}/public/logo_512.png (100%) rename examples/{PWA-example => pwa}/public/manifest.json (100%) rename examples/{PWA-example => pwa}/public/sw.js (100%) rename examples/{PWA-example => pwa}/src/main.rs (100%) rename {packages/static-generation/examples/github-pages => examples/ssg-github-pages}/.gitignore (100%) rename {packages/static-generation/examples/github-pages => examples/ssg-github-pages}/Cargo.toml (100%) rename {packages/static-generation/examples/github-pages => examples/ssg-github-pages}/src/main.rs (100%) rename {packages/static-generation/examples/router => examples/ssg-router}/.gitignore (100%) rename {packages/static-generation/examples/router => examples/ssg-router}/Cargo.toml (100%) rename {packages/static-generation/examples/router => examples/ssg-router}/src/main.rs (100%) rename {packages/static-generation/examples/simple => examples/ssg-simple}/.gitignore (100%) rename {packages/static-generation/examples/simple => examples/ssg-simple}/Cargo.toml (100%) rename {packages/static-generation/examples/simple => examples/ssg-simple}/src/main.rs (100%) delete mode 100644 packages/desktop/examples/stress.rs delete mode 100644 packages/static-generation/benches/incremental.rs.old diff --git a/.cargo/config.toml b/.cargo/config.toml index 81a637782..96d030fa1 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,9 +1,3 @@ -# All of these variables are used in the `openid_connect_demo` example, they are set here for the CI to work, they are set here because as stated here for now: `https://doc.rust-lang.org/cargo/reference/config.html` the .cargo/config.toml of the inner workspaces are not read when being invoked from the root workspace. -[env] -DIOXUS_FRONT_ISSUER_URL = "" -DIOXUS_FRONT_CLIENT_ID = "" -DIOXUS_FRONT_URL = "" - [profile] [profile.dioxus-client] diff --git a/Cargo.lock b/Cargo.lock index ed9336401..12a0e87d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1280,6 +1280,42 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "cached" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b195e4fbc4b6862bbd065b991a34750399c119797efff72492f28a5864de8700" +dependencies = [ + "async-trait", + "cached_proc_macro", + "cached_proc_macro_types", + "futures", + "hashbrown 0.13.2", + "instant", + "once_cell", + "thiserror", + "tokio", +] + +[[package]] +name = "cached_proc_macro" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b48814962d2fd604c50d2b9433c2a41a0ab567779ee2c02f7fba6eca1221f082" +dependencies = [ + "cached_proc_macro_types", + "darling 0.14.4", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "cached_proc_macro_types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade8366b8bd5ba243f0a58f036cc0ca8a2f069cff1a2351ef1cac6b083e16fc0" + [[package]] name = "cairo-rs" version = "0.18.5" @@ -2266,14 +2302,38 @@ dependencies = [ "syn 2.0.74", ] +[[package]] +name = "darling" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" +dependencies = [ + "darling_core 0.14.4", + "darling_macro 0.14.4", +] + [[package]] name = "darling" version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.20.10", + "darling_macro 0.20.10", +] + +[[package]] +name = "darling_core" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn 1.0.109", ] [[package]] @@ -2290,13 +2350,24 @@ dependencies = [ "syn 2.0.74", ] +[[package]] +name = "darling_macro" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" +dependencies = [ + "darling_core 0.14.4", + "quote", + "syn 1.0.109", +] + [[package]] name = "darling_macro" version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core", + "darling_core 0.20.10", "quote", "syn 2.0.74", ] @@ -2521,7 +2592,7 @@ dependencies = [ "ratatui", "rayon", "regex", - "reqwest", + "reqwest 0.12.5", "rsx-rosetta", "rustls 0.23.12", "serde", @@ -2587,7 +2658,7 @@ dependencies = [ "manganis", "pretty_assertions", "rand 0.8.5", - "reqwest", + "reqwest 0.12.5", "rustc-hash 1.1.0", "rustversion", "serde", @@ -2646,7 +2717,7 @@ dependencies = [ "objc", "objc_id", "rand 0.8.5", - "reqwest", + "reqwest 0.12.5", "rfd", "rustc-hash 1.1.0", "separator", @@ -2679,7 +2750,7 @@ dependencies = [ "http-range", "manganis", "rand 0.8.5", - "reqwest", + "reqwest 0.12.5", "separator", "serde", "serde_json", @@ -2754,7 +2825,7 @@ dependencies = [ "futures-channel", "futures-util", "generational-box", - "reqwest", + "reqwest 0.12.5", "rustversion", "slab", "tokio", @@ -2887,6 +2958,16 @@ dependencies = [ "tracing", ] +[[package]] +name = "dioxus-logger" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7cbab0b5519060fe9e14b3c21e3f2329b8386cd905618f78c7b929cd00cf54" +dependencies = [ + "log", + "web-sys", +] + [[package]] name = "dioxus-mobile" version = "0.6.0-alpha.2" @@ -3014,7 +3095,7 @@ dependencies = [ "once_cell", "parking_lot", "rand 0.8.5", - "reqwest", + "reqwest 0.12.5", "rustc-hash 1.1.0", "serde", "simple_logger", @@ -3240,6 +3321,17 @@ version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" +[[package]] +name = "ecommerce-site" +version = "0.1.1" +dependencies = [ + "cached", + "chrono", + "dioxus", + "reqwest 0.11.27", + "serde", +] + [[package]] name = "either" version = "1.13.0" @@ -3306,7 +3398,7 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" dependencies = [ - "darling", + "darling 0.20.10", "proc-macro2", "quote", "syn 2.0.74", @@ -3527,6 +3619,16 @@ dependencies = [ "rustc_version 0.4.0", ] +[[package]] +name = "file-explorer" +version = "0.1.0" +dependencies = [ + "dioxus", + "dioxus-logger", + "log", + "open", +] + [[package]] name = "filetime" version = "0.2.24" @@ -3718,7 +3820,7 @@ version = "0.1.0" dependencies = [ "chrono", "dioxus", - "reqwest", + "reqwest 0.12.5", "serde", "tracing", "tracing-subscriber", @@ -3730,7 +3832,7 @@ name = "fullstack-hello-world-example" version = "0.1.0" dependencies = [ "dioxus", - "reqwest", + "reqwest 0.12.5", "serde", "simple_logger", "tracing", @@ -5178,6 +5280,19 @@ dependencies = [ "tokio-io-timeout", ] +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper 0.14.30", + "native-tls", + "tokio", + "tokio-native-tls", +] + [[package]] name = "hyper-tls" version = "0.6.0" @@ -5565,6 +5680,15 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "itertools" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.10.5" @@ -6167,7 +6291,7 @@ dependencies = [ "railwind", "ravif", "rayon", - "reqwest", + "reqwest 0.12.5", "rustc-hash 1.1.0", "serde", "serde_json", @@ -6188,7 +6312,7 @@ dependencies = [ "built", "home", "infer 0.11.0", - "reqwest", + "reqwest 0.12.5", "serde", "toml 0.7.8", "tracing", @@ -8143,6 +8267,46 @@ dependencies = [ "bytecheck", ] +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64 0.21.7", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", + "hyper-tls 0.5.0", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile 1.0.4", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper 0.1.2", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg 0.50.0", +] + [[package]] name = "reqwest" version = "0.12.5" @@ -8161,7 +8325,7 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-rustls", - "hyper-tls", + "hyper-tls 0.6.0", "hyper-util", "ipnet", "js-sys", @@ -8829,7 +8993,7 @@ version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" dependencies = [ - "darling", + "darling 0.20.10", "proc-macro2", "quote", "syn 2.0.74", @@ -8853,7 +9017,7 @@ dependencies = [ "inventory", "js-sys", "once_cell", - "reqwest", + "reqwest 0.12.5", "send_wrapper", "serde", "serde_json", @@ -12207,6 +12371,29 @@ dependencies = [ "wasite", ] +[[package]] +name = "wifi-scanner" +version = "0.1.1" +dependencies = [ + "anyhow", + "dioxus", + "futures", + "futures-channel", + "pretty_env_logger", + "tokio", + "wifiscanner", +] + +[[package]] +name = "wifiscanner" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d74e667d34abc74f1e5b509ae3d24641f56514ba2c5a64f9d733ae2061aef856" +dependencies = [ + "itertools 0.8.2", + "regex", +] + [[package]] name = "winapi" version = "0.3.9" @@ -12605,6 +12792,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "winreg" version = "0.51.0" diff --git a/Cargo.toml b/Cargo.toml index 50f20b5e7..a92b4c1df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,22 +32,24 @@ members = [ "packages/static-generation", "packages/lazy-js-bundle", - # Fullstack examples - "packages/fullstack/examples/hello-world", - "packages/fullstack/examples/router", - "packages/fullstack/examples/streaming", - "packages/fullstack/examples/desktop", - "packages/fullstack/examples/auth", - "packages/fullstack/examples/hackernews", - - # Static generation examples - "packages/static-generation/examples/simple", - "packages/static-generation/examples/router", - "packages/static-generation/examples/github-pages", # Full project examples + "example-projects/fullstack-hackernews", + "example-projects/ecommerce-site", + "example-projects/wifi-scanner", + "example-projects/file-explorer", + + # Simple examples that require a crate "examples/tailwind", - "examples/PWA-example", - # "examples/openid_connect_demo", + "examples/pwa", + "examples/fullstack-hello-world", + "examples/fullstack-router", + "examples/fullstack-streaming", + "examples/fullstack-desktop", + "examples/fullstack-auth", + "examples/ssg-simple", + "examples/ssg-router", + "examples/ssg-github-pages", + # Playwright tests "packages/playwright-tests/liveview", "packages/playwright-tests/web", @@ -310,11 +312,6 @@ name = "errors" required-features = ["desktop"] doc-scrape-examples = true -[[example]] -name = "file_explorer" -required-features = ["desktop"] -doc-scrape-examples = true - [[example]] name = "future" doc-scrape-examples = true diff --git a/example-projects/ecommerce-site/.gitignore b/example-projects/ecommerce-site/.gitignore new file mode 100644 index 000000000..ea8c4bf7f --- /dev/null +++ b/example-projects/ecommerce-site/.gitignore @@ -0,0 +1 @@ +/target diff --git a/example-projects/ecommerce-site/Cargo.toml b/example-projects/ecommerce-site/Cargo.toml new file mode 100644 index 000000000..97a541c42 --- /dev/null +++ b/example-projects/ecommerce-site/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "ecommerce-site" +version = "0.1.1" +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +cached = "0.44.0" +dioxus = { workspace = true, features = ["fullstack", "router"] } +reqwest = { version = "0.11.16", features = ["json"] } +serde = "1.0.160" +chrono = { version = "0.4.24", features = ["serde"] } + +[features] +web = ["dioxus/web"] +server = ["dioxus/server"] diff --git a/example-projects/ecommerce-site/README.md b/example-projects/ecommerce-site/README.md new file mode 100644 index 000000000..0505b50a6 --- /dev/null +++ b/example-projects/ecommerce-site/README.md @@ -0,0 +1,24 @@ +# Dioxus Example: An e-commerce site using the FakeStoreAPI + +This example app is a fullstack web application leveraging the [FakeStoreAPI](https://fakestoreapi.com) and [Tailwind CSS](https://tailwindcss.com/). + +![Demo Image](demo.png) + +# Development + +1. Run the following commands to serve the application (see the tailwind example in the main Dioxus repo for more detailed information about setting up tailwind): + +```bash +npx tailwindcss -i ./input.css -o ./public/tailwind.css --watch +dx serve +``` + +# Status + +This is a work in progress. The following features are currently implemented: + +- [x] A homepage with a list of products dynamically fetched from the FakeStoreAPI (rendered using SSR) +- [x] A product detail page with details about a product (rendered using LiveView) +- [ ] A cart page +- [ ] A checkout page +- [ ] A login page diff --git a/example-projects/ecommerce-site/demo.png b/example-projects/ecommerce-site/demo.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc4685b831ddb331e3962edf274261c011976c2 GIT binary patch literal 285508 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 z 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
  • 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

    8i7a5mT^0y^)-|Z z{Y`wEX1CDM!z!s%3Ejf60Eu=T)kK&`Sok9+3}Z=_j8wc}k>X%P25tKr{}|qhb>%mP zuI$o_f;S_Ts$WRsulF?C7iLm_d%-sbxNNpq1lRiMH-hl=X<(jx!isUtKI2QyJ$Pkt z;3=7j58^ZhIsQ$+ zyeo5e)h9lP9g~PaLAgJBCoTDDbGbz~TN4S6F6lXIel=xqj@P*qh(X0mu?kkix|KC{bh-fz%))x+mZh6=+gZ_|c=+t-Qje)vhG>KASIy15MmVo)<- zP`SqS*v%F-ryqyM|Ncjb6`ZafrQUnD9xG-pb--TU-T`%JF+bFfOv&i0wANXVZuuks zuI8;GZ}gMSm2X9Atn8PIE-HdME5RE8WX^fwQNQF~@7u96ybg%8p~u&=kZ*s(fzxt{ z5y+8GQ*yIC)Q08BzkiGna)3r|R&?QV6A%O;fHd#TZbFr@+X#k*w{tvkWaRDiu>v1Y z&uExUFyW&t2KJZ74-_FVdDA-hKp-1Ed)sGelZRCX_j?-f9s1ZoVDx1jS|wh+IKPAx zt_0Ua;mw?_$f4o0bMo?b%U~vZUb5s@hW^3);WWKBtzLdH@8eMH5(dym6a+B>YkjB~ zR*jk73s%lh;Sp{p&-7lb^YwY6(Y0AIa*7RSoK<{ye%@Hw=HccSWDrV>YB|2E!Og;~ zwpO0)MFzKAOu+a_^70h{iZsGyL{M(z^IIx`v$3~kDS8Y;JtTm^<1JE1%Ni!kR%D=e zcVv1_v254)aRg2v9{vS0a(teD@tCQ}GxHU;Bntbg$zd z7)pgb9*h%@`5h@_%#ac&YvTE@mjjLfDE(@@yS&EtcpZg;jHeZ~*j+1ZCi&wJ z8%U@b0nKDNRtqVC_rw5W+J~Ejl$P$t1;DP23ZPH^3@}qBW?j z-qozlTiCs1d_33af>&Wf6WY4*i#EAC*t$qEla1)y`3~ zTR?5dzB#M;Sl!b0Q&Oc}m_m5s#D)U)b6C&NkR`i+5uUN1ZpU@eSKo;m1oJ%X$|O2XR6TV7&u-4;zfU0eSwBEn8@| z<5h7C=w#ZA&frTs#;W(RX%*U(yFL`zNaztx}fDR*ebjLXmK>E96O}6%H3Ek zdcyzMV1_yFOJzxA(tMF6a7BW#_?m7%mwP8EW{aq<3lD?$fZ6Y3jMz14X-Z%Jxb*|0 z*E&mvxY!oIeFtoXJLD%eM*|i*ZMzB|6+3c%?EpeCkkVHL8ji zXP{~FI{5mB|3PD4HoTV`YAH1jvcC?)M%u)&QT7G1=UXhhE!aEX zOs0Ze{YP&0fw-yJBQQPhX+U{>D?{l-xZ7Ydq{Kq zkC=0Q{$a>eH!i_$PgSnvqYh>jfa(`TwC6MZLz_$2DO@RegeXHR6_V#*&uBpD6np64 zhT8qvv=3jcGH7cgzXkt!DoHX)Xrf@QTjhCTOsE%dJ(-hUQ46rW?jkeXr|Ob^T_oJ# zWsCDjGI|kCV|=xzCa#BPR+DzxI*OM*>(Ts!4+vYM-KrhmG)FgTlp;^b(KVB5csnUU zqzxc|6CVI5mf9G+Il*wBh7`jZrp`Z~IsyaY zdq-GTO*g)N{4BmIr!n!W)Y#G9L6r?L)ICE4T$IIcH+AFKoL@Z|V=`#BSit$5WHahg zWIe0QvyZLwf!q6s)fTz#r&m`8pfCqpAtTJ)R4$4lnK^v2)zRy73fm^D#Z!-YGm=xn zAi?gpQ7>diXxd0ipYq$(C`+KoQ5#MP4nE2IcG86!ULz2&P36(gJF9P_Mr!iu4HV5* zp=lF1E8-ZI_fYMmh3Lt?~X!Vn6%HWQuLVuP@7^5LB;|?Wq^;)OGoC?Gssq zFhGi>3EJdi4Uy_$$5X>}W9a=jllazf-p)0Yzn#*n^-iMn{1d1i(|&hezL~$gXbMQX zencJmsCNZ1MPnL*=r|Suv-8f0$B#(uA7XD^E;3BiMAn5jfCjU^sK0!=rO(nOyvSgpMjG(395_k{bg?9^mIj+Zu|C8qX5R`w|gNLSLfH6J!*lxQ{g zF0jhdn{>&t)zuGi_EDOM+iJF$MqmXu1bhb{>+7}*5djG8@klzantGY9KJ`q)*6EXG z;-J?RcISk~%#W9r+#yOA)2_x-`@pAScY>ZC!2aG-Y_1C4*3N3-!)s~XXb zvN{f(W(42bqkyKHCO05)-g@mP7}T~CH2#-u180tD6Af2H!W<^3;|}rTr|4*Q>Ov<( z1$mvR0&&od`nm)tPOOjRnl1Lo7CktVI6GxTI29=JYB`559yAX1%l^%+kz|#@o*1e` z2psX_5o2)VF(>@R?8;rVYJq3Yag!U{9SBhWRqd3?Fi_{|;uA~gemKI9CEy3g68t4a zM0z|D|8f2#FQ2wd>I;}cu^`$JKcFR;>LjOWzwANOsnf#woCv0+pSvo4&9rv%?O{Re z_EJJ6=gebWubLAbDrF=9=KU?Q7pWu~)1)=kRC)r|jOK_Hz0fRfmKR^t_Oi@gZ*484 z7YHM$$M36mb>LK4MK|VKgOr}*q4IV9@t`b|Y%{(#Z|LZEiYnA^xx(6=^r@It)%&2| zFLKLWsaf6;M9>W&SDcrXeV}TPuC(KFsN+`c)AJUCYxHA#i*h-3LBuOQE{eQmRda?n z`$5Q_TXFwcy0U%@O1aE<{SBP_f?l2j%M5@csTN?-tNV1+x~+c`h}PNZlW_7j=wtg< zbnA9~!X@Re=}(b8I{i5gRWz%s9Z&+v|ufYR5MW zcMM&e2&e`;Rr0Xghkg|lXb1`UzIf417=w$v+Xx^(TfsvS!f#{Ki_@Q~a zMHr5;j`8kaL@1cN?qVk4(n$OQzEYpmP%;G02@xIdL^S-|<|}!|acf}?sTqzcUq00; z?Wb?_dvYuuW67r=&GWN7Jju)-yia)P zey=Ob0%l>~7!-_lIvw1UjlTG`VZ6@QLCC0;A_Lxs&=( zDY6tJNzB)G%78r}V)s{bq}+B_5krt5W$zYqPy6jS#&}_h5>8B)0ZC>F14UA41yxzk zrv8?GSYr43R$g}11yNn%N(ExQ*n}PG8x%F-~=u@6<;H) zMuV<$Cy(u@X3WKNEu4Vtw6hGD+;Y@Kj#kBj=O1%~2mrZQOPyT=Bx;@?=0j){4a{=-7A6E=2 z+Zh5|i2t)&lbLtwHh*SzaR17xdzd`hk77xFOrK4A-TN|@{Oyh-WwYihYam`5P#$bk z|D^IIGZvNKvTErD(N3{N$3TLPf6FM846TOP*nuDm>Tgbdi^bH!H0o@YHizxzdYvHZ z;_LnhO|$mFTbk1_^w@SCaJQafi(y*2Qke-(k-LSu>znAzFde9TXLMit zTE4MUJEiPrO=^7+5>~SE9hJp0H^R}3koD}8h;^*fo>3pM8w=K>{Fsm$9kJbbxb`Rx zu7%?qb$bP90)J9V4~eLZ3A<#_BycOLkr@kC3uEdd*&e zc-Xv)p=Q|ckHiYW7)Aciu<-h_#ZA7DO9{%0L`Gkuk^WEDUiW0j<0Uu>6K2XiRQ#iO z^x`lI)W^C1rPyL8?o?S2GFKLn6-|>?mm3}0A#Y$ySao>fzWe^0=bQbnJCj0-eP45u zL=EcsYAPcOgcWSgadPGzm)~HQO}$$5U`FU12Kdnn6Q1u&lvb+8tp?7ctyLRMFNuo4 z=53#_`fk1DNNp0c1?SO-MIyKhWWM~5sukt|zF#t0XaR}PRmIC$v&bxaO*!nFnb#!3 z8+8tG%C|Lk_>&<;$%lFc3`qO?-Iow?bq&Hp!gJ!t=od;QI+0JTw<1BOE9aB+Rb7N? zId!Iw%5o(v-uKH54K~=>PmnY$j1MGqQi+pDQ~_Ca;AgQLrv^M9&i~F%Z2!R5Z-lB_ zmxqPThMXcI|9egIWDnuy*oCg;uY|8!x<*HOsl_R*2mqIMp}R36Qoec@<8;y2*?ccq z++DRT7->yVY>L}{LEa5vL>{_tNas|{;CK3K)^lVYJ{b+}jokhuG~gVGu*`AaKk>nn zZ?ZAXiw(^%!g_5@@GfVcy%fjc;A1)N)WS#ti7E4!YqbL0dAot^$b)jT?iH5)ir9)< z;_z6@|Ms_-^W(tGCLc+*Seh@#byoY?1Lr85CS)9NvG}f)t7q+YHUbywREgaGeM91h zV}sMD(d1xsbVZZ&8KFBG1aVE6^>WYEq%E1t4T<_S2$S8Sj(Ov@u4+>HxNRCcZ(;E; z26sYB{FaE`bnaWu&2JD&DNbnfaN!h(y2*bjA=82fzbN`{=}^;lYH;YA>R{_&V4ZJk zd)57hA%FJcH+cgw*p}5RQwS<2eiG67^nOWVN&WRIhEC8m8S!$j!YuC=W4~jB8QBog z=3gyzOxir9mdm+A#>LoY_fL;+{IDx;vO=~WA-s>P|Ih2|?hDMVTpvrShnEd>rrZuZ zt6$j{r{%AM>_4(zd4^Hi-aOf@dB*wNYG`{HZVvGPHgg|Y7uBhkRwwaA=BfMG`Rp69 z(u_YV*@a2dq?ly$*R1dnZthn^czo3v*vq}#sQA3;L5~fMW?;Jcgl!MtPXhh-+BSCK zCd91p4!7^UA9S$Da9{Z`M7d$U{|VRK*q`~~(PCV6BrD}f%y57BKTkS$^f@$%{%}b~ z9WQRzCL>|jKl5HW)>F+>UC%G54)We|93078=EBX{kacx=iE*pO(Nkh}R1iCXs@jSL zkk}ig4*rCkm&`w&C0;@#hcwYQv&>8L^-14Bv`8Vm!M4jQH{I-q>As)yqHxGX(qow z_IM6w%(m9o`H%11=!?-2M8w0wgxk}OzH*H5@CuB$lxr(5aygq?V&<@8f}s&}Y)o$S zt9J=RrYW-l5atwfUHApr;?KFd@A@LvrL|Ldd4oYiC7Rig+b%n%WmU*?rM;D!S<-N; z4t<2cjK9DXM-_MA^S;(6pJ_+Va*38lewcT=uNVs3=FZIJ%+eRXb+2j+c{4k8Hkp-C ze!N_t=*CBBOB=i{H1|dl4;Q-B-D2%^)<0+XPL)mX!#9{{KkC2H)^X!Oz)P$oVelzk z5L%f$N^(Hjbc$^8u&k}!b#gPK>TbfTXS;YdSGyHV%}i9Ow@X@SgG{J0s0?O_t{iWD zE=)Df`P+O=UD3pZn~{uTwxd#s-p&inMV!mK8qG*B!I+4pe(-!y&Ljh|OGW;ZE6x12 zBJYp$Z)BxgIMnCHvD!-LmWK?;pG|r)5e2zWe7`TvFd9l~+~TkjrevfZMs+F{bfKlC zt;=QF+_^6>#z>)KGMX)S#y*d0UAaJbgt#`E?a<;rZAv!ZoAJX|$HEAOk%)N6)|YhW{Ya>SfgoJkb*ZGX(OdjKySr(+1K!kt1N4aJl9drNRd}mtt7sK6&ElWUp1V7L zD;t}{m>66jkp0tsm79u6{fnn|A2I1FVlP5852(OU!R;(VVJ`Qsca4X0^O;+6xrAdv zJnyfjdZ;wp0^6VfQ*B;aqSvbK?FNa>rLTPXWZ1yf^XTeX>zby1@6&?)9W?*AxW6}* zU1O7Tn5VCYg=+>X-f5>?{soI=Vg92J!)|V1#1ustpwe;6S z2nufg$yD6O?6cO=NPwgyZ)8W)Wt=o)%G`fWy!99!Fc=;l@D!K+_etapUZ3yVwF2a* z4qixJjL_f=<;nYgOv%0^x5Zub>$;YJq06iU>S9;#Xlf`{s`)?V-}L55tc#aVR=D^q zVle0ZEic8LNtfLTkAgd&0{qXCOrv*?;W){&XW=Y5Y6(6wU^F+)_L7$x%c=x^8C5@C z@-G(Ey`jAh%IzOK-y7AF@iKfXkZgFWCWDv({-K?p%-IvPTe?^gjRc1!{RE;WrGKv# zLjQ0?zsCP?`tA|Yl66uUuWQqfF1s4Z0)x_iozXGQ|G1mfX&n4uKe5H=#55uFUwR%} z0JbGk7yFce$mkrw-}Nec$q&^BzQE53N$&{iX)H7&e;K)Jw== zOWZT5JxksYYD-D|&v9Ip^-#zN5+Mqdi39?j4D9 zGpb=5$?axlCi-0r4eZAb4MkG4mh*G8&EEu|;gwWAYBh_=rhslYzgJdHqfNkE$WL)s zfO|SiJBRgd$7Q zObS+C?RK93oJtVxfo&nZn+`a)HR85?%71{V%JzKhZj@<5CLegw$-=fa!6S|pw6C7l`6zIbN_ulQgtN2xjcbt zY(Rbu`Q0pFj0YJL5)17zi6j{cRhnj>mYOwK_)q6hXONKVAh2Td>TA3CDk-f_WExh7 z`|$4sUk9_fcP84(BcinI4uUL<)gD-V>Ei~XO{Azt8x>YH5sFI6mnHVIVZ(2(d9sZr z=WO*g#!j^o|MUDYX-yu+gecO&wjG78g}XPO4!?XvG6x@a1f4kc4_wzcLxGV7?}u z>8=SS^C#Dy$J9VNrwJ|EJM8`eENJOvk9e_{xhx-L< zV3AIJjb4vsh(cRm{Aox_67Ap{<;cQ<-+u%fBJCZi%0O(Gk6_^=+t}pp8Cqf*6(#~1 zOQA8z;mHv*?S^RDct$8z*4A5JQ8r|jL=@76m7W~!>F4lxq!TnyH>O#}8DAH4^FjZ* z6QggNlui$2Jw!q|4kM>x^YiVi^8ELn$lQ{S!MI5E?LM3o_=})JV(^a6&li+Ry+(d% z6&I289zT0$X}$Lw>K1Hg%T1HYOgtJ;sfSpsY|tRCrCPah<2kw5AJw`mA&R&(kJVub zH23s=;~(AqMLf9ib76y|zgMAYn4!D=NERzsW8LrF^-cQGqzxaB7n_$V4#Dsl>#b_O z?Tzqsf*xib{rj8kTwQOCclMCyxc`zI{qD~I|3U4qm(FvHLM z?6C=aFZT3uYD%8<*r8kJshViUW4Z)S#Z5ZgOZyZ#KqQ`#*>M#(`3y!0ZJ{v`Ck8Sf`ZbtvX z+89%^UPf!3H$jxrU0tDPe0T8=)6`qsRA#`^hLt#g^9}va>IecU_YXCJjB-xXwJYE7 zKVsZumrUCKW@&f@jyueX$pn-)US5|a6$bPu>^@~LhdM7R3U_vu-=bdB-i7{I2oG9lYd&eX5LzVuYi;>5os;lhd6HKIv@w6yYc_cvY>gw8$ zjVtnfbIrkR+trUA%=6v7`#pVC6Gh}PwM0Lr5e41bg7R_|^)l^Wb=rWqzx*bch@(NP z+CHmM$Hu-hQUiNID*Z!YTSZxg5V=j$i@gLE6(oeuMQZL}%*Sjj&t*Ld9 zB*h8SmUM6^k7$Y&tJFO5d$5JP!!SK;I$yP|y}CIVOrj?a&>M}|wJ`_BU4Mc)&He5D z4Yw(UIJieg<4@q*&;svsQkt3+7aHy5c+Y#&rBIwIuOT3I$-7nramFP~?RA9s3=bD$ zH^vz!K|M(@Q_*Oo{mJ`nZL`od~F9bcI1s$Lt=PRvWlWV>Sub{u1*xLr7*3etA6q5Yr`uf z+@EG^os>j0_yCA7ph?uYNNX)PsNS}nH=8gOjyZjw%*Gq&v0&dkAbA60#Q2*=fAhQ9 zs`*gc{jEIne9bSQhcNgCTT)Bt%VAwjYKws`sEcT`_PWosy!Wu&*!Uh{#O>I8-QK3b zKa*tIrhd2)HO!ux<=LzKIe`MiH1PF2>Beq!F9CUnTMOQU2)<^Ni^UWEceJgdl6*Mn z)h62KjIiIJDpMZn$PrL;#j@+uF=y+%raC<20(2XjbM&!sXcrmufH1E70N|V!Ski>d z6dVt06p%93)=z$W%VN%Rc2KcI5=iZ-0nUTmQdJdRr^FPk&9H-cE;DDdPRPXtAE6sw zYIS*5AJdB8WqRpobn_Du$4UFym4-&uc1$bYeg5Q)(7yNZT8qxRg#@IjnN$>2N@8B| zy&V~s+U4MYSOhdGTj>=7dMML)c9$R$m%8NzpCW%$&s2qa(pdg7h3&(o_5ICjZ~yaP=fxi8cWg_BqlNHgI(=eZB%5A%+fF9L4%nr)Ji4oz&GrFv@7Bm7 zOWDt6$Z3Cy-K|GF+ZuUD4hcQGxJ>&Z?2l}4{7Ie}d=*L1M%X(GsuJ*D6sT6xNg#wg z=i(Bo76IDP7Hj)5c-!(Sml$LDGP}lk*|N3}ipYcgAKzCi6~oNvjvo#G)fXjf1WmfAuo@R}0z`WQBrNy*=)?aF4U zi81nbpgH#Mz($=T2bbi=@oPGuH4-;GnY4jMULF2l#aq5inkYO@GShzn7*|@oUOauW zyStkN7+%U|`?-fad-iOO2@*4+oRQp!L*-xxh%1)a8+G-UwqNC3F6%Z}>ORf89n*;~ zer`TnqQ@MW<2{(a0dZLN>r!pNp&;8iJWP_y(X=&^63OPN+zQbolWY;OzWzbbU)&?G zuF351YD_>az8pP? zv@S2Eo{R<>2#b z^%Pa1(x;WRwMJ*Bv=pUfrzV`2laLRuX0+Cp2YJkuwlzz|^M*A`3yqFd2g*^`^3Dfpe*E@6=VUi|RQTn4z5iC! ztc>&hS%~*|u1p>E(+AmNso+{lT+??n>%vz3SNlwnS!O#6U*s)Ot;9gS#e48maqjTc z1=di1Vb-SAH zjY7Uk&)3i?GAHK<;GSrVBF6Jmg-_|VZ}-s~2iCmQrg9p-eYH0#0tJs7>VycVN7<8? z@)YkWqq%IGyl_w(wsWn-zhw||rWby!wJ=s^V^L_K6&2++I7-?yr`{4~x%qXw%48Wo zTIsg>)#~Bdl6xYs=b6zc?4n+0y$JH{OU3BOySo$1P-SSNpVQq96SN^XNPFy1vTihcjgJ1M~dsp!Ae&OM`!pYBHIJ z{_+j^g}oOB#oZeKjo%z6iUE;IC9A*|75C?(+)YiX&!;z~A! z*CiO}71R~Hi_&$j4)J;nN>zv3>SFA8q8ANVZH5!wSPVPVepg0ZCJQ`11&)t%Ve9X+ zZPRwJrJg@i)Uk`0LL&}%k1?S^5cp6U?Ie-p%GFozfM1l|KjJiL5^49YZ6$w+?fEGf z;m>lv@$NsrtT-Ohr5m+;YSg76?4a64oyQe7I?$BaSKJP^S zJZ)H~$*vo=SG#XI58veL^yodaa-QqJ7zhO1%hd`LvDk_`msZOIXBxD%@1a`U^S zZ3ruuXbk04Gk_nMuiM~a1s`A@aCuc7wC$Ir^%!8bd9wDG>`p2PK=&$&{wH9|!+p3> zioYltOYYyWT`eS+y+1;S{eN72WmsHE6Yhox5FCPAf(LgUAi8g6`t?I4|s0uca6!l5F%fS7hq3DYv zU&FH82Hga}`PWENzCo$W0|95ViS0!l#J|otd)^4Y@~Rm_~dKG*1k5YjV?8D-Ade_ zu|Zs%jrQ0rnOrsjHy6oaFAW^=xC5(_TP2<(f1HND#11-8@z$fCZqE9W5WShV8sS6j z&?oefCs4;L%6@axN{$$1PPdgB{F(Bk>Nz_zYgk%KK&N47vwQ*zSB%H*SN+@M%1E^4 zdukD%t}*If^YIv>IgV~8*ZQC-o$l*8&VF?S|!+g30+S`(%+WWlYN80oS&feBRBq0T0!^iMj*52dj-p_x>Zdx_fO3{}MXNpSO3%cT zTN77}3}RbS$|%QU_gF=EqvdHr#dgHy^#KQ-D9yM-td-3)Nc3IgKMup2K%17wy^t{j zq{Xes?0iHR8G3=LbFj1k3T5&3>OB_*Hs^pXYz!V7LxpoTMpvYO^0ipK!so2nmc zBfBc_14H*cMS#)}I)IsM=-N?eHkCp3X-Wb~H}k-^#d}|UtR%y9QXyU$q44j8bz_lQ z7$oA=JnukNZBiMY0*K9UMBPHisuKH}V}h(@t;;J$z#7xjFK}#vo{V>G=J5zk%-c4x z2OEEK00bLfH8Yx(?T>f4*8Z+$e|}OwIS-p|Hv*eSVt1STf)%ItZM}38SQiKIA$AkU*yPdUG#w zx?gEJ;=a^mHYd;^0;o);Y^7XY(xh+$h#H~!{+s7ua^|2Oip^3YAWaQhyP1`4A$Hyra z+_!v)CDz4ye&8;2=u_snH^Ftq^`**Wlgf^tumE6av@ji8Ra1j}JjL?AI%1FdXGY-B z#|tgo@kYC|-)@Yc<`~Z88*hfs;xvlWhYx19vr8~{p^m!|{Pty|OTfaEvs}bd3tcfa z;@(=!Tw1rCRYM|8T>nUnm>b<=kVH&j?;QNPOiJ%l2}(&jte=zuWwZ_I@%iSR(6>-5 zrDKBM%n9f0_LvsYv99oL4HCut?R7=tLQfghzm`s=;0Bx1DAwOTcdJBavt*H!+`kqL zZKMqcFVGh2_~Org|HP6<0F8T&^c3OjYw>Tw*~zpuq{;tSqQ_n#5WNQW&Gy${lUf~u zFOXfaK`{Q`gTG(pIgt6d^WySrmCVfGutMiDQE= z5!;~8+Fi)XV^}IOBVzQ8NPV^O?-NZvw#I20WOSd@d6)e<)eZz({yTcaj0l`i7+{%0 zEHtP0k>y)YxRQ|Qc9u0}w)KEw`Fb z{!~St3(I&t*dy6*#OiIn$|)=Vk;`13{yuO=jm9h&H=xU``Nae2xB53iFM2D$-y_e( zABN4EY_Wbkg%Xt7;y-TLS?nS2=-g;ao0xemQxV(0CWUtD+x=QQ&oPW<&agt5x1v0} zlg+WENGYG9Gb0_#tB{vB%<@MLddF3lm+!T9@yVxEONgwViy^P5RR)gt(5K)8v(2e? zTjxGRw$O{tCeV)b(f?&9o+IqUu0QC9O`7^*T@Z`QQ77HTRF_?AIO*Tni^LXr(r3kA z#k%$BaLL1?`cdw$Ip(U2IZ`VcUd;=Lj4FIdq~>XN>Lj?8#5Q#&;6+O4a`;&)CJ3t~ z{}l{OH!`6|+R(QKO?Z49*xeQI94|_NCJ@UjmRYUdnJ_dX9KBBiqjPG{Z#_^w;HUN_ z#k>Tvd7s&Rd3Wdrx)_cLQX2VIlc_(eo0iD7x(C_ctafL4J>cL}pSP30SeAsQNCodz zXld*sYF_{M{URP=K^00`V0nAL$obPW*A2CJ){f1{nR{OO;ZO{wM<}QgNL=?E3-yf& zeg3_0#q1e%?f-&H*kU~vkIt+LmAO0;9$!e2LzfEG05d;=kx5JS^zSHR-UB-$EHg6w zm@!?3SVOLaJ zQ{8qOfY2cZDyqz@ckNLF={x^p4iGl?$7AomhEjLE>y?;ca9NcBNUJ<4ONquF)mgoB z%|X-*>{uE5&(IP)rU6^TymC`Kipqkxr>?jR2dTBX781;Z=v>!0(8rWd!HCDcJfL&r z{SrfRs2GU7`ZfQjy;Up6KO!S0h4CoAxOLw~jOb`ShN19hKtq^cVk@E-spQjPwsY?? zAu3<`r^un9BgXE{OrYT%O6fl@j?Jm_yTdXUe(#0YpF9!sCnxq?O448KsK!5E<@`t; z7_FfydD##YfEh_q3t7XjVc;P(I53%Aux{~ z!A}2zXq*-a(Qh-~Yi)c0(-LG-pKi1%Q>)dZA{^#><11?>wVmg;x}+T1f(TVIqG&{1jd&OeOO&hE|F}1`=2OkOD>B#`)gX?Qc)8iR zwtdD}g>PfKT6%sNM4MP?>=07speT~T$D|yWf3ON2ao|t4H+c;lkYTpoqVq2yOw9b| zYw?50g87%@dx5VXD6FQz2jP>g+sE8~(IIXC-T5b}ynJ`;%cojg6>A?L-bENZ90Q1w zxi+#HB(%2u7Ri&MkZF0#R*ZZ^zZ{19uFO=m9Wn)6W+vc4Ba3Dx}PZA2j0)$5_* z1S78#KqL%OVM7{g%7JUm6JO2grqIWhka@5wlXIII>ml{TgRXb$^Nn7XHJ8`m3<;3e zv%|a^QN{8<8$14(PeIN|4h%DBGC4Fzo(*s%4=NQ-Mcc9#YAZHpu6;=!BHQkIp}j~S zY${o4&}p_6EX~?p!P7=7gk}sqC{w}{lZu0#Yj>~dGu9)PmJ*4+?5IqE84HnQZ2ddw zEAStUDTB(vV!KpU<&c!b^b3(;oX{~xTj_b=D$z{vSLt%@as)$)n0`W(9&VM;k~Zg5 zds+g--+yLOG@@WlBEqz^mDo?4^Wc}Whc}md4VM=2ILlT)*HEq7d~y7nG7+K=@Ws{` z^4IcN|i-aDWn}hJqXYqJzuWW_zYvKM>`k#&&W5c5it}+d#ySP5Z?h60+)X8^` z{cV#vOt8_%LTM0SrhC!Qzo+9cjkV_ivY{3e;C*C-5$6k0cB-m`cgB7zZRbtLvJoY^ z_*eAAbTA$ve%LN%^DnoO0wE94&=ypcq|w9br=3~^9;8XW&!+wrv_JjHe)@PtOaW@W zdPgh6y4ZSWh-||&su-JIhja7$YJ6JVGCQ-Y$C9%>gEAt3mW@-bt#+Nua`H&9^S`&6 zA$c^?6e=~926g;AOYhhtcgM4DRB#+d>Jk&hGCw7LmG&iRjyh#sy}4d@@l*E=-ubKj z3pV~k#{@z4ubnP4O`C2H4NDyWK=*NH+63;2wBQ@#Ima`iJ$ zH7q5`o`aG}%WjU7V6>2A8_)gz z9mqE&!N0A>He5X8^Y_NjWe*UJ#S)T9^_eccfBl$0Q~b#zrEIED)6s)%kyMQ-XIA); z0!QqXiBvy0TC;h_niR)Y_rLr8`SqyA*j36q8H*M732(V~IN#pP3K-(iCma5hhIien zI{fG~{U@sZziTU+9;HFh24iJP^4BuGgkhW?o>-o28jX=DcJ*411>P_5gk<*pl>hHh zLc)*Td#-Szh|)`UP1mW=Ias4(vzT69e00kmGk@~yk~t&E@XtljC({JaFfgT#}E%FF!sPWoH%4E3DKARgml zMs%9@*w5&(pQ47vGE|#{Q7OipF#}E1eE0L+vnSl78M1(W?4>27w~iAy;bqk8@N_{U z-ht+ksSD>8w+~jlv~GrTjR^}@zh1w#Dw7H0`qHN5yy2p>sk=9~wf<2JiNXK55u`&C zo{HG#x4ovNiOX^F`oh<{Y3jJC%`201i8A7|@y=VaC}rFIX5BU3u3Uz8hqv&#xrC6% zCXJVVb$+CU)b+Nj+d4=oeKaPCV~Z58-P&+-1O0T%RxNZ)Q|!J=&^d(SzjpZ6paV|| z$*ot7t!qk{m6k3YE)H;9Wv77uI$S9NFNT!!`wqPJ-{_SE95I|e{5o7sFL7-A{k-3Y zZZAybTTc&W)EJPpB2#sNoU}m~dfq3~LIwBTm5-x}_kwBAoq_g$oAJW(&vq)Lx%JF| zV|=iDSQwt#&#S9hyk=CT^wwv*pIo9)3~?qBJK#sLpJ0vEY?OLow!W7R%WnqLtS{QS zMtv%)O+Eg!Vm^=6sdnS%RnDNWd`n~k9B8-<6;Rv>ED7b5QCi>}3iDtN(-N+pcNY5g zL+NZGipF;&?NALt>89z#34gtI7r?&^jHs_Ouaes-X=LhToWxAbqZ9@#LbO__x1BQ3 za%bFtm!D}}@h1dxMc5R10RLZ0koYmud|ZGShm}QT-?lav&vSQb&Sdm9_KuE@XB#v> zCSF$5k%f0sy}SlM%#)R0+7;yP^T*4P?l3L#5&QR^)1q#&7EgU{NI3s-8V3Lq$ePmt z18(9LiR!haRN8bx3wz(IWx*}V&+ep9uXL5Jce9=E4oJyKB{Q|kmV$bD?kyb8 ztIE`|;4GEZ6FT@!JDIud@==t{w{qU=jzBSaVNndgt(S+1A=$)ppsUFJ{zvZ@kqdAj zz|B3SCHbPx`viIwIQ{Ut+4B$;aKEAHa5Yl85y--F)T2q!_J#k)^N9`M{(il*myXDj zO-qBG6Mr~~0sk2g;4f-lG*v1Iber^gh6QLuW&_M<(6e|I3+mjW^$Ya2@6gQDI2Sf9 zG}U*1-d{v^yy_X#fVeGaEr2`ee~8zJeA{NN)E_DxFtne0P^FkHxtDWU-Tm&8HbpMD zCuSoY*}X0>J&|DM?LE7o;eLk=a-Ar=Yqm?-DHy8oJQRyP7#TwH8`VhIFY2RiYG}+I zWuA1@^>e9-(K6ZMC@#ixcimhnwobG?|8R+4K0ZBqH*kB{rfX;iEzBN7)C3<$^O+G@ zl-9I6{jt_v7HeDGWhDQ2+gp5Ni;T^ovTMj1607MSiHoS$AX3|uco$BCfw-Q3({I1SB0d5`@%Wq{;usuFSn zI2~HIf0fTPH|bn^dGLA8(_by*l^OD=+&m%ccz36u%)^FLvTC_;Vw=9=fiAh+Sl`nT zs07=&=jA6IIrPCZD`X}Bkw&;%-S~EHe-1fQ`+k8XDIvYJJOhI=*kHwTZg2nY$r5-A z83M`uF7PIKPEowqeV#=8S*d}9{P)LsMnv?EE~R{lN|C0w{s-=q1G$)BBo-UT{YJ}8 z+EvfmNyjsg_g?qUFW{A73$lqXgvaJf%_QKv6vIxROKhS$KV9JVZ0;eHy89l7%@7f$X}MFr)NQIxyJZ3#kEcw#4c+su zIzFYiM(D&E^+T_ds}w)@)D`N>>6CTRhnMLO7e)L|-a_~14>xQ_$(v0>nP>7Xq&4(| z@R{di_0Cwuv>fFe7e|LHcNqQwX)tG^ z?l(*kw&c#2wcZk6?~nn0`nn?f0p|Cij*1I(f&yVph7NaS9}Ph;P4dMKE@|VY4w%3V z<-?PyhZG5AzSmb5V;-v$D_Tp;4}RCy=-hL^_8{q>43Hg{l@j7ag15{sRycOp28Uey zOu!M=MfPK62_tYSnw{pmF|&sL=5$XIKX1;$jImQnZ?DD@h<3O6!_&3;n@Ctv!{w=B zisRj}CV#1?egm@mPILA{Xfn8-8|F3#s?%%<*xD+!ORz7iPjA1lo72fXU^1#J&-F^V z)^zk6wYz{B-fp<-UbyZOr2})Z+-U{btD-LPXXnSRv?qAG**_SOgFfos9gR9)t!1kv zrO5KF(cRw@1Gp;jE_d`?MQ%tyjj_|gmE|p0eTgZ?Ug{t0my-Pc0`tJH6>pE@Y}ZQj zn|Ex}ImjtZGiaQpyY)8Cu0$V9iLtoh?8Ks0doR!D>&2E_;zv^M4F5K0u&vLpvw&Xb zXwID+J+@kaO5sQ5uh}ctMmGIE)bQMNVSvWpKx^(-tZYqfw*ZfT7>SoKKrcPWJhi*w zud$l311BT$702hTQFTyk^LKv)bC0xFUYSWgb-H~G$?>e0Z3WHHrWcQ`lh6ShT;&C_ z6%K6Ioue>gp5@||6%F<}m5$UO&vuwWPVrQBNFohC=KR!76tCN*IJtp2GUfr2QehgVbcW9pJm!{#KG;w3 zjP9qfbSo-X5NvmRp;?(@;FSUYBs}1I*j9SC3b5bxtkuV3eKCf00T+H)|JuIpDHe3k z5*>~e^%uQTZKLvAverSmn0{ZM0yV?5=z}lFB2x*$=S_%;7#FJ%j)CGei;3-DLgt$O zngL@~ih`Qf8}$^2PUc}Y?ZO$xh8dpEyN!lAa)xGYU%)BasO874S;~zTG}|kTi-Iso zTmFLUkTgYQ7}%&i+tPwh1CM#SV7sAX&6CC}danzp*vg>=JTr9)4Sv@qrIn$lLgqq{rB z`dod_nOJu8?$y!_P~Xni_2*Nk7*y_oMH2xx;5Ss+Y2F??v}6nQ$nX@Jo*-kJc_0|d z4od5vLb0S~a$mXFNMMJ(6DpkXZyfz5;Q{9?>Azk_-QD{{|D*;*YF40$`*degA4^Li zT)+j-s?8|v3=@b!cfPO1IVm&u*88rn@!})av%(z_rKQOW5N#fY{GJa-f(&1M@=a2Q z?2f9Z!LPji=RtuIy3Iq8S0NSJupfVcn%-{-NSvgR@#IVa@l-7a7Z|XPzR? zBNeB;z=453Q(BV_aJ;utjueUavDUvzJeu_1^}_GT-_CE$gmcWF7OYZsOjjB@W8I|COuV0OZrS+4VBccU z1XvQ{kDW_kR0?$fA{n5plP9i^(2*PDAMzNj_9o;g?YbYzc#o|76c0CV$?%ws5h%j_ zIg1Rf9H7%*{6SIlIk()k?w#|yeRZE*6obEI*92={qMBCN(iAc#Ey+; ztE7%mf-%kNl1$GCRqeD*|2b8bgq}z}=ldoP;4+>^(L#jUVn9TKj<8>36kB-?7l-3M zzJg7B$ZBWn#u(IlFE&)RXCi^|;ONNPeR-EGE~sxupc;8=LLhkLIQK@u5%Og1$0;yt zPQI3Kj!JNMkt=~hS2(i|Zw#n+;Xl!>45?1`P^UBn7=cwzanHD}1&`-5+*vhmN7ZcMPuQNY z2!v}o?AIkaxU^i9>7kapFLMoX%l<97(V66NVQssiw4CC1A{J3qz7du@6sHWu`O3B$ z2BJ+#Y|Yv*XgDOTY>IH)-vPN%`uwm?p7bc3fIP?+v9yik&+b(T+E5Ovu`M6FvCSc7 zHYzNx?#1Gmu`#J&Z!7;HolCQS;!YMk4za&_)6MZ)Z|5*yJ#ro1dKO5nuVO`6-78lw zV7YJ=3|LHv-8F4aPElF0020n8oP(=6$j>$ZZO;w&6L_>`^@kCDwT%WEq`F0|7m+>~ zOBU4vlk(o1WfCb~WTL`zc`VoWNNXch3XP4M8i4n^FFHD8KNjJeI19XrkbHFlG~v|F8GD;o$mRMAq#FpK_KJE}U4)9- z$T_)JreEawHt|IPM2k>~4S*NP}h*?`E z%6V;Fwo5wP(eiRTmUA@SO)eTm3XcrVCUix=`IN{P=PDL=i|FarE*j{YCtenjA3pfH zXpzp<9EMI9Sm(%5!8UT zU9R{*gbmWt?a7o@bCGo1D}yXOmfYD{T@8cAlw%BC9iGzeLh~aJI1pWPDX@6i2kWUa zAWVyrqkh(Bd1c6Wi|dDGF=0TFwUA@UMRC=5RfT< z@ipoYgH}A9U7Z_la%fyom_Ch#wXrUx%WnGg(qx|LSu=`keaPi<5WTLemR!if220_V z`kYu*u67}WV5Y~Z8mhW5K{#Y%U{a%4%w3%@zJlvE922s?$=Y~sTI1q17U7r73la21 zFPg~<*l^8qj;z0JxcP(%SNJ8fTMTdJX!c%mxjg+6LisG+#@d<9XKZ|f@l-+6r$kYI zt!7MP_Lp`^dK<1!1m&)!t;<0E6%+FSni`@gscT)6^Waa%4-SXim+7W>+(&joF!ei;1f#A`VeQIHR7 zm4zJiAb!7{9HpByrYvRAvxk&co?8wzt==txF|Cc^peub^HeXHPs(Vv5VT0kLOX{)e z4m`_4-eDJM>_8aqZY%cH?7h~9pf!NZpdGWUiHAoc+IH(CH*5M&^PwdW#KPkCLExw^ zf~Z}1;3*-;&>x1tL$6#5ZFP$6e1E0<*_ocgD2=%>%`s+4NW?*A7P-oPdA5(s{<2u2 zz7r+wpz`Xf?iN$;1}F!$bigua^i`cjvO!>Q1A*Te+n1f!A`Y3DxqfMNz7DIHuk!dO zcCyRjt#$Jbk-mD_SDbX`db)oiiEte+m{KvXgf3!{ruFmWs!E@Y-s-%kUdM_u`_1YZ8ahF8OW`#wZiv^r$3Dbs%!7Lv5V6|$ zsbhiNk@4tf6GSeyap;c-Ziy~_1KJ~xhc>(x3JQ5KtR~zOmFVtJF+#RlbCVnDivCWf z4~<^62|13LUbSZC18BVgy)?=p>)y0=-YXwBTqXj^Pr>&yJd!fXtXj`@foAaBca)xZ;ug->Qdg{&?3Vg^;pDuy4LQ$Uoku6^K(+(fw`1|1 zwj=58@bW$4OUw6fHDVW+_h&a!idm`oQ>IklfC>KyD`opHA>B9a@=I+~%CNS(#A)k; zZ8d$b{N}T-EH(86@KsNb;^&xvb>X2QO6237Z^dNGe+>UhxyVWeg_nmOl?%W@33UGV zAZQ_gw--+7I7b?Gss1XWvCL@oID9yu8;)%I^eT&H(3*##FM8@GEDmUmZ}3f)1>% z{mf*F$lU1OX9YoTl+pl}UWiSsG3xXvI*p!OdsDoR&dgCM3c6TkA%C_>ZYH3;I9RC# z)OH}wPTZlftU;?Et8w{`437G^CkQ!uaktT(#nN@Mx41T??@TCcVpEY`4;l3-zAlG8s2rtmzm< zo%yDh5$6>x@zf;Ma={yTYjJN>w2GP=InO5KnY>akrkEy6DS4C@D!NIsSqFX5xV!hR zvzvcWw7B9xj(Os(Qy7lA!hI^fIS zHE|}$UEow8MAb>IJ;H52M4;0Dt2yTW{*R+}<_blr%0BQLc|HH-Fbl{pLp-OZ=g8!t zE)XEwsO0_C!~%g*MK|=X_4JrDQ*-{pvE0xqbCY zs6X^mZUyD{g}%u@&c*+<4FU*)etQ|TT~6}{_&=|!KVdPft+{cp-HJ}ZslnneaC-f^?%3O#+5|R3k0ouIH)=V zoo=U!dL?NwPCj4^wn$#sI4~W7yJWe^L6mA$VuqRRRcx09vWB$KdsSAy~upzpJ-z-A-%IO@i#^&33FC85(R%B1g zV0W0p@-Fh&y!*ANURTpP=|{qzo7*epn6K9i6(6zZ$7#s(%l6Nv$6A+V#A$vSxc3to z>fe_>-oi}!gxah7u~(QRs4|HU6C5?tqpFv5SbdCGq)Zyb{+})Y0IX_{7=K$`b{LRNdDKR(f13Z&YFFvV|Um-ZR zP7|QXT;tJ|fZ#Ql)KXE5cfojv@N{nk-_25d*sYcP3sS-==#@V~&61N4svBuAO7meB zU!s+Ss#m*N$dyq!)7oC1Br-}>Y4=qclj#q|`MLzk!-UCmiCAlvf+<{CKFFjRqfntV znylQLx>;7n+&jQ^1E;4fH4UxTS@1>rwtBaG>x?RijuUrp_e?~bTg3OMu4={R<=OSO^- zv4ox<^(rNt>%TYae=Ap|RuswHn`%8j=k5)$O!` z4H~vIxU8=-|N1xn@cYLaXAr%wFd*UG345`Dd*2#Vl&DhJ6Sks#!XTt%zq8-5P!xBi zHAN*Co5)J*u*Fz(ceC-f>7Agph({H#TK6$$-~b@@nRTFNzy>$f<`C!Wa*&g&Y@q3j zecdpe;mPiUZ=-@coYmrw$g>^dfH(CyxNg2ce9;3dRX4yq3g1 zsShQUUfhm&6D?xI@$CyRS<8TfyfaWqSt+7^S7Kd4OqKnka4HpW(jSEPvZDth{J>t+ z9_;>YcqzW~{P@@EXnnc zp5%>G!6;(&I|>xtmhU@E&SZ<(OF-p0=_{QU*@ovt$Fj1cR{P^oAML_$`lMLtdE>OG z)>eU?n|7GH2LkN9E!s-n`OM=R8&Y9b`NmPfJ;ofs8VxAofT*&upXjfKdPH3XiVU6<$6cwz z_5Caq_TpA1^ioR`dC!pgw6E#wwWT}*Zp3w*?;vvuNncJ0`8W4VCBGK-WNr*K5b5 zWMuqGGOR1lH(=(Foq~HnjUk7~VF?rRPa3QWoY3pdd_bvn}9PuNE9fgj6fj%yW>8(p_`bI3L^90m{l z=@f`>Tp|qm=pXtm2^*9VLV6c1bAkiK?tHUcC|^aFZ7C*>jTC0Zl*OW3*>%wP=8fwmnM7kiI&jD@&Y{N{)5|j1Bqe{~D{YH(&-`A+ z`Y>pWoVzy}wozZjpoQ;v-)rk1#H@dwO;ciF5I!_t?gBGXn6ACz9Ta$}e_uMea2o!z zMQ(^XakP_uXOiNVv%n61=^a(8?yMt=1Mljl)Y$t}+ff5}pI;bAPYL&O>Lk-=uQNEW zsdMMsW$ikm{F#fcck_K2#oqeL%5n2gd1V9>>itrBO$`g|8urLQvE9FE1~Q6V9@Q#1 zoE0L7QspM141FZM<q^Y&bcVT;Mo|?*mvo; zZUiAGNd+3#{6HsvC*03OR4IL#TFhC|L#Liyjr48oR;Ohs%xoBXGQh06GI&o~2c~h7$ znn>MACJlkhGQ&&+1J1?H+G?2{!W{*$!?_ybQE?Mxv?P2@IgOb;j&?#SZ7gCqhIG!$%*!m zgP=Z|3m9q7SncyXHSZ@&KhALc<^7Lr*gd11kv(OGY2Eqz?Vd!aAE+N zNfV%ET1vBBu3}uc`jWb-K^j)4{hbZ$0&z{fhrCAHMnoqB@^OLXD6-qbzLP%!L8;G+ zKoJlby(St~ENRlBpkDvhAD?B;1&5k8T2pnNGY2H)tkYZ8?6Agv?KCEBkyAG<$W7UR z6~SFIeSkk&e6TpuiyIR1E=ETHsstXZf_4vv;~3`wmkJU*(fF} za)5pQrsv<;CbVxpxRnyByLS~}MA{@JmR4%)u=WKoi>FC*lcj*y;PV(K=kexMI;5Eh z+>xVE*nr-7vZ=n1XjL%pK~cl>tMfdyNImtizTLBUOh-$D{*3A?pz&O&bq2WLdl?0a z%KE@u8?Ufx&A8O{w@n*5TlLFX32SCg6jAT%_^Y1wY&0s=^k<0RjW|EHG_V*HwsnsU z7H#-kz9vYToeaH-=>RqS+_btVy# z{&7hZS>&=|+Ak6&;y9J%tN6*abJf>x%HfN%r}B9u+^%>5^apLRa`pH3cSsXrUXt}a zTD&!%FG&gPj#!Bc)Rs85-;SUT#i3!5J=MVpWD}#=IyOA^v03B9gfE`ZM(G4+4bzmB z&AKs%jlPYOibgWRN&ITYP%2InhQbp>#r=^>NTYy+O9|=*Zd+(S)`*nf=*UIr#LQ+) zOQsEU7=2o`apy55YzRj$OiRzENMP2gIbD+V7nM9J)okg0B3+D~1UGSvWdyB7unu<} zt#+3wOJwc{I~Av?giFIVH1q=OrTw1Db1ZE8gLGK+FH0g}MkBS)32&U&&Ik2gtvSgK z(#jU2xtf-Iztz*1Xede_SEklJSb$9w5%P!`;PK2TwbN%Suc>CW*y-)n_W-4b>8WO? zVd(QzEiQ($D2km@w*_P>W>OI)LOm}^28%OnWV19Z!>pk?ZsyNeB)4u-nCBM`Bw?j; zXi7z;6F6f>;i2y~pI!vaaI`B3XD!HE?L$ax3%Zi)f{}ip7wz+%C;sL-yI=C3qo=dS z+H;gUoy`#bT|%A2@01h4edbZ~X7w1&(ANy(oYm>*@@OKDSvsdF)ZPU<9hK}_(D86< z4Nlqd#aMamcuR-Jrs>`CFOPkL3zW zcX3R5?O9*hDW~V-U2R6B2<=|<+)o{KSXEPH)xgpr)p2Y2pbu+aWqy0lK;$cW4u`Z< zu1nT7O+zlLvcKUin2Fr_8t@w;uL=K+@)wR^@{9I*6y~ll$rVcAs1>mWP>%7}h!RLO zHgs^9HC;Upz3pRg7*cxY+l@@Kz@%w%xsJ7@CiU%5K6*yYIWm-36mDVzm zj+OdY#BC!dZQFQD39v{Rt^Y&R6s@EgUw{toLMa_fE0J8<=y>p%9adx2_{?+Fa!x@(<#&(I~}{Z-nGtBLk4RHKuBg}bNdF$(FbG; zh!naAarq%@j6w6fxL2@v)hO50(2Ju9vV9BF%}xRSnLfUpMe)sz(mnha`Gym}g|*$7 zR)NgxIUf8_rwy(`GlPQZcfd-5z)~C6;&Tn6=0LLC9h}M{Hz^G-lNDHdhn&-T07rnyZil z=0r^|qfhq)}&4NWH z>DoUuq_SzdW5%+TI$##lYmvNFl{?|ouH!bHCcp1?H8GhOyhA@3^A6VSx1fScEwlBQ zcMz61XeZwp>8VmaO6%jfQ^vdTHZkzqaCr|=wx$OaNF%euf-B~S>q{^`HLmo!_*a77 z=+B-pFHel(kV)bgD1VHnj#gFKr4*3i8E8%`Az9a%EhJ65OXWb~zlDk%Ot+pV7pbG0 z&DQVU)7^Ojv$?;=jAp(;xVdaC2?=yI9eh?cB6B9Dh;z$wn}M&Miq(naARG% zc2Z8o#k_xDNf0!s{7NW?@mi5`;Mhz7!5iHceFk+xBLGttRWBp*ncI${!I!KQ34OCB zo%Q9DH;ZP$6%wYY(-F`v8T~M?u&&TgV_&Snv-twk5|^B8m7*K(_4yb^p(sYcM0t0N zow+lmxvIVX-nXM7FV)RP-S@Ee%9X6KwC%t7#J$_PS>R)5|63u!7*RV0mOTkdZWJCo z-;U3O7#y=bOdNJdQzSC26C*$r!=^nYdwUA~s3O)@udy3@5cntQU`qq00K3@60Ve8B>{ZUF?0Ry$u+`oSrW2t-D^dT#NEM; z+vA2+xz-aSpKL!YtO4rJMzx2GQ7{+3?A@$IM6iFcf7qxQai4;?RZaZPF<28iPWC!z zJKr(BiqJeEcjeKVL#(Td7@bI$+*VpraR+{_KC7uc2-8Q;K1)PA^e975a0)B!((O!t z6p`H0s@!rDzv&aPI~!pz!#4-I6B@HG@@v>_3QTjm5SoLUnk?{ImD9V0Dx8Zz%-yM?={|W5kMnEW8;Owsh>zbW$A%#oK zVDEzkhX;EoxamoM(@l+suN}O?jl(grzGHE44|4zXKFgR)dAX;?7oBXIEY51` z6tbRbw`tgVT70@bbe>F=U&dW^z$gTp77%&M53aqYY&nc+RESAgkoOJ$9d#q8$|EJ7L7SSIrQaZ=>N#WmpJj7X! zzx~Km3fsjGjCz?Rg&*aKUnqs~HrO&a_WRrVyry?hNX4la`dglGc+b|zbpf$ZF*||u zA=D_gUdXYk>=fP2D81cnV9hDm^Mg-e(+93sUa~(+`IWV@HHcUCTZ5D=YN+}>6b))| zVAXc;XQ%DYU`B_uN9ht&QgUKJ3WordICh+b4Ca|4LIMx-lQ1oi?)RxM6yq&&W+ye* z(JQC5ev}WS#x;!(}ATpxnNLi zqOcx(jTB|-FCRTa0V}ngr@LHzx>fG(qhQ&&Z?@n{N19wAUYe<|gPp}f1%p%u&|;tX zOn|eZ{jRgV`O{*ITk4dt^3}9+enl--GtE)9c0pHjG2z|39@+1NT{&v;pLT%seU1h# zo&w!KT>168z0gOC4n7YiJjQ^%nbC7PV?WxTs!y=fHU}%rj}Jyoza$d!#zDxYYgY`4OvoW*7oe5E{0@ zY%hxxVSUSjs^6jLr7V_St2>>2*A!kP%FC4{+`7q^YGKH05gt^FaTUO(s6LJ~3&Xyg z$PhjR^tl)JcCO2{-&k?CBD6EC8sB-=eBEzN6i4`asO#deb-H{@=oClgW}Sw@g4ME5 zB%F=q`OXm<`Oe&KX`^5QPM+36L*hxiJ^;&mFc-MLh@*ROiEuV4gx0+E^)64^_MPY2 zxd(*|@~+Snn^fJ0(p&FjXL_C5ZKp6A>C0tnGKx_0^S@NnhEftA>g7$_6lE_VlKPb0 z4r}HxYZS_6NA%M9v=c4?XXBWsSL;{6+lbM4ldz4%xcmJR7eq;~n(0epV|~qP5Ety# zq9Ac%x$9|`S9jM82#;RF!k(`{4YXG7B?=8UXYB)UJdZ5Gv?Xf7x;!*&>$}ReU)kf2 zglpxB3)OJNzC@DwNw9J^!J92zd_0%?<`jwUyRT@{rpE^{8(+)$74w-^#G z=j8{E8MK|=?n)Z(h;6y>y_oCnFkTyCTjcv@ks(CDa@c532`lkJ?7*MpNk74dC zN#km!ay_-t+CeA`z&uzsdeS(@PrdN3NRkmTFEl(YG8o4+laxNcVxWYPGpcH@S6rMc zTwqUd)@9X6wBBGP6BK5-mMbBNk0$#ibl+7FBgD& z{LKa`mjcNlLD&9)(;OCJ9=u~&=vs5>z}ioxjB3+Avq#ALj-|@8wpy?)aYK#75}Hpt zYs@#QwL<^q%M=o?GLdCk9&6fUZp+^+3Jje#O=g0BooD%&=fI;f5%-x{(g9MViyN3OglsR-9 zAFfuyS#CVgfm`F}H2nR5;W-|kJtMO!B#1$xTxHE0ksQKin5eI2c55GX;Osc zkE`8WH;bHauB!F`X;f>pVb_%oQ98|)(+o@i` znR3o$pH_N24fhMLf0`nsyV}&SBvL=Ee&O;hpv?6p8<}qK<_PXj`Dj-VHbv{o-7)@N zcB!|`^)d#LZLFgH-Ru_=;^ie%9`n>vm50YtRCG#*D()eaZAjkF3U{ zWqh!Lyl!fo$#FSzuzAMM0<|sHXH1E#J~vbcJ z+4tnfnCdeJHe(a~0;OrTwvqSeb~U}}ui0R{PEK#hJPIZ*2NFqGgKzaML8=N<71NWY z2e}OmU86yRI}wSm-7oCmjPAz0v@pC-k3$k^wn9Zzj+UFtz@0juLzCYmKe+GNBg2nK z6zu;Th-rSRvy8&Y2NkN|(;s5*XIH5}FDwWXB%w-GJsF>1Eub~oJ?)WpW{^0Ql37o- zq%{4Tv*ROa5{&MbnOPH$#V54(sK`WgwHI&i3SWfp2%hYq%(#T2iv!C{wbFsF#5UAN zWTq4(7KwX1y>@XI*;I9MqGd3oAL{Rd$zgjf6|C<3d$05v(c&fP0yC*468%HP=DalJ z8IcF=plbGctU|7V+LV%+Ij=4GdsD`vvtiHr>OlnVcBgt5#jq*u zXIp51H(@XiB{jB``)Q09C5+SZO1oqhwmi$o#J4((@`>CUUBb=A_)FHsues@%0{Oko z+jsg*Y@5Void0UL+yny1XUDZmZMZk2re{+?GIfrhWf_9wP>Gulc^^FtWpKiV?jvR0 zCe+uaCu%DPSqEcUssk%5JArsL))otYt5;lef5OU}nL?l5lM39j1-+7G@+!*wkXW^^ z#JgRpt`M#;HguXW&i?KWgR|wml^Ex{o&2UkQ5VR5O0c=Qim=4=obOL`*Tq8p-v$l| zXh|zEG<9@N+qmAfA%jis9H;Y)7=Q?_)URfk^ZZ2_^C@cy8&M5bFcM6lYO*wfAi zt7hSga5uDRX}{1`xA9K>hNcw%a8zi-pw&9;qA@X%|Csifd=%+n$HbdbF!?TIOkH(| zKgP%y#*?jqjA!NdX@~C^<)a>?rX}SAIj*Avi-L$ue)OQ(NYAq}A8K1G!Z)IQQaq^g{7! zBTe_HPcw>>tes7tr^|uKcW0O57O5TC-KO(yu4Z*?PRj9co8Y#;3!~P!42#d?OIqH?9nFF{^b3tB95xUD#oHK9e-)T7l6CBp1_ZfQB!R(wW69~ zg6_$$SQW7xtOua8?XO~X5nzxs@%dG5W{!%#?Hf(RCW|wW@i}s}e@}yr@flUyubv?F zZQ`ZoF91xevla1cqyw3p4?mH^fpP6Vv1E42In!@z@HwY56xYlq*99kcNjB@EvXId| zc{3A9q!_3+Zjz|h~Y z%$0WWr<D|A(!&e2Xe<+rCvmX`~yZySoMH?(VLkYed@)>=9w?8cY zq(2V@t(TjUUF$3MFzAd?4K8H8! zcYqSx-PihCn~a<*3gDC}vU8h7;&>~TN_?kF$PaU}XV-Ph+Gl>Ozlnt8t95%G6XVpk zk*2nzdk6p}M~3kx4vfQy)xXOUx2Qk+XJ?eYAi9ZYu>Td7O^*UrvQy*a^Uq%X=79ot zW2@BCWlUY04@{4b^l{pT(}*@bm*WIcF3+PM`eWo;EYdDe{=a_|-v3OY(Uu!K(kOS@ zqAva4*eA6ppS~>^)H)5-yZUKbIE6A~bWBH?X~Jy$h=T;@cI4|NT1 z8KEj%x<{1DJ!A20l}~*pOt3D&mLt_a8wb(8WM3}J?=IF}VTC_sYEF*?C+PSYZy(YT z_Mzo30_95T@Wz^~+rPxg`?j;)`+Wc&T8qKGQmWZ9e`G%CTI`1*{@u_^w)-}6(Jk@F z55TimKyfOUXk8E~#d1A){y|Va31$DVPvY*ECFh|JHN-z&p^xsn_U}9R-xVYDs#AZXC2K z?o_d3_nzQrT5!*(6Ix2Rpw5^&cpGB_-!l2uV>eQA9p?Gryv?8CyvILhw5*nRI7mhxW&?*DgF-u^%^N1k0@gA?%+Yt+Cq@VgA_)xzu`jtt!IBBjl z=OSnLa@aEadfBngwCwK>BwGsVdqdVq^f9IT>^fCt8{HwU5_D46g=Ew3c&e&Yv65N{_ zAZJcgQvi_OAvAG9EBnl)?!}`JMt78xtJ)U#N+hM-qd&d5?p(uCn5E7ar;n=1p=Ps$W8CH1~r=P3kTj7R({ak+y zWj&eVuM6U?3p&4~|GcT`*3?w=7=9w1{ZiKYTQJ^xTYDbDkTi~tE9hfAHqsDx%YJG~ zomCekJ5AWE=8$CS(~MXpU$Btjb*4Y0vk6g}7cgM=0SO#eMk_4c?#E`Z>;__UxVC5h zazlLCp^M0~D~X=9=_1#gza)|!&KMI|w3sg0ekcqw)AkJ{O3GshEq-y*yZd8Yv~iFZ z)UB^120L4E;@?60Yc3d zwA?wuBuP8pL##s>;HAu`Dd1E7^j-LWCk-}{dj=(N01c^M%zlZdcQH(&XdCPVqwu=9 z`mE$&vWywPP9S0JwO>W935U)a(&_xG_@wD&7Ct6qM-vdCR6*QjdZW`DUPNeG0#9t| zmq(XLg`Ps(7{k#`LHerZ3s%vsv{ zy0sjD5Nxvq^D__R5pS!H?sz}f+Vy6AK-ksFJBo#>VV}Ff0x3(|8d_CJZg|BH?CmC5 z_cJ!QXHY$JXDXyXcgR^l?{7tuHa}7?I%zN@j1}L1#zl-KIsIpdfn>VO_qk&w7(-mB z9U-4+BUa6sd}ulzv(3$kEYW9dV~v03d&(uo{lN13z?7>BK+c~=k(OVtPD7WT9WA?r zH5;L3-M7qv2klOOpi5?PW*xx-;+|)G_Yrw(Zd;3!_X8uG=cgzAfUGx9_89>mcbHS_ z@UMw}kiBP=nV{avj4;*tI9frs43lun+I0&(Qo=ZMnj|RWk%u&rbr2)2(g=>Z#cTRi zsRwv61bB^$v=YkOJ=TC6%7nlZ(}FSzWyE9G%U!4SP>$ZSUDC@R03$c^FA}#{`0i^X zZ^U~qA0@v_l3A|*`0)<&me8$0Ld`m|6hj0~V(Lel23eXE+ahU_|}C+i%1K zzx;*J=53$V^_%!LV|4rLd0mqe3iS+&Xn$=h36U;1a~aZlVf?hYU_gd?`=k%<#S;hv z8gJ?=e^L>>J3QuqqMXZwmxMz!%zUq$pan%tK=#HUuzt-XaF z2IY%!R;}~@%2mLiosjmIe@$Yd?SCrrAN&I6F~#7DohHRTW%@8qbU;kWcLud0!)oe` z@j`V*&IuaicLB&8%l#Z;;bqHQGG90i-l-YTKcL>KPsrLkWiqo*J}seEszC=J+sE!l zrKl`SgWPMYDuByxuUES`nM=7v&@^WHX%$OO=0M%owX>SDCoPJ!`|6jr2Gq*z{_sCtRi{LAf11Es-glIXd?BF*fYVuUDQ2Ub z{rNIg^sRJdJI*;Is(RX;{w+CvUPJk8q*O>GEpogA}NZ4actF*(n zrPOYBzkQw$U;-9B=|o_W(C25S4kIObcx~w}1WL5&XlnD~-#suOrV}w6C>c?YU>X`n z<5MPdC`KBoN{a$s&6b|LJ@i|3B(mn37G*d%P~OZGjT2yCaBnaUqc9n<^){2gh9X|+ zPJ85*^g8mWZD!8;hTd-4;!CZ#hv)8SQ!bh`v!MCVsHFTYfQ=-kN39mveAS7}ncL`^ zr&-gtBldr=$^{0MC-;dxx&C0w{qU{AlkBPS_o1H}EMZ@ooO1?0;Duq@a?JJR$- z{U6LRh)X|C6mhbQI{1t8uS*x*zyE;K)8-tz&8litW<~{@O>(?iL*v1E%OfOl9OLiH z8CHaH95~pmPu>nrMjg99VSECV>C28q*i1#;VC4LfXiF$8OPh#?FdGBYGt)`yxyVpXf`-L{aBYUa#U`V1UPAmt9c|%cf@^q-WK!Q z9@TwSIu<`7ZQcicsr?nhA7Iqr8ZL8_UglgDs{bGV)59Y+weBegm3o}uMrfI-o9NiN%C~?Q(P_Qg$b$z+L+c@8M zx%1PL0YH_o{Z!NH=@r+^iN&g-ElhuCsycW$okH&%j;Zi^AC38)bmKeE{}-|}>79rN zBbt!?kFXALD(QZbI+pBGgv%WVW{AJyOaR30Suy^84~yzd`Fk}``_XPKbe|%*8p(fj z96#hgA*kZ%Z3P8=z>Z#ZOOlAY97d$hD%_GOe&o<0WaZ6`A+ZH8^dAIi=!3^{i#H1< zU@MVpb&C<;L0d^>#zbY5EvH`nNskbF;j^j|hd@(P&F@Tqtt3sS>|0i>3E|oWM+;{O zYVKTcb?GSsw#rT{Y8G|v`*O}L?(0e}poz61eH5eF=S&v!#N9pKr!xl6>-)`l+SlQ= zVfUhj&) zB&sFzEQB)Ik+T&4F%c*vF0Ss=zlUjd^qzKSD z?ZCTs+1`0OnL>oR?kQHk1p#+wJUoK+Z*pxD{aI(tccq0-kRnOeNGhc85>P;E1_$}c z>n;`6lG3gI)7U#C@-;Fnl6SGHdvaFVm7X*F1h5bwn8ppOSey&zm)4U@-wn-|XjSm% zMDL4T<4>_#9A5KUMIsRV0~r$}JS`%+F-{fnUgPd)y;v(hpQ8A~U^jH!D#{#{4Nqr? z$H+*r!SK9|)N>_WVzONa5xyIEWRbj$Y??Rye5alOh&)@y`l(4syCd@jn*T!NVjsRN z3?x_?BSVEDA>L}n`cD#A%BBgkIt5z~^K(Df=pn2ec*zGHSHEfWL*c{w-fdnEIVZHY zf`n3$mFd2&!2`_F@bs^0ZqD)ftA|Og3+mt-vBO{=xglo^#o@+2y z+C;d6GM5c_RNbKCa6sHDuQ2X!>w29i%C-0p?!CnS=si{?!~ZF@zHq-#{LkQ|HL#vw z;KEUD7*0Fr_GgRlDpSM?DHKFm_>W|c7)q5~JK{({uJwnL4}t98zv!0OReyUtrS;fH zI{gJ(lY6{u)H@sK67l_o5G1p{TyC}Y%*wB-Vqx!s83rSH^fRJYS}U5jkJ9l0+Dpq4 zSTIMCKvqWz$!zM>Rf;vyJ}%tMe)%e!DwUm5jQ~`vHywThu;r95)G+!C6CU@vCS%6m z(=@DU`9{5aea$nXmf!!YkF17?z-?}ktu@$-g`e01WbN|ngB{0*zNi@ z(%S?gcR*Vpt;vvib>Ez;H?eI`C1^=_QbwC8joc-EV=Ib)k|U+M}c(#_)g@k>it}m7XGjqx33&E%1I$ei{#4}R-d_% zHw}^q7B-=~4Snn0V$u*($r#OT^p98m3EmiVOr_?F8p*N){!z05AAc!VgvYcwOc{d)f1q@-t3X}ShMZY6@V$Fr7LVcsG~i8w0#6IW4>JxzfMX0kdyAC66K8u`?z9=kyU5w z9YbO>e`2$$LF^DIG=yKw{l1So5{j;LJ))*&g>cf6wI9c+oA~%`HV(77#H-eP7INwf z8W$qFsV;9J_$6z<%d=@8sL1r)7e{@To%LFDVs>%g+aSLzVG5omea5ueBc;PTM*AIi z!1Zy`qE0xh@Cq-IaLUr}7M*_ze4sBJ<>YwXDx@|1AqursDFFFmC8p!n`3IX3Li|kT z(=tvM5vX)hpom!tRNv%uxNtIJCikY}VWaEsuclv#dQs_Kr4Ax$K{O#u!Uu5qb38gh zokhV{yb}#@zO43KYt=wUTYU%F}CP15El0g&gRCt zoRT@hS!}DOJ%{c?Xl%}~$3If(=~gdH1WeCNfC0;_VylgZ4< z>3@FCC3mWrbf$MQ&1?s=isks7u6C!?BailT5?&?M7@%7WD>_A8id|wjeKqxPObbAn z(aD{YuZp7`VtzjdY}1y77}wJUnwacrv+I`${u_fieNOO{Go;o4w|HBV;-gdd@l~K> zCbwJ0mUTpGTA(3W zplcX%nlYwbAF_nFH)`3qXbT>2QEU9|NpX6OOMShMuB2;)=px0DEXiA$&4kf4JL<(M zJFUb|aDkK|wIJ?YI~xMY_slHWa8PJ)$&;sGM$Im|RxYN8U|Jz!lNy>Qd!k3AM_gG*b;Xm(g6Hvs)N$5DW+}@S4PM|ogPo=*z3*pl%y5?-Ibl{ELF9)`THhhnF(M0 zOIt5kZ?PJ8S~A&Usxy>&o8z8M%O4A)(oE^5vkb3mbw@xY@v6~3iq z{L7qzAKi-)B|(!w0J-G2?vfS~MTHASs-xj%N1}id+C5dzb&r5V5@mYj{i{^gp-rb@ z%?|BcBz3TZox{|4a|!Ig?!X+pG~0MIZUcR-)tWJU-yxL)^$5-@#^@2{Q8Va8KVwEb z1I56+rRkNr6rHMu9|s;!hJ6txw_KlTo1t5Q2)Q{P&+Ky-DfBpLUKO@ttIvl0vMrNn z^Qn=6>(+!Gi3-h9_4>cidagw-K~clPy%kn|2aImN!7nW5Htk@px+lzaU*e?@nTein zhdn`1K0V6vIMgrSbB17)u=5LK0uYczYC)5e| zYwOq&kw{u~haa($NKRp!;ISo$uxO$aPef4JR_Z86@l8l$E3&dG$Mvev4DZ7E*IJBg zKPCRKNm0rgImSO=<+gZb?Z#{c$E^2#@x|dy6Asz*xs@NP;%=2Dt;9#H{Ou99?6Uqn z$Vm)g9ZD%T1Yx-~_X3|xoYdU$of@As}&bk9>_9hF{*g3L# zr8p^#p~^I$r|h??&M*K0!?Qj%2&8_&Cqov-JiO6`ftWxa$o_!35D|mZbyS?58mW7Q zCNVZ=sQjU^@MjRe*#se{@*0`iq@@$D&E~fOwRH`mDP z+=5%Xlj&PXndOZAeMMCD=a3ngV>jZv-DTG(ai>m=g=PSX(|SGa0;joYGa~nJ-I^Z1 zOAPAX3&xluKg&BA@IX6H7QG z2sHH)zFxn>&$gIrBrBut*q?#gfC)4AkCZV(o*&(x^ULf2DAqS+(Pjy5Q<$Y#XRrz8 zdK7P`eB^+KsaQ-jV%HZL4FJMsLB`v~_s2JJQ8No|Z|4Omi#opsA9E~Z4yz|_9VMU= z*pnJY8Uz%LzefN&TjJJiaE4<6*2C9g5tgSO+{(G_prrF*Bt>3nBtOB^+0*u*&gn-+ zm2r#L)r-K$W>4;=q<>e7OrlRy4rH~9`caap_g$23iIcVlpAL70L!7GA>cmdql6+iD zc89zB$-7(9jM)ZM!@%nj@6+Iak797~-2Xm{mPuy+bpwFJm|+rO111@C z&qLFqw;Xi_F2ZSo`#%bSP^g2^fY)z8Erupaf3Cm-2>Mt@YzSg_PBg)E3fR?G#s;?q zAiJx-Gb1XqLcjOkMK+E_V`YSmwHI`9eAG=rPGVpFqIuLurw_ize@kVO#ct9{vF*6O zn%YZFho!LbWvArUzqP7a$TE)UZ;~aV2JI>&(nPca;723g?n#Q7h;FWBL(z7{i;6y1 zk?g}D;`}*4ntzsf-XjRPQD)*0HFMO~y%{ugGKVJEt=^y2CX|~E{!#IOGj++1E!uAM zlcMt~jI<;k%evlaPS%)*JN~kpTJ{^>qk(LQm~^nk+XqMD8`%VJ0&FrW8tUjfi1Vl> zQ0KOoBKnkZCqj`}t>>9LSU=V+vVxTH7!z+UsC+@mxng8Xnt?ivyoBpW#@}g1P7%^{ z*$QIQ53CaO9Y9mvVviiQwZmlZN*kK(&akhTq;^8T8CK<#B)% zp#VjK=wuzo(HiZSpQsw=t>>Lv1$Q#V)U$k3XQr6l?+dE+;8Mo^fQUjRtb)#Uk2PSu9aQh*)d$ctN@>z2zJO956H&zEFP}W4-FcThM00~ zvluG9pRN5VB;f4_2_bviV|kgtzG=6$?X^-CM6^TQn||ZV#T_B4=}m7FL}4fFV|77ms~SJ zO_|QQn$fS*k3htP_cjr_q8Z_h0x^qs-su~3)_QzuAzIjLtg5pHCo5P z*sD_16M~RNxz2)ZUL8*wm=DK{`t4Y zFWn;RH^FLb@ZE3i03m2%b0?ofyWB$w?_!#osNHce{?;RGo>}Jb1pizh#^KwI*YL%@ z=5*$Eo16DWzD7{tL#$B3eb`08tv z#o46Ic1yhw@fOxu2hf;5Ba|w)A!?X9UFGkmHjS267Oafh(1SrKF>9=;v(~(wk13hL z#fEyuN!N;F*dO`W&J?l9n>=yd#+Topj+SwW`eH_`G>+&U7MLg&7i`}yPud@?^BzY8 zhX;iT8eqBY{S^{@8iU?*)ON>Q=$!Z^0K57-=#z)Dv?WUC5Hi0H8~jXqD44cR9B#}C zR)##elL(R7J?1xCfSCaCnb|d-@W0`Cp7;@QEA@Y`bw2ZKm`? zR(^kWgwO-ovO&K3yID@UI!0F2STpI2CAB;YwIa?&o71GA47Sf`uhYaA%W!6n=#Ne* z1U?fTrEg|uLuz@8}7oAF8*xxn%T-@2^Alvz+zpaomY26+b z4N0~fOwwQEp@D@t7+m*DF{TD$JG2%PAYxUwNlBXV;qeb-%_7=zzao!g2YUX8&G{iMRY7*q#UDBnCoC$wTfYcsI9USCJ~n z&GAL)ET2-MSmyY@>H8TAbl8$=5!0YMSrC`AebUR4aSz4`BTHIy@)Q&_9w@tm(~6t^ zxGoe#1IR{rMD>KkZ;jEM_>-Iz%wU^rlzH}st7)n$EusKQgmZb%o=iLVB*KG0H^m}x z#);qcN2C;`CUsy|$yDe^enI|~SMFhd2xvDjMMm51#pyGB+WwvL(27PRF+N)PEk4(e z=MY1~USgfBtuNHbc?so#OHTeVeQYLY@@5N?-it~I{-EB~zOnILu6p9Zwsb}q?wz~c zHxVCz3bGsvPcvmBooTGrM|Od@!_YAwE7kf+18U)n)_|Nlqn8auB%d*w7?>hOhqjxd zXZB!6h6kC-1db-3Vwz2(nL&5J_5j=7*=!@bvg-}3y#lc^)y7tkGWMe$i5_LCC54pc zoOOJYWyhLj1rei+W=a}C++5qQ*XCbiDpw!dzx3g+zg5}3U8CtvFKN~iv8ZWCYtC7? z-K%2rO}Y-BKR&og8~mTf;QxK>zF_@B?Csy>4i|NlevK`kq0y3ilui7zf0?H6Xd0}3 zF*toC@{>3%nbP5jrE-Ge#`AV@Gb^FaR;kU!#tRc*5Xv$ z7?BAinl~f>mGL(If*!+gV7705`NVD%gX+#j$Ro+?8foqJn&;skfBJ;BLJR3IxUBC< zKd4@FLIA%A9HTy}t1-1m6j^>{oSOo|V|s|A%gt2>fItyu*OKL~z8@ zRwE)U>(F-8Il>ovU5JNY%&R<(K*J_7uy0`E+SiJ8QaN-VwY69yM zIi5-gcRVwokfe^oz5~{K)|g`}XHV-Oq32MmiJ`%gHbWWN%AVg(o&yJ7)`r~cGKcv$ zLA4rRV3jac4*QaCxhtu#Y+wgh!4jR|xu%Y;QDHi!s%&Hv%|G3h7#$@cE`pK6xZhiX z-wHxLYWTbPkozeZs6XC86vNOz5Kb$?A^ zmhIvjmA!3is^Hf7u%x7NA|ME88ITOh-4>huE*(Ir)KD+~fkee6RoGpq70%+3w?Wk( z;59qfXAMdl6_Qf5jQq}0+(N#b=$-1zU|j6YYQ-8B+UxuSa@?}FCS28m7(yn|Zn{Ra ztHom0z7g}^C#ep+p%h+LCf6A`e7PgvHx95s>y!F1Is14Q;YW-UQ^8@aFSXxS>o}Z& zPMhB?L+n>PHfeU&AE=b1OFJ&X`jJm3Ga`bo-LkTZhi=LQ-eQ5Pqyh_59cI9#8;u&GcN^B~*(4~a? zG(=@670nDKP>7zoXdUI6%R-gDDsE~;fVxcjM);df2rhS<0d6|^oG$A$vWZUWp+bU= zfQF_EmDM7X!muDTNO9j`)KF12pkYx1jTU2`8w1=gZ3@O%R2qQFlhC;A^u!2W>Ah4z zn&^aMM=fp>AjRC|m(a($tre}~ZL-0UkY?eEoMI~(Mu@&dSuMdOXeMOOI^x(iQ~}`m2iKz z<^RO?{1StbTS%_QjYJcCjd8Y+U4$eTA2;E{LT$A`O(M6W!}9cVtQO{h^y8E@(zdj| z(Qqh_RNz-}j)0XbdlYth86nOdh(f~*^f%dqqJ?UW}g1( zcBh$?TfCB1$`&X=gSdy+nxfBW&MA_5Od;QJhdM{yF$A!#jZ5-=iXa$HIyi8#Qx`& zm}9l>Mg_V!*b%xWDa|o0gL{U|fmI<*kE7njH&x_9zp?$EKj%p{UOZqQvHGJR9uelvb+ z*t`e=NGYdlN;5BOj^LOo43xjw{EpFpJe!*8$Us(`dB>W#GiGr2PNA5En|G5!+(S#QvVso z5JleCUWwysZ~ z3pf92Ms$wAq`gmU&~D289WUh?W1pbBHP5=WSMfax*8R6Q$X|@EvSCW;FD|hg`$I*? zH8e?^R9a{Bzzm%KVetR&Bk4}!+ZMx)6o^zT(IKR#)d>f0xAMNFcyE}xSd;e*3N zP5}W|C3YvK184d$bQ#*J*^^Ksk(uO?h|kmKDRg-^*r^$!q5DA)?uhXRs{D#l6|s5U z=OuDFu5W+M*fW^$MO0@|X2;ug!$?-`LniV>9|^b$V;kw*N#6k{xZ^da`dOm)2$yJeHHiQ`ib;w2M_;ZL>uKrM~Uex`))=mZTyos*BRe@ zkQ45$4lm{Q%Ae<@Q{&2UBo7!_AWDBPj#X5K4^h)PXdhZx-c!(ykHv~N1nLJjJUfm^ z?HlNoMYqlcF)NfL{I(Xc&D=ZrH6>k7;-EIe*D)oL{$U)McM52GW*4l$Op|KRimYdl z-1)-IRl%+)o6kr`E-Ypk>DP>fE^8Qi*-hT@D% z3~NJ})lr;s*F1^XZ!JcK-rV5oB+wG>RtCgniJs*E-PdKR8cjde31vsgU>;Cy&JA0E zdPyIjKK{kmC^}P{p57&Uf{t0uq$GIppL1Zl!GZnEoi+#FnZ^XMu0J%Zdi;_Y{P*N| zd+O%m*(}VSHl6%JF;;f)*tx>=op4%Zdt{H-G&g&QYjh9Kbmu{0lH(WT$bc*dY%3TR zlFhU|taa^o^cOGK&-VSHc3xB9;7uQ5PDXTUg#;d-(M~GaT|h?p1)@P@Bj%k)=!mRA ziHMKo*}e*@$_IL3Um!!Vw$0dgo$&J0v7H@12=1Pfqv;KvUd_3$r%N2NZdUl|sz*|S z`i(_?(-*#3od^1)J=9i^b2`<@y{{$TXw&t+EJD`}n(^89FNJ$LNOOmk zPFpA^(=TamSJ2O@hiDt95+1(_ME_2kZg5I+3ZbrPR#m2HNV-4Pq|^%#IJlXKo<&yP zK?3ccx!JKpfE&XpsYN}d28%j?2FM})G${lSB(MS#jIYh6^(GWnGBNw&g0(p~Ec_|{U1V@3`jZ}XQ_E=R}!!x&EkRSDJDLRn~ zGpi521V?zU;(x&f&kp@9*lgo1&6~VTIpf$c&$Db8u*XS{Vs#?2=KR6k<7vu;CAV{c|dsD`} zco3$@Ynuk)y~~Bzhp4gXICn=XA3ty8Mq`3_cTd}K_seo+j+b#Nt1{EgF%e3&>9i7+ zvB^+q9!qaD;z3mPL`UQI12j{j;%PM?WTm-3NrOWj4K02qWw*{Z z?xszPi?&$`Mn;J0DQykDgM;B7)D>S-)NQMvbW4=Y(w^ET`0<`LZPZ-2fPqFr88-`@ zi#`HlW2MyYhr&d5-TM#NCs4XUnHR_$kj4b6L4xn&qXHg#5VhrTc)sJ&y1&3>xGa7^ zA}a&v#RiS+p^k83VTT}*Kt|eRKZ_hJkK0_0lzJ}uCPV|098^43JNsuz3}&fs%pC^#3_0+ik=) z_gsm<4B!cVKi0$UnQ=p zuX))DH!@oxF))s5(_nYgB9|(`4lm(4n+;(8Mn4gQ;HJWrP;nT#w@o`#d^lm?G6X{Uk4=y z1k?r(Gnf*^Z{QZk6@{>}kv4`!b>Cp(uAm5xTeM*X$GeoQX?8Tmh? z10ObeA&k3S1C>5*6u0fcT%oSP4@!Q|ZTkW48}T3J?z99+^1JW!ReaAM+rdizojWdK zFJAM&oyn8%srslfj1~<{?XK`<5sZNZF+>F0JM}K0kLdoh8@EJVDuy3dtgsHOa0V%w z%cMQugf)di1pouKLm0XTpjti96tB9B^;2RbF`I4WlLO@u>sZ1Ytu*9ehC?o`g)gsU zA8kT$uA#iiJgypP#}orCI+`H{HPQI{S+XOvMXJ_OMUHt`01_eaVb~ia>>iy>d^kq? zLirj1pD%1^+5MR_B-dII*XBkjFO9QD40@Jj=ByQ+WjbT8;$S@7F11@Yn@_wR^4tuR z6@_W8nkYJqvnvVmJ5CfhzPsMHZq(Qb@^l^+t(|VHLCfM*)V9w`sI}iR2DPZ9RLEq; zwrb~MmpNdU%_~ZyK`WKhAy;&=?~cSHI_ayU zCbWv^I=>v(r27Hrn#YKKY!_kVR} zG0E!AOfB=5u`nFlsvh(Mj z5fc;LoTt{BHx}44!H8?4JWFjN6bZ;Wy@#9o9}L%I2vjBgz4~@7MVMx2@lSg>QphyN zW}S6zDszuXXy~x6_Zo45yXa;< ztIM9%x9b4t&nybPcbbsn5d8fbedh>4lp_&Y^Smwlx$v2Kt!QCIj*4axeyST3brq;T~V!V{=%NJ0*!Z9`tHv_!thnud@ zj~RMA;MP#+QQME31;4ez`bW|In6}kV^R#3C{}R@5MF01PaOa7vAK2X$`s?-L)Fw^y z_31=jN)!QAzU5oSzonBpHV`iM>RaL#`rQU;2Wo5L?oX}$C1IhPThS+U8xkKGqF_rI znG&_3_w!aZeV}_r#o2^`LMk$ydBb+&4#4O@GJ2~<$SXkK0(^@X-^1{nC#UwV@9w+y`wmN z81=eC<}vIj#8mExGKQM9pExZ7i1Ohg(;*{i{rThssXd^}K;%pYj+`m6$*h|+ELP)X zK1DhuJ%&}`_$=MXc7qWGRP>bln*wg>rr2WQ*MoB1q?{RPGd`_LS!}L#b!)?hYvGSA zlDMuA%^BmOc7?lf?jwz%g?HOVvj|M^_PNm*3-`f^A=Db1H7HVw-Pxaks|qudXQ}7+ z0cV}kD=iqS1Z!0AhDy%wNdqa(8l?dDzRQ6IPX~BBPeGLif5=r@!GSuC-Kt^=iuV~) zs{TnNoCXg{sH*Jbk(`O;$bGsnWM=En(e4oTE@uC!B&Y$46dndMum8$K=V?$#PqX`0 z7ykED$QgrWxy1sJa89mBeZ$2fmC*liyb&A*<1ih<{GWTBuSdeNLg_l zwO_Oe#bAsf!|*6~Lmxvh+x&;Y_O>>I#|!K}`!kL@HTkm1ei5|GwKfctRx-B}V%V#G z7G7H~Z|GT}z;)1g8BiZ+qrEKkS;83y#5}U|&nz$6+%<_RI!zmN`AKRl;~k~z_M_*3 zd&U^x(x8ag#td|OlTHrX3O41=;Emyx-0Q21YUthi=?=GHNb(d;-_nRCZkgPm6Rl%l zYtm3+V+O5kbqa0J&aZQK4p38qHT}=^{f;5uAOikqGTd6uVsRq;HT7 zDe5T}up>b+9^BJy_h4GJmOWDzt&D#~Qt9Ex#ZAm}ViQ^q{`OD(NFIyp^pcOAL6P2dJ zw(-SZj!}39vjP-|53Ks|%=Guf^gzpI^E>MiF=Y)5wAn zqio}EG`ktIoFC=@0#YZmWla_<-YRp}Dhts{3%jmZ@&x8)0Y}wiD!M+O#7lrh*wI(_ zV_(uWk)iuZn6T_}WT+zfphvhRowOO7H27xpeHAHG(?*4WakaXT-h+v*(qsTEdU-q# z8xd!4V2dHa)uq;w*3S83{OE0%;p)56Cu{f=s!I$t{l&Lgn>1VLYE2s3i2ru^0(-DC zy~56ckx9;7=hy?x$I@s?sXHzK7p(hLj@0s}}hzz`x`qI61k!_eK`F$^Ky z4MW43@B4etIr~r8*R`K#?X}kDzJZJ&7km;c zul70c+n4p8Wqb->>`n_R&S$hDm^tbVkG(iN0BM=&nWtgeptGyxCNp=iyCuvSDm{j_ zNe*xOJtOyO#C!=I6YZc10_Sp+71fQd@)s>yN@bHz{8p|Uio;3*A*}XNGZN&{$IP;( zrg(sCRtIvL4*LzjU+XB;8QJL8ES-pBH;dehJ80X#WQ4lP4sYnUiWCg0D?5o$1HDi2 z_QiSNG`zBk4)>HwwUn+lr}gqdK20tji)7tCp!45C>Hth<4cD<^eo~kRO`eFPiqnG( zTu~!VvRjn#{;ORr)>O#5YHqA=JklszT6poneZIl3(=v;ntY9$x==#4D^qQ7Zv#bNN ziUU=U#%~!LurC=tO-G|X-teU;&^!daS zPZw!iyn+RnSV}g2g}6|o?2VtV92LCN_+;|urST`kvmq{ZY0&e};-08`hQ-#&2Fo8^ zB7rl78rLawmj=JABCz14$)6qz@9F|YxPf5dNj(o2@&2FpFDu!sP{n66dfcvPhhufF z%v3(Y$6atXyWTufDdo)UWyIp%bZG0YbvKuH9wBoc)Xg4ib5%}<|B}c}fb@PYUiv>o z3aV=n?Dqd8el*E>9eIY)wUMy>h3Qt?WZ66`!|kNJYX9|p^jSY^>sna$SbO33n0^UF zx?BGLClRM8*iRJ6A;Vj~iVur-@~YiY0a{!fL-+{3a^>yKf$XrN-VEA&LvS^$#{6$pa0mp@COM=_>B0HzB?cuStq_!lLE2mM!71BUX<#?$ZJn7?Kexst|Ezws+EU!FCbc1JyDSZVx}}DnuGuq?;T90Er^$qwSEMCia9@#Bk1yrS0Nuvs#@TRi_6VlyQa{6a((Q_XR9Of($+2)_6i;1 zsp(wg76&cIIX2aWR8V;NC4}GI^N%h;NTP*h^0cGkLR}Ox9)|yso z)of!(0j+=PhQKE|pK4&~&z0t>hDwcI3xWNQ-is+0T+<~E^jDYr0owwt{?g_Jo8Kbo zE)xCf7$WSsENjfPbNZTCcStTjMVFI+kM=uF#knOT)g1S`J?nn@6qybC*}?W$dv$mV zYp7sNwRt=vo}-!uDKtU8X~S0=QqIv&&nn7mN9R8{8ae32b3_8&_Y%sifVLPl6A=RW zsNr{t6mg7K+0udv!Og9W22UDp320A;Wx0ev zd`G-Q`_*Ojs|B@`nmR(c==PvmO6X3?7gJhIXh6o z8@)nJ&5VxtJB^7H@%;_8UcJOls&<2{I(YDe+1fbGaYp>f<{6SN@{x=0eS5bn&>~g7 zUmga1xnmj~dy^tMbX;2*udws`QCE;~`Dr&kQ*YO)@l%F}8Y+H0M^p*qYx@Hhp48&8 zN>Kyp#HHJk7gVNccS8-bYiQy z&zin=T~Tn2Q_^eoSD-;sCu?VoX~u>*(Uw5Z)&Wwt6m1!A{!xR6?=S3-iPJHkQb`2_ zKfC}Uo%!NK?B;8#??Rhglf9kY*PROSpQs5P@w250@W(GtF;P;h`5{L3*P^ZmHct1= zccJ!>S8B~o^#?VmCG&Q@?v!Kmf}y#zi5OwIzrEP2!vq2LY}5OY5jkuX2{*VD zkNe5a*}}4U859~{CFtJR;+xo2?M9j+=uWzF=d85)h0>tmh1f21es*!L%rCpOJpE`F zIdTm>eZ~P8{jAD3_?EiS`pmAn(FwOdjyjmlMEqLSDtM!?@JPR?>w*wY@ zk_y=keepQUN#9?4$eg*`Cm$pdH>GqW^!hEwQuiOlISg;{=9%?>5j7PtYMocFIFN3p zNuxx``mFy`LVKRrW44@sO8#cBc?eS^mS7KEa5AHunyLqvGPtS{*!xk>RFnYQ3&b@| zs2?jYkAKKQAKz;>hmDq2JadW|L2{Al6bGbB+VXkNt7p1x<5@+g_9kbwV@qR;bIfBu zzs(`@lqo&ZOZxl@WmwBdmY@HJ|E)DaD1Y=mb5#YS_0HKC%%+9ciGnLrG$;`ncT9Ep zkX9yNIHPZ@!^+@jl%Q!Xp24XuY(j@Km!i8uMKZ?^t(}PS? zO0Y!?d-><{P?yriH}bQ54_Aei$-AC#1LNqZmZ}Nrqa6C4I8vR6+?r$7o;Uzx4xJpS zLTd>slvR!wR#Zz(Xd!)lRUX||hGNwyy14kJ{T(l$*VpF!nce6*trZ3`0bAi#@dagI zcsMV?xUBY|0ZiB~ER+GPPXX(3G16|C+FKHSxy{05auie4%7amOPnXZX#_@QCiQ3}$ z3w&9VCK()vg8}xFn#NJT^BjNS#!9|^WeTJy}6+H%_cZkj%0sUG2AU3|n^ z@slLzgw2FKvsWH5|AtcJqvfW|_W0P$N>2G>HIqW|ZUqcbim&h>8quuxh5d^~jG*9D)(>?X zQxfx|7aRceDNQp^Fa$4wo1{_6ze~`U3h?*HaCdiv*@oIH!u}ct4F-#D)}zu$0>lnu zAIPHRZb=q0$}`{ZOJQmx$cqn)DBSFE4~BQix=Ip;(EH03&e?bv5Oj3fnw9MZ_nyUk zMV|?D>yVb-mUHc$)O{I_w+XvtLghTjfnJ+YT_Y=5UdQsRm- zoL5U-2h-0FBAi(cN9L+HQoDpN7LnizCC(13F=>E)*67SK`u1%9k33X{;WGRpg}yCM zV2o{P>Y?;wdH(L7+Ejsg!$oxDs`k}-$LBWx*1%F@W0F8BsbuwycyP60Y|#)?-s=wM z?R1ZTBxA4=^3%c#HjVz z_fh%Y9r^W)WXL+=xm5UKjAt(VZ2k?Uz6Vf=Ak4+58?cQZh1zY8q~f0NGH#|%-U*Y{ zj}D229DMa=Wr>dyWnrX zC!Ow3#2WmqpLV7GZP|ZWHlkHoy1y01@5{Wy-mk)mJhI=Ojsou2nKgS?M)g9LtN`|2 zO%B)8bL9+&-qspc#{KmBP*nhVZ9s{Dsz>%1_lKxkj8nbRzQnF_x3f%S+w&mMDQ=z;vTq8%|Kr6o`k$tq^s4`MQM$gh zd=WbNIFkB^G;7@Rl$`wGv5?Iim~9xnw)ZCYJ5?xifA6mStnZO|fGR{1Lv`P8)w1=R z`9v{Z;P?$O9qyu+)_-;ePu**-5)@npAQ{Qiv-SlrjM1hh-luhdU&PM6)GWa~@VMB0 zCfyN`O1NBf9QL?s{kT{Lr@2>xeqa9%Z@EIg-5lD}V_c5^@9rzq+T?X{`kY|~_Vlck z#y_n6S)D-aHq0x=WfZF;s!R6jSQyN`n?bZMowaUo_Jd|(AEo|DxFYyw(!(bsRB6x2 z@*`qxS3+8$jE___;*IJ0p$6k`LxS5pOCIdn8gY9~nojM-oCFnOf)WYK5A=UFt9B8| zxUprr+;3zTcnmwV;|R9nCtv>6AittgAI^V+hEgl#5CzuuY>j+l(4-GEzhahst3#%f zWNZPZJR1%d`5m$G>1%;rM6E3I35k;)wmo3p%jg5T@MywrtLg3aXQ1^Ep9X53D@n2; zN{}*Mava%LUu`tX85KXeY*^kIO$o(20I(W4|AfJx>pxK=qYND^ir!ErSEa^ z@=d(m^}kq1{l90ogQ%M$O7{)j3bTi80-s{87{7!sYcef6-&=#>EEo%803>@#Oe#>K zMsq=oFN)I2`up?e;nw|alF*> zT8PwH-Y^VAP&E@;_@{{kSeCM$%f?Z`ajr{m0Kesp5GEx^s}*)e=Ac3d_ScHr-a1gI zZv5+`!i%=3{TKTD^NjOz%FEE#H~C@_*%QApe6W=u{+_%&p-2lMnXaF3ToqGO_B{=Fb> zc1*f6Ylw(n=n`=c-HrFl~d zXmx|fgwn40+zzRjo!iK|p4JEuXK(PfMbsu#9cVTUc?LxM*Pc*@Ob9T{MfkNk?3)tQ z%xU@BgP`rk7sLNvxbu~LUKi*1%BAwnVOr@WeMg9XM7OtNM;$5Rb9Suk?0hlXO1tjdaSGn_4mrb1{#)NL$=TPDfyCyMK(kNZXiW zL)JK#R=2L)|7E%3m+%})^%%cpsx4r3I>+h8{a5=Y&;@)*E&QLcg|(uy$2?N_`-y2} zx))mi$e%MgpA8rbm1l#5-^w%dbdR;tr&ql^V7S}dLB@F9PP+e|Yuy+{_Kmmjo?}=y3$afVcqb!ZKcX&4_n!<``WBq7xm%3!4j|& z(=)etAAje?JcoNVRgQWH?{`L$n+9)MNK2EA5Pw(QFZHgYouDV05%(J{MIu5xG)t z-9e#{m>KMvQv!WiNj%L_^w5vIG&j(K%54-7V}tjGf)qSEM>IybP1Z9b-X{IYJ?@~QdIDX7Cs0?PF0MhM50qxnIfO(-Qo z%?8|)eXx>y_*!dNb@(;6B1bzZ__f>vV^93DW(=}d5{u2YATkpI=o4DsZ=-r1*8Y^m zgRe#U<`kVk(I6VSIMJ3E4VrTJWne5YU=?}k{6Rx6cx$vho63+`O@3!IiAS*uj9(zL zEzQ&QQe>{)X21wPD0wmJDFn7&fe`V79(9&37@i) zL`Q>d)Qsptw8awR7!D@#bvog=*`jppL7g`YR0F|&G|LA&v9Z;s9<|!~qHpl+aEq!W zr}vQz4P3sz8&8*e9(gMdYa5Lc6%7BDcPywbs9myP$Z76U^i$>HVxf{dBKDkJFu|(Q z%@hwl^x<$_q8@R*Hg;s*;Bi7D-tbJ~bC+*-);URcXaQq5{6oJJY1kTGN)V={L+QF0 zX$Gu*bs=gA;XPDnWrhqRIBsrmy-zzNp-#`EH|$&Ucq`!{Ql4Ux*RlBPLU^=26*Ns~ znT?}i(SAq&Bp>bqAUC+d?VYFd&SQt^+0(mqS#*L%yjocEy0> z9O+~pyX^pGn`u0hDvWs0mZ!)81vVuW$O|iI<2WB4Q853@9}QgS@Z>lx7x}pHk$57R zqi)RAV91-VzfYomDG~$ksGDmF-8cF1j;*$FT;11A>OST17EpiG@3`XrqJ4}%Yyi(! zb1e%1_GR-`>AH72;ac_L^9?&67H@m*;J7)(ZLUhc2x<}MOK~xq1;Cd~F=lj7x%Qjn zA&hzUZ_WpHoYUHCml{`?{;JHA{HjnkM;%%ij0*`yLSgO7dr^gsdLO+jx(mt|!(tp@ zKM!&!%1aWQRKR$;PAxVMz|rrddwX;}{IbrLg8c!L<(bMe&^^Wj*=uTLE}gd56JS zW@!z8>e5X1XB*BA`TkAu6T77ImFmMo8Py2}-g-@aaVEa=$ZGU>^|Rm8+yS%qDR%u~ zC)cvGM1PhAmv4|MeS4?K`Wik}$IfvBHNI2yZ9E*`IeH-?RbKvv`sEll-OFffFe#~i z%z=W3+4YU^b^)W)_RMP>;)@3JRmr8%`;+zqnH%zLo+i^*Ovo;okl#5L)N#Qd;C>{Z z39QXAvO7f9kA@i&ztfB#71<3wT}Bvp5gEOY60f8ZdB_{H1VyERan+cg8dWJQ*I!Lj zdpChIzuY^Qq}ef6V%KxYZI-@@9R*w?Cus!Gt2cO#M~tkCU-p1JKho_pT7oA>A2{4l zylGv4_Bmfec_O2ggqYSZ;{Sy%g;}@DFH6+%@3k;L3nuv%Acu?fdzn*haV2-(4kxm< zF7yaVzamY66}FVaS7$-lqyVui92&>D0{g}lV3n0SEYP>P%62)ia!=4OiJCnGo6H6A zGAvcWKyb2c#x2tFur>X?G2ZZ)Y3sU~y=Y&!+mVfG%P*0rg<=s9ajC7sa2#ZF++t`2Hs$}1(3&uGbN2IVxsP8Cg=Nd+O$*J#rrr0d<8RKRH2Zxin#ytHw7#b$d(o2~5Ys3rT z7YbSP!WD9)>cObD?|k}10QY=0sS5|$(Ck%?U}@6MA>COBvr_+ z#9-C2<$nW$AuN5z*skyIbXUsH(WeD|B+JG+b&kMifqrhIh+xaY3(?_-PeCjLL@>k~ ztGO`u+T0=}Vu$m*lU;oi=I+@~hNJ@E&@PJq2)xB{z+`Lia>s&OjhTAhQDN2m85mc| z(MyprRvG>~r=eW1oRRzXHg#0XE-7bh2qeRiDib%j===A)b9Q3hIX5{tG@1~7KkhpX z>Xr@8NP73c1Cm|ivJhWv=I2KuRb&4)b4fBdCJJ{0`t-KkG%5rJeV3w8roroMr*XOp@!VHZ^;BcE+_;ocOh1nFrE0i4_L7m0Bmddg&=2h zb|FoS`p*k15FAG{vtZdnHV%=rG4yZW z8Z8m?1|65|aI;;Xu;l@QG|TY6@ucopz3jvvQ`KRMLJ17$)=9_x*4Ah4EImH*J&qZ- zFr(6nK1?ZkPgqfLl_Ia&?dRNfW=@XtqoH|V(Vp#VO4yo^!-{{Ij7aY6Z5;nFHZK(& z1(9+Ap=^)CNZ$AEKDs5@4=4i?;Maa$(HC zPxqgL8mcrpaSv-!zqtzGSX6qyk5Pe?ifLR_1^p7glNE9uv? z&SWNN&LxfV(sBs3rF!^=UOhJ+RP=Ezw_scYYp7`{$U9V|shhh9-L>i7dkw?sg! z&qUO^9`bW)0 zaZ)Z!QlpA1OG*IfI)XuveKhcnMzaa4o1B|%zsC2g-3Ox%=4 zZIkazbw+6y`J5IVCnjfsL65`hTbk5chl*x6Ea*@X&n@bW2Pha{zzHzlV{W9+T)Mz<`DN@J;|SN_$IxK)4X`P6JG{Hx$P~ zAohmSq*5@Z^Bf1AG@n~sDlCfLUuk-QI^GHXksxzHGFlA@@sZZaJq zPiUW6&y|EsaDUXQQWPFQ@3ahuj9QN zo|)`=>Bbj>TjR3Obr)GT>p^xAXXi4oEN*{hLv2IkR6Y*ZT8a zUg>LoFAIQy34mcTwl3ebnGhhRR`<{_phS@3JX@Y$lVn=_I^${cke#uptT@!T*;sym zz}PLnx00_;tp*WKd|SeU>Ye-%Je5J7nJt0PFrLRD;Tfw+9@o63is0THVY7xe`-RiW>z7zZl6(SD9xI-x zlzROtsHnT+7xx{{@6Jy>jm_2<*phY))?IC=_K2VcAV~WPeyos7jkA zyrjT*Nx`9L4LIT5Dhh8cwr8L3Ck-cdBbYBU2QOoHG@B%r9C$?Ss~Sd98}iRJwZkXw zsodLy)l!eqB%)z;{k^csg{<+#uOo|sf4%EMvAYPN-2d5Ck%cJoY4OXl4o2>Lu+hyv z{nKRV4{skq5jelC`E} z9#K*2sFXr$eP$$g&-$^@RP1EOvLEkoqV%92M&(TMTs|_!aHpG!82AgJ9`PEOi#P}w zXo%KAw7Ey2Jk+ul=WGfy@rC9JG!c4}ZE^HCn<_z zwnCePZePvxv380s^mF(5Fj@Z$jArzG)9d1Zp!rx#Tlsh%kl{sxy0k(1QU_(0-VD$( z5)1R?@Q2yzxpMsU&|f&9=Z#K7JTO8NTJ3M>MsxcuV8`;UruHTUv4ws?WP-6}ihmYI zrtQxhak=ym{`gQWd07JQATQ)J$fNFOQv$D5yzSe(rH_rtM-LOhPD^!e7>H|pa{!s? zcV9f%IaPCGq*in*@Y`P<6H4Y;ABtJ3ZuSo^6r}^dhPa26O=Q%@d2$$;d$YxXq2QFf zG#N(GsHc6F$hrLQCd@H@P!~$cCWx2=)nUEY0F!8`eBq++WEqcBRV695g#>PE=s)1^ z-7zDComfnDjHlV}ouoIg4|b5P%lE34suwNgRXd0A;MqDKj&WGKS2Dd~O$DlLLa)uL zNquDF`J709d26RY`4JKT zjuS>~wsJ*HGvM;)*3`Y@IOc>I64AFdSu=T{2tTe}vY_xwHf)U;zSZua2 z@;+SC`d4Q9r+i*Vs1k9uEJS&SPgrwcL%4qu-b=r-N#+x{apo4?FN6{7RNPKGt<`5J zX>#|%a=%8=9B<>q^4?+F!#VKx`ceY^L2W(eBk>n%NNouSq)ikiSurht zYWS-;WQYQGAKa==@3;yObm$qa%_>Q@t>h0hwE2BKI)#Kv4RZI0A1PLMG-kLHB^0Id zUTLkh=&vmS*FyY6Dzt2jKlE{Nt0b>V2rPOIG#2)qkSGY$aC)))XtcTz8A&AN9)C(J zfN1L%_-~lGUNE~mzyok%#z#ljHy?07n`&zGsl(?bACyujJ)%ncklWkU{VYcn3-VTx zXQ>Zblmx>EYPDQ{?xr+{C3k7z?HJ|-zz!m6rH}2QOc~*=VMHhEOz>86@Z;e8`i7;+ zwax1d#69Ebs1z9GKfyHWNmF^thG2a{mz(!bRq^{W9g4jGFThW8H4o2^v=GJN0z^}b z0Q_=>k5u|Sb`uQrTTd;)KG|yJ4wigeQCimR4}x_DnK`BZ*{W=RVoE=fywfT; z0%Gc<|F1WwrZ=d%s!|$2J*WiX7+Cdm+`$7hOi2E3)uCbJ?~ViVP&E2H0O!Ub(0IG( z^fr@EdEK^-)mB@vEZDZrDhuJKJXX?@ul_mjQZJ5HVnIm5kgXOqhV5lEmlOUW(e6NO zn<@q8kLRTTY;*3gj0mA`5twqPv%ku8ljuM7Brl6A$WiRm`6%W(24^8=M{|B1$zdl!ww>e@SSz&qcM`MC`d`_#HPru&0NrPCInbL)Z%C-a@~ms5fpafHMAI zQJ)P{vEVX5P#GW$`R2r6l}%mr4}If&R(Jy=IkBk<9L@e;xkJ7-1*7d-XSf**Y;zm$ zcKfXUC1`i7Qjsc_7v|ONTFp%Ds~;czcZ&=|9sIFAoo7;AJ5f#VorDptU^*vJQ^_~A z<3sf4g23T7Wkc;8MxP|QpG=ZeN9h5n^1e^(cZ_PV^FHq`Q3pzj&X9ihe{(7u3nRX< z3Pt=HDm%&r(GS|~mW2v+Ghm4lrs}wtZU!dJ_poCW0zY;UQqBoH#epm{u9pLxFBQWf zr5}D94bZGR1)9BocM|34nC=zRMVM`X<~C+be>cmvA6TM47b57;jiDf4#Wfvc??N1@ zJZ_fzH9tMn!uqIsy>GJ4t6zmXztX?;I2MnXD?H?L z58h=;`)%=~TSuFNObNaDSeDvMQ4x;R-LsJH-5Oxx?E95QQv9ugmVE@pr}Y?4FKu&G zieJJnYX}FiC1n`QVH$y6sv6f6A36>+Ydk~D?Q~>0k4mIdRSx8^!wK?+x5m;C z+4k^%q?26PMm>&#-RC0ZF6RbE2RS&4di?7dmZAoW1k;C%0A7jNzpZlEBj2OxjyR2^ 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%0ANN zI?>x>eInEo?igcj01C)wtX|i7o6sOL_@hM8C;Sog}8%_#e|Jwg&qTU2hH+DF5een+F74Hz z2-+&T-yS%!YGI9gFsvHr2_I}5tGZvBxt&!zYO=hGRXhKBh6AWYpSgsCAXSAf*g!p> ztcnL6ebe9L(_gc(^a1T#J>7(Svj+qcGT7?pM6O@i>6R2&nbI`rnnXTBbkFizZGz6i zd9_AzSs;{ue*9!n*D3Csyb zFTH&>B<`q~2g3gGyqDwSCB2XJAtBqY5b`2g#2p27Fd6D8Up?rGYf?lF_4)M9q6*Au zhX{Ti(21a}8P<(;^$F)E;v!s8f`*s0_3stD7VY+u6HaQk_hck%t)_(cNj(Ya&m+d-USUj>0d2_=sJJxWwdBimo?Phjxxsl06>_nOz- z!y|evYp$X#CltTj{6wZLiEnUxROJ0Mx;emY{?WB~`5iU>=kkKnv~4Qq;$QN~O?E{eBoeU@%iPx4v@m6eOzUMT8jJAM3qH3t%0se4Yc;FrxH(2 z#}Jyxh=>B@inb3a?eJH63q}?0X`HOCrmn8;f`tTqgFqIvW;);r9r7~vJ3w`x_ie6f zm{WHbb41Oya6Z|{5{~I)sMNMSFAtnuh$tvaOJyv?4GiE4o5%%EK8$5TS~3{@qc)Q+ zoj?TOl^bsTUQ1Ljn%GH6@~!AgwvO#7^Zf!`nEWU)h_8WD^XqG9XQwV-mB#q0cKagW z0G1El3pwE6Z@8r_JL=5Bl^Rn}5OGm*oIMT(K$#GGT8z8i_mi60J6 z$(wkBk?=>-m{gHaiM6I3j06yfbJrHS!`@jE$U+<(ysM6Vd`)x4wx_DSWtAVX$?tmBV(y%1AY72SkVq$ffv_qQ}qIMk}u)JP%v8P`c zOWUxPOR_mZ=%(L`D$9Mc|)&XveRBp8jfd^sRH+%9Y6BgQs7kWRtI z`x-E*WBj4pKnjOgG+;G<8*=96q+hL1&IAprKG=Nqgqw++^$DeK*L|kc?bNlarG>c- zy5t=A&1qHrl*VS>QrAM=rmk|@oBbI&ZdcJh~d+KMcnV~aTTC-Odc7e+8 zvUoX8HPj1i9OHuT^*ywRsZ=C#6c3LO$q~e!Cud@{I09_I{To=eZy$=$3B{6?!6^qc zRR$eTC78>w4Hc&3SOiTo4{Xj*l!f*MOZiAzj~>5BN>tV>lg0xaBZilN;KaD8icWOC z6nWj<+qjb1mVZJeZDj)Tyf9>yw%WQX4*me&V5H32YJo2XZcJD8spGXO2O&|CjDQmC zG;@H5p&kZS{iH%qJH;nHo}nin@)#Fy?Q0$ z(!)V=UXz&rtWl*R;2?mf6Ma5R=dARSsx|yQ$O2pvbSRsbM2|_#c!vFK_h@Tj74)Wk z9=uX&zhllpP?+A9AOVGF+3DyAT#~2W>}vjUCn$5p!n*i~__`Cg?X|C*1KbO$N%sw{ z{_LxnTS%?wRBdiUB=C^MIZ!PItF_GmBYh+8g%z^XHM2$ykna51;i|%@iPkqg1G6i= z<@0YC=E*6$L17%@aUB=uls4s77_+KWzM$X@QbK9JeKaPvW81kuM)!b(o&vE6wS_gI z|5CaFjh~&_S^%JS=zl<5{~G|8F;}icKZ%z%9Wex^a+f7O&Z4rj_c3MQ+$OIz6C~<~ zLi_zRkMTECfLAylY$*m#VsE6)S_3L+rMj-rbaG zf`~!i;Gw9SHHTqmfRT}{KdoM2Qe?BUg)C}qHCHiSjK)0-IY8G~$O+8jhgiDe**@l@ zl!)CR(5?NybfPN%*PfHVp8mCl{5MbzH2E)7?*9fr`#I|i+Q9rb%g_I%K2Qy#5u{aNCFL?zrrRBJQ3uyjfebk+p tpdG~Q0P=2b!3X_!Z4jW

    zpw;C&Aei06Ym73F;Zv}@;MeTbcgELpl%xfyL-PtZ*G_5w2 z0g`Ke?}G`tev&e)_9UvLsAHz`jO&S5C=IX@yzW~^q~GA8dnxgvZA1#1<;JH{8@NibTV1x-Uy`E+r z`_n@w-MbJT#oR$$o>3|xlU5+kms8V3uc0K^4WdRaj^|I&=kqqhqU`pZp6~{Lzk~&R zs^n<{HjKTHapb!(UV7w%kKPw~$5N?gJP^L5b_KYXUX8Y1I?C*Fk2;|X;=_?dhCXHF zG+VVt04RJIuh-Xh=h#c8SZ($NS^lV>45B^4Ju8{FJBHW&T|QW|rDb^6=$)PjImhEnqET=pj-p6&ycXsdg1Ay4L3!80TrkY-57 zzRJ(w6Df6?LKLd1h6CA;zMii}>F^(RlR}~7E<78#U$$ug;sH46u+_?0Ib)A{X zojgzwHM&0LqZqMOH3OA|0NB+UMX*`&FR9o`cILpo2L?#XYI@@#3UV~&A$1Qhfg@Ir zHPqF~Ux?;dpx^+s`?K5HVJtYFt_v^EvsYCiS{naV}G`CwddA*0!+?aXp9DtqsJ23ZuX-p5=h)KAae4AFi;Ahsgv>{gowb6 z-a~y6S0?92`YFD$jN$R#8MHh5TZY&krPvI1!m6J`X$Op!jBh;x0-~NnB%f#y&;r6> z6+%y$aQIDRMP$5xW%E&f@`@JVbucBKSI?t1kVEU>V7iQ|s)uI^*gkio-b|_8Sh~v( z;IiK2(XsomTJ16D$oX)T>wJE1ax~qJVQQM&bd0gtRlfO(t+BMS6S-=|K|H=t@nvu` z>c!#5PV|S~XvQS6_%YR4C7kgxu)W(9TiOH3MC!ONf~u9of;H~ zef^!wQgYRDoTSk~R`=ro%YDzcVZ^xfxR!AhbM`6(nr~wdBRe3J(&lm^?~C)V?{N`-X9JQnpCF+5k2JWsInQ)>fB zb(n6AT4o(aZkZm=`wwtMsz{DSz7XOFuaafCps$`9KK!b4C2U;RX~78gB%0{m?@sbL zquM+#SU6otaRg{O3f?u2+=~l$28?!elc;s|8I|5^AY_p$B%gY^N_9K~GGqhz}Ye8i7UaKqbBP{er!@FdNy43s^ zRU~A}^jimqnK2FO+BCCe(^kFk6D+jCNR%de`lx$pbL70lEjT`jk>6kCL8tc^H0j*s z8xPuuLL6NUynsAizYWr5SB0Izj^^yo$F+BE(5np)}T3 z&Wu)V1CKB@Cg|SJ0B{${Eh!d-oe`V_Tzt6NY-l5QVqcJ1lYKNKrv;k$dItiHBje_2 zPZRUmf_yT{?WY_Gvsh&g9v``h!u{yoIDIw@R^p*+)z2)*#ax5dA+yCOh&oqAuMBm=O+_Dvz<*AQqvREukO$f^Q?43+=Ht?IylT9Ot>G*h2CyJzG(dx*ok zeBh$NqQz7JWXfWPBbUZy4(4EQ_f)&g=Mvq|L5KUO11EinQP)BJ=hea3k7`O{Ngp zgtHOttes{&=^+toArADBVLmETL_)U7gUL%rhm>;nTR>QE%=b@lNnHeoN|JN~l90Uj z`c*-2yFC{KiS6@{Ia5}s8o||9drlT421Bsl^H<1vXZxSyw2liNv4F^zP1q|4}--xwp zH1At@Bv&iC;k>`?8r=R4So$0gZ# z9eW6{(CpmYY~ z3nkB@X6f0u$2DF)SO9Y?0~>>AUp7VOfq>3^k3!H=JSu@q{1IbvO3+Fk6=q#7WZo_ol^)MO5vRBS z_jdOQp%=1XtCt;uB7`PClI6`BEFR?rEva~;0Nm#nR6?$}2d#zA$0Cb-mcoS3^(X_v{p};3?Xe9{4^`TCwd0W=b8$`OWZ-)-cED@KJ3rMR zISB0Gomtd8>tioO%fm3lf=|qi=Cd%>0+pEd)DbQfKcLV9ht~uHg1Tilf{ja@r5$m@ zGnUWFlET4Pa(~2>DM+!nmO6K_`~R_ZmSJ@)+qw<}hX_v4;O+!>cXtgC0t9!5ULD2#h@P??L+b2EJ0lG2`*W=iV|1^%oeo!Z zZ@3+IgQ|x4kvDq6T~bLHql6tQt15v|_N)MOgD;u+S8AlditKM3`tvOqR@8A{@RY|j z$peYf8%?Oi6q(%!Wm*wjmW`G2v2n2m0|`I1>*YjHZp9&O1%A!|pPF$0F?UQdDi8!cfeX|5{*& zR2lK;sTgDrTcfz}MQoy_*04O-9xh$dzE$;|QvsgAq=g`Ye-CVh|4}fWI@wr7BN1h) z!7iP&4L?!$A6C)}vd{HiUJMy9uhSar!Si>hS(mcYCAF3sVGzX_a4IKNPDnv%>LN{;Y}3_!AhiuZ)a*MYMR`Eb z$oG)RCho201&?ovPNG^Tsa*?^M%fT3=lnT4v-dm;QTXHHf3hqu6d%E`BNjb@zB8Q4 zlkHJgRuJB!Yf9Cc@(!1Bfr!*r7VUGolWL;SZta~@ml?e>j=h%eMa%*k4MP2b-qV$r z=QEl?&%lZkV@Nu+)qNwg0?5)8n-Xr%Sq6&Cmpn5UW5dy<<$N#FBCm1S<65yoXIu33 zjErXKCfG(`(VWvg!DX8#>5B>X$>#Z(_7-MRUA?G(!1!(~6~gRXB9&tP;~zv+>?9p9 z8z{&YO+lM6G*Jyql7P&Dyre_iE(?f z(oQYMH+yaYyFX3evXZyidlf=HciqT-pp#gr+qfYOrkg5`3|Q)7Mcy067W*zNcaHRX zxy-n$RO9iRgpRf+x1*d5hovlzcf*)ng)vQN@<2ic_r|)>jCzfhVH@^fczx9RJV(3- z??SP=9?va#sM612-5xK(?yHbUjWW@wtV`1dL!D$4V3$lI$M5A9*P&HB1@n%t>v_VRB|KkI21b5V|jRV=0s1 zd`$(Y6HKH?2D--EV`?E`g6C+XHtYk-)}S+nKP5Aw54QaiIBK)LN6v^Y$CBj|`mzUO z_1$`AAEcRu34M+aQEjrL8hqN3HT9d{=pCMZ`md zt_wStmiILKP&^LSZ_c5%(P^eM2SAizdbxFx1=oY7haw#?rnv4#ESdYoSam>9)~z|7 zmoC3{GaLV&NFqk=xnfF?6?@qsWbtWABd;eHtn5K%S*;gBLJ>`6YwfYa#2J`Sh(bxm z1tHg)H&Ij8A#1Xa88Fcgq?_TS5rfDuz0Xo65DB{8zA0ALF4})B#N^|ptc20T?fjn| zcZlGXNuM6Ro9`g1oLgc&=@dip&TIKLbYXkai@b9eEod4Y(JfG&8?gD(hV$iqiWoWK zKt*;g?MBzZHge73E0s1sh%S*dA0u_)yDItZ+*N#fljkzVuej^Iv1j|P{yr-?wnSks zhervjgN=SS=~Uhk+nUH8>W4#^Y8ckdoPP)@@lmP;54ua-BG>bEfV_NGs?{nmNSUr30EC%3r+?BT4F2d-i?e!dOv$OYr7 ziYInLw?wH6Lu}&?rb-|8g=hF`ma0zNAhs)u@GmUNf51dx7?#9ES*ty+K&JI6P4LYH zWz|4Sn4rUZ&bVQDhw9z|AQ!*dhOo;~aw=*P=IXN47y0oM=xwB>P7raXJ%(uyvD8D~ z)->|u`z)neNby5joa%OSZOSprO;Xx%Tfg~yMs0d+o$jSbgX=S1GII8Mpre9 zL~)!OIJp!7z%(hKdqA%LC3P&curg3qW$W065O;f#-pl8VLoKmxkyc~{?UU07nV7n# z&#le&&5%^JP*yJR6yq3I`-YmJOzhvu5>y~r!bcm0CHqaByW{}XDoX9^-+9Mg45+}) z2nyp}Ma>9Mcs+*yjqrj`X>xdX&BACuwsZ6anPaw?UjYFQ_^Y_iOU8aO4$@XL}A&b<_gl<9}Y z^=ql}7Y9$H6wjDX{1Nj+xWCj^0IBz%(Si{k`VM+#?~FZ4sa}#h024X@vv@;+l&`Fv z!a(Fq(c?l8!j+7*Q3|0gFZqgBOYu#Y>df(aNrilFWsWC4<>BS>#nblr8PVW% zbiu~w`5K}HjM2bxL<;X0c(4tjnhcsNt1#1$A{|%rAE;pyJ<1lKap)BM=PyN{Yx!)g z9Z6`6F=R2gLy8hD&QG}8&7~;wYEW>4s%}?yA2rM~NL@!;&pi)L`J*t^R5z z8FSvn`F?E^(`e=A&+iA$lK4bv>m?X3jc;2cZ9_(XHWiKi+Ju)>)R)HZsirOUvYLe= zJ!vQY*q(DLQ-i^g#P9|)lXsBH6@KniO{-+HIs?{)I;-5bfqh`pjKgyLY{yl;GUEhBg6+xJ@ zrOv`+maKllck>^N{)b%oD>D@)ctEkLdv3pY-k04z9tWwLX%L!Q#)JC1o_`TMz;&bC zh&ld(U-05M~1HazD4s$knadIpKh`p+o)r$pZ#L<~tbOi6*?xrKJZ zwUht;x4P)ZnRzlWK(gfYLj(87QfYUd`u9a%=#uYD?1_8zzT!<(+k8#v{PzX#*nD+$ zl-(It;W(%x^qpCt;^jK?!UeNoV*1GdCoNv|vcD9O?o71Pn}?6D8|~vL1!!cPxo+d# zZmZ5W8PE6Cy^^fyY>W@i4$cPp^~)ftY2>8ktuQz)L0Wi?(XQ7?i%#_p_d20l|FAft zvM{rW0}2>&;W^FcpJMv4KKM>cwV{&-Ml;0}as#eiepKH@l{hgR!Rx1-)%-l&>xh(Q z9c!cdOHv?wg)eRkQuu*@Ueavw#aY1<0$5R+Oy#62dH+h8H`>vO+J*@yzyS73%yjO) zvZY8TOX=AaZ6iLtLPZ$oLfQ&@DX_j06|4(u806X#t^EOJPqH7WcTA}68s{opiH;;$ ziuupj_DvAa&}aKZQlPD^Q_3g4T7Vu^jsOE)P*l_S@a|#{ zhwF?J(A9YZP5`wbGxA1i(*2l_=X)da^Nj;ma;{9GAs|2`ACO}f9z*q;%^Z!}`B2gh z4TMdZ#yQ_)Lc8pF{w9o&4-U|pv4j5B9TKnE#Zs*Y%u7mR1-xF07<93q11!gXs1GvpKk%Zn2!Ss z)k3^jpdApTIy{C0;^hIpDCNBcSJkNy%Ji~Bxg4G7BEkssE@PY(R(}?VY96o0I)h!j zI{k9D<~NM@SL*g-t(n}yo!!e{sr9teI60(n86*TBz@ zn4U*~I8GYo=k|wN&f`Uga+3r0L4)%503gy?Gvkfx{}aVdc;Ck7nTOx48}k>lFnI=9xavOu4C_K56`=K3neA3Ku{GSVgoY6pI64cVeNnf zHwQ!gjnSky-XgroSWKW4^nplzY6xp)#e1EmGqp7Y+-k$UTH?@!=I*_A_tw)mK;MTi_34?@6tggIp)Lt;`*;r8YMe?mc+knj9W`I^Tv{O-#DeYm9^Je9owjpSD$& z{iXKK++cL8kUX2<_KhE-{C&+AUOppqFs?%DKBnep4C$AbySRVRX3Yq@!GE~##R5@1 zk3Cj;8GUY%0WvAx`suf6TDyyN%Lm9pU8gDkqxqu!LFu2{?PKm4POSiW{ykA$$Fc6= zrK5R3`AOhuEOH;5n5-9w<7T58)@Lp)h(xx;@0!Qaz;(w^6|)}6&UQrqjd^4sxyi%%sUdokn)5+r}tLlj0U zr~B*Klf>GyeGWar-23@8%DvV{dE__OAv34z!&?|c)EE;+IZpS6KdXJ{ zeUM~DoKpd@SO(3!n23k9a@+JE}iFIOckUGdMW0HQ$&k0m@d@cpjU4%?dM0-(OPB z!wu(hA=tq+F)?TlDeES^R}j}wYsX4)ARN@$^Jdsf0kS`l4{9j~4n1p!!mUXN+%a3X zKC;WEaH9I$f(=gmkDp&vVioG8N!sIWK1dxKH`ZF&cD~_Qzj&AWRYPIk(*}I7v>g0C=R!?V2qzax=vH^nk`1;*7aLoj|>o2 zo~~S&F8$8;Dsj3wTI^yE96jz+RGNpXHKDonp+YPW^Cc2nB3{l_M8FDNyi2HOpWupI zfp=CIyJ<+nkg#jGT58@mX=<@zw#Ij3{!x9r6`*ni1aQXwLz7L)Ec&trkUG~#}- z>q`r2Ksp}ZCqWJy2Mq8kjCn=n>P4NH@AbI*6Wb;2W@qb6zEXKU#cV>-@3aT2>FY z@-*zi^piv$!VA19<+f|WAvv#({+u&7LgwS|QQO~nyC$O>L<*e39Od7fmFV8pIv&2a z-N9C9dZu%O<)HJ1&c|?eq%>m7{Z1u)ODsMvv+~SXD#yE1vn82O*WwOuopjFeup6LY z__>iVXl#8mb>`S$xMgM?d(3QDv zPJh_!y=>eU>rt5_Wc0GA7uCjtGXmh7KyDmg_peSL4lv83r}MnM?lZVa3tsG{ezTgc z5Az%eny7sW2}QD-)-v6gRFQYyDC2fCQ%J1Wrre#3x*!))5mZu&#!JrGtH%&g8BXyN zW(ZZrA83}RjzbOP_67v?y1cHJLW%KPFT<0qJ5&_-1D6_I8tqiITdf}(?&Lw~#+o6a zp?V*#c4kR35L{5TQSw0^@9OA1u=25-g;V&|ke)K^B)!vG?-FgJPsZ;l^hk>1T)g|2 zdN-dw>x-K=VZ`d6C2sAGhO?e!-z_aH zMZ~Cjvo038=)CWr(;1o1^ZwLz5b;wuUjvW@rkQoZCeN_EF)aL=hEq58fp|^rcSt5}FNfShGaMr*&11IbQ~$swqQB)48p56H z0U6e!Cxwbvm-iEIwS^_SUncZ*|HBvE;XC_Eq<3(aX{>Pk!88x8-Ya*h6(|fUTA$SR zR#GzlRL(`%{<__S?@;64*3c6@5Y-4eXsUIyQs>`Ny4RaaiCY8ZajUTJ;8`Tsg%uNc zfOJ7a%(ZjJJKmK`G#XMXG&9A$w4}}Kk25+6dSz$uEOh%|lVm+NqqgTVZ*NmddWQ}v z;}N>Q4mU)+f&wwdsbDe+J=H>ZR+97!6bHO57aBfn^eTLYKUutM+V9i)_8W$`op`3? zHJ?1SHggl6fx}^{Ja>J8)#4vimt{Bjmdl~!a)(}d6nxIUz<%`w1AwZIh`&v9P&*Lj zDAR9tuaI+d8QL~mBu=27mf~k;pr;O`SUVqa0TQyzc-)RuugNbuXIh_}wDr<* zTycWa9}joTRP?v~$O}R%&BlZWjYN6HCMI07ogthjsT*N&U4ovThlWy)H#dE*hqD#C zn;prWh>G;Fg4CwJkw{xC=U8-o9-l>y`MnlzvhBsEEJmW%Vii)tfYabBOdZR{7)pUR z{R%$98qEx443Cw~4PT&&!l%bs)I01X!OR}hvX=9I5C!gUpI>|zw{N#P3zV`e+^1+B zEPc%9mgg|)V9a|#s zT!bH62zTob*sBF3;=Y%N2!$MK9bm66*Hn#BYi`m>qYb2uQX`9>Y*c8hE~aIl-sQm- zn2bCQ+i9$y`R1=Sr5W4peMhe_ocWrvXioLCvKwlve!XEQKf?TL-jw%&cP0N=Gx$t! zHkc;3dfo38`}ASkCWD9)8jvL`_2<*j?M?P2O5uLbrT6vbbrhA`V=(TF;qff}s_3B1 zbD@x-6x6)SRkpng5{OUTf0*wOW+Uho%HCSuXTkV|E%~L_3?aEC`mE`t?T0&AniU^^xPc^;0BI3@e^qCEh38U$ zFU0R|z(lM**cY**CR&FV^u2*ITkZ{$jg+cf~^Z>;!EFs3qgc<2$gy(*X0qfugqduyOAb zPU3-9g2gTKsDf2}K&iqt$ME4A$V-s$pwdhiX1+m_BOe{R~6>!jkg> zqzpfhuyxh1kU`kMPgdA-uU(JBs0OcOit3EFhTrUtHsf16iA-Hu&88y;Q@Avq z*Y4DH$#V*Wu>!|p-0V=e`2+M8Vq7=Bh2+5_kJ^~M=c%QraHa66!^Scks)XUbTJQ9a z?PPfFY%S>MwV@F*MS`=so)^e6Tj_lP6)^Ppk;*X$AKWk_?iHgJe%d}O(5B+>>@5mg zX8zIUB#l58(2yl`(!6zsRw-i;O@7NS>rst0vZxad27snIeNcDNtzF9VZ==I6I!|s6 zpSYFU$c>ydIg=qt+5z1*y(hEJ)2rxpSfpK#V+s~aXVtTr9OTm=+0`uraV0ww0=Te@ z*-U3yvV-!V`%hO+V5m8dR{Z#ao6?1759j~V4rm^;3bB$YKtmqk^N(Q z{2W7WFK0NCoYb}e=8Kjx<*ZX>0UW^8>hbpbJ`3d62&Wz$l-;BGL!U^ojI{O=d4!?P zdT%b%=D4@smfEb<@1!|o^*iN6M)TxwKhGPG*XR(@$Kp_Dho($Mclp)nuM_L&-kGn_ zGcvkBVO~5@ULLCcsAbF~mswX4`cN6W55^)eDz@TwQO7yXsUqoz$Y1Vy$)Xv$BbF_v z=a`tLaKXk>D14nW*O0mtzxdMH)D(^~%do=K`ku2(^*_eNIIuSZzv&I%vG^ZR#cWpxs@34Kn6N_#5PkLU&4j?oE*+UfOrq z#_s~h*dr9a>8M7)a}0O?FoPX=f=W;??NULvX-is4wmVMxz59XA?#P=YtJ0)B zWZcQdsv9e;Q&A&vnm~5lyvb#N4zEN0KCIV5&s5Lo>nt{aaYi%vD}4qxkljVR%?J<{ z!b*Ok3`ilDn$Dpwj@4|X0X%kTvAUQ)L#LCV4;7Ky;Zq{N>joDlily9)UWrgB1z5=o z(9KF(C>v@)%{wDy*ejq}nGbznq6@IsE}M5jSyfnB*a#RbE2VZk+>^NGhq}H!JBF4| zu`H9!V1=EZ-?HOX@O8Q!>fRM#i?d5D?#zpql6|sue^~S5Fy`C}HMCs$)sb+Cc(IG^ zh*g3BJ20wb=(sz6vZ!CiK0Mrh9oPk|LO*I;knsCpFbP5GhQ~2F9yvHO@q%>g2&w6<@8a zy`DUsb>fMAmaV?{XwyNZmU8DI7X9Em#ijf@sYw7K8);My$-t~8TdFXG^JZOzhAG7V zrfhd%`0D2{ImC8vRmEKCaxDbabPd~vKj;Hs2O^t8&tT5+o@k#3>m7qDYVpPtj>fF7 zaq@VU@D{B(imF=md?D5GgEWY%tu=gcW0tI8Y>I0v!v--)4&x1_9$Gt+wo9#zw4&K) zZkdg?Dw#RzygWx`NUGCtpw-4W8AS^EnhlO76YCFFMn-$};_I(n063EwbmV~sb$1IM zvRZbq)3x{FMi@v-rH*sCIBgH~epfv^{>Fy(0By1^pLtapwHIwH(B`5LmG`1G{?Gl7 zrCqMU;}YFe59RXG*X;B%>vfT;tDCf)II``PFR-YZ0#;!XpLt^a5)YLb7UjvCCZuMz5VW3Jzx1X)GxMHrD6s ztLl?zp3EMjQqROK?|PVGtlkPU`N7~kXnwll(t=L^)wJmD)BpaTjdX`#f!R@OSvYVV*=S^{x>77Cw^7d1t}I~%~+K3X`A|O+-~Ed zJ0yA78D$1_%VM7Qi#z<0)TVNFsFhcB%Ly?fkB&()%*- zdkp@RbgJUc-k_2PlcW)Ygwz?GeEZ7?3XmsbdRV$uO;!5UF+Q>+{K)PP7 zT%90vlYwjg9~jrG3N;HS9>kM}WcKt_qtIp0)gYNT#a>x6iMT-Xlhmr+{(To;vp2CH-qlT?{oLBH^& z-yBmm{FF6M)%`kXqz*8q&^Y1*-B(THIZw0q{sK&?xkCmn7N$Ra_htU}9h>t?>d46s zsh|o(lNE?F9O5)|4K7cbE}p^=@VOHwFMBXVB*9SQnVDLvF7DLi!{nI`1OuTg`y%TGtsFqUdPkfR}2C1GgN|3mW3Cp>e_8-#&i8 zveVT}Nyv#|NkiuipiI};EU~u7_S~r{aCp~rSe#3h*9}nb@1+`00NE5EdG>;uMgg=T z9(B^q%+guq44^?U>jS<2s+cr4$P(8ld)LhVcz>z!U2OxExvdbY>N*fz*KMz)gUoeC zO{(Ot16hKV;k#2{{~vmMvA4Y}ck#rizw}&7K+DyABKh{MmGmG1ZBt3AM8bFO@dlq8 zs-O^@LqiMR$F%Z8bxBET<+Q9lYPE@Rwvrq?>DQ=D+7(bdMe4>nmkg$EN$~|;8VhgQ z`^sLY#+zf7$~K2cr#jIz$}Uy1-LQ9XI~9*N9cjYHCN)eHvNAGHTG+lCd1`?p&4(HL zp&ohk2<>_o2{?0h9541_%nFH@t1!GV#_6S_j`H*4lANW>X4>N(+|ivN`^qVcY_aRk zewP!3F01fRIDl9pWs2$7*{r+S#MJ$hPJO*d!7dp(<-U-lVTakB;#w<#05RhF>r9r! zbB4opEZE?U*j!Pd-31<&Xk@f^ikmre_X}Ps1>mKoT!E4Aim}IGBkxIN#?b)IG~%pk zncH+Ic!sRp?u{POJ(DKvYfcm*BIhG}!bK+xw&Z&K>0H7u8O(~;o=)$s4yEfeumHL= z6?r|TZezFq4s!|=U^T;4>C51riX$rmz56E^e?|;TdR_n#Tmwdn2=)_3A;j!p1T8=Y z=q(Pi53&j8@ejxNezA7cGQT`?{8v!=z5DcX4Fy^((C{*CRmv!t;M7D%X==eXfG%!E z4mr7H^n}8eZ*B`WRu=TTUiKKN59WI~@hNu$f5ndRm^;I?c8E89Irp9*{9XN3NM^@p z96i!4z=gAB?1$KIiG(~R($zquhgl(JNAc&=KamXX3plTg9IuI8KR<=C5p@@ll_e;DvN{OJ}E<_H$>B8?qsLAsueYF0|WP{ob0D!KPwm5h;4Z6Eo;l( zf`q9gJCSP5*EvYbyzASilu^P3n%~pzQ0nR>vbuIf(4!18ar;?0a(Eu!a+cL+Pl`cQ z_>jDwdXQ^&uMF@L``q)G?K4PD)JAcqjRjvJ&7Z8VeA8?DDTKj(Zic$gGaRX0t8wI- zt$;is#~4_b7PeMI6gNJea3tRM?b8nMo_dDq!{cvU>>JN(*c;*9E3Z;ZFIzkt)ytsc zurLI`R%P$Xb2Qr{sfw)>8?_L=c3Ao~wR|T!y>9ill1ViJ)23^_j^0)Smsa0twiEu_ z2K{jQvHaWse2utIVzLtw5aqV-r|1+X1SG`bU=MVTMcZr-;*t)X>%+MTF-?_|pZiJQ zTF`enP$c-v`S%xuL@M3@3m?uBm@kNOFZyIgOuj{Wt|s@&)u*&mn<}#Mk`9&DRBByA)Gf zSg{V3j{)zyRp5X0Cs4&mu38k|u$XJx;@k+{u2+kj*Ds#kBvD@vz4F`TnLa*~LZQ}9 z?{J_U+L_IV!k|D6A&0{X5KaSg$2|@faP$&ky3n*w6t)qbUc65dM2j6#CP~o&8Fv6Pk7Njlg2a$@;YV8CVuexN=*wj$4Du|WB z`Gs0^e=A*0GutnZe|gg}s59VOEyCq2Wv=9i&8_UZ=cR!36vZbmZ9=1aJ3mXPJ8y;3 z!n991yq}Zw_RhL19Nmr@O~WhOhYT0vy)cRJj2I$i@O%BT@$>2jNnW>eG!8VbN(8Ac zSEJqqb(2CA`WY73v?$xt5=n(6jlE?xHaqD|aQ1`#hi@6Q=?evV^YRPDDO9k*SrhczZF7aokGzZ`00Pr68BJDhr$X1vTq0MCkNWfoDA#O%UvxFccEh z&VzR|>*xj=q6!cf{rW*l+LQ%T>*FqiJlz_-X|j5VxlVj>g~C8_8*0@}8U zxL9}3JbrTToc3co;UQ4ZpkIJx{v?9m!~CYa;C;x2htOrJqJ7 z%A{W2(RRirWz=p4Vd`?Rwl)q^#kNco%GyetqB=_KcFQ*IQsN~9S*E??xz$Xh7R zz2xlcV++RqQY+i8Y5HLz*+gZoKY>OPvYpR6cgyX3xlt_>l47Pr$d{wc(-ha7x*%W^ z*urW;jp8aK&Qxd>{N+xp)l^SxrdxK&ynUj)A|MZ%tKe^$GJ75ktX{!WwpUJ{BCEMG zoOb)M&)&}bpu5y*s&T z%~dm)ubU*JXqA&+qoz$~UaxOPD|GtR68nhoRO!NIrZc!k1Wk62X7)6X%y^DEh2pHC(*h3Sl&szqn8a|2lo%7p1aK{6+M=WQBzB zg~5k+2Mc+Kc@Iu|x#miF=9HsmO3L-P>0}z*h@UjdX!@n+Aafe^Xh{RvB-IA?OA{<3 zeu-)&;LXH9YEVlGFT3#z-^95H`1X zre})?wyK5G((HsSy&z#cd1yaj~Mx{3!29q6UGc;X;XIO^v#Z)QY zfmO?Yl2|jkwCDwE(*+%ODEyG^{@|sMaVZqCegXjrNQTySsXVV8@5d6`wm;ulcT9ewq!tpf{yt_m!#Q5Udf@ScSCKJhxc+i(F*;A z_VV?5-v_BW!|i$=9^cG6Osan8Sv&tX3H9YP*nTmFWPXYBiUmdc4wq2#nId75CFPHR z9~#kXYS*s;k8R|q%3w41gWKi2rD{<*8c0MkoNid~lEmn^kPG+MzGgRwMCN@Tz=g7? zNbz$_Hro&xeIe>5xY+kRwH<}svT~J8Oy(j)lg91+;zxbFI$r{Wr-tMO2{F^KRlQ7_ z6cpJ^j80aISS>Ur=Q&#dnVMbd`0UZ0Cu&TJ%cOf#xDg@ylbpiLKIb z$1I0Se?SqL>FrB`r?jl@KU?++;Y>I&abwm9g<(-FRllwKe0DYD)W;>C7g6SJFXE4_ z1)@gXs##e0*`#No?75YgC~*8q5+F?~^Q+FkD0sLv+1Th^c|KL29a<1o)}0Pax?I`I z(YoO`-5#1Sh%BccvQ*R9w0u_w&KBMLXVJihaOkzN78r3&8j^Pr7(DSmXyhR_6zq?n ziFGoUCPRX|&x-f@oax7UMPX_aQz86DzdgYBn0X5k1BlFV+HN^r&72y-QbI&u=;!Wx zF1>RJZW@3cFP)+)yY>E&Z<;OlNtR`3r;uQ8C%WO!Y+l;GI5yi^gwc52$Y7lJQw*v< z-xOi~h0dE1z>v9a^6!Y%#-5n#XeI$FSzfD$I}X}A+qV*oBjHMPxq+%r>Re*%;IM;| z@5Zm7uVjucj*g>G-B1eN$R zw%7inQD(aflfphg-J_MnA`|i8-<*;+8}^@{HNvDgR^Injc)TjzdKrfR+}Z-eVk6xL zHs)yI{m5?dFMLq2_~WQ#`Omv+wyj^8_FuJOaTlciFFu(KvoEIN&SstMW|{eSLH`R? z%$P#UFq2M>x92?rZa|N>VE6AEXn*ppX0lJnYi5f9w7>RMI-QsQ8w#vehxYi1zvBT5 z+sUSE!AEY{`d9D#-GILk(msj|>{1T0q{N$6L)i)a?Yti)>?Z$e3lQ%jfT;{bg~b3c zUzOUVZv<49jQ_q76SN0<--NiiOl+L0Z~ZPr4xI46+VVGc8S4h||5KPPj6FckX5=iLk8kIvoXW!u{dc2Yc#eI9&H8PVhtt9F$$fd41;c;$3@)YO zcU_CvhtvHg!S~@dMl%1mx~0K_Wu;OMuv%IDaGz@O9NMp@5U3l-jQ`OB`0v{L_8@FV z>SW1hd88HQ_Gr$r{JX?3!D)}A-NHnRpDf(}tAGCidIh1Y*>b0pBbupAdpQ3s6bBG_ z)V|do`lN3Gj^SIbX#k}5zej`F77WrEo#doAdtPCDI(qH>zf1Un+V`O@4oeZBTTo=Q zqAbV%PnWGCC{inN!0wxGYGv*xF1*Cm!_ffm%9C5qOGd%s4V7S38nss0gXY9+^VF4N zmn|wFqNC!>H3$9#*%}#+Z5=GuxioL6XbLa2C}IGW?%l;ctluO40l_C-O)-F)9@ss= zko#HE)zmp>8Lq2{)SB79>o5+}^rXZ0Zg~;FsT+r;K$VC<*Cl;ibvi*NH6&AUk|aYL z)LQ-jQlh?3&Gu(LIcO4@iU|Byg3Y`|0v#-IX#E(xr+E#{7z$*1dINYUaBCV+zc)+I zx0`LYF6Z-V-Ko*uHrg^*Xg2A?xF0MZ>ugDRewt#iA!=foWPsT4zqV=is?&w02FwSE z#5_8Gi?zDNnb>$2OPN&(ya!t6vZoQ9*$$!H?gI zifEcxJlKD{BZ`nu<*wh-W_Q?@1)S`lml~a3IJlGbP(~8M(6u-f`Sz$xk<^cxwU%57 z3|fBB+JKbv{%i%lfHyRNjv@rpE3g$XAcg|+PA`@wI8G0zfOJhLx+1McX-^D!=#sOE ziHW@B3o|()@Qg2?;z=UUef!0w?cwPa4J|FR*Bu+3X|pzen3X!g9JH8|ly0FFfbO;b zsxV&iF7lc%9Tfff7BbfQ{Qd6A+~e49y@ul+WsDn<0y07ilI={k8E!WR$Vq17o(4-| zq$Z~W4o-faTANNK2|s-tRfengPfw^c zNey>-eK6sD zx-lLOK|i@Kw{3?`ak$c|MuDxc9V59op1}q+U(q-p&&d&g!hgP-d6YjH{KZTFBstw& zj{sM!iwT9bF$p3uC#QIwop_MV6!U#J2b1|aOp419;7Q{g4nFUSRmd_};V(I`1T0S{ zra<--3Q0lMdW~ygtn$4p&rdD^eo&K>svF6G;acm%?TFb#ExmXoH=#oLQ2X~*{R^|m zsj+zGZ&+e0*ey3=rhMlP>0~7>-WzXRAyYHDd}wx+_=Q$?2~216htU&FI|J9*L`#8q zWq`vZw@XhKBKir=wHn0zxcPQ>E}MtY`-b>tE&(v{Tzg3dkjN}-C+@{tt(su@3FkeNy$5}L#`HP{pZZz_Mj4yq((C!H_yaEs zH)}kHg_N@VOga!gD0L4qvB0)DWU{(-T5DA#w|sZO&vw|FDDViWsmn}VcD7D;MNyXG zivnbG>T9}yW!JRy$9v(NJ-_PQ;6y5ZddpHp;9CM5tx)`_KMm-DBD7pT9&Z3Z24>lx z^;qktIn(rZAO>w!ZL}p0@>h71X^ah}1402rJioOR0HT%A4>`9tEr%cj}`Sr^v_%=IF zGiw(_(NksyO%f!jmUF#qXufb=v-EsF>{aElVvJn~_G3M{TISgr9CTUmyiVcjygFX4 zk%8WVa(fKt$hAlup0A7S^`grb*DHb9i{Lqm%YV9&AXnN+^GI9tzPFm+cK(>``*Enj zvH*k-^>CA+H?LbQvaEBP>sjuUhVkQd4BSwRMorWxw{H-()swdN&G^=t`o|{-oOFVK zh+lMuzJo-gO;d|hf@IR{QA?p#qzVTu0bx072=T3TF2Ak-YWgp`d&JU z!h87A^^~|*hd$NKvK&DZh7Q^(@VkfX#$<5hoM+CSaX)|Z{yy)ldxRa#;LMr#<6Zxz zRP2}YJh|~K6Pfop1_fV(=F?qPyd=D@&eLfPNj~6mn!RTe!(%oLI!~c7xjNKh@<=W- zST+})sWMgg6q#+gT#y&xan!6)!v`?5FK^d%o9EDA$3Kk)b#Xf^pjFd zg~m)drjYrX@d{)3+ef0Oj|#k}e^9>X?L6y03%KEYiAc&jdj$vj=v$GgOu{XJ+=&;a zCz&@On9H?hhU7vxPb$+-WevYoaw^y0!=ye-Uu%>Wfhe`GTY;y@zK_G5_nJ|zY-2L zXU2oYlW+AQT-1szOGW?n$6Ui)J2A9`xcicnniV?S6`%nbQw(a+-e%PNSgc+;2?tQ7Zz$|c8WghH z1&1);gV-dpr-MnWVb6EKtt)qRfCZ_{x5}^Er#NAMa%+DKlTm@n%N2t$`ri(%ONYp) zvcsdZWg4G!8p8M!FzO$1U}K z5OnWsB_GQ5%JcWIAGN!&3eTh?{MU5z8fE5r5G5t;1UtjefSlH&a?9LL&L6c{d2xRd^eMwtSHfj$%o(09*(FPo$%j&O=DWd0~4!EZ6daG-KIEN zfI79}2X%<@ubH>r#9i^E5!yeY3gt}pkEYIA&zBRIwz|JfyHpR`VH%ReU9L967er`s zDp$U%Tg2U3TU0y{t?I{}h{XA(UM|)~@)`9N^e0}|tcZ{6Y4ew>VnzzHr~a?tCGh(k zM&<0=KEqw%$0fIOUdwrU9q}zl${`^RZ6z8IKYQP=jJJ5fPZj0l=BY;e0qS^?pfo-* zK65vlmUAR-ZdS|!MXFo1<`e1!Di2o`y*UVEp%Bjd6o)Ufg(6e+FsVF>pck{8;Gm9#F%UBn< zOnRj^A{rK~w+NOuSaO=4-1Z78mM)UBEt6~Y^oRuHyQ{dEqZO~<#~zp=zYsltXID^O zLTEt|1hkR75ARcWQi_LcX3I01E+T#UZg)~?V_Scb0H=qd07?t$_S3fDm=|a8h74mf z73-Q;WCUTJTyoj`$8WBZVUj_T>^H1s9f|D~qA(P41z6g&4MZ+*@3~uPK4}5p#QQ*b zY<8PDnrGKN@(+NK^){i2=n&M}DpXP)uwLwsqc)KI`IexDfF{&Q^uTz-qg{mPz#USf z;Y2u@Y}1sPcK^b)t0ug^1-{JW$U-H6@i1{cPEs~o6!Y63R1zkc?|4^u^MQ4x3+Lb; z5r)P?dvYnj>u{P&vDNLc&VCIRyRU16vY%nlD~Z=F#+?LMO;xQIVa^F$B0+uojb;~t zZDm0IJXZnZ5YLiR0(p+AxJ^s{21Byq+pnVJk!quy%L|S;4vxXNH?Rv4A+?1h z!dQw+3{|}zAvxb?m|r7?#J~`eruC{p*~y;YqGiNyNkkOI?b}Z&xjy;IW_faUnG#_;cD*T8sKzMq208#{&4>`^A2t%}I+#Iijf z+I{#RRT-KuSn7}N4xHX1*L;el^dSbdRpHg()U7;;?9H^cezTJ#+;_;}D1SfAlGS($ zNDL}X8$P|Sk#pQ_^HzC{DSr2hIZa*~AJ8E!@)M5zl)86B?%-6385!akItBX{_E-Vz^uNNKOZPW8XF*oA!oXQA~f(nT-h4Nag#i^p-jhWqs%X8s( zy?mOjev_@@pX(+I?z|KGC|0PS-sHHBb4q!)dF`+q!?$KHC4rwR{27zs)FbAL%q^i- zRIBt^rGwll_ni8hrlJ2w)>j6^v29)A65QPzcbDMq5FjDAy9C$Z?$EddcZc8>ym6P{ z*0@V>lIh(0X6BoDzq|UJs-s)hUaKgKjMAp}{C=^G%Vv@DgX+;q@^0|E%x8s6x8u`f zJ~Cjju~pbajym0&s#;oVOmL%@k31KNFPuS2F8xc1%$l_DcX1?fm(m1w910}0AM+a9 zaA5!ibI=k8IDI^~25+v`v+#~2w;CJ-uzL3LFIP@X4yPM$(~e1121q*Rr0yl*AVNU% zunBPD>ZNK-$*HcAyGja)>ZI;}@G}6d$stJ*ge{`{xxA`nT zw2m-0Ly=?9Em~sU^d@6!ivdoF8N1kO%puCEu$gJ5y#dLGb_*Fic{L!kRq;sLFRILE zllGL0+7#IuVXmucbDNBi1VKt6yEFugi2}dKL8;HPI=9*A)n2W|^ z-g&xUg0O9V-mkyR0ZFg_ErR*QCl`SYutinb>3; zLq*~CMRYfo+s&aO9IdegPC8Dvj@Ry!ogq-0M`|Ni?CN{oskhf{-k+4IH$Fewd! zZL6@8 z{aeYohBCGLv)B>e<+P|j=WsU5vk5f;}?iKv2NAD8Nolm-sSk3|OA#}5(qH^fp$ zQpJ?g=~!_}jOCyz(b((#o8R2DF7scwO3WzozTQ1xAG;J9X;AUQsc21j;^Z*Xc6Y^3JaH4`Z|MGG zCD6n}QAkp%aOR;rNj5;t10*E%TN4BjDIB|Qo4V-hHmnZ1Mz5ExG%!CbAO1*=!jIv{ zpEnBd+4rdhVnO3P4*y_aX$Pq?nWSfPd1l#A5bfF|#a=(5ybBvP>?joMe8#jvcwYIj zjpM{e?aBkB(X0erW7|-9(TYA7#8%WXK*0`QtB&R`QG!UHVVVX;4C$06a|;U_U3i45 zGSh;Up0{Vo7S7aS%PNfw(87?Qn%i!#x7ujNkHt1;v!}JKKedelTa1{rQ7P`GSOf#S z=%gG12%K{=p0fl}waPCms`G3>rKvb-BGj;LQvu6jbH$(Mv$BD82;EaohA5IHPRtk9 zFyFj_Xd)wd?#sq=SjWvtmn?}lp0qN~1sy>uYl2Hd^zaIjIzl1a?(%W0%Sbc@LUTb6 zi-uIh%g55FyJC#mD%1BWSjR4Ug=eeSN$TR}Yr~OX38|FauovQ1XGH7#RS)I4t@t>Z zMjMCESyF3FJ__=yzaqxnt#g)GF%%wt&vXTLp|%gQpZh*bP+}LKZUa`J+flO%+!dgo ztbgLhSP;k-Lyvq$OiZbkCAV1zd@%G+vAo4=wDXnDYWk%(?xFA)1@6iyAB?n7k(lAD zMIH@Z7Oy8))C6jN3RW%nuJ=jKe5QR=cNth0!Uc}-Ux9a6zMnL)$xJUcrz8613ID-n zed39u@EoRZ^*g+7nX0G_0xKr($5ZX_yC=+dbR+lfy;gyHZkDsl(8s<}YVSO?Mh@Jm zXjOSGr-Sh;e7DS5O!5~`DRw)2ahe>o=@m2+Cs1nD(woO6KO;aFS4L^ika!4 z04a*2raRm0f)ArFc4|m&Y}L`_%6-ClOEtQcf@>lV>oujeIhS`QKefT(B#v6a5|eO< zOAQ3)eN9Ir>9cx>A-JA;?b87ZO`LO+H<|YG z#1EOnW?4U-w-!KtzavYMl5%ojtT4+Oe;W1)6dS`t5scsHCoX^w4#rgYH>w+zMF4J6 z5vVIl=rjyUB8b6AnZLO&G{(_lFRtF{kG$H}atBByOya7h|pdh*dq+ZO}7EkFAv0MQn<9Y;=eheR5J2 zGli8BEkurfJZp$*rJa@Ky@X3vtE)Wxu>L74zBH{2YIs z%B%<0U>*Ik%|}Y88jWTD(YBU?a~+(tb{t8rlT9rL*vVz<@CZG5F>3gNq?HD|pVXIK zMEkZ}aao!;h_@mpL{>SU%^zgn+09w3a z9x-Z*8PcRX^_UiCo6l@POSYpqfh^fLDNEAV=;#N zWWRe@>0tb)uKPkra6d&89Jg!)@{xGsWG^MX^&1Y9uSsvoV0XP`Z9RgiUzk!SN1V0P z+q#}l7g*KPERRE~51@0(8)PJ;jmlx|?<+kPvuL~R9MAM~%q%PYdTo=UG-n1TArkgj z#$%5;mX)%6#$#8q>X4?Oe*s#YtZQehkayOIA!!*kH#qDvstxk`y0~agtc5_sUhe#4 z;grkzlv-d*PdB|IT7Jw5T1#A|oPxGp??=Ju&IiV!bIh-yxxUXjOQQTm-Y?om1$%%C z@eU~M3O+LZ{KWV+^~-ECS*^tpb-d#Xb>r{B#H`kuCq5P#0yzLH4k{9S4CUUI8o~Hz zQR0toHQvwrGe{-W-yF6v@Z-3y^Gf2QNam)x_~0p6q;(|*-1h3YKQezucg-+-R!Gu+ z`P>00qZ_&Sg~tVE`cWNdvz3)BNy)u%XGXq=U!A-JB@Oqc+d#>nr>!+oNh`sNtp9_9 zT575&1Tm2}vAc_W=C#RX;;?+5+J?mcL#5kEGTfxv=bksxDG|#sbJU4jkDypu32&Ln z8QTemF+>}^FmJ>6`I)+c^eiPs*KEDQY^JFZPntHzZ4%@UEwMOo{V zg8-rwTFR{Sjc-&oGhRuQvc_E2A^$i(VXy z{gLxruQ0rkhq<}A0f>ni?Yke%NYFocoGz&(jE|3(An8_oD3TrD@Z2gQUnK7z(5v2;2NrJG6M3aa058e7Y@Nsd!7!|Jyij z=qN?!CF~OeW3LqgPxOzbGdRo=t&GDy6xzAB8Nv@Q%}1v$ypyN!te62ojns?5%^~yQ zY2961H;p_B(`?BBVjrnnU)eMdrE9`0D`=mkOb6SwS$(}qs@o(-P4WROdi=e`^(xpS zdL?cVA>nj0Jd6V6>BJ4^ltChhv{kava5rBba4UzSOT*gf^Zl6ki-~E3y0%~G!c{nC z?SR=x^hC%f)zt8V@j-89-%>V6T=Zb{Y@2f1i^TUWEq#rjM-uo{{aMZb{2SdU3WWj* zJ#V`#CxDV;c&I|q@Pk660|^Kb-wbw$CduaJ=TmVv-l@#7wr(<+aXkI;{NXALfd?1X zm!XptZmzd{*{Wsxu3fEPGW09h9i{Q*7fg`Xxn{R@io+n5Twuu89w`AtMm%)#n~d;yq!P^ZHWLF1sR~{j%`~J?nmQnyNbPbg;OZ%Ux`%!r?o?ZuYT=17vAN*j4(DJ35oXs!NCp z64&uB7b0)7ck-XYsxxttpdaW5M&WpdtgFaQ&F!Zm*QHb?N1z`~zg9ro z%r7(BKV*ebij+N#Ee`N4;L}-S);lNOZ9tiPQ$}-hXL( zXTa0gR(F_PN6;uzpS~>Lxb-e#?a;LzsTA2G-#oEAKrc(_T8?!(D3@OK_0W6kWmn+Q zKRn;$U6IIv90(H@0d;!>$qs%p@qK<&VduH@V5{xoyO{1=_B?+Gb%W`*`X9f~FXt*W zK}>aD5Vzjx%|SXB$U)lXESN^NWgs}LOT#O9I#JAtC#!_Ha6VD|&iR88dOA(;y>?Zr zu#kWL3f&)Cli7lr9Sx${;;K8F)ep@Yh|lYlm6wzrOw14D?zc}MLv^Wz8#fGuM^O;1 z0Fu)D#gsGC#KdD4+_I*c6F>&y+G+9t%kGA+nh-truRw*@078X~4rv#eEqHIgE)5tJ zHAes6<_S~0rr%;pO~^4L60MLh zD8)>jnTY3o)N|@8&9)dgl1}I?uIJQ=BokrpBz)(~n-K>QHhBtmOtZNqG`f!TU?C(!RfEPtWIFjIY z7o=*nxm$dr&T)6o*wa=X3forku|zykauCC`FI408n(egaN!=5TQkJ8) z_;#mbTWcJ_3`3c>;s*)I1`^N0E=J!-aU4FnFi9EcrY>;ufMndi(mRts{A_@*_Nb8T zB%-J`IVm&8gboW%UgNq5Ta}azl$>-d-V{;1$>;jr>zoU#xf%2<#G?$J*5kPG^iphy zP#k#|TJfkZZJqAB5w1<2Mhr%MBB+ib{}uZkx@9>%R7Sn%QsSV2tqgk3O^%Sp($;P z?~Z$p?^nJY&nCacC&zr%M@si|!f&WaQ|c<;DO@2R*I+}Yznya)oR}Un$2d^>=5En3 z6=bSsikoPij~F_djFg%WIZTTpp)M8JyFhaxXF+hPCfjpNcZB1dNoc=tpa;Aam6XgM zk7>*gVu^rjU3h7-j02B&hZ`IAe(LQsXFW38m{^pY)D?SaMio+2v4ogy(=o}XoY&(h z4^QfXKil~tek$v&LpI(|47lEGaStJ-L-%=ee&xHld|f1}xvuv|oa|^QKRvGb)%n2- zY{$l=YdqD{O`__QR{SRnWF*a>9PWbrk5&@smU7|IuDzJIU-R$#APE_H#YZ!w;GBBc zkDw1XCh_gGbPJ_zx3lXB;E-eeJb73PmvlWi(OXr)_cGB9kIV{a?6lHY@n%C0|SIrL>I0*hmdEF5FToP7|Pjrg$ZqkM)UH8g5kw~Ix@ zPR4u+YMd+Y%G`we6(|JSCz$?I_FipTXkdsxPON3w38Br!UFGAWOYK)Cnk+}~2ZUzU zyVZ1*@4UUAi}c5=3|nHnANP8qJX^!AA!LVWJ1gFY-=lf4?LNYL+ z<7AuEne)NAcYN>+5{lmDpb-z&TGQV5D~BZ*X!J9szt?Hd_0>Mdk=9%6fIIm|b zt$}idcK@*vHQ{W%6t;2FZD7u7Cu{!=oIpe7krEv`exO3(X4}F=BBBp?u9i%ot(@Y$ z|Gqd1#GYv=hTl@c1Z`;mp(NKU*7wi~1*gQOxoDOp&2{R?W%%@2qV90S9)Fzbd!=&T z1!YA?&My@$W)K3MILInWCOBEsVX^c{0g5>wb7W0c`W0EdzbWSUz;E+fhly+N{&i~_ zVxXGk-QG#W%^f?uC`KUEm@lObalH=+V+qmjc9>z}tif6bp-l-(Jo6s|-m*PY=_*!c zI83f>UyEXk$lS!^y}42|>ZG`NICFnZEDt==b?g^E06fm#1dKf_Eid?+N%KR9Y$zt$lWcsPJAc7pG! zmkrrg^%O|keW8Co%niamXp=qs_8)1~fuzFzzQwk07}Vt2V<}P~>a2ovsTdxBv0E`> zkVnXS=an`qoLj9MZR&;NLge!oJv$Q1f8xR{Fmi-JKfNElqILpUvr1{!v6(mjF;yTT zV{f=#-h3h_{JQ<%B`1e^&ph$kHiYbdKlpF9RNxb4eweholcDK{IWR~0iFBvcf7-+k zdXo}YxnSX36|1*r`_E_y3}Zs6^}nwrUsEDA^IARlCpP!@wg0yDFSr0C3UiIa(wALW zJnBy^d_P@#9`rwc{pTAYffNR$avQ@~Z}Q@gc3JBlz7ZO6taksqTlLP0cxFOXxauQ zDw;~gQD)&9Bl5i9zhBQ7D^kYziwrieN*d!(p?Si8=H~x?B!18(J52NY;7HIQSB01K zS;K#~aU~)RRY}jbZ-`gvS@lqfeIEbc&lqDpl2c=vt3=Hc*Al98`-r z^8CXUu->5MA1KKG>F4j{ts`j-drgN}BL6X4vT?C$dHH{S{of1pC0x9^bo2w8j6(9a zi95eeLi>RK9_ygbaOD=!i#$}_y7SU&!ghHCD48OS|J`Me8q%O`=1*4+x|w3z+b*~& zhi6d(%$B3R;MK?@+ zpg!d5lL>vF2e|@2!`;IM$pad-*(zN{a({lo^0jc0A>{g=PE6>{#Kg4V8?$`6h|NpJ zU9j}*rMJxSG09y6{}lW?s6~gwHRDgl{X*zK&?gHgu6W}a32(N zBBFm<6(=3nj>nn3Ht(p;Baj{jkoM=Q&+mKYJgj?6|L5)EQQ&O1WusI&I4E$dtN3VThkAY5rGj zABSHbJOp+VL#6BFVoA{-Gc93GF~X#F6@CUZT8)vXvDV)`eU&Wi^QTZW_8z-w8!7CI zuo>-LfD3t_U?-FpWGw&v8ECrC3FO*1l;_^X7*8Bra&yS=$mjyirvak866vs%_zfzd zjsd<8l$-w=75{iqzDNR>bqqEx2u$~>5N}U*Z5MJz!b$<-#VIL`{CM@EqoV;dG*SvG z&dy0Zc4^EazV{13+_zj#n4{t~aEJ?*<9F#sM9dHs)x;k9Zwwau(5aJ;gM-pK-9B;l zn_W7pLdO6F1%))caqW@ZU>L#cL7b#%8YO)8K1z|m8K9khgQ;wGBh^f5l`Otgst`ma z$6NioIt@O@b%q#x);UqQK)byhQW1K9adxYH>S!_@7V3g~C68Pt5U7#KYnO{#q!xSF zJlFA&`8fVo+4QsKnhHhy5UcaUZilM!-EJ4MD2zBa!5f?$^~Ei~_A3MS-1+s=AG7P6 z6~4cBH)Ol?{-#!+j2HfRQgR|7A0_zHsDdv~X1h(U7xh5!@f+Vc^V9a*1GvegY>b`U zTY59#kDm@lK+hvb#yu@9({+I?C}oE-J2XbG)V2P1`eAOe`{@#+IQP}ZLvIr21ix&W#L>JN0IK*x%Y@4~>jotGLK+8P?v zV!yBbgpAARz(I%?=}A_xP)U&^QWzo(f7x>)haGFuxqe#yW{3$2(ZAqkLq6Y2dn;$n zeWR7wnI0)39VS_k6@5_(2JvAcl5nt31Wr8y4{HHG}@gl#bQ@%Qi1_ZhXuT&=(k z=PNghxaTq(c1!&ZA!)=c7fzgac|saIhUDK%GDOVln68y#NwXjNHtdD6f9 z_*QjjvO5^%GPPng+STrA@f!MPjNd3Aj_=8Q@q~8{24J&z@{zJWri6CPeyzp8nf&Y6 z=nYbB6f(~6ICI^rR9f9`WjQ|F|J69kZY}0iRJXS0uDcN%ES5u=lqlCPksuu(vemGJ;lO@%C|DkO zHK6R*E@c1ypNSR!1~4#rD)#0^sM0(1G5nHwoc!Tqg{9{PN2S!XheU9q{nYQ+&xE+Ek0>%kSH~M%zWE zno|gPNxKo4np#5)CB>nkp&?FbIr4p4n1=aNE%2VcDVgGR8<7&uY8*V8Y|e9H{`wc` z@h;|_#Ykd-;;P5ldf444@LMXariARx>cMEqkv8Mm9F_ zu1QO$)3Lkj>42n>CLluJ?IH>yop5=X+D<~k*!z1rkR>nd&<3C}Cf$XMaBVv#OU736K!w$2IB6#KHHBo zji;kMXP3?P!y`fajgIE7$Nt-!^dGM>9+#W6Uw+)y>W4N0io%s0H=B@;15($%{7{*s z47klULOCVju};h_v&!}R^!#vI_42h4LE>`)0V_(B8ubPIz1@9U$<0({1y_kNT4n=) z-m3wM5~1gjAl%0AcsO%zES-v=RX}0No?qNW<2!BsLB8C>9x37hp2=MS%(<~#;pEQ6 zHD-LXe>om~U>%&z?mHkkJJ0Q=Sq%YbAl2;U?@^8!l(o71wRPp6W1SM_b?o9b2m1XX zfD-~$Q(%LBI$EeG$`L*?w`TV_g?d{PbTuD59taB!-x0CqlZRC8$VWYD7^!~-{CL^; zV$mB2tytXQc^VGwqfY+yib|)`qXr0{1r5|vuWCSs^$1^bSQUTalt^PYqAQY1NQ2OY zYBVz_i00wqp3OGo&mtv$W-;tS$|}ucG$~wSM3Fv%wKlLGPWxdN0R-6ES6xlXB1` z`7r$o)2tA|o(OCU7ftpn8puOHS|ztUKbyJYD0558F+fJ=H}vWbkK<^FmITU_n3}?9 z)?(FuAqx9UPx6A6G&0UOkkBPwqipKie$R_POTgp6<^B+X5wK)DZ48Znykg*y#^zG(YBokUzKBZ{^lWFXf=rToJwv zh$eD`1^!tZryGwm`oVJhj$gjBSb6l;LSep`XH-EkiB6$n4#vD9Sxip=BCxZFv!A3> zHx_L`qV?XLry-w@20K)c3h@Z_UgT)oiRaG^X$FO3S9JM76nN=B!GmR_g}eA@+pI#B z2KM+4QTmpiJt%0OPu%&SezO(!(+QHpDcezxZI==Po9u>mDw~oo}4H4m~X53DWq5#imLN> zI0?_2mDrzlaI*sqhS+N)kY_&P#sAgJ2I_pJ?9Y={i{l10M7WI$Qsa@B{sKTQbw}O$ zdfN;>;7d0d2p@f$xx4x>57C&liGGp-Sfdi?dli859UvUzv9W%?coTa+xU637+?0ul z#61~Q(XxuDIKpvyKNdvr1PC4&X9{W)2Z^0wOkxqR>r@k0LFyB#@R?vD2v3*$UoT^A zlLt~3v;^FcBu+mv`Mvyty;jspmYI?m6E}F}yt|m!Ya}t3ns;l+jq&$WgK=J~zD*w+ z8#AYFvIq2$33+HykKS&=-R44=oG-a>vbw!*561EeHfW}(VxjDweM<1iXabIAg7$v4 zrmFxEwd2z@HM5ZFTEt7717XTA1O^s(`qYZ<^5uwNpz3Q+?I#Rvg>GPo&_qPv z+zPY#41rh{TP0jHBE^&3c!I|rAo-FnKiV6lb4*>!P=F^S?CSr6u?AvW6t+|edLjA+f&g|Xu#a$M$LIbB5c=B&6 zSE52o)beneMSTv;#3Er8D5VIGJ3TMcAciF?5!}4U)R66bOAR(%Y3q>as0Bo+7$bGv zi9~j-9NNq{`&d6jw-xh%A<2s~CAgaKrq3=ymuCvLXdp(1vVy|zu3?J6_q_Q}^6m6{ z?YcTFs~jpwxy1a<*}S%9nIc`2=j1l-?&->Rllydxi7s2iHd4B@yx)gnCpkshb(;|0 z@zƨ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 Status { + if let Ok(devices) = wifiscanner::scan() { + if devices.is_empty() { + Status::NoneFound + } else { + Status::Found(devices) + } + } else { + Status::NoneFound + } +} + +enum Status { + NoneFound, + Found(Vec), +} + +fn app() -> Element { + let mut status = + use_resource(|| async { tokio::task::spawn_blocking(perform_scan).await.unwrap() }); + let scanning = !status.finished(); + + rsx! { + link { rel: "stylesheet", href: "https://unpkg.com/tailwindcss@^2.0/dist/tailwind.min.css" }, + div { + div { class: "py-8 px-6", + div { class: "container px-4 mx-auto", + h2 { class: "text-2xl font-bold", "Scan for WiFi Networks" } + button { + class: "inline-block w-full md:w-auto px-6 py-3 font-medium text-white bg-indigo-500 hover:bg-indigo-600 rounded transition duration-200", + disabled: scanning, + onclick: move |_| { + status.restart(); + }, + if scanning { "Scanning" } else { "Scan" } + } + } + } + + section { class: "py-8", + div { class: "container px-4 mx-auto", + div { class: "p-4 mb-6 bg-white shadow rounded overflow-x-auto", + table { class: "table-auto w-full", + thead { + tr { class: "text-xs text-gray-500 text-left", + th { class: "pl-6 pb-3 font-medium", "Strength" } + th { class: "pb-3 font-medium", "Network" } + th { class: "pb-3 font-medium", "Channel" } + th { class: "pb-3 px-2 font-medium", "Security" } + } + } + + match &*status.read() { + None => rsx!(""), + Some(Status::NoneFound) => rsx!("No networks found. Try scanning again"), + Some(Status::Found(wifis)) => { + // Create vector of tuples of (signal_level, wifi) for sorting by signal_level + let mut sorted_wifis = wifis + .iter() + .map(|wif: &Wifi| (wif, wif.signal_level.parse::().unwrap())) + .collect::>(); + sorted_wifis.sort_by(|a, b| a.1.partial_cmp(&b.1).unwrap()); + + rsx! { + tbody { + for (Wifi { mac: _, ssid, channel, signal_level, security }, _) in sorted_wifis.into_iter().rev() { + tr { class: "text-xs bg-gray-50", + td { class: "py-5 px-6 font-medium", "{signal_level}" } + td { class: "flex py-3 font-medium", "{ssid}" } + td { span { class: "inline-block py-1 px-2 text-white bg-green-500 rounded-full", "{channel}" } } + td { span { class: "inline-block py-1 px-2 text-purple-500 bg-purple-50 rounded-full", "{security}" } } + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/packages/fullstack/examples/auth/.gitignore b/examples/fullstack-auth/.gitignore similarity index 100% rename from packages/fullstack/examples/auth/.gitignore rename to examples/fullstack-auth/.gitignore diff --git a/packages/fullstack/examples/auth/Cargo.toml b/examples/fullstack-auth/Cargo.toml similarity index 100% rename from packages/fullstack/examples/auth/Cargo.toml rename to examples/fullstack-auth/Cargo.toml diff --git a/packages/fullstack/examples/auth/src/auth.rs b/examples/fullstack-auth/src/auth.rs similarity index 100% rename from packages/fullstack/examples/auth/src/auth.rs rename to examples/fullstack-auth/src/auth.rs diff --git a/packages/fullstack/examples/auth/src/main.rs b/examples/fullstack-auth/src/main.rs similarity index 100% rename from packages/fullstack/examples/auth/src/main.rs rename to examples/fullstack-auth/src/main.rs diff --git a/packages/fullstack/examples/desktop/.gitignore b/examples/fullstack-desktop/.gitignore similarity index 100% rename from packages/fullstack/examples/desktop/.gitignore rename to examples/fullstack-desktop/.gitignore diff --git a/packages/fullstack/examples/desktop/Cargo.toml b/examples/fullstack-desktop/Cargo.toml similarity index 100% rename from packages/fullstack/examples/desktop/Cargo.toml rename to examples/fullstack-desktop/Cargo.toml diff --git a/packages/fullstack/examples/desktop/src/main.rs b/examples/fullstack-desktop/src/main.rs similarity index 100% rename from packages/fullstack/examples/desktop/src/main.rs rename to examples/fullstack-desktop/src/main.rs diff --git a/packages/fullstack/examples/hello-world/.gitignore b/examples/fullstack-hello-world/.gitignore similarity index 100% rename from packages/fullstack/examples/hello-world/.gitignore rename to examples/fullstack-hello-world/.gitignore diff --git a/packages/fullstack/examples/hello-world/Cargo.toml b/examples/fullstack-hello-world/Cargo.toml similarity index 100% rename from packages/fullstack/examples/hello-world/Cargo.toml rename to examples/fullstack-hello-world/Cargo.toml diff --git a/packages/fullstack/examples/hello-world/src/main.rs b/examples/fullstack-hello-world/src/main.rs similarity index 100% rename from packages/fullstack/examples/hello-world/src/main.rs rename to examples/fullstack-hello-world/src/main.rs diff --git a/packages/fullstack/examples/router/.gitignore b/examples/fullstack-router/.gitignore similarity index 100% rename from packages/fullstack/examples/router/.gitignore rename to examples/fullstack-router/.gitignore diff --git a/packages/fullstack/examples/router/Cargo.toml b/examples/fullstack-router/Cargo.toml similarity index 100% rename from packages/fullstack/examples/router/Cargo.toml rename to examples/fullstack-router/Cargo.toml diff --git a/packages/fullstack/examples/router/src/main.rs b/examples/fullstack-router/src/main.rs similarity index 100% rename from packages/fullstack/examples/router/src/main.rs rename to examples/fullstack-router/src/main.rs diff --git a/packages/fullstack/examples/streaming/.gitignore b/examples/fullstack-streaming/.gitignore similarity index 100% rename from packages/fullstack/examples/streaming/.gitignore rename to examples/fullstack-streaming/.gitignore diff --git a/packages/fullstack/examples/streaming/Cargo.toml b/examples/fullstack-streaming/Cargo.toml similarity index 100% rename from packages/fullstack/examples/streaming/Cargo.toml rename to examples/fullstack-streaming/Cargo.toml diff --git a/packages/fullstack/examples/streaming/src/main.rs b/examples/fullstack-streaming/src/main.rs similarity index 100% rename from packages/fullstack/examples/streaming/src/main.rs rename to examples/fullstack-streaming/src/main.rs diff --git a/examples/openid_connect_demo/.cargo/config.toml b/examples/openid_connect_demo/.cargo/config.toml deleted file mode 100644 index fcb494816..000000000 --- a/examples/openid_connect_demo/.cargo/config.toml +++ /dev/null @@ -1,5 +0,0 @@ -[env] -DIOXUS_FRONT_ISSUER_URL = "TODO" -DIOXUS_FRONT_CLIENT_ID = "TODO" -DIOXUS_FRONT_CLIENT_SECRET = "TODO" -DIOXUS_FRONT_URL = "http://localhost:8080" diff --git a/examples/openid_connect_demo/.gitignore b/examples/openid_connect_demo/.gitignore deleted file mode 100644 index 919c8ee55..000000000 --- a/examples/openid_connect_demo/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -/target -/dist -.env diff --git a/examples/openid_connect_demo/Cargo.lock b/examples/openid_connect_demo/Cargo.lock deleted file mode 100644 index b7d513c11..000000000 --- a/examples/openid_connect_demo/Cargo.lock +++ /dev/null @@ -1,6372 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[package]] -name = "anymap" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33954243bd79057c2de7338850b85983a44588021f8a5fee574a8888c6de4344" - -[[package]] -name = "anymap2" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d301b3b94cb4b2f23d7917810addbbaff90738e0ca2be692bd027e70d7e0330c" - -[[package]] -name = "ashpd" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd884d7c72877a94102c3715f3b1cd09ff4fac28221add3e57cfbe25c236d093" -dependencies = [ - "async-fs", - "async-net", - "enumflags2", - "futures-channel", - "futures-util", - "rand 0.8.5", - "serde", - "serde_repr", - "url", - "zbus", -] - -[[package]] -name = "askama_escape" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341" - -[[package]] -name = "async-broadcast" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" -dependencies = [ - "event-listener", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-channel" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-executor" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebcd09b382f40fcd159c2d695175b2ae620ffa5f3bd6f664131efff4e8b9e04a" -dependencies = [ - "async-lock", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-io" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "async-lock" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-net" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" -dependencies = [ - "async-io", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-process" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", - "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "async-recursion" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "async-signal" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.52.0", -] - -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - -[[package]] -name = "async-trait" -version = "0.1.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "atk" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4" -dependencies = [ - "atk-sys", - "glib", - "libc", -] - -[[package]] -name = "atk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "atomic-polyfill" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4" -dependencies = [ - "critical-section", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "axum" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" -dependencies = [ - "async-trait", - "axum-core", - "axum-macros", - "base64 0.21.7", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "http-body-util", - "hyper 1.3.1", - "hyper-util", - "itoa 1.0.11", - "matchit", - "memchr", - "mime", - "multer", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", - "sha1", - "sync_wrapper 1.0.1", - "tokio", - "tokio-tungstenite", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "axum-core" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper 0.1.2", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "axum-macros" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00c055ee2d014ae5981ce1016374e8213682aa14d9bf40e48ab48b5f3ef20eaa" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "backtrace" -version = "0.3.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base16ct" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -dependencies = [ - "serde", -] - -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array 0.14.7", -] - -[[package]] -name = "blocking" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - -[[package]] -name = "bstr" -version = "1.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" - -[[package]] -name = "cairo-rs" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" -dependencies = [ - "bitflags 2.5.0", - "cairo-sys-rs", - "glib", - "libc", - "once_cell", - "thiserror", -] - -[[package]] -name = "cairo-sys-rs" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "camino" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "cc" -version = "1.0.98" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[package]] -name = "cfb" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" -dependencies = [ - "byteorder", - "fnv", - "uuid", -] - -[[package]] -name = "cfg-expr" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" -dependencies = [ - "smallvec", - "target-lexicon", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets 0.52.5", -] - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "cobs" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" - -[[package]] -name = "cocoa" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" -dependencies = [ - "bitflags 1.3.2", - "block", - "cocoa-foundation", - "core-foundation", - "core-graphics", - "foreign-types", - "libc", - "objc", -] - -[[package]] -name = "cocoa-foundation" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" -dependencies = [ - "bitflags 1.3.2", - "block", - "core-foundation", - "core-graphics-types", - "libc", - "objc", -] - -[[package]] -name = "combine" -version = "4.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" -dependencies = [ - "bytes", - "memchr", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "const-oid" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" - -[[package]] -name = "const_format" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3a214c7af3d04997541b18d432afaff4c455e79e2029079647e72fc2bd27673" -dependencies = [ - "const_format_proc_macros", -] - -[[package]] -name = "const_format_proc_macros" -version = "0.2.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "core-graphics" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-graphics-types", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "libc", -] - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "critical-section" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216" - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-bigint" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" -dependencies = [ - "generic-array 0.14.7", - "rand_core 0.6.4", - "subtle", - "zeroize", -] - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array 0.14.7", - "typenum", -] - -[[package]] -name = "cssparser" -version = "0.27.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" -dependencies = [ - "cssparser-macros", - "dtoa-short", - "itoa 0.4.8", - "matches", - "phf 0.8.0", - "proc-macro2", - "quote", - "smallvec", - "syn 1.0.109", -] - -[[package]] -name = "cssparser-macros" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" -dependencies = [ - "quote", - "syn 2.0.66", -] - -[[package]] -name = "curve25519-dalek" -version = "4.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a677b8922c94e01bdbb12126b0bc852f00447528dee1782229af9c720c3f348" -dependencies = [ - "cfg-if", - "cpufeatures", - "curve25519-dalek-derive", - "digest", - "fiat-crypto", - "platforms", - "rustc_version", - "subtle", - "zeroize", -] - -[[package]] -name = "curve25519-dalek-derive" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "darling" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.66", -] - -[[package]] -name = "darling_macro" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "data-encoding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" - -[[package]] -name = "der" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" -dependencies = [ - "const-oid", - "pem-rfc7468", - "zeroize", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "derive_more" -version = "0.99.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" -dependencies = [ - "convert_case 0.4.0", - "proc-macro2", - "quote", - "rustc_version", - "syn 1.0.109", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "const-oid", - "crypto-common", - "subtle", -] - -[[package]] -name = "dioxus" -version = "0.5.2" -dependencies = [ - "dioxus-config-macro", - "dioxus-core", - "dioxus-core-macro", - "dioxus-desktop", - "dioxus-fullstack", - "dioxus-hooks", - "dioxus-hot-reload", - "dioxus-html", - "dioxus-liveview", - "dioxus-router", - "dioxus-signals", - "dioxus-ssr", - "dioxus-static-site-generation", - "dioxus-web", - "serde", -] - -[[package]] -name = "dioxus-cli-config" -version = "0.5.2" -dependencies = [ - "once_cell", - "serde", - "serde_json", - "tracing", -] - -[[package]] -name = "dioxus-config-macro" -version = "0.5.2" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "dioxus-core" -version = "0.5.2" -dependencies = [ - "futures-channel", - "futures-util", - "generational-box", - "longest-increasing-subsequence", - "rustc-hash", - "serde", - "slab", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "dioxus-core-macro" -version = "0.5.2" -dependencies = [ - "convert_case 0.6.0", - "dioxus-rsx", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "dioxus-debug-cell" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ea539174bb236e0e7dc9c12b19b88eae3cb574dedbd0252a2d43ea7e6de13e2" - -[[package]] -name = "dioxus-desktop" -version = "0.5.2" -dependencies = [ - "async-trait", - "cocoa", - "core-foundation", - "dioxus-cli-config", - "dioxus-core", - "dioxus-hooks", - "dioxus-hot-reload", - "dioxus-html", - "dioxus-interpreter-js", - "dunce", - "futures-channel", - "futures-util", - "generational-box", - "global-hotkey", - "infer", - "muda", - "objc", - "objc_id", - "rfd", - "rustc-hash", - "serde", - "serde_json", - "signal-hook", - "slab", - "tao", - "thiserror", - "tokio", - "tracing", - "urlencoding", - "webbrowser", - "wry", -] - -[[package]] -name = "dioxus-fullstack" -version = "0.5.2" -dependencies = [ - "anymap", - "async-trait", - "axum", - "base64 0.21.7", - "bytes", - "ciborium", - "dioxus-cli-config", - "dioxus-desktop", - "dioxus-hot-reload", - "dioxus-lib", - "dioxus-ssr", - "dioxus-web", - "dioxus_server_macro", - "futures-util", - "http 1.1.0", - "hyper 1.3.1", - "once_cell", - "pin-project", - "serde", - "serde_json", - "server_fn", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tower", - "tower-http", - "tower-layer", - "tracing", - "tracing-futures", - "web-sys", -] - -[[package]] -name = "dioxus-hooks" -version = "0.5.2" -dependencies = [ - "dioxus-core", - "dioxus-debug-cell", - "dioxus-signals", - "futures-channel", - "futures-util", - "generational-box", - "slab", - "thiserror", - "tracing", -] - -[[package]] -name = "dioxus-hot-reload" -version = "0.5.2" -dependencies = [ - "axum", - "chrono", - "dioxus-core", - "dioxus-html", - "dioxus-rsx", - "execute", - "futures-util", - "ignore", - "interprocess-docfix", - "notify", - "once_cell", - "serde", - "serde_json", - "tokio", - "tokio-stream", - "tracing", -] - -[[package]] -name = "dioxus-html" -version = "0.5.2" -dependencies = [ - "async-trait", - "dioxus-core", - "dioxus-html-internal-macro", - "dioxus-rsx", - "enumset", - "euclid", - "futures-channel", - "generational-box", - "keyboard-types", - "serde", - "serde-value", - "serde_json", - "serde_repr", - "tokio", - "tracing", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "dioxus-html-internal-macro" -version = "0.5.2" -dependencies = [ - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "dioxus-interpreter-js" -version = "0.5.2" -dependencies = [ - "dioxus-core", - "dioxus-html", - "js-sys", - "md5", - "sledgehammer_bindgen", - "sledgehammer_utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "dioxus-lib" -version = "0.5.2" -dependencies = [ - "dioxus-config-macro", - "dioxus-core", - "dioxus-core-macro", - "dioxus-hooks", - "dioxus-html", - "dioxus-rsx", - "dioxus-signals", -] - -[[package]] -name = "dioxus-liveview" -version = "0.5.2" -dependencies = [ - "axum", - "dioxus-cli-config", - "dioxus-core", - "dioxus-hot-reload", - "dioxus-html", - "dioxus-interpreter-js", - "futures-channel", - "futures-util", - "generational-box", - "rustc-hash", - "serde", - "serde_json", - "slab", - "thiserror", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", -] - -[[package]] -name = "dioxus-logger" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe09dc9773dc1f1bb0d38529203d6555d08f67aadca5cf955ac3d1a9e69880" -dependencies = [ - "console_error_panic_hook", - "tracing", - "tracing-subscriber", - "tracing-wasm", -] - -[[package]] -name = "dioxus-router" -version = "0.5.2" -dependencies = [ - "dioxus-cli-config", - "dioxus-fullstack", - "dioxus-lib", - "dioxus-router-macro", - "dioxus-ssr", - "gloo", - "gloo-utils 0.1.7", - "http 1.1.0", - "js-sys", - "tokio", - "tracing", - "url", - "urlencoding", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "dioxus-router-macro" -version = "0.5.2" -dependencies = [ - "proc-macro2", - "quote", - "slab", - "syn 2.0.66", -] - -[[package]] -name = "dioxus-rsx" -version = "0.5.2" -dependencies = [ - "dioxus-core", - "internment", - "krates", - "proc-macro2", - "quote", - "syn 2.0.66", - "tracing", -] - -[[package]] -name = "dioxus-sdk" -version = "0.5.0" -source = "git+https://github.com/Dioxuslabs/sdk#d49812fbc9d4506bd3b1ec994f45ef4447f34c79" -dependencies = [ - "cfg-if", - "dioxus", - "dioxus-signals", - "directories", - "futures-util", - "js-sys", - "once_cell", - "postcard", - "rustc-hash", - "serde", - "tokio", - "tracing", - "uuid", - "wasm-bindgen", - "web-sys", - "yazi", -] - -[[package]] -name = "dioxus-signals" -version = "0.5.2" -dependencies = [ - "dioxus-core", - "futures-channel", - "futures-util", - "generational-box", - "once_cell", - "parking_lot", - "rustc-hash", - "serde", - "tracing", -] - -[[package]] -name = "dioxus-ssr" -version = "0.5.2" -dependencies = [ - "askama_escape", - "async-trait", - "chrono", - "dioxus-cli-config", - "dioxus-core", - "dioxus-html", - "generational-box", - "http 1.1.0", - "lru", - "rustc-hash", - "serde_json", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "dioxus-static-site-generation" -version = "0.5.2" -dependencies = [ - "axum", - "dioxus-cli-config", - "dioxus-fullstack", - "dioxus-hot-reload", - "dioxus-lib", - "dioxus-router", - "dioxus-ssr", - "dioxus-web", - "http 1.1.0", - "tokio", - "tower", - "tower-http", - "tracing", -] - -[[package]] -name = "dioxus-web" -version = "0.5.2" -dependencies = [ - "async-trait", - "console_error_panic_hook", - "dioxus-core", - "dioxus-html", - "dioxus-interpreter-js", - "futures-channel", - "futures-util", - "generational-box", - "js-sys", - "rustc-hash", - "serde", - "serde-wasm-bindgen", - "serde_json", - "tracing", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "dioxus_server_macro" -version = "0.5.2" -dependencies = [ - "convert_case 0.6.0", - "proc-macro2", - "quote", - "server_fn_macro", - "syn 2.0.66", -] - -[[package]] -name = "directories" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "dispatch" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" - -[[package]] -name = "dlopen2" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "dtoa" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" - -[[package]] -name = "dtoa-short" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" -dependencies = [ - "dtoa", -] - -[[package]] -name = "dunce" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" - -[[package]] -name = "dyn-clone" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" - -[[package]] -name = "ecdsa" -version = "0.16.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" -dependencies = [ - "der", - "digest", - "elliptic-curve", - "rfc6979", - "signature", - "spki", -] - -[[package]] -name = "ed25519" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" -dependencies = [ - "pkcs8", - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" -dependencies = [ - "curve25519-dalek", - "ed25519", - "serde", - "sha2", - "subtle", - "zeroize", -] - -[[package]] -name = "either" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" - -[[package]] -name = "elliptic-curve" -version = "0.13.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" -dependencies = [ - "base16ct", - "crypto-bigint", - "digest", - "ff", - "generic-array 0.14.7", - "group", - "hkdf", - "pem-rfc7468", - "pkcs8", - "rand_core 0.6.4", - "sec1", - "subtle", - "zeroize", -] - -[[package]] -name = "embedded-io" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "endi" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf" - -[[package]] -name = "enumflags2" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "enumset" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" -dependencies = [ - "enumset_derive", -] - -[[package]] -name = "enumset_derive" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "euclid" -version = "0.22.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0f0eb73b934648cd7a4a61f1b15391cd95dab0b4da6e2e66c2a072c144b4a20" -dependencies = [ - "num-traits", - "serde", -] - -[[package]] -name = "event-listener" -version = "5.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" -dependencies = [ - "event-listener", - "pin-project-lite", -] - -[[package]] -name = "execute" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a82608ee96ce76aeab659e9b8d3c2b787bffd223199af88c674923d861ada10" -dependencies = [ - "execute-command-macro", - "execute-command-tokens", - "generic-array 1.0.0", -] - -[[package]] -name = "execute-command-macro" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90dec53d547564e911dc4ff3ecb726a64cf41a6fa01a2370ebc0d95175dd08bd" -dependencies = [ - "execute-command-macro-impl", -] - -[[package]] -name = "execute-command-macro-impl" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce8cd46a041ad005ab9c71263f9a0ff5b529eac0fe4cc9b4a20f4f0765d8cf4b" -dependencies = [ - "execute-command-tokens", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "execute-command-tokens" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69dc321eb6be977f44674620ca3aa21703cb20ffbe560e1ae97da08401ffbcad" - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - -[[package]] -name = "fdeflate" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "ff" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" -dependencies = [ - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "fiat-crypto" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" - -[[package]] -name = "field-offset" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" -dependencies = [ - "memoffset", - "rustc_version", -] - -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" -dependencies = [ - "foreign-types-macros", - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-macros" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "fsevent-sys" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2" -dependencies = [ - "libc", -] - -[[package]] -name = "futf" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" -dependencies = [ - "mac", - "new_debug_unreachable", -] - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-lite" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "fxhash" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" -dependencies = [ - "byteorder", -] - -[[package]] -name = "gdk" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646" -dependencies = [ - "cairo-rs", - "gdk-pixbuf", - "gdk-sys", - "gio", - "glib", - "libc", - "pango", -] - -[[package]] -name = "gdk-pixbuf" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" -dependencies = [ - "gdk-pixbuf-sys", - "gio", - "glib", - "libc", - "once_cell", -] - -[[package]] -name = "gdk-pixbuf-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "gdk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" -dependencies = [ - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkwayland-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a90fbf5c033c65d93792192a49a8efb5bb1e640c419682a58bb96f5ae77f3d4a" -dependencies = [ - "gdk-sys", - "glib-sys", - "gobject-sys", - "libc", - "pkg-config", - "system-deps", -] - -[[package]] -name = "gdkx11" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2ea8a4909d530f79921290389cbd7c34cb9d623bfe970eaae65ca5f9cd9cce" -dependencies = [ - "gdk", - "gdkx11-sys", - "gio", - "glib", - "libc", - "x11", -] - -[[package]] -name = "gdkx11-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fee8f00f4ee46cad2939b8990f5c70c94ff882c3028f3cc5abf950fa4ab53043" -dependencies = [ - "gdk-sys", - "glib-sys", - "libc", - "system-deps", - "x11", -] - -[[package]] -name = "generational-box" -version = "0.5.2" -dependencies = [ - "parking_lot", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", - "zeroize", -] - -[[package]] -name = "generic-array" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe739944a5406424e080edccb6add95685130b9f160d5407c639c7df0c5836b0" -dependencies = [ - "typenum", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "gio" -version = "0.18.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-util", - "gio-sys", - "glib", - "libc", - "once_cell", - "pin-project-lite", - "smallvec", - "thiserror", -] - -[[package]] -name = "gio-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", - "winapi", -] - -[[package]] -name = "glib" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" -dependencies = [ - "bitflags 2.5.0", - "futures-channel", - "futures-core", - "futures-executor", - "futures-task", - "futures-util", - "gio-sys", - "glib-macros", - "glib-sys", - "gobject-sys", - "libc", - "memchr", - "once_cell", - "smallvec", - "thiserror", -] - -[[package]] -name = "glib-macros" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" -dependencies = [ - "heck 0.4.1", - "proc-macro-crate 2.0.2", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "glib-sys" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" -dependencies = [ - "libc", - "system-deps", -] - -[[package]] -name = "global-hotkey" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89cb13e8c52c87e28a46eae3e5e65b8f0cd465c4c9e67b13d56c70412e792bc3" -dependencies = [ - "bitflags 2.5.0", - "cocoa", - "crossbeam-channel", - "keyboard-types", - "objc", - "once_cell", - "thiserror", - "windows-sys 0.52.0", - "x11-dl", -] - -[[package]] -name = "globset" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "gloo" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28999cda5ef6916ffd33fb4a7b87e1de633c47c0dc6d97905fee1cdaa142b94d" -dependencies = [ - "gloo-console", - "gloo-dialogs", - "gloo-events", - "gloo-file", - "gloo-history", - "gloo-net 0.3.1", - "gloo-render", - "gloo-storage", - "gloo-timers", - "gloo-utils 0.1.7", - "gloo-worker", -] - -[[package]] -name = "gloo-console" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82b7ce3c05debe147233596904981848862b068862e9ec3e34be446077190d3f" -dependencies = [ - "gloo-utils 0.1.7", - "js-sys", - "serde", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-dialogs" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67062364ac72d27f08445a46cab428188e2e224ec9e37efdba48ae8c289002e6" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-events" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b107f8abed8105e4182de63845afcc7b69c098b7852a813ea7462a320992fc" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-file" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d5564e570a38b43d78bdc063374a0c3098c4f0d64005b12f9bbe87e869b6d7" -dependencies = [ - "gloo-events", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-history" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85725d90bf0ed47063b3930ef28e863658a7905989e9929a8708aab74a1d5e7f" -dependencies = [ - "gloo-events", - "gloo-utils 0.1.7", - "serde", - "serde-wasm-bindgen", - "serde_urlencoded", - "thiserror", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-net" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66b4e3c7d9ed8d315fd6b97c8b1f74a7c6ecbbc2320e65ae7ed38b7068cc620" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils 0.1.7", - "http 0.2.12", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "gloo-net" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43aaa242d1239a8822c15c645f02166398da4f8b5c4bae795c1f5b44e9eee173" -dependencies = [ - "futures-channel", - "futures-core", - "futures-sink", - "gloo-utils 0.2.0", - "http 0.2.12", - "js-sys", - "pin-project", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "gloo-render" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd9306aef67cfd4449823aadcd14e3958e0800aa2183955a309112a84ec7764" -dependencies = [ - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-storage" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6ab60bf5dbfd6f0ed1f7843da31b41010515c745735c970e821945ca91e480" -dependencies = [ - "gloo-utils 0.1.7", - "js-sys", - "serde", - "serde_json", - "thiserror", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-timers" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "gloo-utils" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-utils" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" -dependencies = [ - "js-sys", - "serde", - "serde_json", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "gloo-worker" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13471584da78061a28306d1359dd0178d8d6fc1c7c80e5e35d27260346e0516a" -dependencies = [ - "anymap2", - "bincode", - "gloo-console", - "gloo-utils 0.1.7", - "js-sys", - "serde", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "gobject-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" -dependencies = [ - "glib-sys", - "libc", - "system-deps", -] - -[[package]] -name = "group" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" -dependencies = [ - "ff", - "rand_core 0.6.4", - "subtle", -] - -[[package]] -name = "gtk" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c" -dependencies = [ - "atk", - "cairo-rs", - "field-offset", - "futures-channel", - "gdk", - "gdk-pixbuf", - "gio", - "glib", - "gtk-sys", - "gtk3-macros", - "libc", - "pango", - "pkg-config", -] - -[[package]] -name = "gtk-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" -dependencies = [ - "atk-sys", - "cairo-sys-rs", - "gdk-pixbuf-sys", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "pango-sys", - "system-deps", -] - -[[package]] -name = "gtk3-macros" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http 0.2.12", - "indexmap 2.2.6", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "hash32" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "heapless" -version = "0.7.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f" -dependencies = [ - "atomic-polyfill", - "hash32", - "rustc_version", - "serde", - "spin 0.9.8", - "stable_deref_trait", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hkdf" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" -dependencies = [ - "hmac", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest", -] - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "html5ever" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" -dependencies = [ - "log", - "mac", - "markup5ever", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.11", -] - -[[package]] -name = "http" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.11", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http 0.2.12", - "pin-project-lite", -] - -[[package]] -name = "http-body" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" -dependencies = [ - "bytes", - "http 1.1.0", -] - -[[package]] -name = "http-body-util" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" -dependencies = [ - "bytes", - "futures-core", - "http 1.1.0", - "http-body 1.0.0", - "pin-project-lite", -] - -[[package]] -name = "http-range-header" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "hyper" -version = "0.14.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "httparse", - "httpdate", - "itoa 1.0.11", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" -dependencies = [ - "bytes", - "futures-channel", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "httparse", - "httpdate", - "itoa 1.0.11", - "pin-project-lite", - "smallvec", - "tokio", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http 0.2.12", - "hyper 0.14.29", - "rustls", - "tokio", - "tokio-rustls", -] - -[[package]] -name = "hyper-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" -dependencies = [ - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core 0.52.0", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata", - "same-file", - "walkdir", - "winapi-util", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", - "serde", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown 0.14.5", - "serde", -] - -[[package]] -name = "infer" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6c16b11a665b26aeeb9b1d7f954cdeb034be38dd00adab4f2ae921a8fee804" -dependencies = [ - "cfb", -] - -[[package]] -name = "inotify" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" -dependencies = [ - "bitflags 1.3.2", - "inotify-sys", - "libc", -] - -[[package]] -name = "inotify-sys" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" -dependencies = [ - "libc", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "internment" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e8e537b529b8674e97e9fb82c10ff168a290ac3867a0295f112061ffbca1ef" -dependencies = [ - "hashbrown 0.14.5", - "parking_lot", -] - -[[package]] -name = "interprocess-docfix" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b84ee245c606aeb0841649a9288e3eae8c61b853a8cd5c0e14450e96d53d28f" -dependencies = [ - "blocking", - "cfg-if", - "futures-core", - "futures-io", - "intmap", - "libc", - "once_cell", - "rustc_version", - "spinning", - "thiserror", - "to_method", - "winapi", -] - -[[package]] -name = "intmap" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae52f28f45ac2bc96edb7714de995cffc174a395fb0abf5bff453587c980d7b9" - -[[package]] -name = "inventory" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767" - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "javascriptcore-rs" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" -dependencies = [ - "bitflags 1.3.2", - "glib", - "javascriptcore-rs-sys", -] - -[[package]] -name = "javascriptcore-rs-sys" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "jni" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" -dependencies = [ - "cesu8", - "cfg-if", - "combine", - "jni-sys", - "log", - "thiserror", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "jni-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "keyboard-types" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" -dependencies = [ - "bitflags 2.5.0", - "serde", - "unicode-segmentation", -] - -[[package]] -name = "kqueue" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c" -dependencies = [ - "kqueue-sys", - "libc", -] - -[[package]] -name = "kqueue-sys" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b" -dependencies = [ - "bitflags 1.3.2", - "libc", -] - -[[package]] -name = "krates" -version = "0.16.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcb3baf2360eb25ad31f0ada3add63927ada6db457791979b82ac199f835cb9" -dependencies = [ - "cargo-platform", - "cargo_metadata", - "cfg-expr", - "petgraph", - "semver", -] - -[[package]] -name = "kuchikiki" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" -dependencies = [ - "cssparser", - "html5ever", - "indexmap 1.9.3", - "matches", - "selectors", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -dependencies = [ - "spin 0.5.2", -] - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "libm" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.5.0", - "libc", -] - -[[package]] -name = "libxdo" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00333b8756a3d28e78def82067a377de7fa61b24909000aeaa2b446a948d14db" -dependencies = [ - "libxdo-sys", -] - -[[package]] -name = "libxdo-sys" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23b9e7e2b7831bbd8aac0bbeeeb7b68cbebc162b227e7052e8e55829a09212" -dependencies = [ - "libc", - "x11", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "longest-increasing-subsequence" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3bd0dd2cd90571056fdb71f6275fada10131182f84899f4b2a916e565d81d86" - -[[package]] -name = "lru" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "mac" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - -[[package]] -name = "markup5ever" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" -dependencies = [ - "log", - "phf 0.10.1", - "phf_codegen 0.10.0", - "string_cache", - "string_cache_codegen", - "tendril", -] - -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - -[[package]] -name = "md5" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" - -[[package]] -name = "memchr" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[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 = "miniz_oxide" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" -dependencies = [ - "adler", - "simd-adler32", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - -[[package]] -name = "muda" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c47e7625990fc1af2226ea4f34fb2412b03c12639fcb91868581eb3a6893453" -dependencies = [ - "cocoa", - "crossbeam-channel", - "gtk", - "keyboard-types", - "libxdo", - "objc", - "once_cell", - "png", - "thiserror", - "windows-sys 0.52.0", -] - -[[package]] -name = "multer" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" -dependencies = [ - "bytes", - "encoding_rs", - "futures-util", - "http 1.1.0", - "httparse", - "memchr", - "mime", - "spin 0.9.8", - "version_check", -] - -[[package]] -name = "ndk" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" -dependencies = [ - "bitflags 1.3.2", - "jni-sys", - "ndk-sys", - "num_enum", - "raw-window-handle 0.5.2", - "thiserror", -] - -[[package]] -name = "ndk-context" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" - -[[package]] -name = "ndk-sys" -version = "0.4.1+23.1.7779620" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "new_debug_unreachable" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" - -[[package]] -name = "nix" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" -dependencies = [ - "bitflags 2.5.0", - "cfg-if", - "libc", - "memoffset", -] - -[[package]] -name = "nodrop" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" - -[[package]] -name = "notify" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486" -dependencies = [ - "bitflags 1.3.2", - "crossbeam-channel", - "filetime", - "fsevent-sys", - "inotify", - "kqueue", - "libc", - "mio", - "walkdir", - "windows-sys 0.45.0", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-bigint-dig" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", - "libm", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "oauth2" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c38841cdd844847e3e7c8d29cef9dcfed8877f8f56f9071f77843ecf3baf937f" -dependencies = [ - "base64 0.13.1", - "chrono", - "getrandom 0.2.15", - "http 0.2.12", - "rand 0.8.5", - "reqwest", - "serde", - "serde_json", - "serde_path_to_error", - "sha2", - "thiserror", - "url", -] - -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", - "objc_exception", -] - -[[package]] -name = "objc-foundation" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" -dependencies = [ - "block", - "objc", - "objc_id", -] - -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - -[[package]] -name = "objc_id" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" -dependencies = [ - "objc", -] - -[[package]] -name = "object" -version = "0.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "openid_auth_demo" -version = "0.1.0" -dependencies = [ - "anyhow", - "console_error_panic_hook", - "dioxus", - "dioxus-logger", - "dioxus-sdk", - "form_urlencoded", - "log", - "openidconnect", - "serde", - "uuid", -] - -[[package]] -name = "openidconnect" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f47e80a9cfae4462dd29c41e987edd228971d6565553fbc14b8a11e666d91590" -dependencies = [ - "base64 0.13.1", - "chrono", - "dyn-clone", - "ed25519-dalek", - "hmac", - "http 0.2.12", - "itertools", - "log", - "oauth2", - "p256", - "p384", - "rand 0.8.5", - "rsa", - "serde", - "serde-value", - "serde_derive", - "serde_json", - "serde_path_to_error", - "serde_plain", - "serde_with", - "sha2", - "subtle", - "thiserror", - "url", -] - -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - -[[package]] -name = "ordered-stream" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "p256" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - -[[package]] -name = "p384" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209" -dependencies = [ - "ecdsa", - "elliptic-curve", - "primeorder", - "sha2", -] - -[[package]] -name = "pango" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" -dependencies = [ - "gio", - "glib", - "libc", - "once_cell", - "pango-sys", -] - -[[package]] -name = "pango-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" -dependencies = [ - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.5.1", - "smallvec", - "windows-targets 0.52.5", -] - -[[package]] -name = "pem-rfc7468" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" -dependencies = [ - "base64ct", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap 2.2.6", -] - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_macros", - "phf_shared 0.8.0", - "proc-macro-hack", -] - -[[package]] -name = "phf" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" -dependencies = [ - "phf_shared 0.10.0", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", -] - -[[package]] -name = "phf_codegen" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", -] - -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared 0.8.0", - "rand 0.7.3", -] - -[[package]] -name = "phf_generator" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" -dependencies = [ - "phf_shared 0.10.0", - "rand 0.8.5", -] - -[[package]] -name = "phf_macros" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" -dependencies = [ - "phf_generator 0.8.0", - "phf_shared 0.8.0", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher", -] - -[[package]] -name = "phf_shared" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "piper" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - -[[package]] -name = "pkcs1" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" -dependencies = [ - "der", - "pkcs8", - "spki", -] - -[[package]] -name = "pkcs8" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" -dependencies = [ - "der", - "spki", -] - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "platforms" -version = "3.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7" - -[[package]] -name = "png" -version = "0.17.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "polling" -version = "3.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix", - "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "pollster" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" - -[[package]] -name = "postcard" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55c51ee6c0db07e68448e336cf8ea4131a620edefebf9893e759b2d793420f8" -dependencies = [ - "cobs", - "embedded-io", - "heapless", - "serde", -] - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "precomputed-hash" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" - -[[package]] -name = "prettyplease" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" -dependencies = [ - "proc-macro2", - "syn 2.0.66", -] - -[[package]] -name = "primeorder" -version = "0.13.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" -dependencies = [ - "elliptic-curve", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" -dependencies = [ - "toml_datetime", - "toml_edit 0.20.2", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.20+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - -[[package]] -name = "proc-macro2" -version = "1.0.85" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", - "rand_pcg", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[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 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "raw-window-handle" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" - -[[package]] -name = "raw-window-handle" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" -dependencies = [ - "bitflags 2.5.0", -] - -[[package]] -name = "redox_users" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.29", - "hyper-rustls", - "ipnet", - "js-sys", - "log", - "mime", - "mime_guess", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", - "tokio", - "tokio-rustls", - "tokio-util", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots", - "winreg", -] - -[[package]] -name = "rfc6979" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" -dependencies = [ - "hmac", - "subtle", -] - -[[package]] -name = "rfd" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25a73a7337fc24366edfca76ec521f51877b114e42dab584008209cca6719251" -dependencies = [ - "ashpd", - "block", - "dispatch", - "js-sys", - "log", - "objc", - "objc-foundation", - "objc_id", - "pollster", - "raw-window-handle 0.6.2", - "urlencoding", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "spin 0.9.8", - "untrusted", - "windows-sys 0.52.0", -] - -[[package]] -name = "rsa" -version = "0.9.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" -dependencies = [ - "const-oid", - "digest", - "num-bigint-dig", - "num-integer", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "signature", - "spki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring", - "rustls-webpki", - "sct", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "sec1" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" -dependencies = [ - "base16ct", - "der", - "generic-array 0.14.7", - "pkcs8", - "subtle", - "zeroize", -] - -[[package]] -name = "selectors" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" -dependencies = [ - "bitflags 1.3.2", - "cssparser", - "derive_more", - "fxhash", - "log", - "matches", - "phf 0.8.0", - "phf_codegen 0.8.0", - "precomputed-hash", - "servo_arc", - "smallvec", - "thin-slice", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[package]] -name = "send_wrapper" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" -dependencies = [ - "futures-core", -] - -[[package]] -name = "serde" -version = "1.0.203" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - -[[package]] -name = "serde-wasm-bindgen" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" -dependencies = [ - "js-sys", - "serde", - "wasm-bindgen", -] - -[[package]] -name = "serde_derive" -version = "1.0.203" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "serde_json" -version = "1.0.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" -dependencies = [ - "itoa 1.0.11", - "ryu", - "serde", -] - -[[package]] -name = "serde_path_to_error" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" -dependencies = [ - "itoa 1.0.11", - "serde", -] - -[[package]] -name = "serde_plain" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_qs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0431a35568651e363364210c91983c1da5eb29404d9f0928b67d4ebcfa7d330c" -dependencies = [ - "percent-encoding", - "serde", - "thiserror", -] - -[[package]] -name = "serde_repr" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "serde_spanned" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" -dependencies = [ - "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 1.0.11", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad483d2ab0149d5a5ebcd9972a3852711e0153d863bf5a5d0391d28883c4a20" -dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", - "indexmap 2.2.6", - "serde", - "serde_derive", - "serde_json", - "serde_with_macros", - "time", -] - -[[package]] -name = "serde_with_macros" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65569b702f41443e8bc8bbb1c5779bd0450bbe723b56198980e80ec45780bce2" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "server_fn" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06e6e5467a2cd93ce1accfdfd8b859404f0b3b2041131ffd774fabf666b8219" -dependencies = [ - "axum", - "bytes", - "const_format", - "dashmap", - "futures", - "gloo-net 0.5.0", - "http 1.1.0", - "http-body-util", - "hyper 1.3.1", - "inventory", - "js-sys", - "once_cell", - "reqwest", - "send_wrapper", - "serde", - "serde_json", - "serde_qs", - "server_fn_macro_default", - "thiserror", - "tower", - "tower-layer", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c216bb1c1ac890151397643c663c875a1836adf0b269be4e389cb1b48c173c" -dependencies = [ - "const_format", - "convert_case 0.6.0", - "proc-macro2", - "quote", - "syn 2.0.66", - "xxhash-rust", -] - -[[package]] -name = "server_fn_macro_default" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00783df297ec85ea605779f2fef9cbec98981dffe2e01e1a9845c102ee1f1ae6" -dependencies = [ - "server_fn_macro", - "syn 2.0.66", -] - -[[package]] -name = "servo_arc" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" -dependencies = [ - "nodrop", - "stable_deref_trait", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" -dependencies = [ - "digest", - "rand_core 0.6.4", -] - -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "sledgehammer_bindgen" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcfaf791ff02f48f3518ce825d32cf419c13a43c1d8b1232f74ac89f339c46d2" -dependencies = [ - "sledgehammer_bindgen_macro", - "wasm-bindgen", -] - -[[package]] -name = "sledgehammer_bindgen_macro" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdd941cc539bd3dc694edaf9d0c4e1221d02baa67c6b45ec04fad1024d9e8139" -dependencies = [ - "quote", - "syn 2.0.66", -] - -[[package]] -name = "sledgehammer_utils" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f20798defa0e9d4eff9ca451c7f84774c7378a9c3b5a40112cfa2b3eadb97ae2" -dependencies = [ - "lru", - "once_cell", - "rustc-hash", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "soup3" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" -dependencies = [ - "futures-channel", - "gio", - "glib", - "libc", - "soup3-sys", -] - -[[package]] -name = "soup3-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" -dependencies = [ - "gio-sys", - "glib-sys", - "gobject-sys", - "libc", - "system-deps", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spinning" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d4f0e86297cad2658d92a707320d87bf4e6ae1050287f51d19b67ef3f153a7b" -dependencies = [ - "lock_api", -] - -[[package]] -name = "spki" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "string_cache" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" -dependencies = [ - "new_debug_unreachable", - "once_cell", - "parking_lot", - "phf_shared 0.10.0", - "precomputed-hash", - "serde", -] - -[[package]] -name = "string_cache_codegen" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" -dependencies = [ - "phf_generator 0.10.0", - "phf_shared 0.10.0", - "proc-macro2", - "quote", -] - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "subtle" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "sync_wrapper" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "system-deps" -version = "6.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" -dependencies = [ - "cfg-expr", - "heck 0.5.0", - "pkg-config", - "toml", - "version-compare", -] - -[[package]] -name = "tao" -version = "0.26.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ebbccb78deb5a36744c079eea2981b4a48ecbbe6b1b2ffbaa528bea3f5e5db" -dependencies = [ - "bitflags 1.3.2", - "cocoa", - "core-foundation", - "core-graphics", - "crossbeam-channel", - "dispatch", - "dlopen2", - "gdkwayland-sys", - "gdkx11-sys", - "gtk", - "instant", - "jni", - "lazy_static", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc", - "once_cell", - "parking_lot", - "raw-window-handle 0.5.2", - "raw-window-handle 0.6.2", - "scopeguard", - "tao-macros", - "unicode-segmentation", - "url", - "windows 0.54.0", - "windows-version", - "x11-dl", -] - -[[package]] -name = "tao-macros" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "target-lexicon" -version = "0.12.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "tendril" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" -dependencies = [ - "futf", - "mac", - "utf-8", -] - -[[package]] -name = "thin-slice" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa 1.0.11", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "to_method" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7c4ceeeca15c8384bbc3e011dbd8fccb7f068a440b752b7d9b32ceb0ca0e2e8" - -[[package]] -name = "tokio" -version = "1.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-stream" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" -dependencies = [ - "futures-util", - "log", - "tokio", - "tungstenite", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "futures-util", - "hashbrown 0.14.5", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.20.2", -] - -[[package]] -name = "toml_datetime" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow", -] - -[[package]] -name = "toml_edit" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" -dependencies = [ - "indexmap 2.2.6", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-http" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" -dependencies = [ - "bitflags 2.5.0", - "bytes", - "futures-util", - "http 1.1.0", - "http-body 1.0.0", - "http-body-util", - "http-range-header", - "httpdate", - "mime", - "mime_guess", - "percent-encoding", - "pin-project-lite", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower-layer" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "tracing-wasm" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07" -dependencies = [ - "tracing", - "tracing-subscriber", - "wasm-bindgen", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tungstenite" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.1.0", - "httparse", - "log", - "rand 0.8.5", - "sha1", - "thiserror", - "url", - "utf-8", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "uds_windows" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" -dependencies = [ - "memoffset", - "tempfile", - "winapi", -] - -[[package]] -name = "unicase" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "url" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", - "serde", -] - -[[package]] -name = "urlencoding" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "uuid" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" -dependencies = [ - "getrandom 0.2.15", - "wasm-bindgen", -] - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "version-compare" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.66", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webbrowser" -version = "0.8.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db67ae75a9405634f5882791678772c94ff5f16a66535aae186e26aa0841fc8b" -dependencies = [ - "core-foundation", - "home", - "jni", - "log", - "ndk-context", - "objc", - "raw-window-handle 0.5.2", - "url", - "web-sys", -] - -[[package]] -name = "webkit2gtk" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" -dependencies = [ - "bitflags 1.3.2", - "cairo-rs", - "gdk", - "gdk-sys", - "gio", - "gio-sys", - "glib", - "glib-sys", - "gobject-sys", - "gtk", - "gtk-sys", - "javascriptcore-rs", - "libc", - "once_cell", - "soup3", - "webkit2gtk-sys", -] - -[[package]] -name = "webkit2gtk-sys" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" -dependencies = [ - "bitflags 1.3.2", - "cairo-sys-rs", - "gdk-sys", - "gio-sys", - "glib-sys", - "gobject-sys", - "gtk-sys", - "javascriptcore-rs-sys", - "libc", - "pkg-config", - "soup3-sys", - "system-deps", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "webview2-com" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ae9c7e420783826cf769d2c06ac9ba462f450eca5893bb8c6c6529a4e5dd33" -dependencies = [ - "webview2-com-macros", - "webview2-com-sys", - "windows 0.52.0", - "windows-core 0.52.0", - "windows-implement 0.52.0", - "windows-interface 0.52.0", -] - -[[package]] -name = "webview2-com-macros" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "webview2-com-sys" -version = "0.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ad85fceee6c42fa3d61239eba5a11401bf38407a849ed5ea1b407df08cca72" -dependencies = [ - "thiserror", - "windows 0.52.0", - "windows-core 0.52.0", -] - -[[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.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys 0.52.0", -] - -[[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" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core 0.52.0", - "windows-implement 0.52.0", - "windows-interface 0.52.0", - "windows-targets 0.52.5", -] - -[[package]] -name = "windows" -version = "0.54.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" -dependencies = [ - "windows-core 0.54.0", - "windows-implement 0.53.0", - "windows-interface 0.53.0", - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-core" -version = "0.54.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" -dependencies = [ - "windows-result", - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-implement" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "windows-implement" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942ac266be9249c84ca862f0a164a39533dc2f6f33dc98ec89c8da99b82ea0bd" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "windows-interface" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "windows-interface" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da33557140a288fae4e1d5f8873aaf9eb6613a9cf82c3e070223ff177f598b60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "windows-result" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "749f0da9cc72d82e600d8d2e44cadd0b9eedb9038f71a1c58556ac1c5791813b" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", -] - -[[package]] -name = "windows-version" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" -dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wry" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b717040ba9771fd88eb428c6ea6b555f8e734ff8534f02c13e8f10d97f5935e" -dependencies = [ - "base64 0.21.7", - "block", - "cfg_aliases", - "cocoa", - "core-graphics", - "crossbeam-channel", - "dunce", - "gdkx11", - "gtk", - "html5ever", - "http 0.2.12", - "javascriptcore-rs", - "jni", - "kuchikiki", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys", - "objc", - "objc_id", - "once_cell", - "percent-encoding", - "raw-window-handle 0.6.2", - "serde", - "serde_json", - "sha2", - "soup3", - "tao-macros", - "thiserror", - "webkit2gtk", - "webkit2gtk-sys", - "webview2-com", - "windows 0.52.0", - "windows-implement 0.52.0", - "windows-version", - "x11-dl", -] - -[[package]] -name = "x11" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" -dependencies = [ - "libc", - "pkg-config", -] - -[[package]] -name = "x11-dl" -version = "2.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" -dependencies = [ - "libc", - "once_cell", - "pkg-config", -] - -[[package]] -name = "xdg-home" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "xxhash-rust" -version = "0.8.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927da81e25be1e1a2901d59b81b37dd2efd1fc9c9345a55007f09bf5a2d3ee03" - -[[package]] -name = "yazi" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" - -[[package]] -name = "zbus" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b8e3d6ae3342792a6cc2340e4394334c7402f3d793b390d2c5494a4032b3030" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "derivative", - "enumflags2", - "event-listener", - "futures-core", - "futures-sink", - "futures-util", - "hex", - "nix", - "ordered-stream", - "rand 0.8.5", - "serde", - "serde_repr", - "sha1", - "static_assertions", - "tracing", - "uds_windows", - "windows-sys 0.52.0", - "xdg-home", - "zbus_macros", - "zbus_names", - "zvariant", -] - -[[package]] -name = "zbus_macros" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7a3e850ff1e7217a3b7a07eba90d37fe9bb9e89a310f718afcde5885ca9b6d7" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "regex", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zbus_names" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b9b1fef7d021261cc16cba64c351d291b715febe0fa10dc3a443ac5a5022e6c" -dependencies = [ - "serde", - "static_assertions", - "zvariant", -] - -[[package]] -name = "zerocopy" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.66", -] - -[[package]] -name = "zeroize" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" - -[[package]] -name = "zvariant" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e09e8be97d44eeab994d752f341e67b3b0d80512a8b315a0671d47232ef1b65" -dependencies = [ - "endi", - "enumflags2", - "serde", - "static_assertions", - "url", - "zvariant_derive", -] - -[[package]] -name = "zvariant_derive" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a5857e2856435331636a9fbb415b09243df4521a267c5bedcd5289b4d5799e" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00bedb16a193cc12451873fee2a1bc6550225acece0e36f333e68326c73c8172" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] diff --git a/examples/openid_connect_demo/Cargo.toml b/examples/openid_connect_demo/Cargo.toml deleted file mode 100644 index 72ae74dc9..000000000 --- a/examples/openid_connect_demo/Cargo.toml +++ /dev/null @@ -1,36 +0,0 @@ -[package] -name = "openid_auth_demo" -version = "0.1.0" -edition = "2021" -publish = false - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -anyhow = "1.0.86" -console_error_panic_hook = "0.1" -dioxus = { path = "../../packages/dioxus", default_features = true, features = [ - "router", - "signals", -], version = "*" } -dioxus-logger = "0.5.1" -dioxus-sdk = { git = "https://github.com/Dioxuslabs/sdk", features = [ - "storage", -] } -form_urlencoded = "1.2.1" -log = "0.4" -openidconnect = "3.5.0" -serde = { version = "1.0.203", features = ["derive"] } -uuid = "1.8" - -[features] -default = ["web"] -server = ["dioxus/axum"] -web = ["dioxus/web"] -desktop = ["dioxus/desktop"] -fullstack = ["dioxus/fullstack"] - -# since we're using dioxus from local path, inform dioxus-sdk to use it as well -[patch.crates-io] -dioxus = { path = "../../packages/dioxus" } -dioxus-signals = { path = "../../packages/signals" } diff --git a/examples/openid_connect_demo/Dioxus.toml b/examples/openid_connect_demo/Dioxus.toml deleted file mode 100644 index 3a130e2ea..000000000 --- a/examples/openid_connect_demo/Dioxus.toml +++ /dev/null @@ -1,35 +0,0 @@ -[application] - -# dioxus project name -name = "OpenID Connect authentication demo" - -# default platform -# you can also use `dioxus serve/build --platform XXX` to use other platform -# value: web | desktop -default_platform = "web" - -# Web `build` & `serve` dist path -out_dir = "dist" - -# resource (static) file folder -asset_dir = "public" - -# hot reload by default -hot_reload = true - -[web.app] - -# HTML title tag content -title = "OpenID Connect authentication demo" - -[web.watcher] - -index_on_404 = true - -watch_path = ["src"] - -[application.plugins] - -available = true - -required = [] diff --git a/examples/openid_connect_demo/README.md b/examples/openid_connect_demo/README.md deleted file mode 100644 index 7b0d100fd..000000000 --- a/examples/openid_connect_demo/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# OpenID Connect example to show how to authenticate an user - -The environment variables in [`.cargo/config.toml`](./.cargo/config.toml) must be set in order for this example to work. - -Once they are set, you can run `dx serve --platform web` or `dx serve --platform desktop`. - -### Environment variables summary - -- `DIOXUS_FRONT_ISSUER_URL`: The openid-connect's issuer url -- `DIOXUS_FRONT_CLIENT_ID`: The openid-connect's client id -- `DIOXUS_FRONT_CLIENT_SECRET`: The openid-connect's client secret -- `DIOXUS_FRONT_URL`: The url the frontend is supposed to be running on, it could be for example `http://localhost:8080` diff --git a/examples/openid_connect_demo/src/constants.rs b/examples/openid_connect_demo/src/constants.rs deleted file mode 100644 index 0a0b4950a..000000000 --- a/examples/openid_connect_demo/src/constants.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub const DIOXUS_FRONT_AUTH_TOKEN: &str = "auth_token"; -pub const DIOXUS_FRONT_AUTH_REQUEST: &str = "auth_request"; diff --git a/examples/openid_connect_demo/src/main.rs b/examples/openid_connect_demo/src/main.rs deleted file mode 100644 index 848775859..000000000 --- a/examples/openid_connect_demo/src/main.rs +++ /dev/null @@ -1,36 +0,0 @@ -#![allow(non_snake_case)] -use dioxus::prelude::*; -use dioxus_logger::tracing::Level; -use router::Route; - -use crate::oidc::ClientState; -use crate::storage::{use_auth_request_provider, use_auth_token_provider}; - -pub(crate) mod constants; -pub(crate) mod model; -pub(crate) mod oidc; -pub(crate) mod props; -pub(crate) mod router; -pub(crate) mod storage; -pub(crate) mod views; - -pub static CLIENT: GlobalSignal = Signal::global(ClientState::default); - -pub static DIOXUS_FRONT_ISSUER_URL: &str = env!("DIOXUS_FRONT_ISSUER_URL"); -pub static DIOXUS_FRONT_CLIENT_ID: &str = env!("DIOXUS_FRONT_CLIENT_ID"); -pub static DIOXUS_FRONT_CLIENT_SECRET: &str = env!("DIOXUS_FRONT_CLIENT_SECRET"); -pub static DIOXUS_FRONT_URL: &str = env!("DIOXUS_FRONT_URL"); - -fn App() -> Element { - use_auth_request_provider(); - use_auth_token_provider(); - rsx! { Router:: {} } -} - -fn main() { - dioxus_logger::init(Level::DEBUG).expect("failed to init logger"); - dioxus_sdk::set_dir!(); - console_error_panic_hook::set_once(); - log::info!("starting app"); - launch(App); -} diff --git a/examples/openid_connect_demo/src/model/mod.rs b/examples/openid_connect_demo/src/model/mod.rs deleted file mode 100644 index 68a79f5c0..000000000 --- a/examples/openid_connect_demo/src/model/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub(crate) mod user; diff --git a/examples/openid_connect_demo/src/model/user.rs b/examples/openid_connect_demo/src/model/user.rs deleted file mode 100644 index b1005fdd2..000000000 --- a/examples/openid_connect_demo/src/model/user.rs +++ /dev/null @@ -1,7 +0,0 @@ -use uuid::Uuid; - -#[derive(PartialEq)] -pub struct User { - pub id: Uuid, - pub name: String, -} diff --git a/examples/openid_connect_demo/src/oidc.rs b/examples/openid_connect_demo/src/oidc.rs deleted file mode 100644 index 2c20c4e49..000000000 --- a/examples/openid_connect_demo/src/oidc.rs +++ /dev/null @@ -1,127 +0,0 @@ -use anyhow::Result; -use openidconnect::{ - core::{CoreClient, CoreIdToken, CoreResponseType, CoreTokenResponse}, - reqwest::async_http_client, - url::Url, - AuthenticationFlow, AuthorizationCode, ClaimsVerificationError, ClientId, ClientSecret, - CsrfToken, IssuerUrl, LogoutRequest, Nonce, ProviderMetadataWithLogout, RedirectUrl, - RefreshToken, -}; -use serde::{Deserialize, Serialize}; - -use crate::{props::client::ClientProps, DIOXUS_FRONT_CLIENT_ID}; - -#[derive(Clone, Debug, Default)] -pub struct ClientState { - pub oidc_client: Option, -} - -/// State that holds the nonce and authorization url and the nonce generated to log in an user -#[derive(Clone, PartialEq, Deserialize, Serialize, Default)] -pub struct AuthRequestState { - pub auth_request: Option, -} - -#[derive(Clone, PartialEq, Deserialize, Serialize)] -pub struct AuthRequest { - pub nonce: Nonce, - pub authorize_url: String, -} - -/// State the tokens returned once the user is authenticated -#[derive(Debug, Deserialize, Serialize, Default, Clone)] -pub struct AuthTokenState { - /// Token used to identify the user - pub id_token: Option, - /// Token used to refresh the tokens if they expire - pub refresh_token: Option, -} - -impl PartialEq for AuthTokenState { - fn eq(&self, other: &Self) -> bool { - self.id_token == other.id_token - && self.refresh_token.as_ref().map(|t| t.secret().clone()) - == other.refresh_token.as_ref().map(|t| t.secret().clone()) - } -} - -pub fn email( - client: CoreClient, - id_token: CoreIdToken, - nonce: Nonce, -) -> Result { - match id_token.claims(&client.id_token_verifier(), &nonce) { - Ok(claims) => Ok(claims.clone().email().unwrap().to_string()), - Err(error) => Err(error), - } -} - -pub fn authorize_url(client: CoreClient) -> AuthRequest { - let (authorize_url, _csrf_state, nonce) = client - .authorize_url( - AuthenticationFlow::::AuthorizationCode, - CsrfToken::new_random, - Nonce::new_random, - ) - .add_scope(openidconnect::Scope::new("email".to_string())) - .add_scope(openidconnect::Scope::new("profile".to_string())) - .url(); - AuthRequest { - authorize_url: authorize_url.to_string(), - nonce, - } -} - -pub async fn init_provider_metadata() -> Result { - let issuer_url = IssuerUrl::new(crate::DIOXUS_FRONT_ISSUER_URL.to_string())?; - Ok(ProviderMetadataWithLogout::discover_async(issuer_url, async_http_client).await?) -} - -pub async fn init_oidc_client() -> Result<(ClientId, CoreClient)> { - let client_id = ClientId::new(crate::DIOXUS_FRONT_CLIENT_ID.to_string()); - let provider_metadata = init_provider_metadata().await?; - let client_secret = Some(ClientSecret::new( - crate::DIOXUS_FRONT_CLIENT_SECRET.to_string(), - )); - let redirect_url = RedirectUrl::new(format!("{}/login", crate::DIOXUS_FRONT_URL))?; - - Ok(( - client_id.clone(), - CoreClient::from_provider_metadata(provider_metadata, client_id, client_secret) - .set_redirect_uri(redirect_url), - )) -} - -///TODO: Add pkce_pacifier -pub async fn token_response(oidc_client: CoreClient, code: String) -> Result { - // let (pkce_challenge, pkce_verifier) = PkceCodeChallenge::new_random_sha256(); - Ok(oidc_client - .exchange_code(AuthorizationCode::new(code.clone())) - // .set_pkce_verifier(pkce_verifier) - .request_async(async_http_client) - .await?) -} - -pub async fn exchange_refresh_token( - oidc_client: CoreClient, - refresh_token: RefreshToken, -) -> Result { - Ok(oidc_client - .exchange_refresh_token(&refresh_token) - .request_async(async_http_client) - .await?) -} - -pub async fn log_out_url(id_token_hint: CoreIdToken) -> Result { - let provider_metadata = init_provider_metadata().await?; - let end_session_url = provider_metadata - .additional_metadata() - .clone() - .end_session_endpoint - .unwrap(); - let logout_request: LogoutRequest = LogoutRequest::from(end_session_url); - Ok(logout_request - .set_client_id(ClientId::new(DIOXUS_FRONT_CLIENT_ID.to_string())) - .set_id_token_hint(&id_token_hint) - .http_get_url()) -} diff --git a/examples/openid_connect_demo/src/props/client.rs b/examples/openid_connect_demo/src/props/client.rs deleted file mode 100644 index 2e02111e1..000000000 --- a/examples/openid_connect_demo/src/props/client.rs +++ /dev/null @@ -1,20 +0,0 @@ -use dioxus::prelude::*; -use openidconnect::{core::CoreClient, ClientId}; - -#[derive(Props, Clone, Debug)] -pub struct ClientProps { - pub client: CoreClient, - pub client_id: ClientId, -} - -impl PartialEq for ClientProps { - fn eq(&self, other: &Self) -> bool { - self.client_id == other.client_id - } -} - -impl ClientProps { - pub fn new(client_id: ClientId, client: CoreClient) -> Self { - ClientProps { client_id, client } - } -} diff --git a/examples/openid_connect_demo/src/props/mod.rs b/examples/openid_connect_demo/src/props/mod.rs deleted file mode 100644 index 1d3313153..000000000 --- a/examples/openid_connect_demo/src/props/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub(crate) mod client; diff --git a/examples/openid_connect_demo/src/router.rs b/examples/openid_connect_demo/src/router.rs deleted file mode 100644 index 8f4b1b36a..000000000 --- a/examples/openid_connect_demo/src/router.rs +++ /dev/null @@ -1,16 +0,0 @@ -use crate::views::{header::AuthHeader, home::Home, login::Login, not_found::NotFound}; -use dioxus::prelude::*; - -#[derive(Routable, Clone)] -pub enum Route { - #[layout(AuthHeader)] - #[route("/")] - Home {}, - - // https://dioxuslabs.com/learn/0.4/router/reference/routes#query-segments - #[route("/login?:query_string")] - Login { query_string: String }, - #[end_layout] - #[route("/:..route")] - NotFound { route: Vec }, -} diff --git a/examples/openid_connect_demo/src/storage.rs b/examples/openid_connect_demo/src/storage.rs deleted file mode 100644 index c34819b96..000000000 --- a/examples/openid_connect_demo/src/storage.rs +++ /dev/null @@ -1,35 +0,0 @@ -use dioxus::prelude::*; -use dioxus_sdk::storage::*; - -use crate::{ - constants::{DIOXUS_FRONT_AUTH_REQUEST, DIOXUS_FRONT_AUTH_TOKEN}, - oidc::{AuthRequestState, AuthTokenState}, -}; - -pub fn use_auth_token_provider() { - let stored_token = - use_storage::(DIOXUS_FRONT_AUTH_TOKEN.to_owned(), AuthTokenState::default); - - use_context_provider(move || stored_token); -} - -pub fn use_auth_token() -> Signal { - use_context() -} - -pub fn use_auth_request_provider() { - let stored_req = use_storage::( - DIOXUS_FRONT_AUTH_REQUEST.to_owned(), - AuthRequestState::default, - ); - - use_context_provider(move || stored_req); -} - -pub fn use_auth_request() -> Signal { - use_context() -} - -pub fn auth_request() -> Signal { - consume_context() -} diff --git a/examples/openid_connect_demo/src/views/header.rs b/examples/openid_connect_demo/src/views/header.rs deleted file mode 100644 index 274a0d22f..000000000 --- a/examples/openid_connect_demo/src/views/header.rs +++ /dev/null @@ -1,221 +0,0 @@ -use crate::storage::{auth_request, use_auth_request, use_auth_token}; -use crate::{ - oidc::{ - authorize_url, email, exchange_refresh_token, init_oidc_client, log_out_url, - AuthRequestState, AuthTokenState, ClientState, - }, - props::client::ClientProps, - router::Route, - CLIENT, -}; -use anyhow::Result; -use dioxus::prelude::*; -use dioxus::router::prelude::{Link, Outlet}; -use openidconnect::{url::Url, OAuth2TokenResponse, TokenResponse}; - -#[component] -pub fn LogOut() -> Element { - let mut auth_token = use_auth_token(); - let log_out_url_state = use_signal(|| None::>>); - match auth_token().id_token { - Some(id_token) => match &*log_out_url_state.read() { - Some(log_out_url_result) => match log_out_url_result { - Some(uri) => match uri { - Ok(uri) => { - rsx! { - Link { - onclick: move |_| { - auth_token.take(); - }, - to: uri.to_string(), - "Log out" - } - } - } - Err(error) => { - rsx! { div { "Failed to load disconnection url: {error:?}" } } - } - }, - None => { - rsx! { div { "Loading... Please wait" } } - } - }, - None => { - let logout_url_task = move || { - spawn({ - let mut log_out_url_state = log_out_url_state.to_owned(); - async move { - let logout_url = log_out_url(id_token).await; - let logout_url_option = Some(logout_url); - log_out_url_state.set(Some(logout_url_option)); - } - }) - }; - logout_url_task(); - rsx! { div { "Loading log out url... Please wait" } } - } - }, - None => { - rsx! {{}} - } - } -} - -#[component] -pub fn RefreshToken(props: ClientProps) -> Element { - let mut auth_token = use_auth_token(); - match auth_token().refresh_token { - Some(refresh_token) => { - rsx! { div { - onmounted: { - move |_| { - let client = props.client.clone(); - let refresh_token = refresh_token.clone(); - async move { - let exchange_refresh_token = - exchange_refresh_token(client, refresh_token).await; - match exchange_refresh_token { - Ok(response_token) => { - auth_token.set(AuthTokenState { - id_token: response_token.id_token().cloned(), - refresh_token: response_token.refresh_token().cloned(), - }); - } - Err(_error) => { - auth_token.take(); - auth_request().take(); - } - } - } - } - }, - "Refreshing session, please wait" - } } - } - None => { - rsx! { div { "Id token expired and no refresh token found" } } - } - } -} - -#[component] -pub fn LoadClient() -> Element { - let init_client_future = use_resource(move || async move { init_oidc_client().await }); - match &*init_client_future.read_unchecked() { - Some(Ok((client_id, client))) => rsx! { - div { - onmounted: { - let client_id = client_id.clone(); - let client = client.clone(); - move |_| { - *CLIENT.write() = ClientState { - oidc_client: Some(ClientProps::new(client_id.clone(), client.clone())), - }; - } - }, - "Client successfully loaded" - } - Outlet:: {} - }, - Some(Err(error)) => { - log::info! {"Failed to load client: {:?}", error}; - rsx! { - div { "Failed to load client: {error:?}" } - Outlet:: {} - } - } - None => { - rsx! { - div { - div { "Loading client, please wait" } - Outlet:: {} - } - } - } - } -} - -#[component] -pub fn AuthHeader() -> Element { - let client = CLIENT.read().oidc_client.clone(); - let mut auth_request = use_auth_request(); - let auth_token = use_auth_token(); - match (client, auth_request(), auth_token()) { - // We have everything we need to attempt to authenticate the user - (Some(client_props), current_auth_request, current_auth_token) => { - match current_auth_request.auth_request { - Some(new_auth_request) => { - match current_auth_token.id_token { - Some(id_token) => { - match email( - client_props.client.clone(), - id_token.clone(), - new_auth_request.nonce.clone(), - ) { - Ok(email) => { - rsx! { - div { - div { {email} } - LogOut {} - Outlet:: {} - } - } - } - // Id token failed to be decoded - Err(error) => match error { - // Id token failed to be decoded because it expired, we refresh it - openidconnect::ClaimsVerificationError::Expired(_message) => { - log::info!("Token expired"); - rsx! { - div { - RefreshToken { client_id: client_props.client_id, client: client_props.client } - Outlet:: {} - } - } - } - // Other issue with token decoding - _ => { - log::info!("Other issue with token"); - rsx! { - div { - div { "{error}" } - Outlet:: {} - } - } - } - }, - } - } - // User is not logged in - None => { - rsx! { - div { - Link { to: new_auth_request.authorize_url.clone(), "Log in" } - Outlet:: {} - } - } - } - } - } - None => { - rsx! { div { - onmounted: { - let client = client_props.client; - move |_| { - let new_auth_request = authorize_url(client.clone()); - auth_request.set(AuthRequestState { - auth_request: Some(new_auth_request), - }); - } - }, - "Loading nonce" - } } - } - } - } - // Client is not initialized yet, we need it for everything - (None, _, _) => { - rsx! { LoadClient {} } - } - } -} diff --git a/examples/openid_connect_demo/src/views/home.rs b/examples/openid_connect_demo/src/views/home.rs deleted file mode 100644 index d91b5c203..000000000 --- a/examples/openid_connect_demo/src/views/home.rs +++ /dev/null @@ -1,5 +0,0 @@ -use dioxus::prelude::*; - -pub fn Home() -> Element { - rsx! { div { "Hello world" } } -} diff --git a/examples/openid_connect_demo/src/views/login.rs b/examples/openid_connect_demo/src/views/login.rs deleted file mode 100644 index e3a4e0025..000000000 --- a/examples/openid_connect_demo/src/views/login.rs +++ /dev/null @@ -1,86 +0,0 @@ -use crate::{ - oidc::{token_response, AuthTokenState}, - router::Route, - storage::{auth_request, use_auth_token}, - CLIENT, -}; -use dioxus::prelude::*; -use dioxus::router::prelude::Link; -use openidconnect::{OAuth2TokenResponse, TokenResponse}; - -#[component] -pub fn Login(query_string: String) -> Element { - let client = CLIENT.read().oidc_client.clone(); - let mut auth_token = use_auth_token(); - let current_auth_token = auth_token(); - match client { - Some(client_props) => { - match ( - current_auth_token.id_token, - current_auth_token.refresh_token, - ) { - (Some(_id_token), Some(_refresh_token)) => { - rsx! { - div { "Sign in successful" } - Link { to: Route::Home {}, "Go back home" } - } - } - // If the refresh token is set but not the id_token, there was an error, we just go back home and reset their value - (None, Some(_)) | (Some(_), None) => { - rsx! { - div { "Error while attempting to log in" } - Link { - to: Route::Home {}, - onclick: move |_| { - auth_token.take(); - auth_request().take(); - }, - "Go back home" - } - } - } - (None, None) => { - let mut query_pairs = form_urlencoded::parse(query_string.as_bytes()); - let code_pair = query_pairs.find(|(key, _value)| key == "code"); - match code_pair { - Some((_key, code)) => { - let code = code.to_string(); - rsx! { div { - onmounted: { - move |_| { - let auth_code = code.to_string(); - let client_props = client_props.clone(); - async move { - let token_response_result = - token_response(client_props.client, auth_code).await; - match token_response_result { - Ok(token_response) => { - let id_token = token_response.id_token().unwrap(); - auth_token.set(AuthTokenState { - id_token: Some(id_token.clone()), - refresh_token: token_response - .refresh_token() - .cloned(), - }); - } - Err(error) => { - log::warn! {"{error}"}; - } - } - } - } - } - }} - } - None => { - rsx! { div { "No code provided" } } - } - } - } - } - } - _ => { - rsx! {{}} - } - } -} diff --git a/examples/openid_connect_demo/src/views/mod.rs b/examples/openid_connect_demo/src/views/mod.rs deleted file mode 100644 index 1b8e08a58..000000000 --- a/examples/openid_connect_demo/src/views/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub(crate) mod header; -pub(crate) mod home; -pub(crate) mod login; -pub(crate) mod not_found; diff --git a/examples/openid_connect_demo/src/views/not_found.rs b/examples/openid_connect_demo/src/views/not_found.rs deleted file mode 100644 index 833c61067..000000000 --- a/examples/openid_connect_demo/src/views/not_found.rs +++ /dev/null @@ -1,10 +0,0 @@ -use dioxus::prelude::*; - -#[component] -pub fn NotFound(route: Vec) -> Element { - rsx! { - div{ - {route.join("")} - } - } -} diff --git a/examples/PWA-example/Cargo.toml b/examples/pwa/Cargo.toml similarity index 100% rename from examples/PWA-example/Cargo.toml rename to examples/pwa/Cargo.toml diff --git a/examples/PWA-example/Dioxus.toml b/examples/pwa/Dioxus.toml similarity index 100% rename from examples/PWA-example/Dioxus.toml rename to examples/pwa/Dioxus.toml diff --git a/examples/PWA-example/LICENSE b/examples/pwa/LICENSE similarity index 100% rename from examples/PWA-example/LICENSE rename to examples/pwa/LICENSE diff --git a/examples/PWA-example/README.md b/examples/pwa/README.md similarity index 100% rename from examples/PWA-example/README.md rename to examples/pwa/README.md diff --git a/examples/PWA-example/index.html b/examples/pwa/index.html similarity index 100% rename from examples/PWA-example/index.html rename to examples/pwa/index.html diff --git a/examples/PWA-example/public/favicon.ico b/examples/pwa/public/favicon.ico similarity index 100% rename from examples/PWA-example/public/favicon.ico rename to examples/pwa/public/favicon.ico diff --git a/examples/PWA-example/public/logo_192.png b/examples/pwa/public/logo_192.png similarity index 100% rename from examples/PWA-example/public/logo_192.png rename to examples/pwa/public/logo_192.png diff --git a/examples/PWA-example/public/logo_512.png b/examples/pwa/public/logo_512.png similarity index 100% rename from examples/PWA-example/public/logo_512.png rename to examples/pwa/public/logo_512.png diff --git a/examples/PWA-example/public/manifest.json b/examples/pwa/public/manifest.json similarity index 100% rename from examples/PWA-example/public/manifest.json rename to examples/pwa/public/manifest.json diff --git a/examples/PWA-example/public/sw.js b/examples/pwa/public/sw.js similarity index 100% rename from examples/PWA-example/public/sw.js rename to examples/pwa/public/sw.js diff --git a/examples/PWA-example/src/main.rs b/examples/pwa/src/main.rs similarity index 100% rename from examples/PWA-example/src/main.rs rename to examples/pwa/src/main.rs diff --git a/packages/static-generation/examples/github-pages/.gitignore b/examples/ssg-github-pages/.gitignore similarity index 100% rename from packages/static-generation/examples/github-pages/.gitignore rename to examples/ssg-github-pages/.gitignore diff --git a/packages/static-generation/examples/github-pages/Cargo.toml b/examples/ssg-github-pages/Cargo.toml similarity index 100% rename from packages/static-generation/examples/github-pages/Cargo.toml rename to examples/ssg-github-pages/Cargo.toml diff --git a/packages/static-generation/examples/github-pages/src/main.rs b/examples/ssg-github-pages/src/main.rs similarity index 100% rename from packages/static-generation/examples/github-pages/src/main.rs rename to examples/ssg-github-pages/src/main.rs diff --git a/packages/static-generation/examples/router/.gitignore b/examples/ssg-router/.gitignore similarity index 100% rename from packages/static-generation/examples/router/.gitignore rename to examples/ssg-router/.gitignore diff --git a/packages/static-generation/examples/router/Cargo.toml b/examples/ssg-router/Cargo.toml similarity index 100% rename from packages/static-generation/examples/router/Cargo.toml rename to examples/ssg-router/Cargo.toml diff --git a/packages/static-generation/examples/router/src/main.rs b/examples/ssg-router/src/main.rs similarity index 100% rename from packages/static-generation/examples/router/src/main.rs rename to examples/ssg-router/src/main.rs diff --git a/packages/static-generation/examples/simple/.gitignore b/examples/ssg-simple/.gitignore similarity index 100% rename from packages/static-generation/examples/simple/.gitignore rename to examples/ssg-simple/.gitignore diff --git a/packages/static-generation/examples/simple/Cargo.toml b/examples/ssg-simple/Cargo.toml similarity index 100% rename from packages/static-generation/examples/simple/Cargo.toml rename to examples/ssg-simple/Cargo.toml diff --git a/packages/static-generation/examples/simple/src/main.rs b/examples/ssg-simple/src/main.rs similarity index 100% rename from packages/static-generation/examples/simple/src/main.rs rename to examples/ssg-simple/src/main.rs diff --git a/packages/desktop/examples/stress.rs b/packages/desktop/examples/stress.rs deleted file mode 100644 index 90dd7947e..000000000 --- a/packages/desktop/examples/stress.rs +++ /dev/null @@ -1,23 +0,0 @@ -use dioxus::prelude::*; - -fn main() { - launch_desktop(app); -} - -fn app() -> Element { - let mut state = use_signal(|| 0); - - use_future(move || async move { - loop { - state += 1; - tokio::time::sleep(std::time::Duration::from_millis(1)).await; - } - }); - - rsx! { - button { onclick: move |_| state.set(0), "reset" } - for _ in 0..10000 { - div { "hello desktop! {state}" } - } - } -} diff --git a/packages/static-generation/benches/incremental.rs.old b/packages/static-generation/benches/incremental.rs.old deleted file mode 100644 index b851ee79d..000000000 --- a/packages/static-generation/benches/incremental.rs.old +++ /dev/null @@ -1,207 +0,0 @@ -#![allow(unused)] - -use std::time::Duration; - -use dioxus::prelude::*; -use dioxus_router::prelude::*; - -use criterion::{black_box, criterion_group, criterion_main, Criterion}; - -use dioxus_ssr::Renderer; - -pub fn criterion_benchmark(c: &mut Criterion) { - c.bench_function("build 1000 routes", |b| { - let mut renderer = IncrementalRenderer::builder() - .static_dir("./static") - .invalidate_after(Duration::from_secs(10)) - .build(); - let wrapper = DefaultRenderer { - before_body: r#" - - - - - Dioxus Application - - "# - .to_string(), - after_body: r#" - "# - .to_string(), - }; - - b.iter(|| { - tokio::runtime::Runtime::new().unwrap().block_on(async { - for id in 0..1000 { - render_route( - &mut renderer, - Route::Post { id }, - &mut tokio::io::sink(), - |_| Box::pin(async move {}), - &wrapper, - ) - .await - .unwrap(); - } - }) - }) - }); - - c.bench_function("build 1000 routes no memory cache", |b| { - let wrapper = DefaultRenderer { - before_body: r#" - - - - - Dioxus Application - - "# - .to_string(), - after_body: r#" - "# - .to_string(), - }; - b.to_async(tokio::runtime::Runtime::new().unwrap()) - .iter(|| async { - let mut renderer = IncrementalRenderer::builder() - .static_dir("./static") - .memory_cache_limit(0) - .invalidate_after(Duration::from_secs(10)) - .build(); - - for id in 0..1000 { - render_route( - &mut renderer, - Route::Post { id }, - &mut tokio::io::sink(), - |_| Box::pin(async move {}), - &wrapper, - ) - .await - .unwrap(); - } - }) - }); - c.bench_function("build 1000 routes no cache", |b| { - let mut renderer = Renderer::default(); - - b.iter(|| { - for id in 0..1000 { - let mut vdom = VirtualDom::new_with_props( - RenderPath, - RenderPathProps::builder().path(Route::Post { id }).build(), - ); - - vdom.rebuild_in_place(); - - struct Ignore; - - impl std::fmt::Write for Ignore { - fn write_str(&mut self, s: &str) -> std::fmt::Result { - Ok(()) - } - } - - renderer.render_to(&mut Ignore, &vdom).unwrap(); - } - }) - }); - c.bench_function("cache static", |b| { - let wrapper = DefaultRenderer { - before_body: r#" - - - - - Dioxus Application - - "# - .to_string(), - after_body: r#" - "# - .to_string(), - }; - b.to_async(tokio::runtime::Runtime::new().unwrap()) - .iter(|| async { - let mut renderer = IncrementalRenderer::builder() - .static_dir("./static") - .build(); - - pre_cache_static_routes::(&mut renderer, &wrapper) - .await - .unwrap(); - }) - }); -} - -criterion_group!(benches, criterion_benchmark); -criterion_main!(benches); - -#[component] -fn Blog() -> Element { - rsx! { - div { - "Blog" - } - } -} - -#[component] -fn Post(id: usize) -> Element { - rsx! { - for _ in 0..id { - div { - "PostId: {id}" - } - } - } -} - -#[component] -fn PostHome() -> Element { - rsx! { - div { - "Post" - } - } -} - -#[component] -fn Home() -> Element { - rsx! { - div { - "Home" - } - } -} - -#[rustfmt::skip] -#[derive(Clone, Debug, PartialEq, Routable)] -enum Route { - #[nest("/blog")] - #[route("/")] - Blog {}, - #[route("/post/index")] - PostHome {}, - #[route("/post/:id")] - Post { - id: usize, - }, - #[end_nest] - #[route("/")] - Home {}, -} - -#[component] -fn RenderPath(path: Route) -> Element { - let path = path.clone(); - rsx! { - Router:: { - config: || RouterConfig::default().history(MemoryHistory::with_initial_path(path)) - } - } -}