From 41f011ed58458c0d98dbe0dac41ddae7cd73222a Mon Sep 17 00:00:00 2001 From: Adrian Osterwind Date: Tue, 12 Nov 2024 13:57:08 +0100 Subject: [PATCH] tauri sample --- .gitignore | 11 +- .vscode/extensions.json | 7 + .vscode/settings.json | 3 + Cargo.lock | 4496 ------------------------- Cargo.toml | 10 - flake.lock | 112 - flake.nix | 210 -- src-tauri/.gitignore | 7 + src-tauri/Cargo.toml | 25 + src-tauri/build.rs | 3 + src-tauri/capabilities/default.json | 10 + src-tauri/icons/128x128.png | Bin 0 -> 3512 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 7012 bytes src-tauri/icons/32x32.png | Bin 0 -> 974 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 2863 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 3858 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 3966 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 7737 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 903 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 8591 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 1299 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 2011 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 2468 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 1523 bytes src-tauri/icons/icon.icns | Bin 0 -> 98451 bytes src-tauri/icons/icon.ico | Bin 0 -> 86642 bytes src-tauri/icons/icon.png | Bin 0 -> 14183 bytes src-tauri/src/lib.rs | 14 + src-tauri/src/main.rs | 6 + src-tauri/tauri.conf.json | 35 + src/app.html | 13 + src/main.rs | 310 -- src/routes/+layout.ts | 5 + src/routes/+page.svelte | 156 + static/favicon.png | Bin 0 -> 1571 bytes static/svelte.svg | 1 + static/tauri.svg | 6 + static/vite.svg | 1 + 38 files changed, 302 insertions(+), 5139 deletions(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json delete mode 100644 Cargo.lock delete mode 100644 Cargo.toml delete mode 100644 flake.lock delete mode 100644 flake.nix create mode 100644 src-tauri/.gitignore create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/default.json create mode 100644 src-tauri/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/src/lib.rs create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/app.html delete mode 100644 src/main.rs create mode 100644 src/routes/+layout.ts create mode 100644 src/routes/+page.svelte create mode 100644 static/favicon.png create mode 100644 static/svelte.svg create mode 100644 static/tauri.svg create mode 100644 static/vite.svg diff --git a/.gitignore b/.gitignore index ea8c4bf..6635cf5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,10 @@ -/target +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..61343e9 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "svelte.svelte-vscode", + "tauri-apps.tauri-vscode", + "rust-lang.rust-analyzer" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..2f86c50 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "svelte.enable-ts-plugin": true +} diff --git a/Cargo.lock b/Cargo.lock deleted file mode 100644 index b728c8c..0000000 --- a/Cargo.lock +++ /dev/null @@ -1,4496 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Apographe" -version = "0.1.0" -dependencies = [ - "iced", - "rfd", - "tokio", -] - -[[package]] -name = "ab_glyph" -version = "0.2.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0" -dependencies = [ - "ab_glyph_rasterizer", - "owned_ttf_parser", -] - -[[package]] -name = "ab_glyph_rasterizer" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" - -[[package]] -name = "addr2line" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "allocator-api2" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9" - -[[package]] -name = "android-activity" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" -dependencies = [ - "android-properties", - "bitflags 2.6.0", - "cc", - "cesu8", - "jni", - "jni-sys", - "libc", - "log", - "ndk", - "ndk-context", - "ndk-sys 0.6.0+11769913", - "num_enum", - "thiserror", -] - -[[package]] -name = "android-properties" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" - -[[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 = "approx" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" -dependencies = [ - "num-traits", -] - -[[package]] -name = "arrayref" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "as-raw-xcb-connection" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" - -[[package]] -name = "ash" -version = "0.37.3+1.3.251" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" -dependencies = [ - "libloading 0.7.4", -] - -[[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.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ca9a001c1e8ba5149f91a74362376cc6bc5b919d92d988668657bd570bdcec" -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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059" -dependencies = [ - "async-lock", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix", - "slab", - "tracing", - "windows-sys 0.59.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-process" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63255f1dc2381611000436537bbedfe83183faa303a5a0edaf191edef06526bb" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if", - "event-listener", - "futures-lite", - "rustix", - "tracing", -] - -[[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.87", -] - -[[package]] -name = "async-signal" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix", - "signal-hook-registry", - "slab", - "windows-sys 0.59.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.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[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-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "autocfg" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" - -[[package]] -name = "backtrace" -version = "0.3.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", - "windows-targets 0.52.6", -] - -[[package]] -name = "base64" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bit-set" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" -dependencies = [ - "bit-vec", -] - -[[package]] -name = "bit-vec" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" - -[[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", -] - -[[package]] -name = "block2" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f" -dependencies = [ - "objc2", -] - -[[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 = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "by_address" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" - -[[package]] -name = "bytemuck" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" - -[[package]] -name = "cairo-sys-rs" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" -dependencies = [ - "libc", - "system-deps", -] - -[[package]] -name = "calloop" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" -dependencies = [ - "bitflags 2.6.0", - "log", - "polling", - "rustix", - "slab", - "thiserror", -] - -[[package]] -name = "calloop-wayland-source" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" -dependencies = [ - "calloop", - "rustix", - "wayland-backend", - "wayland-client", -] - -[[package]] -name = "cc" -version = "1.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40545c26d092346d8a8dab71ee48e7685a7a9cba76e634790c215b41a4a7b4cf" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cesu8" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" - -[[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 = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "clipboard-win" -version = "5.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892" -dependencies = [ - "error-code", -] - -[[package]] -name = "clipboard_macos" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7f4aaa047ba3c3630b080bb9860894732ff23e2aee290a418909aa6d5df38f" -dependencies = [ - "objc2", - "objc2-app-kit", - "objc2-foundation", -] - -[[package]] -name = "clipboard_wayland" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "003f886bc4e2987729d10c1db3424e7f80809f3fc22dbc16c685738887cb37b8" -dependencies = [ - "smithay-clipboard", -] - -[[package]] -name = "clipboard_x11" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4274ea815e013e0f9f04a2633423e14194e408a0576c943ce3d14ca56c50031c" -dependencies = [ - "thiserror", - "x11rb", -] - -[[package]] -name = "codespan-reporting" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" -dependencies = [ - "termcolor", - "unicode-width", -] - -[[package]] -name = "com" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6" -dependencies = [ - "com_macros", -] - -[[package]] -name = "com_macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5" -dependencies = [ - "com_macros_support", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "com_macros_support" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[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 = "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" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[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 0.9.4", - "core-graphics-types 0.1.3", - "foreign-types", - "libc", -] - -[[package]] -name = "core-graphics" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" -dependencies = [ - "bitflags 2.6.0", - "core-foundation 0.10.0", - "core-graphics-types 0.2.0", - "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 0.9.4", - "libc", -] - -[[package]] -name = "core-graphics-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" -dependencies = [ - "bitflags 2.6.0", - "core-foundation 0.10.0", - "libc", -] - -[[package]] -name = "cosmic-text" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fd57d82eb4bfe7ffa9b1cec0c05e2fd378155b47f255a67983cb4afe0e80c2" -dependencies = [ - "bitflags 2.6.0", - "fontdb", - "log", - "rangemap", - "rayon", - "rustc-hash 1.1.0", - "rustybuzz", - "self_cell", - "swash", - "sys-locale", - "ttf-parser 0.21.1", - "unicode-bidi", - "unicode-linebreak", - "unicode-script", - "unicode-segmentation", -] - -[[package]] -name = "cpufeatures" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" -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 = "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-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "ctor-lite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b" - -[[package]] -name = "cursor-icon" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" - -[[package]] -name = "d3d12" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" -dependencies = [ - "bitflags 2.6.0", - "libloading 0.8.5", - "winapi", -] - -[[package]] -name = "dark-light" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a76fa97167fa740dcdbfe18e8895601e1bc36525f09b044e00916e717c03a3c" -dependencies = [ - "dconf_rs", - "detect-desktop-environment", - "dirs", - "objc", - "rust-ini", - "web-sys", - "winreg", - "zbus", -] - -[[package]] -name = "dconf_rs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7046468a81e6a002061c01e6a7c83139daf91b11c30e66795b13217c2d885c8b" - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - -[[package]] -name = "detect-desktop-environment" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21d8ad60dd5b13a4ee6bd8fa2d5d88965c597c67bce32b5fc49c94f55cb50810" - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -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 = "dlib" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" -dependencies = [ - "libloading 0.8.5", -] - -[[package]] -name = "dlv-list" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" - -[[package]] -name = "downcast-rs" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" - -[[package]] -name = "dpi" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53" - -[[package]] -name = "drm" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98888c4bbd601524c11a7ed63f814b8825f420514f78e96f752c437ae9cbb5d1" -dependencies = [ - "bitflags 2.6.0", - "bytemuck", - "drm-ffi", - "drm-fourcc", - "rustix", -] - -[[package]] -name = "drm-ffi" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97c98727e48b7ccb4f4aea8cfe881e5b07f702d17b7875991881b41af7278d53" -dependencies = [ - "drm-sys", - "rustix", -] - -[[package]] -name = "drm-fourcc" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4" - -[[package]] -name = "drm-sys" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd39dde40b6e196c2e8763f23d119ddb1a8714534bf7d77fa97a65b0feda3986" -dependencies = [ - "libc", - "linux-raw-sys 0.6.5", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[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.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" -dependencies = [ - "enumflags2_derive", - "serde", -] - -[[package]] -name = "enumflags2_derive" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[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 = "error-code" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" - -[[package]] -name = "etagere" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e2f1e3be19fb10f549be8c1bf013e8675b4066c445e36eb76d2ebb2f54ee495" -dependencies = [ - "euclid", - "svg_fmt", -] - -[[package]] -name = "euclid" -version = "0.22.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" -dependencies = [ - "num-traits", -] - -[[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 = "fast-srgb8" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" - -[[package]] -name = "fastrand" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" - -[[package]] -name = "fdeflate" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07c6f4c64c1d33a3111c4466f7365ebdcc37c5bd1ea0d62aae2e3d722aacbedb" -dependencies = [ - "simd-adler32", -] - -[[package]] -name = "flate2" -version = "1.0.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" -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 = "font-types" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3971f9a5ca983419cdc386941ba3b9e1feba01a0ab888adf78739feb2798492" -dependencies = [ - "bytemuck", -] - -[[package]] -name = "fontconfig-parser" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fcfcd44ca6e90c921fee9fa665d530b21ef1327a4c1a6c5250ea44b776ada7" -dependencies = [ - "roxmltree", -] - -[[package]] -name = "fontdb" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0299020c3ef3f60f526a4f64ab4a3d4ce116b1acbf24cdd22da0068e5d81dc3" -dependencies = [ - "fontconfig-parser", - "log", - "memmap2", - "slotmap", - "tinyvec", - "ttf-parser 0.20.0", -] - -[[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.87", -] - -[[package]] -name = "foreign-types-shared" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", - "num_cpus", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-lite" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cef40d21ae2c515b51041df9ed313ed21e572df340ea58a922a0aefe7e8891a1" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[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 = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "gethostname" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" -dependencies = [ - "libc", - "windows-targets 0.48.5", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.31.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" - -[[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 = "gl_generator" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" -dependencies = [ - "khronos_api", - "log", - "xml-rs", -] - -[[package]] -name = "glam" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "151665d9be52f9bb40fc7966565d39666f2d1e69233571b71b87791c7e0528b3" - -[[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 = "glow" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1" -dependencies = [ - "js-sys", - "slotmap", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "glutin_wgl_sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" -dependencies = [ - "gl_generator", -] - -[[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 = "gpu-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" -dependencies = [ - "bitflags 2.6.0", - "gpu-alloc-types", -] - -[[package]] -name = "gpu-alloc-types" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "gpu-allocator" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f56f6318968d03c18e1bcf4857ff88c61157e9da8e47c5f29055d60e1228884" -dependencies = [ - "log", - "presser", - "thiserror", - "winapi", - "windows", -] - -[[package]] -name = "gpu-descriptor" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" -dependencies = [ - "bitflags 2.6.0", - "gpu-descriptor-types", - "hashbrown 0.14.5", -] - -[[package]] -name = "gpu-descriptor-types" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" -dependencies = [ - "bitflags 2.6.0", -] - -[[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 = "guillotiere" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782" -dependencies = [ - "euclid", - "svg_fmt", -] - -[[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 = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash 0.8.11", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" - -[[package]] -name = "hassle-rs" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890" -dependencies = [ - "bitflags 2.6.0", - "com", - "libc", - "libloading 0.8.5", - "thiserror", - "widestring", - "winapi", -] - -[[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 = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hexf-parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" - -[[package]] -name = "iced" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88acfabc84ec077eaf9ede3457ffa3a104626d79022a9bf7f296093b1d60c73f" -dependencies = [ - "iced_core", - "iced_futures", - "iced_highlighter", - "iced_renderer", - "iced_widget", - "iced_winit", - "thiserror", -] - -[[package]] -name = "iced_core" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0013a238275494641bf8f1732a23a808196540dc67b22ff97099c044ae4c8a1c" -dependencies = [ - "bitflags 2.6.0", - "bytes", - "dark-light", - "glam", - "log", - "num-traits", - "once_cell", - "palette", - "rustc-hash 2.0.0", - "smol_str", - "thiserror", - "web-time", -] - -[[package]] -name = "iced_futures" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c04a6745ba2e80f32cf01e034fd00d853aa4f4cd8b91888099cb7aaee0d5d7c" -dependencies = [ - "futures", - "iced_core", - "log", - "rustc-hash 2.0.0", - "tokio", - "wasm-bindgen-futures", - "wasm-timer", -] - -[[package]] -name = "iced_glyphon" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c3bb56f1820ca252bc1d0994ece33d233a55657c0c263ea7cb16895adbde82" -dependencies = [ - "cosmic-text", - "etagere", - "lru", - "rustc-hash 2.0.0", - "wgpu", -] - -[[package]] -name = "iced_graphics" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba25a18cfa6d5cc160aca7e1b34f73ccdff21680fa8702168c09739767b6c66f" -dependencies = [ - "bitflags 2.6.0", - "bytemuck", - "cosmic-text", - "half", - "iced_core", - "iced_futures", - "log", - "once_cell", - "raw-window-handle 0.6.2", - "rustc-hash 2.0.0", - "thiserror", - "unicode-segmentation", -] - -[[package]] -name = "iced_highlighter" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad88b25a1328cd4bb0b72d8e20f8207c0433649dc788f67e911423b9406f45c" -dependencies = [ - "iced_core", - "once_cell", - "syntect", -] - -[[package]] -name = "iced_renderer" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73558208059f9e622df2bf434e044ee2f838ce75201a023cf0ca3e1244f46c2a" -dependencies = [ - "iced_graphics", - "iced_tiny_skia", - "iced_wgpu", - "log", - "thiserror", -] - -[[package]] -name = "iced_runtime" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348b5b2c61c934d88ca3b0ed1ed913291e923d086a66fa288ce9669da9ef62b5" -dependencies = [ - "bytes", - "iced_core", - "iced_futures", - "raw-window-handle 0.6.2", - "thiserror", -] - -[[package]] -name = "iced_tiny_skia" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c625d368284fcc43b0b36b176f76eff1abebe7959dd58bd8ce6897d641962a50" -dependencies = [ - "bytemuck", - "cosmic-text", - "iced_graphics", - "kurbo", - "log", - "rustc-hash 2.0.0", - "softbuffer", - "tiny-skia", -] - -[[package]] -name = "iced_wgpu" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15708887133671d2bcc6c1d01d1f176f43a64d6cdc3b2bf893396c3ee498295f" -dependencies = [ - "bitflags 2.6.0", - "bytemuck", - "futures", - "glam", - "guillotiere", - "iced_glyphon", - "iced_graphics", - "log", - "once_cell", - "rustc-hash 2.0.0", - "thiserror", - "wgpu", -] - -[[package]] -name = "iced_widget" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81429e1b950b0e4bca65be4c4278fea6678ea782030a411778f26fa9f8983e1d" -dependencies = [ - "iced_highlighter", - "iced_renderer", - "iced_runtime", - "num-traits", - "once_cell", - "rustc-hash 2.0.0", - "thiserror", - "unicode-segmentation", -] - -[[package]] -name = "iced_winit" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44cd4e1c594b6334f409282937bf972ba14d31fedf03c23aa595d982a2fda28" -dependencies = [ - "iced_futures", - "iced_graphics", - "iced_runtime", - "log", - "rustc-hash 2.0.0", - "thiserror", - "tracing", - "wasm-bindgen-futures", - "web-sys", - "winapi", - "window_clipboard", - "winit", -] - -[[package]] -name = "indexmap" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" -dependencies = [ - "equivalent", - "hashbrown 0.15.1", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[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 = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "khronos-egl" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" -dependencies = [ - "libc", - "libloading 0.8.5", - "pkg-config", -] - -[[package]] -name = "khronos_api" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" - -[[package]] -name = "kurbo" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1618d4ebd923e97d67e7cd363d80aef35fe961005cbbbb3d2dad8bdd1bc63440" -dependencies = [ - "arrayvec", - "smallvec", -] - -[[package]] -name = "libc" -version = "0.2.162" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" - -[[package]] -name = "libloading" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" -dependencies = [ - "cfg-if", - "winapi", -] - -[[package]] -name = "libloading" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" -dependencies = [ - "cfg-if", - "windows-targets 0.52.6", -] - -[[package]] -name = "libm" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall 0.5.7", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "linux-raw-sys" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a385b1be4e5c3e362ad2ffa73c392e53f031eaa5b7d648e64cd87f27f6063d7" - -[[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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" - -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" - -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "metal" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" -dependencies = [ - "bitflags 2.6.0", - "block", - "core-graphics-types 0.1.3", - "foreign-types", - "log", - "objc", - "paste", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", - "simd-adler32", -] - -[[package]] -name = "naga" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" -dependencies = [ - "bit-set", - "bitflags 2.6.0", - "codespan-reporting", - "hexf-parse", - "indexmap", - "log", - "num-traits", - "rustc-hash 1.1.0", - "spirv", - "termcolor", - "thiserror", - "unicode-xid", -] - -[[package]] -name = "ndk" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" -dependencies = [ - "bitflags 2.6.0", - "jni-sys", - "log", - "ndk-sys 0.6.0+11769913", - "num_enum", - "raw-window-handle 0.6.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.5.0+25.2.9519653" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c196769dd60fd4f363e11d948139556a344e79d451aeb2fa2fd040738ef7691" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "ndk-sys" -version = "0.6.0+11769913" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" -dependencies = [ - "jni-sys", -] - -[[package]] -name = "nix" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "cfg_aliases 0.2.1", - "libc", - "memoffset", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[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-sys" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb91bdd390c7ce1a8607f35f3ca7151b65afc0ff5ff3b34fa350f7d7c7e4310" - -[[package]] -name = "objc2" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46a785d4eeff09c14c487497c162e92766fbb3e4059a71840cecc03d9a50b804" -dependencies = [ - "objc-sys", - "objc2-encode", -] - -[[package]] -name = "objc2-app-kit" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" -dependencies = [ - "bitflags 2.6.0", - "block2", - "libc", - "objc2", - "objc2-core-data", - "objc2-core-image", - "objc2-foundation", - "objc2-quartz-core", -] - -[[package]] -name = "objc2-cloud-kit" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" -dependencies = [ - "bitflags 2.6.0", - "block2", - "objc2", - "objc2-core-location", - "objc2-foundation", -] - -[[package]] -name = "objc2-contacts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5ff520e9c33812fd374d8deecef01d4a840e7b41862d849513de77e44aa4889" -dependencies = [ - "block2", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-data" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" -dependencies = [ - "bitflags 2.6.0", - "block2", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-core-image" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55260963a527c99f1819c4f8e3b47fe04f9650694ef348ffd2227e8196d34c80" -dependencies = [ - "block2", - "objc2", - "objc2-foundation", - "objc2-metal", -] - -[[package]] -name = "objc2-core-location" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "000cfee34e683244f284252ee206a27953279d370e309649dc3ee317b37e5781" -dependencies = [ - "block2", - "objc2", - "objc2-contacts", - "objc2-foundation", -] - -[[package]] -name = "objc2-encode" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7891e71393cd1f227313c9379a26a584ff3d7e6e7159e988851f0934c993f0f8" - -[[package]] -name = "objc2-foundation" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" -dependencies = [ - "bitflags 2.6.0", - "block2", - "dispatch", - "libc", - "objc2", -] - -[[package]] -name = "objc2-link-presentation" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1a1ae721c5e35be65f01a03b6d2ac13a54cb4fa70d8a5da293d7b0020261398" -dependencies = [ - "block2", - "objc2", - "objc2-app-kit", - "objc2-foundation", -] - -[[package]] -name = "objc2-metal" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" -dependencies = [ - "bitflags 2.6.0", - "block2", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-quartz-core" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" -dependencies = [ - "bitflags 2.6.0", - "block2", - "objc2", - "objc2-foundation", - "objc2-metal", -] - -[[package]] -name = "objc2-symbols" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a684efe3dec1b305badae1a28f6555f6ddd3bb2c2267896782858d5a78404dc" -dependencies = [ - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-ui-kit" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" -dependencies = [ - "bitflags 2.6.0", - "block2", - "objc2", - "objc2-cloud-kit", - "objc2-core-data", - "objc2-core-image", - "objc2-core-location", - "objc2-foundation", - "objc2-link-presentation", - "objc2-quartz-core", - "objc2-symbols", - "objc2-uniform-type-identifiers", - "objc2-user-notifications", -] - -[[package]] -name = "objc2-uniform-type-identifiers" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44fa5f9748dbfe1ca6c0b79ad20725a11eca7c2218bceb4b005cb1be26273bfe" -dependencies = [ - "block2", - "objc2", - "objc2-foundation", -] - -[[package]] -name = "objc2-user-notifications" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" -dependencies = [ - "bitflags 2.6.0", - "block2", - "objc2", - "objc2-core-location", - "objc2-foundation", -] - -[[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.36.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" - -[[package]] -name = "onig" -version = "6.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f" -dependencies = [ - "bitflags 1.3.2", - "libc", - "once_cell", - "onig_sys", -] - -[[package]] -name = "onig_sys" -version = "69.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "orbclient" -version = "0.3.48" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43" -dependencies = [ - "libredox", -] - -[[package]] -name = "ordered-multimap" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" -dependencies = [ - "dlv-list", - "hashbrown 0.12.3", -] - -[[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 = "owned_ttf_parser" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4" -dependencies = [ - "ttf-parser 0.25.0", -] - -[[package]] -name = "palette" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cbf71184cc5ecc2e4e1baccdb21026c20e5fc3dcf63028a086131b3ab00b6e6" -dependencies = [ - "approx", - "fast-srgb8", - "palette_derive", - "phf", -] - -[[package]] -name = "palette_derive" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5030daf005bface118c096f510ffb781fc28f9ab6a32ab224d8631be6851d30" -dependencies = [ - "by_address", - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - -[[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 0.9.10", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", -] - -[[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.7", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "phf" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" -dependencies = [ - "phf_macros", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" -dependencies = [ - "phf_shared", - "rand", -] - -[[package]] -name = "phf_macros" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" -dependencies = [ - "phf_generator", - "phf_shared", - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "phf_shared" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pin-project" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915a1e146535de9163f3987b8944ed8cf49a18bb0056bcebcdcece385cece4ff" - -[[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.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - -[[package]] -name = "pkg-config" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" - -[[package]] -name = "plist" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" -dependencies = [ - "base64", - "indexmap", - "quick-xml 0.32.0", - "serde", - "time", -] - -[[package]] -name = "png" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0" -dependencies = [ - "bitflags 1.3.2", - "crc32fast", - "fdeflate", - "flate2", - "miniz_oxide", -] - -[[package]] -name = "polling" -version = "3.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi 0.4.0", - "pin-project-lite", - "rustix", - "tracing", - "windows-sys 0.59.0", -] - -[[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.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "presser" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" - -[[package]] -name = "proc-macro-crate" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" -dependencies = [ - "toml_edit", -] - -[[package]] -name = "proc-macro2" -version = "1.0.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "profiling" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" - -[[package]] -name = "quick-xml" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" -dependencies = [ - "memchr", -] - -[[package]] -name = "quick-xml" -version = "0.36.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe" -dependencies = [ - "memchr", -] - -[[package]] -name = "quote" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "range-alloc" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" - -[[package]] -name = "rangemap" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" - -[[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 = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "read-fonts" -version = "0.22.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a04b892cb6f91951f144c33321843790c8574c825aafdb16d815fd7183b5229" -dependencies = [ - "bytemuck", - "font-types", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[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.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom", - "libredox", - "thiserror", -] - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "renderdoc-sys" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" - -[[package]] -name = "rfd" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0d8ab342bcc5436e04d3a4c1e09e17d74958bfaddf8d5fad6f85607df0f994f" -dependencies = [ - "block", - "dispatch", - "glib-sys", - "gobject-sys", - "gtk-sys", - "js-sys", - "log", - "objc", - "objc-foundation", - "objc_id", - "raw-window-handle 0.5.2", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "roxmltree" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" - -[[package]] -name = "rust-ini" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" -dependencies = [ - "cfg-if", - "ordered-multimap", -] - -[[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-hash" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" - -[[package]] -name = "rustix" -version = "0.38.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys 0.4.14", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustybuzz" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfb9cf8877777222e4a3bc7eb247e398b56baba500c38c1c46842431adc8b55c" -dependencies = [ - "bitflags 2.6.0", - "bytemuck", - "libm", - "smallvec", - "ttf-parser 0.21.1", - "unicode-bidi-mirroring", - "unicode-ccc", - "unicode-properties", - "unicode-script", -] - -[[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 = "scoped-tls" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sctk-adwaita" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec" -dependencies = [ - "ab_glyph", - "log", - "memmap2", - "smithay-client-toolkit", - "tiny-skia", -] - -[[package]] -name = "self_cell" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a" - -[[package]] -name = "serde" -version = "1.0.214" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.214" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "serde_json" -version = "1.0.132" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[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.87", -] - -[[package]] -name = "serde_spanned" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" -dependencies = [ - "serde", -] - -[[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 = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[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 = "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 = "skrifa" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe" -dependencies = [ - "bytemuck", - "read-fonts", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "version_check", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "smithay-client-toolkit" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" -dependencies = [ - "bitflags 2.6.0", - "calloop", - "calloop-wayland-source", - "cursor-icon", - "libc", - "log", - "memmap2", - "rustix", - "thiserror", - "wayland-backend", - "wayland-client", - "wayland-csd-frame", - "wayland-cursor", - "wayland-protocols", - "wayland-protocols-wlr", - "wayland-scanner", - "xkeysym", -] - -[[package]] -name = "smithay-clipboard" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846" -dependencies = [ - "libc", - "smithay-client-toolkit", - "wayland-backend", -] - -[[package]] -name = "smol_str" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead" -dependencies = [ - "serde", -] - -[[package]] -name = "softbuffer" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18051cdd562e792cad055119e0cdb2cfc137e44e3987532e0f9659a77931bb08" -dependencies = [ - "as-raw-xcb-connection", - "bytemuck", - "cfg_aliases 0.2.1", - "core-graphics 0.24.0", - "drm", - "fastrand", - "foreign-types", - "js-sys", - "log", - "memmap2", - "objc2", - "objc2-foundation", - "objc2-quartz-core", - "raw-window-handle 0.6.2", - "redox_syscall 0.5.7", - "rustix", - "tiny-xlib", - "wasm-bindgen", - "wayland-backend", - "wayland-client", - "wayland-sys", - "web-sys", - "windows-sys 0.59.0", - "x11rb", -] - -[[package]] -name = "spirv" -version = "0.3.0+sdk-1.3.268.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strict-num" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" - -[[package]] -name = "svg_fmt" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce5d813d71d82c4cbc1742135004e4a79fd870214c155443451c139c9470a0aa" - -[[package]] -name = "swash" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2" -dependencies = [ - "skrifa", - "yazi", - "zeno", -] - -[[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.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syntect" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "874dcfa363995604333cf947ae9f751ca3af4522c60886774c4963943b4746b1" -dependencies = [ - "bincode", - "bitflags 1.3.2", - "flate2", - "fnv", - "once_cell", - "onig", - "plist", - "regex-syntax", - "serde", - "serde_derive", - "serde_json", - "thiserror", - "walkdir", - "yaml-rust", -] - -[[package]] -name = "sys-locale" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" -dependencies = [ - "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", - "pkg-config", - "toml", - "version-compare", -] - -[[package]] -name = "target-lexicon" -version = "0.12.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - -[[package]] -name = "tempfile" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "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 = "tiny-skia" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab" -dependencies = [ - "arrayref", - "arrayvec", - "bytemuck", - "cfg-if", - "log", - "png", - "tiny-skia-path", -] - -[[package]] -name = "tiny-skia-path" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c9e7fc0c2e86a30b117d0462aa261b72b7a99b7ebd7deb3a14ceda95c5bdc93" -dependencies = [ - "arrayref", - "bytemuck", - "strict-num", -] - -[[package]] -name = "tiny-xlib" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d52f22673960ad13af14ff4025997312def1223bfa7c8e4949d099e6b3d5d1c" -dependencies = [ - "as-raw-xcb-connection", - "ctor-lite", - "libloading 0.8.5", - "pkg-config", - "tracing", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -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 = "tokio" -version = "1.41.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" -dependencies = [ - "backtrace", - "pin-project-lite", -] - -[[package]] -name = "toml" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "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.87", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "ttf-parser" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" - -[[package]] -name = "ttf-parser" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c591d83f69777866b9126b24c6dd9a18351f177e49d625920d19f989fd31cf8" - -[[package]] -name = "ttf-parser" -version = "0.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5902c5d130972a0000f60860bfbf46f7ca3db5391eddfedd1b8728bd9dc96c0e" - -[[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 = "unicode-bidi" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" - -[[package]] -name = "unicode-bidi-mirroring" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cb788ffebc92c5948d0e997106233eeb1d8b9512f93f41651f52b6c5f5af86" - -[[package]] -name = "unicode-ccc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df77b101bcc4ea3d78dafc5ad7e4f58ceffe0b2b16bf446aeb50b6cb4157656" - -[[package]] -name = "unicode-ident" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" - -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - -[[package]] -name = "unicode-properties" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - -[[package]] -name = "unicode-script" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb421b350c9aff471779e262955939f565ec18b86c15364e6bdf0d662ca7c1f" - -[[package]] -name = "unicode-segmentation" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "unicode-xid" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[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 = "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.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.87", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" - -[[package]] -name = "wasm-timer" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f" -dependencies = [ - "futures", - "js-sys", - "parking_lot 0.11.2", - "pin-utils", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "wayland-backend" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6" -dependencies = [ - "cc", - "downcast-rs", - "rustix", - "scoped-tls", - "smallvec", - "wayland-sys", -] - -[[package]] -name = "wayland-client" -version = "0.31.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280" -dependencies = [ - "bitflags 2.6.0", - "rustix", - "wayland-backend", - "wayland-scanner", -] - -[[package]] -name = "wayland-csd-frame" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" -dependencies = [ - "bitflags 2.6.0", - "cursor-icon", - "wayland-backend", -] - -[[package]] -name = "wayland-cursor" -version = "0.31.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c" -dependencies = [ - "rustix", - "wayland-client", - "xcursor", -] - -[[package]] -name = "wayland-protocols" -version = "0.32.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e" -dependencies = [ - "bitflags 2.6.0", - "wayland-backend", - "wayland-client", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-plasma" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b31cab548ee68c7eb155517f2212049dc151f7cd7910c2b66abfd31c3ee12bd" -dependencies = [ - "bitflags 2.6.0", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-protocols-wlr" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022" -dependencies = [ - "bitflags 2.6.0", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-scanner", -] - -[[package]] -name = "wayland-scanner" -version = "0.31.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3" -dependencies = [ - "proc-macro2", - "quick-xml 0.36.2", - "quote", -] - -[[package]] -name = "wayland-sys" -version = "0.31.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09" -dependencies = [ - "dlib", - "log", - "once_cell", - "pkg-config", -] - -[[package]] -name = "web-sys" -version = "0.3.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "web-time" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wgpu" -version = "0.19.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd7311dbd2abcfebaabf1841a2824ed7c8be443a0f29166e5d3c6a53a762c01" -dependencies = [ - "arrayvec", - "cfg-if", - "cfg_aliases 0.1.1", - "js-sys", - "log", - "naga", - "parking_lot 0.12.3", - "profiling", - "raw-window-handle 0.6.2", - "smallvec", - "static_assertions", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-core", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-core" -version = "0.19.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28b94525fc99ba9e5c9a9e24764f2bc29bad0911a7446c12f446a8277369bf3a" -dependencies = [ - "arrayvec", - "bit-vec", - "bitflags 2.6.0", - "cfg_aliases 0.1.1", - "codespan-reporting", - "indexmap", - "log", - "naga", - "once_cell", - "parking_lot 0.12.3", - "profiling", - "raw-window-handle 0.6.2", - "rustc-hash 1.1.0", - "smallvec", - "thiserror", - "web-sys", - "wgpu-hal", - "wgpu-types", -] - -[[package]] -name = "wgpu-hal" -version = "0.19.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfabcfc55fd86611a855816326b2d54c3b2fd7972c27ce414291562650552703" -dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bit-set", - "bitflags 2.6.0", - "block", - "cfg_aliases 0.1.1", - "core-graphics-types 0.1.3", - "d3d12", - "glow", - "glutin_wgl_sys", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor", - "hassle-rs", - "js-sys", - "khronos-egl", - "libc", - "libloading 0.8.5", - "log", - "metal", - "naga", - "ndk-sys 0.5.0+25.2.9519653", - "objc", - "once_cell", - "parking_lot 0.12.3", - "profiling", - "range-alloc", - "raw-window-handle 0.6.2", - "renderdoc-sys", - "rustc-hash 1.1.0", - "smallvec", - "thiserror", - "wasm-bindgen", - "web-sys", - "wgpu-types", - "winapi", -] - -[[package]] -name = "wgpu-types" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" -dependencies = [ - "bitflags 2.6.0", - "js-sys", - "web-sys", -] - -[[package]] -name = "widestring" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" - -[[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.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.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 = "window_clipboard" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d692d46038c433f9daee7ad8757e002a4248c20b0a3fbc991d99521d3bcb6d" -dependencies = [ - "clipboard-win", - "clipboard_macos", - "clipboard_wayland", - "clipboard_x11", - "raw-window-handle 0.6.2", - "thiserror", -] - -[[package]] -name = "windows" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" -dependencies = [ - "windows-core", - "windows-targets 0.52.6", -] - -[[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.6", -] - -[[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.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winit" -version = "0.30.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0be9e76a1f1077e04a411f0b989cbd3c93339e1771cb41e71ac4aee95bfd2c67" -dependencies = [ - "ahash 0.8.11", - "android-activity", - "atomic-waker", - "bitflags 2.6.0", - "block2", - "bytemuck", - "calloop", - "cfg_aliases 0.2.1", - "concurrent-queue", - "core-foundation 0.9.4", - "core-graphics 0.23.2", - "cursor-icon", - "dpi", - "js-sys", - "libc", - "memmap2", - "ndk", - "objc2", - "objc2-app-kit", - "objc2-foundation", - "objc2-ui-kit", - "orbclient", - "percent-encoding", - "pin-project", - "raw-window-handle 0.6.2", - "redox_syscall 0.4.1", - "rustix", - "sctk-adwaita", - "smithay-client-toolkit", - "smol_str", - "tracing", - "unicode-segmentation", - "wasm-bindgen", - "wasm-bindgen-futures", - "wayland-backend", - "wayland-client", - "wayland-protocols", - "wayland-protocols-plasma", - "web-sys", - "web-time", - "windows-sys 0.52.0", - "x11-dl", - "x11rb", - "xkbcommon-dl", -] - -[[package]] -name = "winnow" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] - -[[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 = "x11rb" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" -dependencies = [ - "as-raw-xcb-connection", - "gethostname", - "libc", - "libloading 0.8.5", - "once_cell", - "rustix", - "x11rb-protocol", -] - -[[package]] -name = "x11rb-protocol" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" - -[[package]] -name = "xcursor" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61" - -[[package]] -name = "xdg-home" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec1cdab258fb55c0da61328dc52c8764709b249011b2cad0454c72f0bf10a1f6" -dependencies = [ - "libc", - "windows-sys 0.59.0", -] - -[[package]] -name = "xkbcommon-dl" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" -dependencies = [ - "bitflags 2.6.0", - "dlib", - "log", - "once_cell", - "xkeysym", -] - -[[package]] -name = "xkeysym" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" - -[[package]] -name = "xml-rs" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af310deaae937e48a26602b730250b4949e125f468f11e6990be3e5304ddd96f" - -[[package]] -name = "yaml-rust" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85" -dependencies = [ - "linked-hash-map", -] - -[[package]] -name = "yazi" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" - -[[package]] -name = "zbus" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" -dependencies = [ - "async-broadcast", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-process", - "async-recursion", - "async-task", - "async-trait", - "blocking", - "enumflags2", - "event-listener", - "futures-core", - "futures-sink", - "futures-util", - "hex", - "nix", - "ordered-stream", - "rand", - "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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.87", - "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 = "zeno" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd15f8e0dbb966fd9245e7498c7e9e5055d9e5c8b676b95bd67091cd11a1e697" - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] - -[[package]] -name = "zvariant" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" -dependencies = [ - "endi", - "enumflags2", - "serde", - "static_assertions", - "zvariant_derive", -] - -[[package]] -name = "zvariant_derive" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.87", - "zvariant_utils", -] - -[[package]] -name = "zvariant_utils" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.87", -] diff --git a/Cargo.toml b/Cargo.toml deleted file mode 100644 index bf9ff29..0000000 --- a/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "Apographe" -version = "0.1.0" -edition = "2021" - -[dependencies] -iced = {version = "0.13", features = ["highlighter", "tokio", "debug"]} -tokio = {version = "1.41", features = ["fs"]} - -rfd = "0.13" diff --git a/flake.lock b/flake.lock deleted file mode 100644 index 57befc2..0000000 --- a/flake.lock +++ /dev/null @@ -1,112 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixgl": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1713543440, - "narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=", - "owner": "guibou", - "repo": "nixGL", - "rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a", - "type": "github" - }, - "original": { - "owner": "guibou", - "repo": "nixGL", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1660551188, - "narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1731239293, - "narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "9256f7c71a195ebe7a218043d9f93390d49e6884", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { - "locked": { - "lastModified": 1728538411, - "narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "nixgl": "nixgl", - "nixpkgs": "nixpkgs_2", - "rust-overlay": "rust-overlay" - } - }, - "rust-overlay": { - "inputs": { - "nixpkgs": "nixpkgs_3" - }, - "locked": { - "lastModified": 1731292155, - "narHash": "sha256-fYVoUUtSadbOrH0z0epVQDsStBDS/S/fAK//0ECQAAI=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "7c4cd99ed7604b79e8cb721099ac99c66f656b3a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index e87dc69..0000000 --- a/flake.nix +++ /dev/null @@ -1,210 +0,0 @@ -{ - description = "Rust dev shell for Hertog's bevy project (YAY!)"; - - # Flake inputs - inputs = { - # nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.2305.491812.tar.gz"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; - - rust-overlay.url = "github:oxalica/rust-overlay"; # A helper for Rust + Nix - nixgl.url = "github:guibou/nixGL"; # Allows you to run OpenGL and or Vulkan applications in a nix shell - }; - - # Flake outputs - outputs = { self, nixpkgs, rust-overlay, nixgl, ... }: - let - # Overlays enable you to customize the Nixpkgs attribute set - overlays = [ - # Makes a `rust-bin` attribute available in Nixpkgs - (import rust-overlay) - nixgl.overlay - # Provides a `rustToolchain` attribute for Nixpkgs that we can use to - # create a Rust environment - (self: super: { - rustToolchain = super.rust-bin.stable.latest.default; - }) - ]; - - # Systems supported - allSystems = [ - "x86_64-linux" # 64-bit Intel/AMD Linux - "aarch64-linux" # 64-bit ARM Linux - "x86_64-darwin" # 64-bit Intel macOS - "aarch64-darwin" # 64-bit ARM macOS - ]; - - # Helper to provide system-specific attributes - forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { - pkgs = import nixpkgs { inherit overlays system; }; - }); - in - { - # Development environment output - devShells = forAllSystems ({ pkgs }: { - default = pkgs.mkShell { - # The Nix packages provided in the environment - packages = (with pkgs; [ - # Bevy - pkg-config - alsa-lib - vulkan-tools - vulkan-headers - vulkan-loader - vulkan-validation-layers - udev - clang - lld - mold - # If using an intel GPU - pkgs.nixgl.nixVulkanIntel - # If on x11 - xorg.libX11 - xorg.libX11 - xorg.libXcursor - xorg.libXi - xorg.libXrandr - # If on wayland - libxkbcommon - wayland - # Rust - rustup - rustToolchain - # Dev packages - helix - zellij - ]) ++ pkgs.lib.optionals pkgs.stdenv.isDarwin (with pkgs; [ libiconv ]); - shellHook = '' - # Required - export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.lib.makeLibraryPath [ - pkgs.alsaLib - pkgs.udev - pkgs.vulkan-loader - pkgs.libxkbcommon - ]}" - # Aliases and other fluff/ease of use - alias runIntel="nixVulkanIntel cargo run" - echo "Welcome to nix-hell uh nix-shell!" - ''; - }; - }); - }; -} - -# { -# description = "Flake for Orthros-BE"; - -# # Flake inputs -# inputs = { -# nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; -# rust-overlay.url = "github:oxalica/rust-overlay"; # A helper for Rust + Nix -# nixgl.url = "github:guibou/nixGL"; # Allows you to run OpenGL and or Vulkan applications in a nix shell -# }; - -# # Flake outputs -# outputs = { self, nixpkgs, rust-overlay, nixgl, ... }: -# let -# # Overlays enable you to customize the Nixpkgs attribute set -# overlays = [ -# # Makes a `rust-bin` attribute available in Nixpkgs -# (import rust-overlay) -# nixgl.overlay -# # Provides a `rustToolchain` attribute for Nixpkgs that we can use to -# # create a Rust environment -# (self: super: { -# rustToolchain = super.rust-bin.nightly.latest.default; -# }) -# ]; - -# # Systems supported -# allSystems = [ -# "x86_64-linux" # 64-bit Intel/AMD Linux -# "aarch64-linux" # 64-bit ARM Linux -# "x86_64-darwin" # 64-bit Intel macOS -# "aarch64-darwin" # 64-bit ARM macOS -# ]; - -# # Helper to provide system-specific attributes -# forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f { -# pkgs = import nixpkgs { inherit overlays system; }; -# }); -# in -# { -# # Development environment output -# devShells = forAllSystems ({ pkgs }: { -# default = pkgs.mkShell { -# # The Nix packages provided in the environment -# packages = (with pkgs; [ -# # Bevy -# pkg-config -# alsa-lib -# vulkan-tools -# vulkan-headers -# vulkan-loader -# vulkan-validation-layers -# udev -# clang -# lld -# # If using an intel GPU -# pkgs.nixgl.nixVulkanIntel -# # If on x11 -# xorg.libX11 -# xorg.libXcursor -# xorg.libXi -# xorg.libXrandr -# # If on wayland -# libxkbcommon -# wayland -# # Rust -# rustup -# rustToolchain -# ]) ++ pkgs.lib.optionals pkgs.stdenv.isDarwin (with pkgs; [ libiconv ]); -# buildInputs = [ -# pkgs.udev -# pkgs.alsa-lib -# pkgs.vulkan-loader -# pkgs.xorg.libX11 -# pkgs.xorglibXcursor -# pkgs.xorg.LibXi -# pkgs.xorg.libXrandr -# pkgs.libxkbcommon -# pkgs.wayland -# ]; -# LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs; -# # shellHook = '' -# # Required -# # export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${pkgs.lib.makeLibraryPath [ -# # pkgs.alsaLib -# # pkgs.udev -# # pkgs.vulkan-loader -# # pkgs.libxkbcommon -# # pkgs.libllvm -# # pkgs.libdrm -# # pkgs.libelf -# # pkgs.elfutils -# # pkgs.xorg.libxcb -# # pkgs.zstd -# # # If using an intel GPU -# # pkgs.nixgl.nixVulkanIntel -# # pkgs.amdvlk -# # # If on x11 -# # pkgs.xorg.libX11 -# # pkgs.xorg.libXcursor -# # pkgs.xorg.libXi -# # pkgs.xorg.libXrandr -# # pkgs.xorg.libxshmfence -# # pkgs.amdvlk -# # pkgs.xorg.xcbutilkeysyms -# # pkgs.vulkan-tools -# # pkgs.vulkan-headers -# # pkgs.vulkan-loader -# # pkgs.vulkan-validation-layers -# # pkgs.lld -# # ] -# # }" -# # Aliases and other fluff/ease of use -# # alias runIntel="nixVulkanIntel cargo run" -# # ''; -# }; -# }); -# }; -# } diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore new file mode 100644 index 0000000..b21bd68 --- /dev/null +++ b/src-tauri/.gitignore @@ -0,0 +1,7 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + +# Generated by Tauri +# will have schema files for capabilities auto-completion +/gen/schemas diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..05284ec --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,25 @@ +[package] +name = "apographe" +version = "0.1.0" +description = "A Tauri App" +authors = ["you"] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[lib] +# The `_lib` suffix may seem redundant but it is necessary +# to make the lib name unique and wouldn't conflict with the bin name. +# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519 +name = "apographe_lib" +crate-type = ["staticlib", "cdylib", "rlib"] + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +tauri = { version = "2", features = [] } +tauri-plugin-shell = "2" +serde = { version = "1", features = ["derive"] } +serde_json = "1" + diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json new file mode 100644 index 0000000..3bb4cc4 --- /dev/null +++ b/src-tauri/capabilities/default.json @@ -0,0 +1,10 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "default", + "description": "Capability for the main window", + "windows": ["main"], + "permissions": [ + "core:default", + "shell:allow-open" + ] +} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..6be5e50e9b9ae84d9e2ee433f32ef446495eaf3b GIT binary patch literal 3512 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�_wChW*RH@@SB1S6 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..a437dd51741e9e56e14b5d6024493cb2abfd5259 GIT binary patch literal 974 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..624c7bfba0498dcebbc8a020fe06f08cfff2384a GIT binary patch literal 3966 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 or_}23-v0Z)JIRzopr08keR+W-In literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..621970023096ed9f494ba18ace15421a45cd65fa GIT binary patch literal 903 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 qoz73(zvqiyW6{-wf}io9@Ki2t6F?X zuSijo?2+SnOFTA)dquQ}vA8E`?&a0LN=rlcW-%O-Nam3im?sgUXYuD@Q`7W@Q!h=n zH!$%t?Km_wiq)+_UGY%&e5R$_7&0Y0Ja1fNIuiV$*;ei8!3GISL96=BNB_V7a9#5R z*OA4JoV`6B8LcvMn^>VPSJGOR?uT-E z|F>~#8k$TzA-{pEN@!1k)q~dX56fRw=FG8q|B1_N$9>Z?afhDXGF)=tgUh}B42XMHr(UiNY3!j2NLf)y`sKAQVS(r7`kjsK5q#;S0Q zYcZZu>k}kgc1y$ur3p0^TxXudTD|vj<7t(j1LWY zGWM=lUVeMSjR*+=pOo(SfL`m58V=7}YvXQ(`6oZoHoZJ!;#0xpx8{86y6kqmuZAH^ zk!$xnU8&MPOC__n%H3SpapKYZyKK@djVcGj9>2Y_t1K~a+x>pi>qpdm0(;MO3tjqO zT(c;+B>UD+R_5O)-niD9*FQF&d4%zQiQtMw)q1DIYgH6tQvBY|zArGFeFZ1AF;Vc_AM%&^i*~p07Oj>LmzI`( zHX)APZ%>}TJYOs>Hj|xQ;o`~5=XHJ_Z>XF9;XqS}-654SjuS8Q9^aq$DRJ*UllFg`Y_HO?ym*SEoI^poybqx}V46h?r_jlwoe7SZf zr+4w|)|(-whZHzWWA>a%(VedHbgkG&!-(GPn*YyfajD*Zo`37%&pe%Tp$g11TpDXv z+ItGUQSIFt)iU8ug!kHgU*=xinXV_z{`2;?`86`9KlRs}&polKljE-v7suX-hOMS7 zoDa8~2YF6Rt_o7&K0W2^z2hfO7TzdZ6`E``IcVnA8;#RiT4I`VJs7PgMsTeeY*;{!0&Y>SPnEY}*MR6ja-^ zORaazobyCWu-Cdh!zWE@=iyc6%AAc;Ipn$5e=lEfH&Szj0CV!8EcUm_hi~ux8ltT; z?@m;j(8UljfmKm!4pz9lQ=ganozq2Za!bS~F~=r zG4tJ1DsH+euWm0~qB5PubKaz%@~>(Y6}zeegqmEGz8?Ll{BK3ccF#$t@9))EK2`qi ziwQ4+uUIZIm0()=$z$HF_rE@|$g^)ebLRLlw^^1)_|x>I)qibj;Oh}h^IEd+`mEhQ zLLLQFWxQBdaDSrwlXJUkp9gZDJ{r@YTD#I`>#;*Mf^9C#xUFI>-Z4k_O-|0RWhz;7 z-l+52XMOF(92aNiOa0VX`?2?A-6JL8cpvxg!tvYOr>3**G7_EmBDqgr<;RYc78mtx zN4|YMwA!a$+2>F|`TqVEj_Vc6mK4M|1}yiV`qsTn+Wxn9tt4}(!WUU3(MdvAS1WvY oH}8M(w|dX1hQ}nF`|BAQ4i+&Pp7`;efq{X+)78&qol`;+00}R literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..12a5bcee268851fdab744ec4a31f75d3d008e031 GIT binary patch literal 98451 zcmc~y&MRhMY?z#xY+%X2*wEb>;OEZECB?3|}g){9<5i z@bYwV45^s&<}ddho$ye#p7*g|_dTB_?BT(rGSS<~Lq#Y=h)F4Hhs7Ze5lKeTsTV&s zb(}N*%sap5@QQl3e z@4FjkK1crEcmBfua+|)>M*rR}od2<6zJ0B|`}M8v+n=s`Sy(20+=Icb;eM%&`rc61 zw!)md`IU?2$VdA|HH!4GJUk+$%xJ;rc0DUe`}jiV_G{nY+}zCgJ#qJ4w*H59d#B#p z{QBpe`#0Xazx`D$%6O^&b6g-*a8(c=n4*<-P2-=DW`+R`8bBUH<#B?#tKN zzAP`w^3F+c9`s;1w$aJqeC&bG4S&~6eh!M!$JQ!MhOZ|qVtYLCo?NmDgSOSKPoHa# zuUQaxz4XhjMH*%=wmr6dbAQ|X#K^k&k3UvUdu!c)KQsH-n&a7VO$I`ZSLKx%BQ_fH zKlsl0JJLZWj#(vP^~nPkZM?}oE4QvYc7B@_bA0;jkGJfOI0&u3RGIZ>>$K_~mIT&g ziw^GNo>P4O|Ec=AC(Uo)YCf+$&HVQ5xl41{&(EzoHP86LKhM|S=N#SpZ_3>7b1c97 zejn0)M(6n3C7<4{x4yUks@&%L1{!5;aq;(O#?&0sSo}M_srK9Xx6J1+M*oWWa?yI; zdls48kld0Tt-0@PKHq+5SC_XbP&PE`{w|&C38pLeRqXk9ZQ|mu(_d_BZeOkc_;|T| z*0-H6w=Fh5yzPAb+k5f#QY{-OlG;{OlH&FopTP|Mxrl zLqgYI-!^|@_5D@X@1NS6f3q+rjj@jN#K&xl56c<&`*-edZ;V%Bk~xuFFn!zO>xD-c zC$sM9oz(HHIPCKI@N@QtlfGX(B|rbAZTbBx|2hxJPuaDXzyIUsI|tT3jLVn*{atg} z@jc6q$5iZ_QMYe#=torry=egqjX&P(m)&>j-oFRk>vneuv34?e-2Uyx<)&mH)KJL7 z@^4*j8sndrG8-RHum3kO{qFmw<2DzY{_L|o+IsX{t@zxKd!xCtggQG3`n=h4__PgdX=W~8gRhoEvzB1Fd zYjXD$RT?IBd?{BsesWTSrlZFJX$O0m{!KUi8FHr?1Ozq4JI8DPxy$tT-82!E{=eTX ztuDH+UbT;nqe+#0ibTPK^SQ6P1bS2wR2Uw=VEAjd$d2oe$cK-~yH{;b_}^gsDnIJ> z#@~v&%ir(P_%8XY;dek%z-rTfJ0&>|2rQWT@7n|q265I29tUh#7I5Eq?kilf_MWBF z1ZB=UWxry=Pt3QQro?{d^OrilJ;qepS z~e+yZS=hVutEzKQyJ-djv)!Sdrx%FI((o`n6qQ)f9rU8TWSSV4&4edl7P zz!ryJHf4NPL3{7JaoK&kSsnME`Tyfx--}ohrkyz8!RE$PaHy$H@5=esAB-;wJ^q)+ zfBTca^MB@U`Ret-@4hlypZc|BCqrf6>fZ}9n^-fLz8rWT!nN>^;>Cu?lAIG5s$STc zgdWH}oyk?SvQcBa*@=w{T@=Dy4f-ZBOhW2Gw|#^ze6LNbydT+dKp^lzfKq{tGUH~U#z@Axu!9R(e$`%PonrGO>`tuG zL5U3&n-oHYzR1>o+wP*k`PcuTVJDlyf~8Yg65~1NEZt+jT=#_n+sRk*f9EO)sLW!R zqr{-=xMlsyzvf1YMjvwRzs|fK#MJQqc?l#~wlV*SY>;>Q!(V&g-u#%`)vq4^X1XL0 zFiZT6_||;BKk15$G7rQe8RXoUG=54I?J0i0mqW>b`^0mX+8;mdRyOZTIuvv@a>I0% zrXa5e72GV13@Q!1@1B=1I>vOwO`gEW^`bWHzwI|pg?ZNg9F?3C8U2--HcaT`l3Dp> zI-lH~ivO$cZ~wM?=L(1E2?a9Bj5o|w5;#8We`l)yBfo6x`fK0jTw^-rmd|9sGDU2u z=!1E)TUoAD%~fUY_F#YV%|31-!^_(Kc7qN4o-dTYP2R(@WJA6D#syCV8@78ct>5|m z$-QjjPKOY+6O0vkPgC_vS1npG}Z34_*Y!wUc$;@w9sM28l?(?Ju*9nc4wX8*%&2#t^ z!s|39a?TQ(pv6>_qTtT*OQ6Bkm21~3mQ4xs10T4bFK_(QaMhl*Zk>t135Mx%9Or+( zf2+i#`0V1HZA(^o^6&Zoxco0)h+u(B!z6~4J8yQFDKkcJIvr@N=lk(`>*Q*!pT8$J zgbK4gTg1?<#L%t8RC}3mbIrc99UNz7$-UUTXnMom?0CKn#Y-E698WOX`-7VWL`Jev;Y(rEp@fd|1V|ld@e34E3lPOsNuQW zIrjzmFXgnDpK!Q^D6N<>LvBI6c-UXT$izjGjRHSvGqV~lb9@ox>U&`<)UcGHe#d!6 zd$#&Duk2qd^4FhS_x0Dmw=MQPEFwGqnm4lKXx-4?V3nY8L(fUZ!vD+D3Td{p(VQ3D zUrc{(ePFM@xZ#7akFie{^v^$FQ_J$9x_CXWN&^?u#2fmZJYP)NUvd36{>9+K5EBuf z8R&dqC%f9MhMuK{e(Wp{=D$1s_gMU&R~P?(Ue^Dn##W6f_F}_CmL8Ub%menz-z`6o zfA`nEcbw;cAO8K$woH)ULb};8OHzsP_~P;d7cvf{O>8(@!29M`O}83T?JhR2^Mws} zLpd*`Tf3|5+QsShL_u73!oBK?s!ckQ58T#i3aGNiCd?ORD@t+5(r}sj@5^SP567bz z-sLyxDcI_rt-igg@%6rn7ymDOI%s#XL9o+}X@kiF{k6Xo@9cm5rQOb+on`Y9rXm#w zrsa{I2Nt=sY~Eupz$m%GTwlt-ztth$m%)W;S|f|c?-EnyMJ|m;cT3*l;%6;?xz&mOv^|2WWhCY$8LRHT%C~Gd{hK`~LsWp}x!e|NWHVC}I4yX$kYTCYhA~@5HtU zJ>zKDk|aNgZ$|5aoNX2bVh`SHf11qU^sY1}#qrepa=|7&ql0_DKT?lfws%8_Y(rzD z%?#OXha_IieD3sOz9)OZc3nZEoLdUFH#aDEZOqRI3rSo6<_{so5p$R6+m#tZHt2l3DJz!Tj z7s>N{6`RF_^PxOnUg}PWK6_qC?#S-~7l%y}+ZNV&pZgWTQT$-OFYlL?QZE*ZPdL%| zCF1KBZihpTVZsV7%q!vbBU_0RLR?_Tfw z7r1_++7Cq)1$TzFNerDlI##j;zYhl8{c^SXif{bR%eMPIe_OxvHuLuT^Y(l@&}hB= z>Ca8eEllD}GT!L)T191kG|bt|yzQ{vhT7e|zvl^s^S+sV&fs_1>z8Z8s>`RpdK0|t zd%6GfdB)%5V&j9Yt6TqDE||WG-N?6d$E1TE5+_=|XYw;v%wKWdfyHi@YU>HN8@4Jc z=fk)>G#Nd`4JI{AWYA&xVQK$A=0yG5FYWgGrG0*{-=oX9Vp+qviH)wD%ZS?RioG*@GdoU|`PRBe z_kC}FKWiVJ_2c*3Z>@6c56zqXDS21EMO*0~3#)zqb~5exv;6yqkMn%|mu?N(c>K(} zaPQ?U!OO2dG@laJoxk(`-Q4Y~FWl;=-!0I$xy0}3`IC9ZN`ER&m@+QdS$>L7uB2+= zyS@3owm(Xi>e;2o&MkVSSIRblViRun8=2 zXHw8PE7-8^{Fn9Dwq$^IpNcd?Lfj>v~%vvsiy_sc)MH;$ZsS$5T~-}%$K z&wWo5xgqhSktM;Xz=mCbiR<4Kfg{gdWF6$?quB3pFvtjMe41Q8O@QNhyUU59=ghYG zDnS=q1%3%NCH`K%@6W~Lq^;fGZ`WS(bLZLja*nAx*SX3ECQ%#W-lQCiTxm1&?JGwI zEf$T=1#V7?sta~`milow*s?UR{5d~8=Ci95uS9RN8`FlDDh$o`>)!rvQ~!TO`pU0; zzfULZnPK(utQgy&=R2Q2Nc{S+|Naw(|Ev1zBW0~F<+JLP7DyW%ES_vI?~b^k=Xa+6 zlHvdE*7vj5$>=`tIJBr?o*ToC=S3G8B9^B2PYmh0c6znlzqz~XUKiw*>@l}%w@|u} ze{75Pt%c9O{Ne3n@L~KBIaxmcP4Pp^Y9>XC|BAn@829==WiaJ?wVKo8p8aR()+r2I z#EQ9s1t_Hy`?o1m39vpv=@BHun|2y(kGju;Pe|XRK=jSCxXAg&X zU51XU>-PTB)>~5lx72(^e{Eew-oEvb+;dreuVG4`w;`SJ-o-7hrh#&xb{8xs?2e=*J=qbF>qqCoW@ou~YS*EX%LjV3wGW zoF8A0XuR3^cv|3>`|r2ReU-?6XQAHi0xu4|JLW%bl-KV2V%{;E$2E%K*`5P-OcHN) ziZFX-QCF*xM-o?mOfEbeqrB>kEXp&kXmtZZB)lt>&P_?EY@2b8O+$<5#Qg zKCIMOYuCjJr;~-~8zL z`Q_iLnHV{47v~mO@4BuUIR7R4%((oUbN0$+yV{kyG{$);moAnh%t{% zb1eCy%BcLIpCv)>!}6s4_P-84|9?aCdHwC~!z_8H>q{)f1!o-9Nz>qDxUl`<-~PDT ztp=mR3|`ea4e`I+WwV^-Eq1dtN=~Xj#I!phe-%ul+xl zu9uV6W^rROu>axRWY72K``rJse1EQA@akax?>eEuHI!Xu_j9xDx9U&twp-dKGt*`A z{WZygKhN5!EST$1-L;jCp;&}hd2!PDWrM?-MU;`_-R`nK-h zYD^h+FVf$`sw@2NeNFsS`*N$3`jh{kUn=&&bQ1G_$NkCfxwfpeeE}Cf&glNO^8NlR zuUUU>QJW^kVQ9-N#N@PyAx1m#mPyCgE`^JXw8V+Xn@3UqdV$tPfXk z{q?%g`fvR5;pVjuxnCYxE53eNe9FH0r*D5#RG)ib%@Y%c{n}~U^m1}e)bH}Qv@QSe zs(!OFqsWilL5$A941$~tN*7!iRG1vkv#w|7c&?+!IESyn+W(NH=mCpj-Il4V1rNq4 zaZS=NoBsLzEk8zE#pqof9!zY}=PpfGX3-IRVRe6MQYY*7z259jz0DgE1$r4C>|;{k z`SVQv=N0eeyJe*>Gb%H_aAo@Nc+P|OpVICAcA2(S7K6flwkuNuN5X^um$t^g;N4*m z`Bm`m*W5#gIvI-t8OmC3Du>Tut=S^mQhP<5f&1U2(Ep1rF}!&`(fj|48*e%o)H&Wf zX20;P`l8v=Bqs$y1}BjvdukrqI|wjyo%;GBCh^2Uf#L;3lzF8_FeysDA4yZ729GJl;@ZqHk z+ds`4{@>o+-JRyoRGqy&KPP7j!!MCPhmX45^ETOCpq?sdn_js#je~jn+J^^RAMvhZ zJyiJmpYtpI`#R| zAKbdA_Ga-#_Dv}V{!QDJ;dsJjf2-p2oXxikpTrz`KG}_3LY}$m(Y1fdx6fazxvaJ& z->3SX^i?6I?O|7CpYt*XIKPuVI)&9Kw?^eacE8~n+qTO0hvd(HyVW>-`*(i1bywK! zi(U3UUhIBl-(0V`#n1RY&1|*guZ{aNd+XW>4`=CKkhxN0eoN9}p@zc_-scfI94#*n z?DdQKJuSWVdF?9uio@aSXYG6cMKktx<(+%Ce%993+WIUIV`kv?bCI!m7|ig)(DWzc zhyT~!|K4YBUm82V_4`|C&Iv7zhi5-JF|p(8|2o%Y@1J+S)~u`1K3z6ZdqD(S#EY7WU90!>-dwJ;e1BYMdvpaa-+yfq@uJ>{k#-xj#MU_b>MMVfq!vG+*@uU%%192dJE;PhkoW$`Bx)HeEhseI2vTlMwg=^q>R ze^q&~>U({_-hcD$R=vBizy3hWC3zFohWEk$Tt3gYY&fsEHC^wwbP(qQ^>=y?-@cA3d2|HhVOn-oD;PeI~gL5ANc;~wCwr1Yx;E$nPXKRxcIWpDbQ@#_if+h z?ux&u_21jq-`M_sNq*UR&ABcAmzFU2a$YcTs9q$N^kTlh@Rs)*>;E%;y?ZJ#^)304D{<1GfYjw2Q%-Hhy~)(46Olm z4BT=t+;i2KxYjNbac(?UJ%_8qE@~2c#`fp~{1L2)_54{AxEkv3m_FMk?)uE;;o<)k zvl}fNmxYPEnf{8Y$M9nHw)oESuf}JJ=l{QC_;p>sd?a@!W6eI}>&*Yony50{`3h9Z z{`lT(x?kc-LItv+wvUhUAjnDm*emyc3idW_&YMrN!i> z*_X&gqIHx6kZNe{JH*u=@XtnAWRxiZiaRD3cH8 zT+pR5)!>WNgCN#M%~U1ki}z-qHH$H}ouzIelr=zAU}z)AM8HHJ?3S zxz8^tx-)fyGVj5^ZFjWh-(?q^dqP_wS-xhA*1nQ&!RspDe7O-Wz&YU#lmC`g4Z?b? z2cG`b{PF+Y>3RQkcgubIaowZAo}Y8Zah(_ElwH4mn*KjibLH>ivqislExhO%IO~aq zr9=|r9lx5Hp5c=xtv{3gTA1tItccSwv1Q>mqt2PAnmZ=zHase2>^9;DR&1^rJAs%#s~S^pi>T;}sqUUl=N^kWY`Ph}47<0)Li zEy%!i?DHgsXx$HcmcQ|=<~6v-c5}b_P64h^`77)WyS5&#Vwv;*uYCPM4<-(|xf%=j zv;4XKy<>6e`v3pKW&1B*XESm4+54AQfe6jI%_rtkK0{=ea^_VwD3 zzu&y$WAFTWIy>UQ@`bfBk603pCi<=NU%v2H<_{kB`=@m=w%41Ay6pHKA6?_OkEXK}0d@Soa(g)`G$YrNsT%6PUkz-8h6 zTkq%pVf^CA)6!HL9J}Ce`_(%eeHhgJZa>gs^lj;C6G%ThC;p`Cp~n4r%CQA~(jo_z zy=?lCmA#&q!OL&w{J8eF{nJ}s7h1@MduHe^VS2oxLC%3AXX}C8_Jv1eCwHH_d$lf2 zIQ&9}__cP+3oYlv9=~sze|Tl@hP@x=uV2g3p~VvNTDoEX!FO|iN$>j|?Z5M*{=bje z^EXdlA0o*RnyAjCmsiciaDcy3R^#j82mP+~mnX#joV@>=cmB=Iar3US{@6T;p<2*u z7DFe?pO^9bBlkWt%@;5JJ4^HXV+T8*4;f4EJ`26=dH%iRfw@h#v47ixG}Qi_pURNM z`!Hs*fSBttw{>s)s~225HKB9Y`BkSn7DQw){7svbHJj<>kF9yFU7uE8JmPxjo?xMY z;K2r&T;?BYPtq5M?#nb~njz4UkhAL~gH3v)+^2sF|K$H_as2uA$)9x#S^6gUE)@>C z^`x-d;OFWEulf$|JNsM6p|pDY)^}2I&lwjnGKo%)Q4(TXZ~kJ=g&#ILQ4=zhxid8t zmQP$6yUOi&6xY&bKbHLr>$*k$aCTmr!LvQJ%I)LRYKae~Q|`DP-(;)iTh08~K3-de zXT9?S`)rd3lg(v{Rh#dB+Hm*PlDlJ;O4VLp^!J&@5&3z{NdkZWvHq;t$T=Y> z*F<6Et~vk8KkfT^e16TZnfVK<7^GM-H6*>wfmPe8o@q z`UU=43>%WI-C6uPL>S_J-eyd*KWqBtK>gpB_FtQy$N$)oU)}jpyTUl5^?v#OA57<5 zncm&1-~8+B^gmO7otmEaZFQM!t6=7dd9(gKFp&3Ue!$AbyYX;wPM6=&pWZRN4D$u& zUElDCqyF&qJJa8uy6g93gVXA{68<{_@^?FVhQ|l)xaBT5X=(zCO6CtaHUG&!Zq2^N zu|mU0yJpiO_cXJQ$wxJ|T;89#Utf>&4bN9@@85c_t2llJU$w70y<`{9{KKVossS#~ zXZG!Dx8_+@+kDN3{hW45O=%A6<3%dRT0S3Y5!k92A1Abb>-ttvgS~b;JVK{1y)M|o zq`ctUZswP{y4km;$oNhzo#Cr_?t*uFfbE?}84f@G+!N@CJD&SWbDdGcil!+{FD6T6 z1T$^j^b4}^=p$hFHd{A-bqEli+#fT&c!UgAsg1R99YTVA^IlbGXDlO$NDed zx5uu1qiR0)|KDoWl?*br_tq`GaW3BP)w}C{8E0SJzqdWjzT|#Z)u9ld2`Nt7e5=@k z)XqHIrrYw?-p20VzwImI|HbQvZ?Av*Eho12%$c9ZWBICgtezEg_-Me!B6~B2Mc?0k zp1evl!SrI|4`b(-;{R+)F0~tY-v!Gz$kppv&3~bF|8MYG(frMqw3Yhn z>v`20eD7bMw6VZ1;!=-2$2#@nYz`)mm~My2gbFCj%z0&hc-JwNVvuYDk$>=@4@$$6lwp!S|NpA>)ngNrIWH75oHn&ODah=_^k7=?wa4-7 zw#+3?K1I(QzF03=a>PY3B7^(1pp@nv>5#`v63%<=x&LkZbN)rf{sot=tJUf>^31GJ zRboo~zbenZ`01K?T|2ZC%3m3F%y0R?Eq5SMdIFP|zz4Hm^JFf1cu0l5uTGvHca_mg z^?6gR?K&flBZ@AWT!woEI@mAUUZ`E?^!&1no586CUY;e<3KJJwKi_D*VDJ0WjE}S3 zmOt06^{IaQ+RR6eG2P^(^sY#|4*6kHDwIt>D%FF&weF#iNmS0Qbvr+53G$`eP8TI zux`T@r5!(cxm+|JU6pg;C~#@mb>b+SrR%0eoeXk04IjC9*6Jl#zX^ZJrzaeFKtb8> zfltVR*8i)ms_rdwmf<|$UHVj+se;pg!rrjVkcM?{GSAKbcR1hkHskG$VaxV&*73|| zW-fPmv&4}jzT*C~*hBB7Z5RzWom~{H&hc1kpE%jOw&Cz|;}hFvnF%hEVsH)?-G1f&=TqxHsxT~f)YLq3 zq{ZdJhwsfCOn?5lar-u3`2GHFq|LX-^|cp^b=ep=CoEzBtvk6W`YV5(cW@M&hx30+ zp#!}q&s=Q$abf?f(DmI1*jm0DB)lzcajR<1<8W>stZA6F+~fnj-D-;M_!}3YlE(D24eUnlm0BkMYv7D>bXm8^7E9`R8QM zt=A_teA~1Bx@MTi3?rciRoPnS|MovF-T%{BReL;g=Xa@Dd=oev`&c4A{6F#A?nINa z8skp0T@{Cp2pgUKe)!)qzr)XKZ_P`Zuw0b!L&WsT+{`J5ONBSt6b2tykoe?;d>m7~ z(5vN&wKcaZm?{n?y=y3VvPe0H`>^HThsP7XE$%XT-akS55|f~j_c}YF3C8*7-%9_} z5#uyiKk=OFyE~6#el9AW9`WC+_K&kw!)2C&{rorIIsKa#!jR$KAa~AJSd!gS%UeN& zS22^b`h}>2clu5b*1hi}H>>P<^_-{nfh9w^kBX8(YX&o0f^?OTtO_>-{MQ@Be$zUw31tJC0Z2&f>!-zozc@_PYCx_S=J|g`K(8epd5^cZ);R#K!+MvXvLL1&_q4GTqY4 z6!8hw3|_PG_l57?N>V%K?`+wB!*HF(rib@jSe|`)r*g|dx5=|JVFT;5mc~gR0xDz< z{rxcKKc4_&$GNS$em=JY6(6?m0)M*~|7~~~A}`=ze^{ZYp3j}>!%p!7QCE#J9ajH& za>w|o?(62~)GVG}JG=6=dV3cjN+*+nnf zL-Mp^{!9F^e10ITaDfye|72L>pp(Ab1f3CqRz>H!F1+#7TI~PM$IO5OR`0#6&|JM!M4ojp=40rU7yY!*{^WUd6 z^%ln$_A_>hID|CBt?p!Juu?zdwa-j9K$vmCl;i1_S=DT}nP!QJG)#}2>Heywv4BUi z{k`R?x_AEk+f*79znf-nzB6ft$`k$A_7}U_PchtJZ)sBCII@zVNA|YppY5`Y52pNQ z`1kh7($ndG&TKw!`IM3WPkC*_-for4^lu#!oY>5kpb&stG`!(}Ec@L&l3bYf|WQc+{r-y6#ny||yA zP*!bv@jmFI3g7?TCXNdq=bn7OI(SmUYNmjtjMcS9zb3Gi1n!u>;_FVcgEAVyzKu0K zPcQslWXd>=<NncTSZt|2bPd^>J_$o&9V|Bu%>!u!0JxcyMcrh;5Fkz~>#q3Z% zg_rHK`lPH6D_b>`9L`O=m9dkPZ-QuA>-n8O3vW-#Ze)yMxVlClpHW$mt!V##AsKqZz$gK$>B!}+m)6{qi;f#8iN4kS zbGYR|CNtO7MVp>weKESo_(x))wf3*zHShFm`Ky!bm1A8h>-L>B)_f_QVdZ-Mx{FMN zNKIFJSp1A_mVsO*tbz|E_uc7VDd5r4EF<_~b>#+$wh#6Ub}sx!vX8w8x!T_#ef#mV zAQr)i0aiEtjy5e|zoDaaU}D3PH~h_eJZ)`+RwpM3`)~?eWxBC3eYxKvh7I<;OgYOv z4s26o_|pE+%QE3>zvJ9V40)~mze6*u--o{2gh%PTr|tu zdQNlc&UruCwqElsVaO0-UzAX_W>tY!gYoZ|rA%TykM6hsFZ90Q^3qqm#;-A7edns( zdjze0o38VQpkIZ6XJ8eVB!Prldg#v74-;*8~lKeGA1n;i_56T;qWSDf6J{R}W}5Is$Mm6ChxeZC) zyC!+=JMFeLzrM~&^H)cMW|srkqAw0b3|1bOdTQ@6eqlBYSj!*~&g8O^A@3yL6927F z7!LjKWtN+l&^<%q!uLlK%&g^e*c_gV_6bB3CM1QWd^+CW&G4m5>B*~ifBzQT)d)%J zVwm%brRBHD`SU-SCj3?q=&>_SPr0(#P{6M?@WW#5|1BI}K5jg4$bl_D+?Q=l;|ZAwF04i?dAWW)eC_wYS;HYb@LP|LPWN ze+3i!x!P0zKJ2U5En;|}{`ocL@>SpeU5#%GKG*trYR+8kM!U1Ww||b2b^0rDVX^R? zBbf|~gFnjq$$s%Ef(Oj0)%eAAY;U=whr()~Y{%N z3dwdbND;{nP$xS%9iD_&N^>-Z!Ix{dw=!6uh_ru z5#P7JJ3HKh_&BW?COw!`yXnvVnVYFu$A4S5 zzy7=J>)lO1`cGe-ezEqFo|vuPVYcbI_B+DQa6Do#ma*v_Y2ZVtIjHqw6elU$1{`f7S*tHoSYBTeADcOm^=7 z872q9nOwB<_s_qb_kNwIqd|xAAHhrol?Pv{*RQO#?%j3%Jl9P*Tqy~K3uN%*fhl>&+^ z3zr&vVRzUk{nkJ6kqAS%-^Aj+%}mp7{k&v$(85UI8}oWbMxiFp3u<3^4m{po|0tyN z-_Gh}e*w|k;>;^9zdu&{{lm|LoI<5(SI>N}{oVfl$3OX+i>2WgryY#h{UB66`!?gB z!k6=>{I36Yy6*My_c8Zt!)9jg%v`>KtI>M;YyS719t?NI)pKqPOEB6QM z7k)YG@5S&(=7;wZg`$Mb%Pka{rA{66(cM;3YWk1k!A=f`OHo%|Gcav*oV?oU{!Jm) zJ_!-mRZsfP)Mm8XpHtDeK6!rd_w30fKPG!P@LY4!nCf?>scN?L*579)U*m6J{NKTn z@Zq`BKc`3gDz(;eFnlOK@BgYJ{LQVs$z1QY?)tLuHQxn&i_HP*Z}slH-4`3h@*`2X z@5jB`8!KinV|n=Qu-Dz9gh%i07t9Wd-@7>tNSAJ6Jz3{fhcK=Up2xXk2@!;04PQ%P} zUyE}I0xh0wmmlrP{-P+b|HrH5S5MF1UV6?#wJz4BVnSk2h}z0WuejcQ7VX%RsHo86 z9#?Sb^70uU_00~M-PQHkCKlbml5i(7)o8;f7KQNd{HyDu&C2()+rQ`(nWMl(cZ8z_j&F{|mT2)P`T$uxoi@M#Nibe!iHLhPj8m zy!{+j2e@lCZku&ri6$4zCo?GlCFU2kZ|%PA47!@b86NTSF(?1k3Ef}62mKV8>7s4_ z(S3FG7h5G~g+034H_7j^6ivt4CEIOx zU%&ErU!CvVvPp#u^&fX;zd94#S6_BvQWrPV#v6|F?k={gF1GDexbmvlJp9$->;6~v z-z$iaU3vP26o>YI8B68s99uW}T`F{8=$OrtYRy`-k8z$0%j$%?6Pk`K_FVpa^OL9V zr@Ysy@;PtK_orxSvnQuw?OOI4o;e_B)ji8h*`C>aTp|a@KjGw zb5IW7s`mFn%f-`MgF+{3dC6axRj;Si5X`Vcs$q7-ZvhFJcl{g;wK}agGnY7UElj&O z!$oM1+W{fQXuk|?E-&{SuI0iKfBxCJFZpwv#o^Ui@8oYix$=IDcfQ|ijlLOQbnaT? z-$iYzEYl=ne!lGdb!NY8aQvRNULA$2A-5;?W2mBe$4R0zg+SQbuA|fM_?#<3~_y5ZKMU#HLJnet-Pnypu zP!9sSbjISh?Fv^I24Qw!E+HmxMKfev{|HH59 z|3=UIFlXJ>UA=5;IJK+uj!bNvVG{A-|LXsrC#eZM_x^WBrH?_d`{5nCCO!qGs_lo? zN4f6LJRpC9nW35?$Hm5kYoe5k*eua1t}ij~<~QxH=9OSoR1ygL|L#FZlaX-@eBc9ITnC-#%Pby02$XQP|1*QW}|1+M+bU9G>XOi(3 z_mqV5_hesn^6Se!h%bBitLf19(}p^g8~@AIFPwX-tW=0ea?XcSd%hj8+Z*O9+xa)? ztta;T(6cE>JxNi17SVJQuSRw830qsWnSKoFdtCtoGgBe=}a5)t)u~?hVe0 z!+KhUA_>+vnDbY2G^qTmerSFFQ|DdlYvtNkb?-?l@#wVH-v761f6>BvXFdbAteWom z?70m=T#Z#zCo!`8G0AOM%pe%C_^R#f``=$OG88k>2BZmgDwoh&EFoW3-Zoq z+Mt?u#Y|!{gA}hv!#4gGWt=QCb1irS(v&1R4GQ`MJO74g@uhtK?2s?b<5=1t``xzG z*Y@M0QuD^RqIcWg{JfeSVf0~HcHc_>`ki6(XD;K}^k~-#o@>ogm%17z_Q!0?Na}5v zAa}q{w)gse&Y%A~5=v^^`WVhAUrL_(t%p;fk0GG(-lBhcJ;v`gJO91-zx4j%*V%Cf zhn5w5x-Z?$w)iK*d*_zMZJifH!)1T`OaJ#h`@d^;ElW4!Tf5t;TpKP)HP{`q@BcOb z|L5CfZ|-cAj;NUL!Jx)8#o&nvV_D6s&DY!Z)So#%`{b>!)f*FHrwD3hI8Eqv&~K;= zbcptYp>$BsD>;z*`#=J+H65>tWL%dj9gdABu z@h%|U1s$5y`Ay8H!NM`& zvc7`Z-;EFQoqzl9E}6dT$DFUiQeQr9nAOIum%prYHvgNT_rI>V?EUEMzHDOSnVkt) zAy%BL^X|SX%cz?_jUniD0$<5Og_qNbL{?1 zUlyF8EOCEpchrDrP?U9ky3~ zA71L{dQ#xqF$ewv>02+2oDK;5Yrj5YhE0oxvJ0D!^t*no>kMZm8V1Z@4lH5VcHFly zDly?iVbz0jt$HUWhCdtG83bgxewm0iRI_dfWUwlnp1m>j-5Ld+G&jBb{p!xLjr&(C z8Dz}2YgzpK!qWJQ;)XxkL+!1^!VY}j;(bcEZt4B>8zBcb%WpsYck{%?{dM;@PEhOE z75VGi-mM>3M+dx54sd_qx0>me9J_{6z~mPUs;qg@lbJl`*hqfj)@)u;Jx`hco@20P z$Tjur7cT#1blF)PA-=|7!mm%~rFbXAi3c(A-xM!5Ji^jmrDCx9-=Y6%tD42TOYdOQOw*Rp#3~E7__fMf!PlU?&CF|CscP(G+Qoo&IxDy<)nv;OZqZlT*S^|T2u!vp?%3^#Z$*d06I zf0|MCfw(gB7dtuQ35>ItUU;$QT$`|n;l4%eQ~Q?>vtL!~-HWsQyH>)?^~1FOoE80X zu*DOdG<=C_+T`0;Qgiz+i}OENx~^8cdeizD?Kf9@Awm|!Q$ z7Npdm%y^vdP5Ap+P5Z?nra3-XZ`+_9n<*|uo-MwRwLr6`TE_Qw4!eKO?{9sp|DKhY9>3@C-`zhCFW7*NbKi64c z9XrDj-)0M8*;dy^=EnMISL^5hogBgtb6aMigJRvbGZSy=8`ttD+%P#%qW4R}g;7MA zEhh9sd?b@X>EGh#N4~gU@|zpI`$K)u?)Uyo9njq34hS+TFgku+f9tAt?9a!) z7uwCA(5S#t;xxtP$K%{BkplO`ZZTdjjfiYWZz%q!%vuZ?PZsPi|kkvUz{$@g2ABA4v>m(XVS;t8!!Ex}AB8{yjS7rhQ=Q<|c0i z^&iQH|D=4?w_Cr^Q}F&3?d9n!1tqQvCVCwHyfcom^RNESYZepu1KH|U1Q~mv2 z=@Ztl|0^n;4Oy4Xy?p%F{r_j`t1>rkyJnNmC~A0{X(A)TBc(h2-`7gI^~mpk-+XQf4%?z{Q+EF5UY;qcKRY)Zd2}EwT|kL@8qbt$!HFCzIg<~4 zY&w3>{-C`44R`fa`&n~cuJQ=?3jg|ff8WnPXTO&uR$TUbcQ#%9uEOhzqRo{xrs>BH zF#Y$pDQy3BR{qvfx$1u=-*(zH{r@O2EoE+f+RAx9Z_IsFw|vU0w&?8A=Zcr-1)aFb zzfO_o!@HWP_iRq>)h_va+^W%mrO3XLBYpNW`IyyS+t0sD>ob(QVLJ2k7Ih}8Jz=fC zXT`Z!RI_Y(TNhxu;O`#ELU9)z6K91T=bev>=Y_u7t#@y+&yOuXv?5o{alveY)j2_hg&);u0L>UURKYd;Nul~o8yEO zqobZSs1n z-&;)MIUB0J8&@?1m}Nh@eIZj|^(Sr>85N~N%UlbOTk4gZ=*g+R=r!Zp+2h*_J^Md-L-}t9 zUHjbc(X&0+1GqN}@44rfH$$eNg`lMMyW8G9(13 z%sW5fvfCmvhW!jj_MNw5D_=RKPnrE<%!JGR>Z%o*56YJ^7oGq6OZr{se*IS+9>L6= z?hGqM4jex}Q7Ua=f^Xw8?SH1T*&ZCIpL%>-pwLD6)~f%He{bp4XZ`xa%$bR=#<%tl zvpm;>kk@KYTD=*vS+-R?^$&k?LxST>t;Os3?VFars{cQOiy_e|^WJ)n+`2{qi_7vM zd=fVQSMRBo>Sej{SJmi1C(}nS`7ex9wS*STUzVSAAYE=N4V-`tj$un?2)!i^YaF6paFk|NUip zak*G#eZyfE|FC@)`s+eAy*jscpY`(u(dCQ=oSy4$TW(>9|9LC$>$&WA6Z@He{S(}% zsCi{YOMpdPnUC{-@x?#&yk;je{?gjU5vR$-P&-5Miqgvey3x`1w|+h(a_6Vre-o|% z!}W*PvkHCaET)zL*mPkznCN2+#le;C^K0JQC`0T>Rp_}iXZ#`!#nBkWrdxFu# zIC2_pf8Kg^mP*p0eJRtXZGULC|Au)(gNiEi9lN>ArB8}8 zIi@ZX+L8OE?)v@et5eyp9&?f9z27PL&2`m(nZ`rsCu(&6)w8~S=G^ta@7wE`moP3d zT*hEld4pMJ=KlvD&piM8;ik#|`PpwzPi*ijT@wE{`0Q%UQyg!k6>>j)6p($O#W=l~Qgwc>B+YW9r6Ju`ZFINlb?7H-P=e`(b79nLoCi$R5JG=cD+$w_g}}Ur303NLHw3q z6_&xSteey5mJPz%;OzCSZAur^& zuaEsJzvFLTz_;rRt>O133-g+@9y(RAWBt^m*WWJ-@BhfF?=5S~Cg6Q)3KQeXMK2io zdqYxg@NU@hShA1nK`ob1Q-%_o$NdN1EVGkiS~M6$Igiy>9}AwoOJLf^!tPnjE6x7& z&)PaVq3Yt@Bg=dp2@XO`N~QOmzmE0e>Zv776!rpD_4Z(&Urum zo%^Y(xvyAU3Kc}RCI&g=lzilx*|cE_-wU3*#d54?%=~(8RK65y`gCk{-`4y6n|+V@ zPBPFu!FyQR;O*Vmd2gRB*P8!7eyhfTZL=C59KX1H-nY^Xy+Vw7|L0$3+4A+@+kNG7 zvt_oeu9yC1e$M)y#l`riYZA9|1T}Ib6r5PX#PFhUcES($>KVbW6K?P==s)QszM?s; zA^2~w!*Z#H6-!r5I@%=mWTU6R3#K9`hjXGE{?9zOoGIby{Mwc3i~*bv`nD@;eDs?C ziur}a;lH=5Bf1l(i|we$FFAWeVcIK32knOK$xZ^_4Bzg5vUcVlb2jHW|M{}MGcc)n z32%62DSJSs=#9*RG%?{B6H1oKyhyjK_&za=`#^2JSIddVN8USV25wIH%aD_G^Z&Zr zZtNS1q!`{Ucr1VPpU3yT*FB$?PipPy5?#)$z|~OyG28x={%*&g^5@L2w)|=oxp4XV ziXAEf)7gr)Gu+#-)+{D`qr?^G?nGV5!WSJf3_CfV@4U(wlKZuh`>u0#h$8QUxONkU znC}OaG$*dM*}3T9XU`6X1D_c_i59Qo>tcE^ZReJFyIws3TLv`_ksBYq={U zgF{b5ChT0nu-y2-(k2BCmZi3O!AqvHi_F=1p85Bm%kF(!?$6%rm3Cl`T)Tkchet=2 zh#xB1KR5Mn>1B=2eo=fL$0ZnV9C74d7tptH*}KyB-7k;z_ItzysQ3@Td(%} z#=6UDHvC)vFT57}TXbgtSBBB*s1B9~6YTU@mmE6qe`hw|1!%qusoZ= zab-!MfI!ES;)>}GT(1@y9r(r>5#3$GU?6#7{zX@NrG}FZvCCaJIsa=29&pH4X8yV) ziL+^M{lVJa=&!f0KD6+glen6-?!EooC31!5&RtUtST1O~XBEGTNqd&;mcQlqf7@5qA9qUGFTcNb)%40f z`O?s-i$wp`{`+?QynX*8{&vUJBCHXTOcShESp5GFD&hXN?a9CDtlr>xKzIJ%@Y37= ztOZtVORSIKWa!^`v%hxDUo*WY=clp&A>a_T zAVS;uhWv82x-Yk{#pYGSe4Rhz@V|HUUxKTz7SAgQVtKby)V6}SM$ChTkj;&ht4Pn8TNFm8UT*Eo~B?R%*ia`M(yh7ceh4IGH;}U-?56Ux`U-w?n>2aj;_X%$W zXO3MQOl&ph;ty0Z94LJi%+R%kEw6t1x1BRx8+}g97iLR3(0+V^)Pa8t7I*T$Z#_SE z&+dTwe|Pr2Vx7J|Ch~)YSz^T5_SGUE*qltRpO3Zgi{Msr{J3?Mz(MnQUjj4a)_-9) zX_t*T&fl=w#NT1j`-PiDIj3~o&~VV;oWj;Lm(7hW+)wD;%A?0b0Y^=z5_e%{$yDlBU}QXF=FGCVBA?DtdN{DtS# zf2^76J9A>^6c=kHHUBP2Q;r{}%)W#ZV7mnS96vIvTI%?H zLN4sPAaUZqo%T)lbX87<*uUOP4%QnO47T5zzKU6EVbTFNM!OH&w3YH1#s7tGoGiky zCryt}oRQ&n^c{<1yE)o^Pn;Zor_<-u`($5-Jb53D4=&A~4NLAk|F(2#eT-&8-US2u zuV)XcHf$+s_&;f@51Yk<=cja8ofUS^4dYD^T)_LY-)Vp06ORM=e;)WfSMr$6l(@cO z$v^qoY%@btI_95_&zbpc=M^?_hYJN0Pi%2Y5Rg=0vR-rG_&&x684XL(L+J&ojY0J+ zTz_K39h!ehDDbn^^eo$dQS$Qc?AThyVD-Lf&Iy@v;VKJh~Hnm=C(m?rxMdFCTpXAo-z!z^Y*`gHJ{09`=a-yk4hS9 zraK1QXH;`AGdeJh{aM(bD?i$I_kaKRve99IL;i!y3|l={GrxItzwJ-_4_oWw6aHIN z@y-_dao@hEXoHZS4D;T61~E1#6@^#44eQn}Ixlkk>SO7Uf5*OxpNO3;yTE_%x1)ax zxZ@Uf@;B_g;{4!)t$Vbg!XMjpsRlOgTLr(^DG7WqzkdCSpXcBGtCCYq85SHk!sJk0 zy?=6B0noK@o zA<~K)<}sw-jb3SA{cgo4`QsZt{@}hoC!N89gK0&3Ut@;!TOp2y{@ZNklPzD#%~;v( zzwM!#(+VAd^?M9gJXY-zndHAMaIu`ymgcBGN{_EeX^Eb=&o-&x>GJ-i#YSxPN^iJ- z)-5Y{xZ=;)as10>M^%S)h8MIfnbu8VTX6iw?S`s{|8ys@+^IR+?({xmv1xtd%v+56 zHp_lnAph#dUOR?&-aqRmvSh6D^jO7sU}@u}*Oo>Cw>T$P)$zQG*(ty8Y$?Z?i5-9H zTr;>tE-?q?GemJJbZ{=7extxn-1WedgKmlnTn#}C*Unw{dn7)`vhB}t!SykFkn-+AalNK?h1>>sjR@V_2={( zCNX^5q2SwaM(fhA`mCSc;ooCS7W99}_b6dtTf#WUwqW8U<~?5JM;g}LI{IGAgw^ZN ze<#gn^%ZCMzCO3#oxkO?>~W_y+x|7x3%+u9y!yQ`dqJmb;|va$Sq#aWmNuQWD-CMz z|NKs%ZF$^Z#s>#2I&QF*yD}|WX5XW4Usuob_9y z3hU|5pPR7!6Z`Zp>}9_CYr#LqH@-+b+PKb%;ehPA>2kh}8{`~zotfk2@U*pVqSQV6 ze%=}jbNjkHud^*G;r0r$p1bEdi432n$u z7iN5s#hY_n%Y`w_kJ-VSVex$_Q^r?PJ4Nm9=3V_i>tj1x0{a2>gYtGeUwGM1V14&F z{nypa>gpC3Q=NWY+!tiR(37JyHE=a&$Bpe1{x3hjyuRtX@QJ-`T#T}cALcR4P}p$4 zo#VU9h2`f916kr*KNkB-PW|`TqE3aOLH3_xSA!YrqIC@)OZ)RIC%pb}=DF7+3y0-P z8a{tGAI57?tbJF^>7!Qc-@~=H6KDR#jmc0IxYp2*Xvd#JZIhQt+t#J}b zP_1QXkz;uEVBOy3pBv6CXSUej|L>b@`StkQ^#}f4cqea{nWM$fymPO8BX=*ScH)QS z+y7Kvw>q;_JmGbyeAu@ezs!}H&dd|YH7sIyK4G%*gYy%c?r6mqi5&TUGr+#;oFvo2 zD-98^jx*Lz*LRTJFRvD7|2_6~UXk2!i#~DA0}lL;9QfWCYA(2~A=$C*dBgl}h99Dq z423KQyxf;82-i-0b8fn_>W-ZP?{2=&e|dlJvtPY7H?$xAe!hsot4t;4X&poM>3@u> z`KcO=S9&k)E71O8Tm61^wZ1o#MWMn3hBdqlYY)iI|CwT;y(O<#smHOZ;pJabdCm*# zgdAGE8cw~vZ^d+JA7iRo`7-OUFAQ(CxEhGE^U0db*Z=wd`67lbAsgN&IPTA5yd``4 z)}#ip7qL|g%@(SRHy9_pX7k`=oFHG`(;NM>|H1kG+5A^ttvl>>*YBeJMFWTB2 z`u{9_?xi{6-|d&qtU6~E+Uw-i$a3T3^Y<1rnygI3oesSF^uN{5nse9Bbse0|_tkWR zZd6t7>0Pob^klg+V+itOkywit{(h!4rBBK_U?q5O+i5cd|z%HYw%y&bn|M#_1_cE)rb5zF8Sxe z-=e=vD(4w^zDay}cx~OcgM1b)oCiV!kN#!y`ZZUTQ9<-CqospNB1=8@JGZ+f2UeWF zZxc9w@6NFJ-R`UVW9xltzxK^~8ujt#mAeZrzAHIb>s>m3viH{szo+*J%&C7iYu5vx zTBmGX1I~`HcUG)bp6Ux~TphN|Ej{%4h=b8-PL(BVJJ&NCta8~AzWA?U!=>n7_q-++ zIXh{6$YuE_AUWgSy^83!rx>qa@1FZ`_k-IiTNg|Tdh%Yt{E*q%1yge^zR#Ne_i69# zhceMsObPDy3%s`O+q_vgL67MGZ}h+Ga|GBJ_xZ&)`Z-;XS#I|B)%~gL*E~2fWGn-; z*#7K$!2k6{!RxderYpr;ReHzP+`!9OsEv9^7Ix&&aM?#}8 z;Wm45a}Ik!UihC~s%%~Q!bcoV?c`1pdT@Ws+@(7w*}XHKY;y4VvWu%epI`g*y3nHu zLMr!)Zq#jGKEL+r-uTs5rWfy*T(WNZUfT~|!VIVPtqM~xuh{nN5@Q5^!{`4OO%rGT z`XRjIBI|obn6*+q2ECRNHM{XlFV1 z6rb$c>SM2$W^bH-wW)&7YrpKx_uF=7eZ97tfA#jdB{#pFD86>3+`g#x_GHHB+M@3w zZudUww=?}HcJOblTT`r{*BQ)HC=hmZq1*hZ7fdhO|CV?ZyRBrDW!`t?PWx7Ix4cGH zw!A4t8Ooene;t|LvujS(pI~#REa5W~76dSKgCZLc)Saqu$VVjC^6<>$swg>_A^v2yq(SXkKvn)B!^0a+1Hm^ ztRgbZ``?K?_Nm+UddII_QGY*L^O-NGuQS0-23~hZ~30$ z&A2&*aS89dFTJ~CRz3LCy*)j?P28q*`L9RUv%db+m-C$RzasU%=&$lc4o)(gE;2Cf zkm9d*n}jD=P+> z<%*21+7db;epb+9TyrWgnP_+=kwb-?&C(~S99gpUX72bbg_NYXuWLVXW83YS_$X9 zv!(ycneKb#>~D453T+`lgDWTd*?+Cb2{`J~#Ole%voW*3dX4qjCX0TCpLMsI6_gYj zeU7ZIc+Fn$`mOY%Ict5yPxmN>7^M>}f9HlZbQTrt>X`oT#I}=`UD=tIzLGrGKSig&Wr0RT-Nk=AuD|}7>xVF>JP)#j1IqPRxDPzOVH7HbMR#!+`L{HAsAzos{(LvjFOSCWY8rp;x4#cwVX^hY z(b@dIoCoZ7>Kgo&`%$fZ)Xr^wdTy8P8JwY4^haUH-pFCMC z%2YD@I?s`Zb^ALU9-QK2Ui`h`e&oy*x&<%d8J135mYY%X`K>Aci#rc=nhxK8Z0}vw z^ZM({LN1qt5~i2~FRVH)GoL#bBFq@mUuyB+(d5Ci=>1_XUiE7a+gl~r?>=<=a3r(# zc+kJCt$FRfAV9689$0`tjrQuj1_! zMC~)}&ursXQ)y)WvyZniEOCvEY}+!P807_(9tY;Fzbn+Z`=jZ)9XuBVzS{G?XTC8z zOK9bPcINuXG{^bNSQi|4O@|QEIOmgX!g){F9mHFg-XRKACBb+kyUr{Rg~`IXnkT?aNua3vsT5$IS2j+&X(HX@<23PCidn1|E~VG7oM}r z)h%W3Ia1Ogv7pWA;Wc;m9hV&SY#%u6F*EdVTb(BR`@6R2>R*cO{vrP@-urK5sId1j zT4Z);MbLqJ`=38p@|%Il^WmDlrE#2%$}i7}{MxjfaoQ{fo&~)sgCOvNyW&QVxf9{fZTk~z%a#DC@WYs5eb(~_0JX&|hhC_yV z@oNc(%L|?>{5tZ2>BCJmz3n$IL}6jd;aIH=F2ka`@eL$@G(g`C|QgBSlZ_4Cvd80^_%2!+ps6OQ)9Mye!lr- zrvr!4()o@Io#)~!a#pj|J6?Q*vx8V%*Slai-SV7gl-oin>psx0rY zYD=Jq!zaE4DvY*#3Hnp+xK`G!oO9v(EB5(~9@Qqb?+)C(>X$h$%|1K6zG2=E(`5|L zWWF#&Oy^AuQKlP)FE~8bhY>zU-6qyH!&i_}>_+GyH z-~C<3TYsl>E@5HdIF)^si&b;S<@@vIE_}^$pg8rSFNri4q| zwe&f^_4ui8DsyPN<%cP0^KU zh1vlbI}t`}zTcOR3vq66@Nc{?`(;;JV&8(9B+-NgEbWyj9Pjlm3Y+78Mr4}Z>y z?%wh$dDfF7``J&vTtBr@A|dv`0r|>+FAbkrJ;e5M+*xz;{3_nrueY!M7yT|L{L3z# z8xyumu(e-yP(E(!$$lYqiOV_u<>KF8Ht5MY)`v;+c5DjR`H8`UbAmauZ^M%o@zzbo zYVN<^&)JdH77E{nxdf z=iC%NFExj`FIikfCS5;N>~(s+;^R-#LwF2+Ps@JF{3tkZ`sYX2JQ$1~%s;)@LE;%` zD9PLGK(proS@x`$XYRZW8(zsX+qiS-a2|NtXz~BPzy`&;=!QlI759|}}$ijBw8hD2*E)}FBMVt+dM8oc)F1wDwC5 z-~EsB#a+y?Z+Do${rS5f!@8gs_g7u||5%%E_3U>Y;hXQAs^6x)|AF_O3;Az7obG<( z6X2Y^p^GoGQEqu0gXTW#tuvY?-D_9o

B`RykL8W4Y5BhY#uh3bvkN&CPtU*YBR- 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 A@&Et; literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3636e4b22ba65db9061cd60a77b02c92022dfd6 GIT binary patch literal 86642 zcmZQzU}Run5D);-3Je)63=D1z3=9ei5dI1Q28MMk3=9no5WWTnBSV-d0~jzeC@_36 zVPL3}Wn|D`U|0^MX11n%*U=ZepU@)JG#O)KR47X1xGu%F*B7OUWO5*JkD*d-l zsPx=Ep%QWXgo?=R6Dkb1PN-tF5lOG(?Gq~JZl6$jfBS^W#oH%TuG~JM^6~Zwl>@g= zs2G6E0I5Yc1R}1YdHaOQjoT+wj@~|@Vt@OD3g7J$DuTC9sQ5z7IR|SW+b2{G-9DkR?9K@# z5MSr^36-pLxEWBpcyFIjIeq(t%1kKV z`SuBwueVRAyt;crNsnRoe`dpj|7RH<{Qt%9;QuDWga6rJWU&7$ve+G~mn0iX- z|Nj{nKG-ubJdkH#IKa=qaHOAsp@W@)p@W%$p~0Df;SeJO!vR4Ch6jQS3?G#l7(OsF zF#KR=VEDt&zyQ(H&3X8%MD5$0?PAH45}a6K;_--6Dt4l;D69EKI!%eRd$fO$#uhx6WXA18ib{8 zpHNwQ`-IA0sJ$RNKz=`X`-IB!+b2|3L(67RIKbQnDw{!N9jKfo%LyR2-#($rbNhtK zLa4nUvqAM9sNOWZeL|J{)(KF#uF4Fp$6RioP+52Tgvu|d`tP?-s1)2hq0R_0ixfvd z!yM%I)Y~UienQQAar=Zy5>x3#hNZt@! z$NU4;oeg>i|EI|x_%HeY!hZ&-{hzVehA9LxMg^A|3K}LHHHWO|2I7N|Dxf+|M8G^%|A>F(L_LIK*MuAG!1>Y zeL~d~Bn~Q9?w(Kth5uBj9LR1M2DK>}j1T^0_E|kpCGB5B}pbJovv3+P(sX1E`JR1F|2KPQZ$>5KucnZEaYYcINg86;L?{Rt?Q( zpfCcpp}9fv0&+K45{UqXh0(#kptdNejq(o~4m&{cfZu*lUjbZ}?1Y8^D6MtgI-v?` zLn7G#VM6Tr$7p!)KghqJwivwa3GwTHDZ_*R&q3|~WO(quJxCm)8*nJq>P)LDK^$9zbyb!sQ_Q zK^SBPHViT!TIV((mFb|eeb?<1D$x9>3XSLg=7tCVzkvD=Wd2XXga6||=7ZYsAlmTY ze=oy>|9?Q$%(XiB1?)C#cEiL#{=9uch5Pmi6;N3O@;@l8gYXnsdW4#t3^f;IHw;gP z$o&JQLy%pTh6n$H!X6|KYNLa~3}zKh8k*MFZ=XDqz?R-NV2ZPe)8>k+T-$D5lY#xS1cmzOU zV0!Qu$S?Uw=?GM&Z!$di-_!8me-WdD|5yzn4}lZ^8GfALWVm`loAJg8b=I3F)Isa&K=XW{xm*zDxOqYYB+dw0+d*~vM-8M~ z2;4lO!Eob*7HC}<$E_2pQn$csDO7`RpHR)eeL@Aargb)S9TRB1#m3twR6sOnUDK@F zCsf*RpHRuYeL^+x)(KVP+b2{dKx7!{trMy? zw@;`RLf1oq)*L^Ft{wgZUDp7bPsfKr>Ogb<&!FpvLF;02Z=F!Jym>-R@Y)F-M$o!L zk{mdynCc;L{e%X?oD&hCd=6R{XmRU=YAtAeIdsh=C=T((F{yIDp=-}}-#(#QaqEPt z$;}gLTrW@XFNOLf1E8i+dtKzZ-{2{VS9C)9;*odA{VDl4GtabfFKNsU`l)q~R3 zU-;is=%`oBA_*TxE(zzLvaY)JfX>O=Y#?%zYE+tp&EMogz8r4UKmp2 zkDBU1>ytO$I-weH^MpF@y%P$f0rsN6RK7>PpGqETN{e$t5Fd`AplyJdhdh`Xm5qg?Gvg^w@;`%A+ileX?&8a|H17O zs@1nns7c&8p~wL0ixBeTs66%%0LA@{6I!4(ub?~++K&KQ3rudj&{H31|H$TBCsZwN zoX}wcm0j30QK=G1q%Uaz6Xun z&bWO-1vJ)1C_D+tgZ9t8fu2FpbNhs9^sN)BX17kL%G^4k%75#G8rSU;Dxf`9p#62A z`We*L0F5ii-8!Lae*1(fXul&UzCdSZyhGdjNyu(o@}M-(d+UT6Kd6p_`F*6*pt!$z zLY@2e302VC3-TUQT;YgM9MneuosrUg>x8P)trKdZH&3WDgX|zBoNt~`1C2L;`W~RV z2(%X#loqa2A#HxWeL}V726+CF`sWsq;>W?D7SzYPenJ}*&e;@><$=azFWfqzT5{`z zs_M-XYAm2Qq=p|sX$LZ&?0xRc&Hq^Bf zdJMNts4(0-p(cF$glZ@BY$#lA#wGsb)(KTd(E1`!eK?r%D6QNAE%!lZ9qk~a+y|YF zQ+nfsCf8tTJAuY6Zb8ni0-aj|Iv)&IT;md7d+UU{AgD~FRhSPJb3tdD+=QG52|8yB z)E~wbCfLM5Wq!@g6B?X@CGKJ23Q5zTv&+cp!+yGbLNy9x1}H7T%p8t1$bZl?M~{%0 z_d#vFDYwAm=%{D04VG{M^YgmFT)t5fT1aO|dO^=r#^!%)VxT?}sLm&O43`r3Qd2K9 zO@P*>^Mb~xAZu1tdvBjmIf*vr`SR8YRXb1}aQ1`+HJvcvW`XKP&=~6N6DpHQtoM)I zI-x2LDmw<;6I5~l$SaK#B|o#+kl{v}mm=)5#8r9(~}G*)`;gf`Rd6RKS# zs)4spsA}Fi zp~`XVgaX6u6N9^*Nojb{Q$HyFZkR__dvBdk zvx2TG1Ko)NT9XAzW1w{+AR4sa57agXoiXk}jrk?NH);X#Fa1`-E!Q?Gq}XbK|k4 zHFUA3w@;|nf%>W-{p8vYI+xw_;BPL&ga1J1vR^hl_A^Mr;7 zsQe(u5uo#Tq4^zj4mRj~ZqRwbp!1U-LC=#;G(7lU!SEpXE+cZR81#BTV}6kP3&3?P zsGJ3bEg=lrOXUhGH-4QU&x@cqyLLjG<<<#R(ETi=#y!k^KX0EOb$4|LBH^4Zj&bO6Gjv)Ru>?<>$YJoq1U-Z)wI3|38`v5#vfbU=4&fbt+LTnW)P zZ=XuJP(>9x^+TT>-GtiJJgAP70?LOB49f6$$Y zq^$K_Ov#uFwEYjdvz*xRUR?1G69am6g|AX$TdrN6uV07@`T$6);ghAyC$&R9< z22fmp%5vzs2Ba{>+yB3I`-G|@s2nH9sn<^EFo4GEK;w4MvmlAJ7n{2GptI&ca}nh9 zM_}#;r2{=kI{-8mA4nTMIg64lfd%wwCr}!=bwU+%p2z|+&JzL6Rjs~tLQNJ_4sAG*O|CPr>I1dk z%np8KG(PxO%jn?01xWW*lbQz38y)Y{|3Ueg)cF5zc<|pGlY_r`25VaY691q*k}3y?41ZAixO?k_st!mm zzAz+44wQzVY03Zg36*uXPpE*-14ln&2E+&L=LenJ7kUd^=F?|yDJb4d5B>(N6G}2X z`0oiBZ9~u)VYtS@{|qLBaIOFp{-85hNNfXw*8S%_IUz=sGc-Z@`05Ew(0UTS+b2{l zZl6#|ho1F65qc*;)~yq&)}ZwwmrfYbeGd+3oY>;vR~F-ge?WJ2gYI%Bu^jk!(D>jV z>A~0*1cg1Q4846qC4$5`nSHlTsEJXd3_vd@pzdM3eL{u#<_UGiuO}E7_MeDGS4LMp zDDF%T{$w#a_%GG);D1v4h(8Sv{>y{*HR24>S&NnF4sK>7IA3Duz6CsaO>&<^|o zTAzOnd{!2H+G7KqjzD7spge4J@Sm~a!T+FjVWhML_JYz5s7*Q0{y?`Ml!rli8G0ro zG37r@&2`9KOrWz?M#jDjP#Iu)@F%0;!T*JZ2mgcSe~C>4AB+zE^9J=Rtp?fJG4Pok zC;o%RfgEYGQBWE}Pgld04_fbGbnu^);lck0NUI0_O*TFFlNHpK7;Iq! zY6sjpp{{uQgz6a*>HttV09u39eDj1lC&-M!<}X^f2efuT89Y|}7c@@%jf6CC!T8`G zxxrWmfaU{Eov;V(=>y%*Mrs)Vnv2Q0bwZ7GpvwW!IE(4Q-%Q2_|8N)`{L5`}@He~3 z!JkajUbhV@1B?&;1(g9uNr?YXMhE}-g4z&P2fxrFX;Ne+DDFUGtG7?6kg_HOR0e=B zXzVT#lm_VCCp0|xkHPTZKW3wY{}c=l{);d?_`lQe;Q!^2Io*Ft4G;bYt?~0WJosPI zpma*98>p=xR0cdeAqg6b z1C0lLAh8|*r-551R6*l)oS?KsZTF#@XL|5Abe#T=gwer&rG^LpgXZk8mB*lYyibM) z|AX>s8fXnaXwKL6;AeCrN#cXjozcO6CWZ(9KPI6J0Id_^1C<{nSw<(tpgJ71zw`D9 z70`G9IqP)agZ5^D&iB53LYV<{rX($#4k|zS5Bz5^KKMu9@ZkSVB(%l98Xo+=(D2}Y zCD520C=HS8K2RJQ9sI{Ink|P`urO>m?4*Y#(3wzuCt5)DKq!UlbZ*=_p;~bBgqp;4 z@I8Ul87BhO-^K_3iW(mLx0Z~!hsDibql5pZnH>DhO>Te8{@`2inE{3e|N9so{12*M zU}oc^L1P9J6sVjAjp^Jz0Zs#;asad@i%>k{k_Vl+8xJ<~Bx!s0K<74D9sI&% zbnqWF_Uypo1C)-6LGcetU!+Ea#las8b_YMO8Xx>SlZ5hrr{Tf>pnfB%)(x2Y%O~_0 zK;^)#6KYboPpE+If+KeiHz@uSAn~tEl7B$?)BfOlP`x>ggs_IiGcFp`Z>umm_#Zr$ zM3RFT7#M60er9k#_zbi@Yz7H#+BMYT9~LgqHX-N?kSgeXjJWbSE^*NM!Sp*Plo@WE z(1ICD6b)*lnH~HMntN?0A*^x5J4_sOwnsK7|C7@X1eHnV2Y;{{9sDMmHNDA5=br!p!jC{}d9&`(W{m ziw5=Ey+Gz#kTEY0N|Qzh|8g20{J)Zf_+M{)@Gm#WKluDRnB_oe0JM(()(JJO+b2|K zk$86aM9|%WATvnyBP6`R>u*RIbH^3;An}Wakh9)MbqZKL#65pOd&h`5M+jse2rn`| z_-9b>4+DFS05RpnJn&fY%@Z2jpuKpvPk{FkfX04tmHjaB^|wx_af9X>2v~t34VpJI zJ@|{u=-@w6+S{No$A&?5KWMHHv=11=E@A|r@h@w5@c$(e@_!#_PI@Tkf8?+MjTfIe zp$qEIf!co z_6gOj+b2}^-9Dj$Z5|o4kJN#j_y>g#DBl<#`~zxpl~J%i?+xe-C(t=wAoD=xl8Qm` z2WmGO9{e9q!kX}JMhE|efzpl5AU`93)bN0*2c7kC^@I*+EfMH^DbV?{({7(o0o~sY z8UqHE1%E;3{=PgRNcJ8g(7dhL!Jqs_2mgWk0;KNO2JPo7Fg*B=0~8N1cautk^g_=D zolIoj2bDc93=jS{1L-BzzM-c6z==SHCnrQeXLGTF#*QFs%vHN@pHSHkI`12F76fPy z61n~Yjh`AH{0kbp2h9b6)?3xoQ4XN?a2i=@W>d{7*M))bLA_J76@vUZeQ zZx300ptuI@Hw4Wo-8`Wtcm0GWE2(`zbkBp*fGPMKzkhm$2mgc4ayo8!@c%1lz3{{E z;Qud%2me1eJox{h(ZPQepfh^R4*mq~??yL@B)-MLZ{YDFql5oIbH5)+$p4Ft5B>%1 zBO=MZQN{Q}0Gby;YXBt-5B|3@I`}Wx_~73t!-M|@71RsCMpa;QxChu3}q5@9USN$1<<crql5q0-4DKGFdM|{orsMLvxDD3 zYmYz})P^S|?}OHemw?WK0F4#p z@E@Di!EZw{J%HlQ_~2jA+zse#AoTo=kAL6r;C};9I1Pn3CDo0fG61x$-tgf6Z8+*f z(ETc)`tO+G!T<9O5B@I)je{5+{AU9?gU|TjKSog4l4>tK)q~~-Z4Q0{xf8VSib@(H-XB=L3s`kwZaUPKTHn(2JOY!Ph$9h+EAc# zv_%GE8Q^&EHLS0%V0iHV4ifzaN)w>HXrMZST0uQ1%>lIo6d?N{;-KR$AioofLFeT3 znjHMi4@yUa#e<+S3Dnm&Joq0pt^m3#1XOMj>nD)9m!NhLC|!fh8Z7>zl{-LvBa?%F zgbWY<-#|t_0nLqcnjZWu0IE-D+6)oIW%UeH~Epf(IBPD#PjjSv3i1jRqG z_6}ur76-pW=V$-97#{pj#(8P~zZo9)Ns zqAVX~ia>2aXjp>s5NOXcC|tc|Ea_QGb2md9S9Q*^?qlD89BTWL74?tt)MhE|O z7#;+*@Bfn%kOY@q+3vsys= zy+P+SfZ`lfzk}9@Ae&1r`vd4qK;whI*+6N2q{T5I|AP7iCI^3m&eQLqVj6(O6{uVQ zl`WwD<`qN8IX`<05B}e2c<>*n{SKOQ0FBv#<{v=yI!HZCFEwb;Iq&5|`94rW@kb4L z(0LbT2Y-OpY=YJZfcD)`BkTv-j8{en|K*LOF&;|N0<;_e)xG)9b$J6Ff0WpN$LQd{ z7?Xp)*+6w1CE+rX^n$|57Ha_^*$>!i^CQ!LHlH!jV zeg&lgvx9#?XEEv<9{dMt!-3j!0}+>`+6g+xdAiZTzbfhnLFdm6uJhcf5jXTQ!}j1; z25rQ6TaMwu|DZM+sIO0IoX|r(X#Lh{NO}K<8w1M)x^}(-3|h9&TDw^e-d;a9yFH(iX-%RBbN^)~5#0E%aj zJZL{4Xs4{6EOR06Jq}V0}DlJH8MAjjw~&XBZv)2b#B2 zFgo}Tyx-68;QuVcga2v`5B>+G4bYzKsfGvtPcl6CuhZz@zbeCn|I-Z*{tp1{Lohn{ z4|ER)XdG&Eu4b43i-R8-Y!5yM&F6y72xB%p_#ceT4}N8wc(8{d=HRJe;?q%YjE2By z2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2n_cS_&+4T1AY`| z{$XIKM;181z`%~oXJBApMB;;YP9kae0E$$3gn|PgK9T_qAU-o({vU|TzyRlijYD$5 z4~V=yOaa(<1_rnV4a&ZF#L;W8H2DpV_W&^?p3=I7L|3859|1mJw|Ns93 z?w~(l)<3v|{y!45|#y|K9-h z&;e*%{D6kw0a!?(^N)jU|Np;%;s1Z+_-tVO|G$Cx|39ep|3Q2P#{d6d;Q^8Zc@b(2 zNG&-2AXL9T?jrTNx=B90AgSV>6icC0JQ+Yhj1(_#0O^;c*OpJL^L%0z+&(}G=2RC zc^2dXX!-;5>%k;6A^ishCMZfksSu))9pnmVh681JMo6@QB*8JrVE+fHjE0twphON< z0WCqnt^^4{OIWD$K@J2LsgPj!4|WPj0OlM}=!5tmtq=?@av`Av764law+<8{4B%20 zED19ZVI0T@(A*1E@d1|mp?q-qg|fjED1U$%gPiCL@N?(olHy`uVBq!ia0y~yU<6>3=A-bW>JTX=ciFxgfz~ zcI;lhIFDJ4#e#+ri-(JWsDR8@brX|ypTpo!W;BfkEToJ~Xz9;X*uNL;- zEbh%R>MwX&PcpSLCO69H-@oJR%JGFsTC|cag3Ctj1=9o13uhG;Zn2y7rKp!<4wJ;Q zj5@V|X%p^bxGs~<>0Yp$@i>={g3;5-ZjE{mBp(R6z6)Q%TXE?{uFmUTU6YKu7*C(y@=oIOw_uf(KRvp)D&~pF0nL(Rz zrgQC~>rDAfeoSuay3srl33HXowLk4vx>>n(%65mFk*vQvf*C@+wtT$GJd-QNW6MYN z&!3j>e0ZusiJy7D5V4dJ(^?7;l zlr@seqy2<_v@Cco)OyeA+q|=4pI0-y-@kd+vz1%ZR_zwcX%1%4Oulf^T&zO>gW?_A zdXIpVg-2_a_WVy@5OO=pBWg*=0}%(W8z%30!U`A2EcT!GLa;9I!sd=WfBP0LKAyBr z`*FNz(!90F4HM@TKM--?>Uj4nNc)C2>)$07>hW_{DDg)=x%~IZyE6gXc3xwjG)>cR z4wHw#+4Bb;B~LtT^Cq3ORy$B_o^qX8#FN*lM%Pm`zE`d7SJCxXvS6JcFl)YNr;OZF zVV-ZZnbvxqHeu4_jpMWnKYTzd;fSsHF7>4>7ykG#*(7tE`@F$?$JzN3kPwJDm}=ySu;LN|sZf#g8$hor3>y@^l;nxl2YIf2WM6T4kp z?OX-#D_QbK`-k+T@C3R%&RArWGINRg=ILKrD(1gj_OIS(N^{$_-;<}Qi_Kx`m?(bs z-@NrdS*B0?H+jEDNa1tNMOk~hMJt6Ocypu{EL+}|bWxe3<5GV7iqG;>Rh$`u)n*&s zh+1%P0XtWfhC$@SmrZiaK1xA+neqL44;~BrW9gCYGi95@)X{lx#=kj7Yi=g|Z!Y6BS{;u`R6(T#BcL-O=R8=ilm(*x5 zG2W#&>DaXZ8@?x758Q0>Q_ixRBqb6lopdi)sXAM>mPg(DfM$cDn$^$Uu9;Qa7u;9d z^?w;7w+-VRt~)$BE50ndFM0Q8u%?%r)RzAZJO?wI;uxy79r&?CJXiXb?z6XTpK1&a zyK!2u8nn1P+#AXBEoT0Q^aGBbr&(AIFuAT1|I)wUJk!d(=krdUXFXwZ$@=hud^SCq zoX}})_p@dn-E%Y`PIGO)s_y9t6WUy5&3Nwp?q|+pSf;Au$DzYe$8?7$&9)`9xG4AJ z`K3CNmsji!He$*D&Y`c!8ab)!j>x0E$Cd9SwK+0P3}$e4F{~GA>if=FZy0e<-E&^R zlc?@Lt7f-tUHo#*tls^$(VvPny{^fum>thqwe!I2&NzWdhqOL@m3w9PT9~agG%oFo zW`kmaLcLI`(aow~`_*2!d*sFL)-9@S_#ZnzVW(reuSIr#9iM}m`^%E%y+RhvPpTA3 z7^g>{;a%3XW|izikpp#`3hznwY}V#{vY@;6kUV3r=ZS?MG)_!st=9I)+>!HV`k9YM zzojSZK9gnpE%@L<%aKfeL-8h^FVXT|Rhi!;mot15o;}~U!ThfJ9?uJlg#{MIPmJfP z5)CZBn;8Er>+_zlYsP-dUR>5~s_Q%p9r%Nf2+)cqOe_PV&m=$R4!@B1MZ6|NK6oz5Jec6#D>zl6zsv#ZN5 zc~9bK*4K}GAoSq$0Yy<+`FXq_?`gbnu6uphQ~!8euy3d4%0(07oFuK!E|6cmY4&}s zqSdZ?8)sB6dwoi9_fN%L@4igb)}3~8|AracH8<^8^!V^Yxo^P^$us89{ZjPC)Q|BE zbL~&dFG11C8{{Q>lGlqYRI(R;v)ks)sae<9SKVT^4Y{)Y+;fI)D;7RJC-8plfxS~@ z;xAm6{^Hw|^Y&qcsRiqX=^1rwkzQ9W*Kc!~m^D?2!|-~^r5_jNq^|LoyWhVjRQfyf zhl(O1%*7oyUzXT7;h30P0TF&roQr#9DSb)l$=R;_ zJ60)fYSTI3wdkDJ)DWi2qC5BWKs6KJ4GJW!8-W1LKo);uV zrM|sqyr=Hi=K9D}b>g+w6wS$r37tyvO!L;9*zsaN*PI~TeGJPPzD)?c<+@*{WJY_f z_0*qb^4x~u4B0hap8or_I%Ss1wKe|Medd+m&Dti*9m6(jEgRUP1J^Fw3(x&`{Fv>$ zL%$f_3yXc;;Xk9|U|*J7lz70Rd2vPNkx!ysz6w5iwpBr0-S)ffLCpr+ggJSN6E?C} z-`Fm2|7Ct>S5Y3r&Q&e{zw;d2(EoZpi|Jba35!#h|Gd{ODrRkyS$^Vn)r!wuKPOL` z_fOALYwo73AE#~Qk8aqs_9PGgtQBDB(&l zPvP7!V=~L!&F%kP8sl2a8rd6uH?|(Q-1L@hO?a!P@?plzSceJra;|w|Z*DflNqwI1 zyg810liJIj?@N3qi7A{ddFr3MwP(8KuQT6S{~pl$_v+fOU)+tib)Us`+r%BZ|7hX0 zz4w=QE7aQ@DB=H|zDP~AFpy1;bzQsNlG4gc!S#~om~OCs{bCq7-!kYzaoMNvT@CIH zw{I@nw{Ice`O0^}-R-O?oCUleN*@)srFX1pn7v@#j4yl2TY?#O9}r0T=*Ql7=UG4V zB7@8O8SB~P8jt0@C^=sm+O)-P*VeuRr3a)Nr%AM1v!)mYTr_!VdsMSw?uDuLy?h@x z`QG}=wrE@2UYGAb?=x+0UZ-^Q>sQ&`&KoOUH^@uA`FP~|o|2}ca}r;~*WBGZ|MA-8 zwTdr0_p>}_zQOtQ4`;*~L&>K5oV$)B)hXVnX01A~>vEmMh1v6)m6Bge{8+r8__37x z#OUgkdjl>sZYh;46FcD7@viera~#{Rj)P)%cmMg2w9~RHvg~1+>Syi*KEp`HCb|0# z@y42a*etjc)L)c&E-7-mBxLz0;evR9Lg4u$!pSnP{vP1JT-E`S-@&^-dy&-N1KsT% zVIQ|<*nY513SsCvBdhTHanipd3zmI7xa9e7rgKaMZ>DK%zdNhpO$EQTq(#&PW!y_*+%k+;n3I(3Pj36qr6BU6WrOUd|2&5EFVAncnWQM;kW#&85$G#nKr=COq3#mNspEVrP8>?~4l8S+6v=Rp0o;to!n$ zto(`jJqs2aO*t=KAzolJ;r8+V+ewDy(P#K;n<^c&ZcodsW9urPx4>K=cxJh)opMV& zo2u^HqjOmWjF+FOpTT%C<=06$nN@PTFWCQanIPPlxu9J7%O?i?Ohd*OXXg9uf1;wDTXNWKun0g!dCB|Ob ze79>i6OZ88)-n;J$U~lt&vabl*yk|F9Oz3vJO3-^`LL9upQfo)b?x&=|5w8F(Y^QD zy7Llm*l&~<*ZW7Z*D!s#?l414{o#Yj4^$86D~fGi!(74pAt7p=<2j}q{IhP~ihSPt zXhOni3)kmSPkK}LgbU7{x7)`+u;R>dyUAZn8M8Z=zpYrTbhgR&to4FmhTjKz4kg*Fc^PJ#<#eI2?uz=nhUPh#Z-jxvU|w&hgS`Gi?66jCRcqf&Z&L7A2unpD>|v0WyG%)zkd9^svqMUkQ*o83Y(-jC+WiKjz>rB8D#d@&)42y zP$beXY77e54@0QlTdyUp&(kyG?#UQ>}IZR3D@{*hxaY)Dc^jwCOO00oRhzNiCo1S;C)af7jBW2OM@OuwG$FC*xC;WUbXyjELm$+fQuS>(+ z$&7joYdtR+@EU&ch_ydaY{)xNRATlt2ASmy4VkS=c_yr!>2Q3u^O^ZNMV1Cy%N|yV zL{7iLf8g*V;dx#)k@>$5dn$CcxnA3TE`3hfEs4oxH3=~}cE@T3(vDoZbFFU`!&A;c zeY;BWiJfBVu}xu%JfEIsKR5rFQ}K*58?>JV-8BDi`&41kk;SSfy95O$-4&R=-0n!v zCr|f@4+OIrx16bOxmK|9N6Yf5AM>`HXz#55to%Yu{`TY}q6;R*rQLe!+vK-PVCQ;>P6*3sc(;NbbobeQk(H3kptS?{fiBD_3R9q$S)+ieT4*3N9g{3SB{U;##53tD-2z(RI+rQN*6qp(xj8xo4I&d+WlS*`2#aQbLT9S>-N!q z{MYGW(xj3m)g^y)+ms~zCzjlpZ+&b6-){?Eqa)`wgfpDYeOr><_wm-%q>1rN%G>U( zZ(lksDe^+e9>=#cCbZl?!Q$b)!0*nIV;z<<0 zz<)(;FOT)K3G*7xI7~9)n5Lr|e__X(h9$Cd^bK-!8*;shw=!LyH0>3yeDxbL)nI(%T;tQn_XErLq&(7`Ka<8mLsCi ztXNKLl8HX0{Y2E0`;teESW$jd9An#DCX3>_#=5hQye-;Kyz#&M%>BYLnWs6qOkoey zB%5y>wVl=UNZML4pdupk!H%8#eFJ#9mDrD%dH#8~QK{F>Y{Fl1tXzv@>mlShxVWZOQOP@{|hx*HFS@QY`{-UK9$sUv?##>Q1s}w&I`Lb0-ej&_9vA*IoLhQ^f6a+o zx1Y_K*L8OP)Viz)t@RO$0uw@{UhsWf$7dL;d2+ISk4Cx@pP6)tchowD(6tQb=EN^( zw(^^%zwcC%oqMZr^|s`_3*tX+$j?asbk+CE`sm7EDPi+$mRvp3*0Spw)7f8h*eb4T z6xCn)6!GM`?UjG|6Lmai{l9H6b%vIz_8Q%ZFE!O3u-p?2UCR)5I^&h5AJ4?~8AY1w zQXTU@Zg`%`Vb5>l-TlGibfKsIdA-P-WfKr7ZJSE?jRveUkf(RiO-*xx7ybT$}RIZsiG0&d!au7KB&b*e>tM#E*a_Q$rg9~eJv7`FaGqf%w`gTFlhTRE=#^(Cy}N4oAadxv-JzZ_eq=-4URJ)GEdtTdmSC3fDj-05o4LgbY1%H z=L4&jJl~}ox)dDw?J}-^%r%M%Rga66Y+WF)^SE|(&;9H7Can@_{yRVZHIvyXiR_ZI zx{UXJiWT!->@*FrSz3_V@co*==NVh{e9xZbpP;&+@6p4ibDh~du5#}e?MqfrO*{~g z%9T(m^1OaSuit;KS^wU$)qd~yvj2V7@s{MeoR$BA>)m~3RI`6tb(N(;n|;O4^48A{ z@xohQ-F2VG}2G>0E47o3s2bR4&a(|jaJ(JkVkDU1eU-rysd&&7RPX9(_+-qe| z|DUX@)I=({zslr>@41w8&-bZWy|r@5XXcbBc_xj_x@Sx$^cpUeJMwLtq0BNjV9^6kziu!qLCGaK>`cuq9_-tm9%e*u0@5s%meq z$)50qN>i0sYVR%hKkuS}eS(p4-sk-(x^Xr;*&CL#|CbiaIeGr*jmn7PKb0=ie04NF z9r#>yVHfkHOs=iLmzMUGImw%r1ei-dImE?#lQCwejrG%QYQNmSJd=OdvuO4OnfjK4 z$5MYemzbWCUzojRqv^*JucuF_0$b1g;+xYMYtvV<;^wN&bxY?x>J9cjy|ez@M^F7m zWwmSPtfepdIo$IQ`7h7iwMOr;_#u&P$v%HY7xYVYrKD*KEpMx1bgZAK_`{KNf7YQY z+26-B-Y$ygv(j<@`1Z)_@T!W2S<8K`jAY}TR_Qh*bDdtX_yy~X@{mVg#J}Xp|7Lal zC6~Xlq-WydNjY=M*(_uI+dj=^={25mIqJzawOwAlYrm`7zMVcXi(BD<@)4i#C;vkd zc06ab3qBODJE<=w*S)6aGGB9V`*2EzI=>V?&{){F^u!^C_i>&tU-E12W!kgpg9Wch z@qzt9nP0+w&(GdivK+UviG=#iD6}UwXA3?$>*^P>yNu&OV`B-OZEcZBuq@`oq~WLu&qq z$xZVD8x_O3tNxyS%D;TsgOlex=CTGHTHIpqJJI6qN5&7IjsE@W+@<+a(>lrJvoWXO zM-F}C8{Y$F`dpgr5FB{FrhJJPV~oXrd7f+D_M#H9*DaX1ZQjh!)+oL{XBxwNy{c=7fa=^)Qj?B_IN*iZoHr>17`gYgGkWC!x7Ej8k zQ}g}OBvZS~|3mzd@E4y|Bc5z$j0>IfZ-SFN!wDCKZ8vfnm$U9&+FAE(`;wK7AI{A* ztJe%W61?Q(g5=W`iyLB0WWCtlGHm)Pd#(2*F;10>j8V*9<1={ zS-rvN!2gK{!;Ze>*9>M5bG$I~K+6xei}f-t&riMUifI1rSG-WRRf>OZRA1KBtr|YO zieUG*Z z)hpZ#Ta#2bXKA|S6_vd_)jnBSOy@Lh4h8otpV*kMRb#R&@fUAZ*Ww!KOh{`h!Zc@S(Ty5raaQR7yTcibQE zXK-9!y7JlmcOJd`3noV$yAdZGCbWSakNnKWDeMc|q3 zHEh>(O|DLLn*?rwEQ8nxKt&dk06|7O(AMhl;yCtr;2m4+=5^$v|@%6>Mt_upp^ zp0ZW`KY|_YeV>}w$9Mc(<-Q>%sABCM;h=>KX`*5uQ!F?q+%PI)5tDc$HCc!?A#{UB zamUX_w?_Y|Nm?Hc_q3>Yge@0(aeli&)b7m-WeOIy|7~87ufmueHu3eZ6@O#xOIKzU zZ!=%w#2C@?c+c_I4znLiIbUG^y;4&@d*zF-1?@hXYZSZ<#D3^2oJ$k2emsNWeKec( z#mlcOcbeD>?`1Y(aZlB(y{`Oc=7P(@Ld$iJ)GVFWm=yc^&ywkB^F3RcBov$l>!&ES zA2DOGnbtPve=^tUj3xJ5X7Gotxb~1Qa7Ok-|8&k(k4harZ)V6;vVMJ6?x8N*UYQIJ zk2zZp)c(=U|%zV@K(#f-p+o1<{@F6|->Un6CJ3=E;7~MboROr#I`5p&7Zy%wo4+Z7UqW2Z zd4^2L4R~^e;r&;}XS<%U--@gZD)Mg*ygE;9K|0TcRVQw<*a}Nb{bI!!ab_*!J@JOR z{a+t0IVvd>w2*;`C-P9Uj?nbT?lj47tX+FRx-qh8nOdUrM6*`yO(NzV*;iG5znvDM!64u5n&f?5 zA#7fm8zICZa8P z!TEO{-Ao&fEMX8i`DJ47>JumA5*H;2)+#Pj_OvW(by(m2*2gI@jU!+M!qmq@FX zybki-J{@-zUQ9ZRdUqC<(kstNn055=6sGSnj$#Ezh>IGe+jJ5?ANuwS~Ts{aV=Ljh2+kgOaT$e zhVykMRfae0kBHlvcf{g%ncE|-2Y;8>&S2guJYmPJFI7y!lR64+i^+Gl$0}@43Un+x z^O>zWzUZfr*rL3E!k-MMy8h@MseY^``FF08DQKdx<=HGfp>PI)(36HYcnfRyDYdgp z=*{~7{m8S3V~eNH`nq7ds@f4hfiLgW*ygSAT@c^&te=^uNlxstfWJme;IaSv74Q9F zets|0o%iyFd$o$9Tnf$|uGbuG+$S8;meTmue`;dq*}~M*DVta{K2<09CN=GuqsPCu z&iL!WrfDj(x}+Rz7tIrJJ}K5JKkdXG$BC;qPqDtc@_$j#M;;9gwz~pKu8StzT=?vS zqk8b8)b%|#T2~b{D}}4*ayKm4el=*PBC<3N?omlnjcR!tT; zy5N3YYfgm%>)9anjqgPlRyXWtnl3O^=(lpldykIC@?1d+8L~73y;pi)*uj)))Fs1z zviwlwO{1ASjCSAn+4jzw@kegA^M%)&S+3iyPyYIGT8h=JxbpYU8yIzrX7BZO2}+Rt zko}(nzqtMS4TUQ zV}IBYdw~jR(U4H0q}K(7721qnP30b*tp4HObs*`1*rLgGk{%~# z{`~EyC2}DC*`BV&T-uD&j#`{4Y4%f5egENf)Ur!48SfeF?0&fCtNwFS%(@U=G{rvT zSoGE{s@uYPs$0ZkZTXnXo;Gkaq>Jthz7XB`Gr_!R#qA%z{k23G4kTPYx76kPqhAtj zGZqvqI=aM((V;}vV%vt4#Y*y;57%!z!QQ$4aBkp*c&=YJ^NL>2%aVK*zP6D^GR+oFfb~i-q3g-CrnX_ci?)EvgOP=mn zviuK|F?Y8?##oQ(JBg%w3s0zWtxxzbaxm%vKil7jEZc1Mb!}Xe=fe$sNu(rMs+{=d1&N6GzXaaWDqvP7o`u?O@oZxY;= z9+oI*I%VnPUC$Vb84K1a9T)m~=GNr*tHmSqUfg%c3riIAny~HXtGoJt|9{!)Eh)Lg zjgi4eZ;SE^OR=BIhD+PH?&NIvAHHyh66>-L=Q8rLk53m!-l}=TXZwjx1>;6#lUEA^ zxFs6xF7QoAcM#{c$(eYRV|IW^uJrwhdO^jk9W9)U(=_gF<_dl!;ry_qTZY|c#+RD% zqo*dv-`Ej*;Lo#d-+qc2ZjD;S`7w*xhfSb=!<5B$?rWC1@@L=nFO$Bv@%a)j#w$UG z4zGK;;GbYp5W|6r2fo_BmfKY1JS-Gb|G~GdWMp$!}Qmuz%Uh4T>Oh-PjCnEZ-LJpTQ%>Rf*wVQvtKr zoQKEzW@P4NtEZoyax{C(3z^1l-6Fogwuhz?*Hq`fo)Q<7&S-PRsM*(K8cSYt#Qt5H zP5ZX)O*c{(6;rXzJswwd=@09ikcbDBS?Z!k>*pW+<2iA*h@R@LKecRsyCX{V6?ZF? ziZQsnJjhkK$mo{)5z{`U>2h~BJn|PS{J1pKp?IO}BIoQwVq07veC?XE&|u=*PZ}(- zuY~QUY&nyuJ{44M`u}*saMN1!p5)_zcI}!SeV3kI=JM|LTzb^1?40Ij`7{TknT$rl zr(Se+?O~g-`b6Na*II|R=PfBb?DA-pskM#AUF`#5YT~yTZOb>b#m(uPBj>2E`}nR& zpn386Il`0Y{pv`IO4QU!3UF&bk#cknN0rryoYuoPH(z=v%~C7-p`hA3X8p;-%^^_? z404K0-`Quhi(1+qTPWpV7wG)qKvkw!?(=yMJ&L2PyF9|0ZyDWVY?2FY%hXVBICJ5} z)@7V2>-n@C-+$WBeK~+p>+O;-MwvyjHkyyEjav4z`l-6Lr%qARkv}a|QC?OiNyd^VmicTlT%waES3 z^yeuurc;({d@6mgfQ#p+!H4wu6YS4f8bdV+sB)~mq8!HcXPJ}pyrmy1<)iJ_ZZLWI zGF&&9`}Btm>`_moxi)JXq%i!EiJ1ScJ9n4IUZ#jEMsw3D*?PSk!jI^MKe?pz??3aV zVD7?enzHlGXy`2K3tH^DZ^?=MAsIK?8|@Ey2d$Ldt@xFTfuV6zl{W9M;6<}O6i#Nf zOEY|*eW|YAEwS*Dc7Umg_^p={XT_NB)YkpPr}a2Puj(Ug+{_f%fwipo??QHqb&_mzKXP`dMAi^y>^neYfF=A&wXe`TiL{lih!?D+m0 zXJqB1%@@8+TeXuZXX(xher+G77~S)A$(%nm$>GBLtAW2(x$Y9%dPH`5h^$O#geULQ zW~M#swLY0?NyKVxxT5^W+%;^;!t0KvL8f8{!i-w31kcfbVR|H5KcTv)t7c38oA1nf zI**G?>wA%~@Mi0Aiv=6FL0wf1OU%i;c2n;9Okwm(F#YhbIC$k8=%POz*hm5-!quS*Pf+mD}F!J@NG=iItbUgADsLb(Fm=cFljI z?tDhyGvPDyY2IH~86KPcuM3(g#^6%Petcun-=oW%vLO1e4W)$1p5 z+)=!-ooh{T-2a6OUx|X|@@#b3C#YIzANf7?P)m#JD}gWmcHh`7z51hkHf(r0)l>g+ zoMFYQ=MBNEwfo&tw+XLZufO5W;kY#)GBna|L_~N7f8}CW^kj1Vpq)zLk|7VR2RMww=nH_E4f`2VD{ zbap+5q!<^&qUD;+X{Ue85B$M$(qcuKOS{Y24fWX<>aPXH#2>n@s<|?3^H#n2>mM!@ zvy^^vR%&WOwnx-9$6q|(yhL|Kh30IHUw!G=hCl`ZOV-9?N;BVUg=h)q`fD>Tz0f;>vtWM0f6Way60XZh=ICro=aVZE-oA6KZPyQulbkY2 zFMN8lUY}>}Q=9wubI1kx>w&*kDB1S!yzn|gqKu1SQNmQ7hezs+>?LzlCZ=^A&}v+| zpr6T`C5&U2n)ij9>ZZ(#cDXOhFOIgZP*9BPotAyNVzI7~{zUJ zKOnJ_>p+djjTdMB{g9Z(#Sr%)#h+~*YuwZ=Hr0+CB}~#RVa@9TQ`S0~GtJh$#Qx=T zQlbd|3e$|ehi)8PwY!~5X3<4A`-T^G^KX2<8~4bpo>g)m*MhaRuf=9E{polW#I)O~ z)9hpztAY#Lzk(lncb}~{IQ-CkbMUO&w^m*>5-Ser_?h3m$1ZcGjP+5b>x}Y;bN_W2 zt`R*DwoD{!f~rMH!x{5N^T4H^0f%QyI{5E|vps)K+^ao*MU!1L7&_wES&lKrZ#c2L zan_R5B8CgvFU)P;m^=Hd&wdse>DI&4pwWEc@HO$1e|EdtIa)2c<7V`l=hw`Ow|<{? z*fZ($o7FbTUW^Q9v~&(#zwmy_u5R5=sf(sv?&C6+`2FD{8(ZG{#mB5R+e^CLiT!bL zTJlDZf@QHqa~<`?cC?@RB30nh!nD2OM)$nw8~?BFxc!II=#fstT9fTtCtqcFu)*lw za(3>hWrj+578ey?TxI*a?Lb=iVf#wAHB2{7O*zEnP^=&x`Q)-oU~%8V=Z4My()&K; zGOAVVc{*ds(?SEL^$fQ+FG}SSGd4K)`e$pqt^Wn-6)}$|PIOqm;QFr{pRXJI5}SV^ z_n(O2Bi)8v%Uv5}_@m_?#4b5;T;$HvlKX*;?X16f`TuTS;JW?e<@R8P+ZXR#J9mnG z*37C$pH3=1JKPn+)Z-boPAhrs0(-+3rd?|`o!Fo|E$XcW>jvRvqSKTnXg;31?1P}| zIi{@1)3l$KaQ_l-u3N8j?{FIbW(nDo4@C~-bcVbT*@9o`)}t?(L6w65A|VFh8t}jnj{jNAPU!+m@^qi?2u|^aVfBY27ShIZfmB zhNx>%jlNBGQl*bB*8gZZZL{@n?XqJte;)41`WYA|dN%j%522(rW>Y^dV_Yr}`p}lo zqUDPv|L=z9EU_9B#J|+Z?>=;S!};7_4|{_d3@_igcJ82~`s}^Gayl$sCT4P}H=Mb$ zLgo8Gm+P%wqHlGWV_l|p$g|hFOmt_7ou(Kw{h~pH#qwQIGcCW#E@#m4DUP;|kNq5N zSN?%jvb!hrNkH!^ar0&$CN(V?mLAor*cFOd*B);C{ocECPHAca!wW_;=GCn8m}|Kr z)IOMO&=T1k8RA?%Uw)?r>ja@$w{LM82CY9j%P4N~g2haG4DBAS5HR+dsKy_yo{`%S ze!Tns++QuVU0>Q~#5I?3?ovHcBDID2g-M40$qLoQQ6KeOsI}(@vU8~6KmX!&*_&^$ Sa7lpngL%68xvXl!`TKZnvP_%4&xu*_(W@kPBIJAc?g@R3WS(f)UJE-!Mt}&WxEHtAAX%>(R3= zJmG80U4H%0?>^7gYAb#T%iq2#FYRBwp~RbSTW&YJnq%|)iKigLfP(`|BpDkFFQ<2J z{IA>G z=yaJGhgA;Bbfm3J`Skf>ecFEYM227PObicVTqnfqF#TDyLeI;5!S$uHVkTWUwLd)f zCdxC`$?$IhN z9I~7Y0vgg^q$jEH8t%&R|G|6EAShZf!%O}5xqmx6PctYgGBPj)&iN$%R`Y*Z;i>+O zOYGzBzB;gMEnm*<6a~=($tnyD$L*$kJNvfd_m9htMhxdCGBC)UI{kajm(|TF401}0 z3^s|){}#P{dAnhKdFz7s*kd_f>eWfYjmsEB-Iy3cBH|wTKiS5srOorHQhlrZMt_yl zW-GZCba^l|aJ^#tm(qK=PGJStf+i6E<+pEVYyEy7^m@Dg)2_%oTfu}=AYp|M?&_tT z49?9n)Pxukx^f=GPd&m`XZHE%tAdLcn1vX9q&OK2SXt`kT$(GaAb8-&1O^6Smj~|t z$8v7CJP_<;IM&O;Fr(pJT;1mgjz2H_U#%0E^>qF75(gYC7{o^E4c zb7f-S=?J#h>dssw{WIqO;{5kv`f9c}H}0R#W}4%`%3#6V zT*u+}eX66mLWM%Z1O^8Ag-`kqTogJWD8#T}g8xtTXDk0cT*UCO$n${hY?d6(MaOs; z6x^%-%;!8P|M0YMY#wI=7sI0PFTdrv1f-MA&h*ZI$GOObsbNK_zvIsh@&c=;<#OIh z(o?WgVdw}dzi~e2hWtG-1|D{|4i<)si8uHyf}=v1qM9@eSUOgS9GstM|6of}>j$OK zjUE#i6r_$f)yFc-Nxdf4X1-HVfIW(#!)fES>#X%=zZq){`Okdvf8CTYkwKw?r9L4- zg;8-aYr_KB=nu{x*x8nS&tz}uW??vZ>HYpV)gR1@l{h&>bs1Pr&ifPIwYrYM%h6iF zM1_Ha&-Q;;fbUy*{;vGYf7g9J)}H@=fAMT7`F-Zg^kx`MYM3yAK|zD%f2Wm3Q_bnR zNn1YIpMSEnCaKQw{+mBK$rJJmN=`bQ{d4f&X7SJRt95QYIq-Kz{O3*uP7YR1hNi$f zpYIDY9kkeyaQ}?|2e(;f4BL;1K53t-&TjfSbe_ZtlO@rn2@fwvOkingU}11fIO+c~ z=D__^{@;w#R%adD7yt8p_pF+!>MZZ1IUPGouIg-`$FawiiQ&EAAMZ=H5A$yt{VQAX z`@!e?+K+@7e_m5#=3N+NGV9%K#%Lz}i3|s_kFKs;_a(u)g5>e&wqR!|2nTX z5#lkCDhw-3%>G*L^4odee+z37`_V}YLIN~98APXk|C`MBZ{3~wFH<+)sdD)6ee&PZ z+a-q!ex7mLbI15>KkHOyR)(n|Q~rHd^~*bvf0yl_dsBkQW*t3&YpQN<*jLC1F@*R% z(f_lxYhI=nhu@dYjCaEr^x4B$bQwbYC#~_Ga`1la+sE%pPTX0)Hgn6n8}ZMrCxurj zO`fs*XjEzlgD69Y*OKsmcP3nsRa^R4=q<1KI<_!2P6jRIOPB0b|DSmI?UD2Ez&&b) ziJ=9m7nmGMUBZ7Yf5I>QYkKteI}LM=s2KKVviiu2GK4h!HHgsh`#9RkCF&|AI z%-gxnTjbMhJ${y8XQl?P3vX4+pRU(?XuTo6R6FO(;mAd^xgUfb2)W2~;7Y0dug*uz z`e*GwaQw4yzsI*}zkALkiQ^6#XKh4$ctsg}LS4A)E969(JJT#CusQ}ivoc%`^-ijI zwEd`F36GXMU&(ui7Cpo7k{omRgcy8${{?itTGg^Pbk3ifPx~87+n+S~Go>k8a)j`4 zGAvvE+be2Eh&ks!iBJ*GhF4MhSa^h8nHpAJc)LC}f3x1gO$YCkR{O1rHv4g3XhF)Zy&26*BBuvzR4iDuf+6A4uD|sexS{G z_xU74MHPk_EB<_ufA=8X>%9D9u?nGp?ehf-_jVh&sxZu0Q?R_2^WTgaNv-dMIR&pX zskgB(2n&CBIbYR&hQ;PRo3-3#3C)X?p81aJSRV_+WZ_pY=RdD8)Riqgylf@Q@il?0 z681t2J}x_!*T+6K6!!7HSG4J>I;TG80xkna6^0o-3jY6p7B91T*}YOrPJrvfGtSV4 zLS@DSH&`owm6!jmJS`(S@&4TNU*@&6Y8{v{ks;yFA?v@(7YW^J*R{D`8|cqm9onyT zz+xgp!kQ+Vzs4W?SDiW%x-^KBJ+#44iSa-MYx%G9?f-%pwO-r^NO1VA!PDJ%tc8Uk zS@_P&`?enrUy#>YC&9&&X_p$dKmJcxfRzwK&*iQkK3Bi}+B(zz_3N!d>p%I- z;I>UgB82f+<8=l@vt4_)=wGe>@?3%c%R52&$@Sh#)1p54{XZEM|3gQ9p7)u)mQNqV z^jW9%u`nbj+Si0>|JZchv2Kz1&j}&kX+D>0HhCQ z?6i_Es`4TYCF|MLHfg={n)`lNIMd9dnw+8xQ~dV-|Mk&j+5g!0_js)YKQwZOZc#Pw zVcxvw^Ueh#DhwKP^Ys5JJ+{o15lQ{48-3~iq9y!a)(hqCG&10ckcwi^2(7!MVg6(H zg8fs!e=`2r7i?#+r0?Fw(1zNNv1fNYP4Yc>VgEfAiF0 zmmDUSN+HRb*yY^67G?kZI?wI(vYi(fo#F5C{212oKlsbBAA3``C}l7%Fk#O5x0x}{ z{O*^1J2!6DWl%dcS$D4Z?1@&*2No}6Z3w#Y>HnfHzZ_oPyL^9B>IwBZpBgobLK*I_ zXWjOB^|3cB5{$YGQx@NzY#nX>!TgiZ|DxA|2jyqz{WjeZnRD`sL~cXiM1}<_%lAp} ze-i)FSM__!uSTzz753a4B0}U0RfHIN-njhyZ}1_0+w#BcbG|iZotpmgM;xm}+6M`D z4+eu>c|YxSm;L1Y)1Ytl%cUmG$JxLnk1-+T-O0ePVy3!J|J)e1Gq$<0GAJwmV79yL z`!OkKW}eJ*1T}RgMmRI>29U$U4i(_I_U$?uO16_W@2F2c>2im zLK{@0wq)7nZ8@+1-8#AH zZ6mJ}`=wgGU8(*{_22dfOV5dF`uO_E>qhBEOKbQZ%u7&+VP*+fwMYJSnez_oTX&x? zbbo(-*X5PbnsZNXMx?%QlXTQ7E5j>UpK>*J04)kQx1p18|g!-BEz z+~cziDeqa24mG{!KW~_hXKKFIt>3dsSRUPAZE&Z2r_uq?kArmL+ zzIP4|NM`R8->;N^A*#4YRIo+AUJGCq}_TK7u_NI%Dt>OALY5FbU z`sG*qUyE2a>KZsXi&i-76yBl&9)-iwU2QQ3{ zyT@kG=6HZ{0>c4sdDg$%-?qv9V|V-g@BN0C2bVpFc{ej%+F^dz`tOH!-?{s(eVeL* zw|4@=J2MBRf2s_pd>b4mFdUG6&h|I4^jK`D%Ne+QfY~e@0#qu4V|REIwZ@U2Ol(Zg%D6o7)fGpIRhsq$KKFzW*n` z*{Qh)=S{nQnClyp&dN)4fqw`?fag(z`MQp?c5hpA-?nwe z#PffSo3bvy@nHWmztcimS3_sBbgX5$BN*fJ*|MSS$FkdO57ZpwJs1Ks-)+hFm-`;u zx!?M5c-95`V>z65m+r1u&aYZ>SLH!NnFIg6IQA621^F?|N3O_z{pP#PYNh_YZ_D@B z&C}D}Xs{%}=lA=L`^@#tCqK11-r?KP04mx3{hgPfoG^a|reUba_9Ht{x_O>AU?p<*YOTiFe#P09Z-~Wq3e({$-+8?i_ZKGME z7r#0+r1X~qQ^UreJC4Wq1~1$F-~a!9f#R3{RiYTvwc@UMA2q+j@`9U_!OQ%s+<(>{ ziC_OG&HpE^tp9huNwz(2ZS|WBqd#+)6=uF>=49|HeR|YBOmFYoHzB$ovdbUaBs?a*ibLX>tm!4X`@8yfvQfJ>1C68{+HS2G=BJsysKD5EOBGRbosWYxl%4e-LTHVCo)2_=<#`wjBsiF8OcWuu4`~UPRUxcpz zFLNwI%W&}@dyZQS$A4CcP7rhOS7ET2y!-lm{VyN?T&bT^`TyH|p_MhC}?l%Gj5m@Ve*dOhj*(ns<_4RR7pM<((&*D+4( zGW{gYur=l8HU<`EgJp^qPwrpuH&kJ;4PbOQH}#M8vd2fw_9w2mcw#+6Tj<%D6C$@U z$t`3RP!M8x68ukb+Mj;ojrSQIR9;EE%G!RON!efvgVM8QfAsfO?qBGZ$K4b+OJK2-*)^zFWIjk%G3Si zC3Bl6^I?I6guW*G)$#U=W*zzS&{aTMOtj%~&2K3$R&gap4vvHJ>6+hmEN?nk`Xrr^ z$(2cfqsd+`f_7J``(serJ;WyPw~W-DbZe!gK6Haam8lF2gEw+W^K7Gos&T z-}rD{e6iXqxwN=bY72PVR-I(;tWo@@$oQg>dRX+_JP!t&C-c6j{^0j`x?taC;c}q^on;KWG=ChBkWcSf!SKa_>A}pO^54XT z7x%ON&C2o(yEXrBm1S&H*DvOS^D<^{Vf;1aWO>u$8H^kP&JA)uKmDxRn{4IJD!zGn z?d)55TkL;+4SeJHf65--1gWOaH|Hy#`mg?@;`E6bAq9#;4E{S@?dNWvo9?qYenqCr z&8q)5|Jx{jn6Et9-OMsd_}i}e=T9tq;IWbA#QyvGvVWI9a8hBIH>2`)rOyZZ@XKsl zzwX_C=JMlr2k)|7czcxh_u|rnkwKg9R4G}UyDqD|@`2MCh6;uGKg44N=R9GmPkw*v zk8jg|1|!7-bG@&#s#o6ppWdCEufiZ&4l0*s{IG95VBeHiKii?4&F_D@XG-Ls$y`;7 zSOXG&UYK7dck9xAh5OH@&pNV3=!^FOodc2{UFV*xWBBz=@Q5`-?Lwx2MA^d^;{9?h z{Y&0{-P(GZ<$uwWrx$(XId+9?xA;5%@M&p=5QbllOaXyM`~L4ba_&Xj?!)`5b01Dz z5Msu8BSGK6@#(w=BDLEh#O+tRtX!ZT#UN_(|IgJ`$M!wGpK*Gc-1Tq&HXZ1!pJP?! zF0@%Wa641U-0J_&KYeCvFx>Ox2D=u6=;L4ik|tHO|GOh3ul%|?Tzs0w_x^afA4z$v zCEowHIGua^oMC}SFPDS82ZNT{r+xLCb>A-CyZUpDf`7n0t_d3J*_KWDSN-7&FT>}v z=gv3H%U}%Y*!^BU_rrPrzbyY&o-8@LjcK1y{q%i2r+6LjE%|c4*~__RvDeT2{vixn zi=uz^zu&ii_pRyoU#kD`4=vPwFztwu&D58&P5+O6xtZkrXA0LZC#C?wbzk%+8ZMeW z*S~)8^?1RfHV1q;|1pPzzuo_O+JmId8f`lxC)Nf2Dh#3m$uIBUeSLrLwt{x|>Q$c>Ktz7k@a zo$*TQ;C}m~>-W!}?>)2boHfJWg-iyifm8qWZnL_z)APgneT%&uB)XeE)r&X%caVCt zTHp2zy7{G|4*6m-haYd(_P>%D z)J~l{)P32F(o-EEAlj;{A<$9U;qvG%R#I0W) zRxtQ<>i%^X{Bw7MeE6R~)BVrxp4RYcSxD^nEBjM~#hd;M92c_q{eH)Wf)pI@nU%2U#aJg>#%KQ4dw;$}zI=z0ik>@++`yIKyCxq4ZpH5tDz4}q^&-wrU zFVL9o6Y!z@AAhs`^*@V3_Q>AfFkfqXuF-`Fg$2R)+|1tA*I&MKBe6N`YwO+ET3bmu|;X?L?@&(`dH z-E;HN)a@TXR{iY1@L!%yw}JDd|Nl#IQw0S76gmY?`oHeSw9E3-_D$%!k{htz+g#E@ zTd_d>5A({I)An4h54tsfMca?AfByqK7}SnT``0}8*YzW7-p0;X|MA%A=*zpci+!S9 zJ3p3N+&tTqkZ^}-MuWEgw;2Dmii}0y|IGZx{wK`lZ?t%Ps>;;E3XC%vT%Im$Ig$Hg z_qGF@L=Tjk7Ki_ty6IJ=g$hIRH2uGvA8*aS$ZPh8@!#q8|21>}l)w1T-^-G4$0_Dl z@|LaTr4Q#Ze272$`TUBOfB!c~Fv%lcKh6ajr|8?)%&%oi%vAq7fhKQRJ>w=Vpdw--yORk>s zud(3AzZd5x`q-y46qtlCcwIA`o1peT_htR$2mCC@zE}V6d!=@;zC?vVb=CVfyRV;> z5^DIfZ-3d1FYGKT9o7H&PS<-KG(8{`TlKl_=(IDhg_tIhs~rO(`6 zTZ8)QQ#2W*?*F9;3{#H8{^d^m$iK8+!RF|Lc!|%RS~Yf4 zTUZvTER6ZPdB37r#8++>HP35DzGv6>?fzZAc`6s!x*ZSq&)oht{z$RTAI3w%XSVL2 zvu@T?v9~8D1u$wfO8=Y8aHZ#Y^+Cot*Y5rhZ<_KTUQeh&sAa?V`@H}5?)tTSI+KFL zuD@S*wFLY+uNnT|%ZHhW|zs$|nFv&G$-G2RW|DP}OOJ}TNWttfOlY8a+_bO?z z24W!$ZV6W^YIFN8+Y9t9djEdipR-;TLB+}G(FS5F49=hS{(0~B|LvNyFXcI0&)Q6z z@avyttauME=Yb8Iaw7j+d-8?9MREW8^+LCl^u_-7NOB&S5Ms1`|BV@c*bhzM|J!=) z`}x9O^5*xLB$}fCT{g?jFVB8{{%>6L4rPWt)AWCPp6P2jKJQ<7#q^XjD;RhdD!-S0 zWH@<-FXMx)k0#D9nD)1(QzN+eC`uJ;E===>F84f?c?q3rtF27P{&ptEvG+V{5 zbN}9)Y5vw#IqLe6nuS@fz8!zp_s#wLmQbIp9ytl$OJ}y!``uEz`!{W&>H*G!?Dg9} z|Np^@jROoBk(W{`d6l-q)Xf9k2AU*5_+au-*8%evt$5cdtsxer@VKsm;p!JN`<+|IqNdJKk^SoA&8G9^s-a!Cf~2$-MX#h4tt@q)(Zo{4V1KlfU)U@_)sW8*Lxoa-O}zX3hIIEnoC%L_W3G?mB4S7QZ{hXx(35 zVNQqnS?{fQKMFkkfAFmB{aF7VyKkirHg5>4{{34vis|2mgY}31eO&0GEdR$^z=xO9 zVSdj1ui77jgD-3c_X6YJD9j5h-OOluxzbH2AUE$){Qmf&?OyM^bnYCpXZydbk7Ysr zvCEz@&j0uOe?A|dJL`a5izm~nw=3?ipSN|E+vH6j*GqXY{CbxDfB)x~>-YS*&MyAv z>I{YTmnO1=T;5n$AG_$#-2bZ*gcIaHxyRnyRxkKIBm4cWLz5mjt$Qx-b@RVcUUPzb zw)y4P(}NFQd2+fo>se;X@_%~azw)=dzSrhbYy_isg-HMa19xd$KRvG?VChw&GqOBUt3w@cwBE?KB-IxEHvFwlk#@heV z)@PJMc{m;HZSF9nO5t{yXhJQd+u1p|E+tOd1d*(b<-mA z0)MSn5NfEC_`j`4(opBWlyXF}`ST7iEZkmdoW=xU}BTGo-*cVlfwc`2pElml{k-^2y-(f!`K~FVZcG=PqtjkJ zTKH{gyd;Co!MXo(Kg5gHJcwd^Unl;t;8unm*Pp_;x7M>?iPipprOf!^;E#%^5KE8g z(<)LPvy}f5pEK>GRA|FNk;ea;jsJb#?fY-*_;ez}mjv&Z@g4a+0srh9FaKvjQcms+}QWu_t(EV1;!U=cTb)e{Zs1)$MXMjE0|(Vu>BMD`dfSA3*W)}^2SYa zK6hI~=1VMI`Cv)ggPLtz1ux(3-+g?79B0wbbN^H#wZ(p%srqJUz{>OYXB*1`@zDQT z3|`z1EXv={Kl%S&&eIc9w=DK!__W~tq@%NT-nM-y{Pp)@X`a77+r=FC?f4jHxkxbB zxJ`Z%?PxD`aXaIkPxDkRP5;$)b?%S!7w4T-7;IOl-K$k7OUqiR@O)m;w*4JE*-V{}3*)1syt5pa96e$$>h3?0Ax6R8 zw(6KIlZwTp6#@U`TTUfi$!+lAO#AD(^WAfMp$6`nZ_j$$`x!3&xA*I<`rdaqWanIl z{5tXX=Vv~Ay_}!rzrzHEm;>ic547=baN7R={e5S@%V|AzsvjS{ex8(f@w{$Ry@UtD zp~LJEiO+mzKd^7{nN(4K&nU6(SxtNNzZsJ`SU4RLrf?k)^yQiTwk<(Lx$uxD%YTN6 z3^50eGbH)AF$EY1m14` zC@JV;PnHu?fWge7F4?w;Gv3!-S1rlAvA+7ay{Jns7sH{@-B%{9(Uq7GIBh@6>2JTK z*RnHla2{y&$$jQv%dOD%b-Vk$_(>(t)+RW(gyJteZpV#zjb*gy%K7>@-NEl zjL|{)=gN#PT>nO^9S&Y6zr}ub=FcD57P?tymL2hN&R~4Ordt1{nPmZcveEmd<7fW= zzy7=_rkt-~<+r-hP2V@N_wM@f`oop_{@Q;p*f|~e?cOn+NVEIx^`VjL`n+G4eQa~8 zr@GG9-F12Ya#04qzY;Re4YoJtRjr!0cJgDb2ghTi6Q21V4`qs&RMPn3^#3}(?p?wE zwXXj*;L&2RT@mWJobAB0eX))MJ z_~x)G2+x-|x#L@z)9=YM-Hr2aziu*?^!xwL;)(m~Gk0Hy?>wv(-_ynApnvP<@*izn z2Q=4lB}6OFZVJBha{t_|$@YJD>#TUySzLZ%{l!Ou@>7~v7Km^6zh~~2wv($O%Ga8I zhfu{V>%Yfs{*=3DS2H&h*&l0SS->uTozeQ_Zob?G;ZH~X&M<-6NbXucOegz)k2gEL zmObXJ^Gy$isuRs^?aPm~%w|Y0+RPBb*k^dsYWe>^TnWyrTuN7S{JHb;_zh6ya6HvP zYnh_O(X&h$O64qmlTZG43T0!s+YrC~e0{f_{jpw_1^ih;@1HT`WKI`5V3~8__NL6c z(~kH&U9dJ+XrZ&(%y-vMw;!mVY-g|5%CbOzR#*C+#ST17^Va{(eB1Z&!}YB?$26Ay ze_Z0lx%rh^qx@wjrVH$oUwVHG_+*#Oac;_XrYlD(nap-=tj=u=f5df^>w%{lLwoSw z>A4T~J3lzSWdg&O!^c-Q9CBI^_if#I^S9;SRn**~tHZ?~{VIRAR&nx2#Si7ne+4rx z>tI>H|6boyOD<@t=)u-+>(1ui@X3r-y0G`t^_{9eB9u-W`L+N3`*iO4o#)!M6d7MQ zZ*RbC=hFT|d^}{P|^j^vg>^w$DFbnUrd-W4s|RzTVrY(#cg{KjoTb(N?DSn&w7|3M`PZxVNB6$m!2k2#|06cm|MO2U z*LnBcT(qWN;3AWR$E7XvxmG`#`N&Fv^FYJDdv9mopH=@a>ndB*Z#k9v=(p$V_Bx;3 z@4xlQH}|LY<_FT3%&dQX!fbg>OCL*u!m_7*5&H_SGsb$(Hak#Iwq8HyR+hu&js@1my9w)GS)-*ej~^S|Wm&Xnl& z>;9cQeS9TD2)8i(2I({#g|%TX%R4 z_m7z>XI*?&|Lwea>;JEQdv1m)9b5+*_RM46klXMreSchR_4a#+EuxqKmFbRciN|HmV`SV3~dkI$}~JtKW%!iiJjqt*a3l_ z+icG?MGp%fWMB|#SeWtb^Ow@YZ&?Hw9IkjUw0-!u*}HCiq-jw+14E!PqlDA0lAF94 zrbpv@e|`SDi-BR0E0ckWa_9BXhM7*G{<9Uvz$)#kG_7K68k89aK9Y_%wb^at%w`n+Sd$pQ+lP&+o}xf3yGb z?%EuQ+;_3F_iH+Eu3+dn_1&ytHPfEIvek?YoYppPK~qvio6gkBo%*jKEZQLW^ycp0 zOy6Rn)Ag2L*I&+*kn^nmM*Ni}doMlD{67UWi{`hLFZH421Hqk39n8A(yUyn_WFOli zfBU_LE|Y3;dy9Ae=G$5~yS#Q^{JUDKIq0Hqll>_drU0hxA}8t!&5z{&lxD2H{(Lr5 zg39sceS31v+4#RNpV{)s{*){C0+zdqa^(-s8nGzE6_I^{HTsxcn z?Stk zPEG}p530hUoM|Bz^IMETjYeng3B|0zrKI{+rRhIrI}n7 zMV#22;q&QgyKr6gHQo8e?MZneIv zZuVgHj9no-hwCNOwHQ=Sl{4+Rad$)f*4K}$w<`wR;ANQ9{h zp%y(wXXWn6doz;uhiv{MvLw`&duB>(gW*D^fK35r%yK8KzGtu=5HGI38#{T{y?1Pt z_t!tox^?lKZ`*$Zy%=Vl$U4;vC#JO=y7KP){|{M#4PB@6AE|u0@a>&=bH?FL6V87U z>Ou{LC!S1fIkb&wQ`Dy|`!)+7V%K8&y7cW!>0~)?hc_?(H!>uln}7$1J=_e|g@ z=wXWDxw5n4rw+T4eI49RYw@wU}WGUu3Y)U9R+ zp7#Ck=BR+$`u5A9nlYirX*O%Yr^<#Ww$6<+w8Z~dFZ--BA@jfTmw$$yDh!Xs?&&n_ z$PU}OeSf{ifhk)if4e-P?H^y^uj48c8G0f+LK%*SF@^0u9DX1r_GjVw+}k{P=B&%> zeWW-KsI)||7WCXv=RBaY^M1bB&pq0VkG}MKDl^V#2w2TvIh!S>a$|XPgW>7PzQ2F_ zG97s-f7yY_K+*UX-?ym#z`H7(2P|4;{@nc<<@bLEn@|Ji&)uir`R;gMwOd8u{!zXu zZ~D)F4{PTA=cgn+=bs_34%4g!f0iCFpZoX1Iz8FMKmo63P4!78J9htTztdg6e!Xst zSOV7y2A_a`K?#c<+O5q_3Cm7vFJm|*Q1#(FDBd*}G8wRfDxq-0QqCDtn}7X!bw`-7 zO`zob{|Ohb-MiYV%DAkB>ww6LSr5L~JU3>vk!w+O5&W~Z?AlJ%10oX{d>p?=Ex0-9 zg6h`xH=G9)k~sgFIj4Q#4|ZoVP&NMbZ{FI;@*XcD#9HijFx~{s$R%_9%lmMC-amOx zgVZw&J{Rxw?_TF3ciQjo+HcGE-}9V4?T~+!fx!0-{kPxBKdQRF*+9N|l>*}oquDGr zo9~;dFlnj1&3Kzu^|wf?!Sw&(e~YeIIoiD`7Tf;u{nxFn57HYRutzZji+yT4F!@gK zA=As1WuQqPmW##L|CqeA>DKtMJm-(|)CmkeksB2YVwE0FVpx1K_!-lqXK`OnzyHy` zOXRhVT4eeM{!l0G1xnB2-n=_?wr$S4ZC|eH#2LT?3|cdZ`DXC6ne{q{~3M0EM~dU4;XVBU!7L}<9plo{_P1jZayh}|H`Jheuarp z16OyY+yjv|7VXnhf2ZHua(z+7k>&hf{yyXuYT)|)>F51dvca2eLxROGh^?5h_<;Vi zyf;t(IUk+6fA*Ar51EA;x{~D{m%bLE}S>3e)4KUVo?GOWXeT{1>Ul|1vy(4?3$b z%scUW?fYBjm1^`CwA@rZLP@Wc z&^RF_P>orhwbrydWK!E=wcTHTy_&y`<%0xg!|`WvZ|-eZpICZu#Vof;x-Uz%InR+i zq3!mrB|jz7;$?r&>pBir&W7h6OkU68l1yF+H7(2fR`mW?O|VVSmrvrop8Fn6v1g0< z?(E>fz+~|M&(&qR>G#EYyf4=+-O{7B(wpnn{IgqDT`)Uw`se?u_~}u(mcm;d?W4~y z+Z}6u(0^b8151-i!loQa3*B#gJEk3Mw9Vab5?OR%+RQC$ZnNnfI4wPM?!>aY|31H( zHA6qd_uu0`=Z{`to$UC*y}^Tl$w??cw{lX#6NP+jkxxq=ez_lR|1-I%x>e%tjorHn z{2M^Vx2Z5_^!uJLE3dpI-l)XLA>heiVAW*rG@YYqb9HUv)fJx%_zZNSzp4LFE>U4< zRN`c4o5KI+;%E0C9t=#+CNca@+@{Fz>+lwPB_}2Ui{FW5=WADRHgpUA5tM9WP(FCf z;XzH-nOCn@7jHQuAS%?*@u5MWpy^cOm6X)?`k!wzxwNq;7=5;Xqwn?hZ?M=|g)*&K zWm}3TtJex@r!gpP{(bgo*x9-lJ9SH$j-1Nqe$anoB7@6|_urh)t1>>4+sUZ(SnSUh z`=7lJ`d?gR>X13y*ugdVA866NflSATl`E8d2z4-NRYpXlc10NLz z3t?TxiqjdZ=a%LbzGByN<7P-N(rx@cKQ5{$d>PA!R^6Y)NBLjyi!yvM`Tu8Xb?67X zs|+DirN0<=My4*+zhJM$@FMg3uS01YZ3}`MR%x>R<@k3XVFg2iLI`t!=$v1T7Xug% zIILh>AY}2CS$Q#2!@@w`14krtI}Nj0>Jmy+7$hXCnGMSByk_@uXKDx%sb-EbO$coe zx*7L>neO-d-qWY?u{dOUFa)g9{=fBq?xo88j?oON8D2`Sr~GdGsK9t2!a%+uap%jr z+pqT@KV5sE0<^UCPEA8#tg4`c|F-k_{(q#a!=KA@G;9Pdlim5Vq0Fdwwxi>ml^lQG z`q$OE%$J`bBgEiy=HY?`e-oR#7&!hMC;=^Q;?ri@!lvZ_l&?L{Dnuv=sYt zdwN~1XQ%uJX-D;6HhdYo$DgI446>S%j>?OtUxn<Fj!npTHH6HR}TVvV(gktFWK6{=4&UeOlc^6aE3;1qOCNK;eJx?H6V4 TRLxmk2NLjf^>bP0l+XkKL@CUO literal 0 HcmV?d00001 diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs new file mode 100644 index 0000000..f91b35e --- /dev/null +++ b/src-tauri/src/lib.rs @@ -0,0 +1,14 @@ +// Learn more about Tauri commands at https://tauri.app/develop/calling-rust/ +#[tauri::command] +fn greet(name: &str) -> String { + format!("Hello, {}! You've been greeted from Rust!", name) +} + +#[cfg_attr(mobile, tauri::mobile_entry_point)] +pub fn run() { + tauri::Builder::default() + .plugin(tauri_plugin_shell::init()) + .invoke_handler(tauri::generate_handler![greet]) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs new file mode 100644 index 0000000..a01b197 --- /dev/null +++ b/src-tauri/src/main.rs @@ -0,0 +1,6 @@ +// Prevents additional console window on Windows in release, DO NOT REMOVE!! +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + apographe_lib::run() +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..78af269 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "apographe", + "version": "0.1.0", + "identifier": "com.apographe.app", + "build": { + "beforeDevCommand": "deno task dev", + "devUrl": "http://localhost:1420", + "beforeBuildCommand": "deno task build", + "frontendDist": "../build" + }, + "app": { + "windows": [ + { + "title": "apographe", + "width": 800, + "height": 600 + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": true, + "targets": "all", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } +} diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..92e7e33 --- /dev/null +++ b/src/app.html @@ -0,0 +1,13 @@ + + + + + + + Tauri + SvelteKit + Typescript App + %sveltekit.head% + + +

%sveltekit.body%
+ + diff --git a/src/main.rs b/src/main.rs deleted file mode 100644 index a7f8c33..0000000 --- a/src/main.rs +++ /dev/null @@ -1,310 +0,0 @@ -use iced::highlighter; -use iced::keyboard; -use iced::widget::{ - self, button, column, container, horizontal_space, pick_list, row, text, text_editor, toggler, - tooltip, -}; -use iced::{Center, Element, Fill, Font, Task, Theme}; - -use std::ffi; -use std::io; -use std::path::{Path, PathBuf}; -use std::sync::Arc; - -pub fn main() -> iced::Result { - iced::application("Editor - Iced", Editor::update, Editor::view) - .theme(Editor::theme) - .font(include_bytes!("../fonts/icons.ttf").as_slice()) - .default_font(Font::MONOSPACE) - .run_with(Editor::new) -} - -struct Editor { - file: Option, - content: text_editor::Content, - theme: highlighter::Theme, - word_wrap: bool, - is_loading: bool, - is_dirty: bool, -} - -#[derive(Debug, Clone)] -enum Message { - ActionPerformed(text_editor::Action), - ThemeSelected(highlighter::Theme), - WordWrapToggled(bool), - NewFile, - OpenFile, - FileOpened(Result<(PathBuf, Arc), Error>), - SaveFile, - FileSaved(Result), -} - -impl Editor { - fn new() -> (Self, Task) { - ( - Self { - file: None, - content: text_editor::Content::new(), - theme: highlighter::Theme::SolarizedDark, - word_wrap: true, - is_loading: true, - is_dirty: false, - }, - Task::batch([ - Task::perform( - load_file(format!("{}/src/main.rs", env!("CARGO_MANIFEST_DIR"))), - Message::FileOpened, - ), - widget::focus_next(), - ]), - ) - } - - fn update(&mut self, message: Message) -> Task { - match message { - Message::ActionPerformed(action) => { - self.is_dirty = self.is_dirty || action.is_edit(); - - self.content.perform(action); - - Task::none() - } - Message::ThemeSelected(theme) => { - self.theme = theme; - - Task::none() - } - Message::WordWrapToggled(word_wrap) => { - self.word_wrap = word_wrap; - - Task::none() - } - Message::NewFile => { - if !self.is_loading { - self.file = None; - self.content = text_editor::Content::new(); - } - - Task::none() - } - Message::OpenFile => { - if self.is_loading { - Task::none() - } else { - self.is_loading = true; - - Task::perform(open_file(), Message::FileOpened) - } - } - Message::FileOpened(result) => { - self.is_loading = false; - self.is_dirty = false; - - if let Ok((path, contents)) = result { - self.file = Some(path); - self.content = text_editor::Content::with_text(&contents); - } - - Task::none() - } - Message::SaveFile => { - if self.is_loading { - Task::none() - } else { - self.is_loading = true; - - Task::perform( - save_file(self.file.clone(), self.content.text()), - Message::FileSaved, - ) - } - } - Message::FileSaved(result) => { - self.is_loading = false; - - if let Ok(path) = result { - self.file = Some(path); - self.is_dirty = false; - } - - Task::none() - } - } - } - - fn view(&self) -> Element { - let controls = row![ - action(new_icon(), "New file", Some(Message::NewFile)), - action( - open_icon(), - "Open file", - (!self.is_loading).then_some(Message::OpenFile) - ), - action( - save_icon(), - "Save file", - self.is_dirty.then_some(Message::SaveFile) - ), - horizontal_space(), - toggler(self.word_wrap) - .label("Word Wrap") - .on_toggle(Message::WordWrapToggled), - pick_list( - highlighter::Theme::ALL, - Some(self.theme), - Message::ThemeSelected - ) - .text_size(14) - .padding([5, 10]) - ] - .spacing(10) - .align_y(Center); - - let status = row![ - text(if let Some(path) = &self.file { - let path = path.display().to_string(); - - if path.len() > 60 { - format!("...{}", &path[path.len() - 40..]) - } else { - path - } - } else { - String::from("New file") - }), - horizontal_space(), - text({ - let (line, column) = self.content.cursor_position(); - - format!("{}:{}", line + 1, column + 1) - }) - ] - .spacing(10); - - column![ - controls, - text_editor(&self.content) - .height(Fill) - .on_action(Message::ActionPerformed) - .wrapping(if self.word_wrap { - text::Wrapping::Word - } else { - text::Wrapping::None - }) - .highlight( - self.file - .as_deref() - .and_then(Path::extension) - .and_then(ffi::OsStr::to_str) - .unwrap_or("rs"), - self.theme, - ) - .key_binding(|key_press| { - match key_press.key.as_ref() { - keyboard::Key::Character("s") if key_press.modifiers.command() => { - Some(text_editor::Binding::Custom(Message::SaveFile)) - } - _ => text_editor::Binding::from_key_press(key_press), - } - }), - status, - ] - .spacing(10) - .padding(10) - .into() - } - - fn theme(&self) -> Theme { - if self.theme.is_dark() { - Theme::Dark - } else { - Theme::Light - } - } -} - -#[derive(Debug, Clone)] -pub enum Error { - DialogClosed, - IoError(io::ErrorKind), -} - -async fn open_file() -> Result<(PathBuf, Arc), Error> { - let picked_file = rfd::AsyncFileDialog::new() - .set_title("Open a text file...") - .pick_file() - .await - .ok_or(Error::DialogClosed)?; - - load_file(picked_file).await -} - -async fn load_file(path: impl Into) -> Result<(PathBuf, Arc), Error> { - let path = path.into(); - - let contents = tokio::fs::read_to_string(&path) - .await - .map(Arc::new) - .map_err(|error| Error::IoError(error.kind()))?; - - Ok((path, contents)) -} - -async fn save_file(path: Option, contents: String) -> Result { - let path = if let Some(path) = path { - path - } else { - rfd::AsyncFileDialog::new() - .save_file() - .await - .as_ref() - .map(rfd::FileHandle::path) - .map(Path::to_owned) - .ok_or(Error::DialogClosed)? - }; - - tokio::fs::write(&path, contents) - .await - .map_err(|error| Error::IoError(error.kind()))?; - - Ok(path) -} - -fn action<'a, Message: Clone + 'a>( - content: impl Into>, - label: &'a str, - on_press: Option, -) -> Element<'a, Message> { - let action = button(container(content).center_x(30)); - - if let Some(on_press) = on_press { - tooltip( - action.on_press(on_press), - label, - tooltip::Position::FollowCursor, - ) - .style(container::rounded_box) - .into() - } else { - action.style(button::secondary).into() - } -} - -fn new_icon<'a, Message>() -> Element<'a, Message> { - icon('\u{0e800}') -} - -fn save_icon<'a, Message>() -> Element<'a, Message> { - icon('\u{0e801}') -} - -fn open_icon<'a, Message>() -> Element<'a, Message> { - icon('\u{0f115}') -} - -fn icon<'a, Message>(codepoint: char) -> Element<'a, Message> { - const ICON_FONT: Font = Font::with_name("editor-icons"); - - text(codepoint).font(ICON_FONT).into() -} diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts new file mode 100644 index 0000000..f4fb689 --- /dev/null +++ b/src/routes/+layout.ts @@ -0,0 +1,5 @@ +// Tauri doesn't have a Node.js server to do proper SSR +// so we will use adapter-static to prerender the app (SSG) +// See: https://v2.tauri.app/start/frontend/sveltekit/ for more info +export const prerender = true; +export const ssr = false; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..eb3daec --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,156 @@ + + + + + diff --git a/static/favicon.png b/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 GIT binary patch literal 1571 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4i*LmhD`I74h#$ojKx9jP7LeL$-HD>V7=?< z;uunK>uv1q+}9QYp`3aLRhP6(c_0+yMGvW%`8w9Z4+AO$r=LiV^}WjuyMS z-`u@3yY$$SKDCAN>H9tj&u}g}XS4E2pY^*PkNZ3lroTLubH?oMf4#J9vzMpzCckct zowYnCeNLl>-tC#oR|mW7^83!__-WF*w@N!}ZnWO)*sV9e?K!tS_p_50%zk=doa_6a z9Ze7`Oq(1d_U2FyZ`xGx-xFfEE={d84w$f9rS697HscGE-dGl;{V=G?`XscL>&++e z>-U#%oq6{6`Q0U4b%OVNS0!jYj1*aM;g7Z{*A0W>9o{wqst=zQyeQ;ij+$byPs!T7 zP$;gE@43N(Z#KN^`%g~qnDC*fQ@9u5T z`010b%(4WBW*Igy)jqkB43?QUzqIP?pR?n;uR)>M{Z!UJzVqjLRQx?D9Xlud=JZMH zM4Dt}4@n0eu2Ixgk=cKk=N7x!uIU#Qr)QK{iRNADxA(7D>^{r+(1Q28%d+>r`1fM! z3!#PnEzgzrWhp(JYGANY`@x@o);^8RydN}I>CasHT;#z0|7n-*i5nc8wD_Qhgrn&1 z_=)HIc7)82SrZn{n5O;yq=&Wj!=(QfoT>{MZZVX#Y(9Ll{di*M8HGwlu2VN3EWtQvP&QN2PVR8N7!YC#E{m*$kY8i3^zQiv$JVzqYQu{#r;icEl z=UhCnkiGRom%yd1b*>!Dbz(=$xA=OCK9sWW?kjHnIi=(8N8<^v!`m)TWlU#3bX%EA zWW|L?Hd)uCpL{-aJW{t>_loq&RRZ@V7u56iZFu;9u7AgewTA2m_dYzmg!LfHN%jio z6)Tz8tu4PtytF=2_HyzK35Her8CehRz9{eceYP>8gyZOsf1e+R9eAyLo&U`AQ!>jL z>i##s-geN-*K&%b<6Sll}2Yvce^~*xG<6XX?1V3gp#~N zkiz|sN2i}Ey4w@5>yt(|hpKnhq#5tcY68zPo5(r8-F4X1_Ok2&?FGW>zrU(?x;Q#c?bx4-5dPgKtZr*@mZ=`3%X zy6%Z`^e5Hr^Y+>AzJm9>p2Z^BF4@_(4b1il6W?8xzhU;SdYz;2?R&rX$y{t=F!Y`E zR$}w<@9ihF9(X_5v`6rxTqRqD=!eToZeQ5@{QQC0#~w>6ukx<+wTnGF|CY_6xJ%zz zHr<`$x>nEcQ1ZHi?IAA|7rHVEt3Nz@U3=2vrr*f|MGoxkLSkxhhdzJg^6Z@Zq2`!6 zN9X(x&t6IHdUbyJoZ{}h2h3KD+a6rvIIkc7=B91g%$DcR#pk?L*qd_b^D~z6tu4>l zcb}QJe%gmWZyk5-zxe)Gtrh1xH}U_oBV*EcOaCc*(s}2g+Fj}Irl)7WovQcub7w{E upWAk8&OVF%_w#jD-*4ISJB6Y@xbv5oeJi^*U66r+fx*+&&t;ucLK6TBI`Z29 literal 0 HcmV?d00001 diff --git a/static/svelte.svg b/static/svelte.svg new file mode 100644 index 0000000..c5e0848 --- /dev/null +++ b/static/svelte.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/tauri.svg b/static/tauri.svg new file mode 100644 index 0000000..31b62c9 --- /dev/null +++ b/static/tauri.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/static/vite.svg b/static/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/static/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file
+

Welcome to Tauri + Svelte

+ +
+

Click on the Tauri, Vite, and SvelteKit logos to learn more.

+ +
+ + +
+

{greetMsg}

+