From 4f2de451e08e25d46e6cc02b0be5cdb4c26edd80 Mon Sep 17 00:00:00 2001 From: Djkato Date: Wed, 10 May 2023 18:42:06 +0200 Subject: [PATCH] init --- .gitignore | 2 + Cargo.lock | 2874 +++++++++++++++++++++++ Cargo.toml | 13 + demo-app/Cargo.lock | 2881 ++++++++++++++++++++++++ demo-app/Cargo.toml | 15 + demo-app/install location/demo-app.exe | Bin 0 -> 160256 bytes demo-app/installer/installer.rs | 30 + demo-app/src/main.rs | 3 + src/lib.rs | 193 ++ 9 files changed, 6011 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 demo-app/Cargo.lock create mode 100644 demo-app/Cargo.toml create mode 100644 demo-app/install location/demo-app.exe create mode 100644 demo-app/installer/installer.rs create mode 100644 demo-app/src/main.rs create mode 100644 src/lib.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f1d674 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/target +/demo-app/target \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..7e28774 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,2874 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39" +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 = "accesskit" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4803cf8c252f374ae6bfbb341e49e5a37f7601f2ce74a105927a663eba952c67" + +[[package]] +name = "accesskit_consumer" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cee8cf1202a4f94d31837f1902ab0a75c77b65bf59719e093703abe83efd74ec" +dependencies = [ + "accesskit", + "parking_lot", +] + +[[package]] +name = "accesskit_macos" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10be25f2b27bc33aa1647072e86b948b41596f1af1ae43a2b4b9be5d2011cbda" +dependencies = [ + "accesskit", + "accesskit_consumer", + "objc2", + "once_cell", + "parking_lot", +] + +[[package]] +name = "accesskit_unix" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630e7ee8f93c6246478bf0df6760db899b28d9ad54353a5f2d3157138ba817fc" +dependencies = [ + "accesskit", + "accesskit_consumer", + "async-channel", + "atspi", + "futures-lite", + "parking_lot", + "serde", + "zbus", +] + +[[package]] +name = "accesskit_windows" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13c462fabdd950ef14308a9390b07fa2e2e3aabccba1f3ea36ea2231bb942ab" +dependencies = [ + "accesskit", + "accesskit_consumer", + "arrayvec", + "once_cell", + "parking_lot", + "paste", + "windows 0.42.0", +] + +[[package]] +name = "accesskit_winit" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17727888757ec027ec221db33070e226ee07df44425b583bc67684204d35eff9" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_unix", + "accesskit_windows", + "parking_lot", + "winit", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-activity" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c77a0045eda8b888c76ea473c2b0515ba6f471d318f8927c5c72240937035a6" +dependencies = [ + "android-properties", + "bitflags", + "cc", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "arboard" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6041616acea41d67c4a984709ddab1587fd0b10efe5cc563fee954d2f011854" +dependencies = [ + "clipboard-win", + "log", + "objc", + "objc-foundation", + "objc_id", + "once_cell", + "parking_lot", + "thiserror", + "winapi", + "x11rb", +] + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +dependencies = [ + "async-lock", + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock", + "autocfg", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite", + "log", + "parking", + "polling", + "rustix", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-lock" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-recursion" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "async-task" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" + +[[package]] +name = "async-trait" +version = "0.1.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "atk-sys" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ad703eb64dc058024f0e57ccfa069e15a413b98dbd50a1a950e743b7f11148" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" + +[[package]] +name = "atomic_refcell" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31" + +[[package]] +name = "atspi" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab84c09a770065868da0d713f1f4b35af85d96530a868f1c1a6c249178379187" +dependencies = [ + "async-recursion", + "async-trait", + "atspi-macros", + "enumflags2", + "futures-lite", + "serde", + "tracing", + "zbus", + "zbus_names", +] + +[[package]] +name = "atspi-macros" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3ebc5a6f61f6996eca56a4cece7b3fe7da3b86f0473c7b71ab44e229f3acce4" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 1.0.109", + "zbus", + "zbus_names", + "zvariant", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[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 = "block-sys" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" +dependencies = [ + "block-sys", + "objc2-encode", +] + +[[package]] +name = "blocking" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", + "log", +] + +[[package]] +name = "bumpalo" +version = "3.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cairo-sys-rs" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "calloop" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192" +dependencies = [ + "log", + "nix 0.25.1", + "slotmap", + "thiserror", + "vec_map", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8790cf1286da485c72cf5fc7aeba308438800036ec67d89425924c4807268c9" +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 = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "clipboard-win" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +dependencies = [ + "error-code", + "str-buf", + "winapi", +] + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation", + "foreign-types", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +dependencies = [ + "cfg-if", +] + +[[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 = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" +dependencies = [ + "libloading", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "ecolor" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f99fe3cac305af9d6d92971af60d0f7ea4d783201ef1673571567b6699964d9" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "eframe" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df3ce60931e5f2d83bab4484d1a283908534d5308cc6b0c5c22c59cd15ee7cc" +dependencies = [ + "bytemuck", + "egui", + "egui-winit", + "egui_glow", + "glow", + "glutin", + "glutin-winit", + "js-sys", + "percent-encoding", + "raw-window-handle", + "thiserror", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winit", +] + +[[package]] +name = "egui" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6412a21e0bde7c0918f7fb44bbbb86b5e1f88e63c026a4e747cc7af02f76dfbe" +dependencies = [ + "accesskit", + "ahash", + "epaint", + "nohash-hasher", + "tracing", +] + +[[package]] +name = "egui-winit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab43597ba41f0ce39a364ad83185594578bfd8b3409b99dbcbb01df23afc3dbb" +dependencies = [ + "accesskit_winit", + "android-activity", + "arboard", + "egui", + "instant", + "smithay-clipboard", + "tracing", + "webbrowser", + "winit", +] + +[[package]] +name = "egui_glow" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8257332fb168a965b3dca81d6a344e053153773c889cabdba0b3b76f1629ae81" +dependencies = [ + "bytemuck", + "egui", + "glow", + "memoffset 0.6.5", + "tracing", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "emath" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8ecd80612937e0267909d5351770fe150004e24dab93954f69ca62eecd3f77e" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "enumflags2" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "epaint" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12e78b5c58a1f7f621f9d546add2adce20636422c9b251e29f749e8a2f713c95" +dependencies = [ + "ab_glyph", + "ahash", + "atomic_refcell", + "bytemuck", + "ecolor", + "emath", + "nohash-hasher", + "parking_lot", +] + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "error-code" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +dependencies = [ + "libc", + "str-buf", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fdeflate" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76354f97a913e55b984759a997b693aa7dc71068c9e98bcce51aa167a0a5c5a" +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.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "getrandom" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gio-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" +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 = "glib-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glow" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e007a07a24de5ecae94160f141029e9a347282cfe25d1d58d85d845cf3130f1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin" +version = "0.30.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89bab9ec7715de13d5d5402238e66f48e3a5ae636ebb45aba4013c962e2ff15" +dependencies = [ + "bitflags", + "cfg_aliases", + "cgl", + "core-foundation", + "dispatch", + "glutin_egl_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "libloading", + "objc2", + "once_cell", + "raw-window-handle", + "wayland-sys 0.30.1", + "windows-sys 0.45.0", + "x11-dl", +] + +[[package]] +name = "glutin-winit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" +dependencies = [ + "cfg_aliases", + "glutin", + "raw-window-handle", + "winit", +] + +[[package]] +name = "glutin_egl_sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5aaf0abb5c4148685b33101ae326a207946b4d3764d6cdc79f8316cdaa8367d" +dependencies = [ + "gl_generator", + "windows-sys 0.45.0", +] + +[[package]] +name = "glutin_glx_sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" +dependencies = [ + "gl_generator", + "x11-dl", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gobject-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk-sys" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b5f8946685d5fe44497007786600c2f368ff6b1e61a16251c89f72a97520a3" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "installer_lite" +version = "1.0.0" +dependencies = [ + "eframe", + "rfd", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[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.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" + +[[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 = "linux-raw-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.45.0", +] + +[[package]] +name = "ndk" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.4.1+23.1.7779620" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.7.1", + "static_assertions", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[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.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe31e5425d3d0b89a15982c024392815da40689aceb34bad364d58732bcfd649" +dependencies = [ + "block2", + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "orbclient" +version = "0.3.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "221d488cd70617f1bd599ed8ceb659df2147d9393717954d82a0f5e8032a6ab1" +dependencies = [ + "redox_syscall 0.3.5", +] + +[[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.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "pango-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "windows-sys 0.45.0", +] + +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "png" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" +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 = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" + +[[package]] +name = "rfd" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cb2988ec50c9bcdb0c012b89643a6094a35a785a37897211ee62e1639342f7b" +dependencies = [ + "async-io", + "block", + "dispatch", + "futures-util", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc", + "objc-foundation", + "objc_id", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.44.0", +] + +[[package]] +name = "rustix" +version = "0.37.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "sctk-adwaita" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09" +dependencies = [ + "ab_glyph", + "log", + "memmap2", + "smithay-client-toolkit", + "tiny-skia", +] + +[[package]] +name = "serde" +version = "1.0.162" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71b2f6e1ab5c2b98c05f0f35b236b22e8df7ead6ffbf51d7808da7f8817e7ab6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-xml-rs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" +dependencies = [ + "log", + "serde", + "thiserror", + "xml-rs", +] + +[[package]] +name = "serde_derive" +version = "1.0.162" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a0814352fd64b58489904a44ea8d90cb1a91dcb6b4f5ebabc32c8318e93cb6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "serde_repr" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "serde_spanned" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" +dependencies = [ + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "simd-adler32" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "smithay-client-toolkit" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454" +dependencies = [ + "bitflags", + "calloop", + "dlib", + "lazy_static", + "log", + "memmap2", + "nix 0.24.3", + "pkg-config", + "wayland-client", + "wayland-cursor", + "wayland-protocols", +] + +[[package]] +name = "smithay-clipboard" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" +dependencies = [ + "smithay-client-toolkit", + "wayland-client", +] + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + +[[package]] +name = "strict-num" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1" + +[[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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-deps" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5fa6fb9ee296c0dc2df41a656ca7948546d061958115ddb0bcaae43ad0d17d2" +dependencies = [ + "cfg-expr", + "heck", + "pkg-config", + "toml", + "version-compare", +] + +[[package]] +name = "target-lexicon" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" + +[[package]] +name = "tempfile" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.45.0", +] + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tiny-skia" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "ttf-parser" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44dcf002ae3b32cd25400d6df128c5babec3927cd1eb7ce813cfff20eb6c3746" + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "uds_windows" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +dependencies = [ + "tempfile", + "winapi", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version-compare" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +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.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" + +[[package]] +name = "wayland-client" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +dependencies = [ + "bitflags", + "downcast-rs", + "libc", + "nix 0.24.3", + "scoped-tls", + "wayland-commons", + "wayland-scanner", + "wayland-sys 0.29.5", +] + +[[package]] +name = "wayland-commons" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +dependencies = [ + "nix 0.24.3", + "once_cell", + "smallvec", + "wayland-sys 0.29.5", +] + +[[package]] +name = "wayland-cursor" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +dependencies = [ + "nix 0.24.3", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +dependencies = [ + "bitflags", + "wayland-client", + "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "wayland-sys" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +dependencies = [ + "dlib", + "lazy_static", + "pkg-config", +] + +[[package]] +name = "wayland-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" +dependencies = [ + "dlib", + "lazy_static", + "log", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b692165700260bbd40fbc5ff23766c03e339fbaca907aeea5cb77bf0a553ca83" +dependencies = [ + "core-foundation", + "dirs", + "jni", + "log", + "ndk-context", + "objc", + "raw-window-handle", + "url", + "web-sys", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-wsapoll" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0286ba339aa753e70765d521bb0242cc48e1194562bfa2a2ad7ac8a6de28f5d5" +dependencies = [ + "windows-implement", + "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" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-implement" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9539b6bd3eadbd9de66c9666b22d802b833da7e996bc06896142e09854a61767" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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.0", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winit" +version = "0.28.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c9651471cd576737671fbf7081edfea43de3e06846dd9bd4e49ea803c9f55f" +dependencies = [ + "android-activity", + "bitflags", + "cfg_aliases", + "core-foundation", + "core-graphics", + "dispatch", + "instant", + "libc", + "log", + "mio", + "ndk", + "objc2", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle", + "redox_syscall 0.3.5", + "sctk-adwaita", + "smithay-client-toolkit", + "wasm-bindgen", + "wayland-client", + "wayland-commons", + "wayland-protocols", + "wayland-scanner", + "web-sys", + "windows-sys 0.45.0", + "x11-dl", +] + +[[package]] +name = "winnow" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +dependencies = [ + "memchr", +] + +[[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.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507" +dependencies = [ + "gethostname", + "nix 0.24.3", + "winapi", + "winapi-wsapoll", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67" +dependencies = [ + "nix 0.24.3", +] + +[[package]] +name = "xcursor" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" +dependencies = [ + "nom", +] + +[[package]] +name = "xdg-home" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +dependencies = [ + "nix 0.26.2", + "winapi", +] + +[[package]] +name = "xml-rs" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fcc45bb67e8bd9c33ada4b861bccfe2506e726169f7c1081b95841b3758eb3" + +[[package]] +name = "zbus" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29242fa5ec5693629ae74d6eb1f69622a9511f600986d6d9779bccf36ac316e3" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-recursion", + "async-task", + "async-trait", + "byteorder", + "derivative", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.2", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde-xml-rs", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537793e26e9af85f774801dc52c6f6292352b2b517c5cf0449ffd3735732a53a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f34f314916bd89bdb9934154627fab152f4f28acdda03e7c4c68181b214fe7e3" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zvariant" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fe4914a985446d6fd287019b5fceccce38303d71407d9e6e711d44954a05d8" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34c20260af4b28b3275d6676c7e2a6be0d4332e8e0aba4616d34007fd84e462a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b22993dbc4d128a17a3b6c92f1c63872dd67198537ee728d8b5d7c40640a8b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..b4c0a37 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "installer_lite" +version = "1.0.0" +edition = "2021" +authors = ["Djkáťo "] + +[lib] +name = "installer_lite" +path = "src/lib.rs" + +[dependencies] +eframe = "0.21.3" +rfd = "0.11.3" diff --git a/demo-app/Cargo.lock b/demo-app/Cargo.lock new file mode 100644 index 0000000..7e4da68 --- /dev/null +++ b/demo-app/Cargo.lock @@ -0,0 +1,2881 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ab_glyph" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5110f1c78cf582855d895ecd0746b653db010cec6d9f5575293f27934d980a39" +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 = "accesskit" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4803cf8c252f374ae6bfbb341e49e5a37f7601f2ce74a105927a663eba952c67" + +[[package]] +name = "accesskit_consumer" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cee8cf1202a4f94d31837f1902ab0a75c77b65bf59719e093703abe83efd74ec" +dependencies = [ + "accesskit", + "parking_lot", +] + +[[package]] +name = "accesskit_macos" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10be25f2b27bc33aa1647072e86b948b41596f1af1ae43a2b4b9be5d2011cbda" +dependencies = [ + "accesskit", + "accesskit_consumer", + "objc2", + "once_cell", + "parking_lot", +] + +[[package]] +name = "accesskit_unix" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630e7ee8f93c6246478bf0df6760db899b28d9ad54353a5f2d3157138ba817fc" +dependencies = [ + "accesskit", + "accesskit_consumer", + "async-channel", + "atspi", + "futures-lite", + "parking_lot", + "serde", + "zbus", +] + +[[package]] +name = "accesskit_windows" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13c462fabdd950ef14308a9390b07fa2e2e3aabccba1f3ea36ea2231bb942ab" +dependencies = [ + "accesskit", + "accesskit_consumer", + "arrayvec", + "once_cell", + "parking_lot", + "paste", + "windows 0.42.0", +] + +[[package]] +name = "accesskit_winit" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17727888757ec027ec221db33070e226ee07df44425b583bc67684204d35eff9" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_unix", + "accesskit_windows", + "parking_lot", + "winit", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-activity" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c77a0045eda8b888c76ea473c2b0515ba6f471d318f8927c5c72240937035a6" +dependencies = [ + "android-properties", + "bitflags", + "cc", + "jni-sys", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "num_enum", +] + +[[package]] +name = "android-properties" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" + +[[package]] +name = "arboard" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6041616acea41d67c4a984709ddab1587fd0b10efe5cc563fee954d2f011854" +dependencies = [ + "clipboard-win", + "log", + "objc", + "objc-foundation", + "objc_id", + "once_cell", + "parking_lot", + "thiserror", + "winapi", + "x11rb", +] + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +dependencies = [ + "async-lock", + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock", + "autocfg", + "blocking", + "futures-lite", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite", + "log", + "parking", + "polling", + "rustix", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-lock" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-recursion" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "async-task" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" + +[[package]] +name = "async-trait" +version = "0.1.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "atk-sys" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ad703eb64dc058024f0e57ccfa069e15a413b98dbd50a1a950e743b7f11148" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atomic-waker" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" + +[[package]] +name = "atomic_refcell" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79d6dc922a2792b006573f60b2648076355daeae5ce9cb59507e5908c9625d31" + +[[package]] +name = "atspi" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab84c09a770065868da0d713f1f4b35af85d96530a868f1c1a6c249178379187" +dependencies = [ + "async-recursion", + "async-trait", + "atspi-macros", + "enumflags2", + "futures-lite", + "serde", + "tracing", + "zbus", + "zbus_names", +] + +[[package]] +name = "atspi-macros" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3ebc5a6f61f6996eca56a4cece7b3fe7da3b86f0473c7b71ab44e229f3acce4" +dependencies = [ + "proc-macro2", + "quote", + "serde", + "syn 1.0.109", + "zbus", + "zbus_names", + "zvariant", +] + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[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 = "block-sys" +version = "0.1.0-beta.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "block2" +version = "0.2.0-alpha.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42" +dependencies = [ + "block-sys", + "objc2-encode", +] + +[[package]] +name = "blocking" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" +dependencies = [ + "async-channel", + "async-lock", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", + "log", +] + +[[package]] +name = "bumpalo" +version = "3.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c6ed94e98ecff0c12dd1b04c15ec0d7d9458ca8fe806cea6f12954efe74c63b" + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "cairo-sys-rs" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48f4af05fabdcfa9658178e1326efa061853f040ce7d72e33af6885196f421" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "calloop" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192" +dependencies = [ + "log", + "nix 0.25.1", + "slotmap", + "thiserror", + "vec_map", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + +[[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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8790cf1286da485c72cf5fc7aeba308438800036ec67d89425924c4807268c9" +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 = "cgl" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff" +dependencies = [ + "libc", +] + +[[package]] +name = "clipboard-win" +version = "4.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362" +dependencies = [ + "error-code", + "str-buf", + "winapi", +] + +[[package]] +name = "combine" +version = "4.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation", + "foreign-types", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b" +dependencies = [ + "cfg-if", +] + +[[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 = "demo-app" +version = "1.0.0" +dependencies = [ + "installer_lite", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794" +dependencies = [ + "libloading", +] + +[[package]] +name = "downcast-rs" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" + +[[package]] +name = "ecolor" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f99fe3cac305af9d6d92971af60d0f7ea4d783201ef1673571567b6699964d9" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "eframe" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df3ce60931e5f2d83bab4484d1a283908534d5308cc6b0c5c22c59cd15ee7cc" +dependencies = [ + "bytemuck", + "egui", + "egui-winit", + "egui_glow", + "glow", + "glutin", + "glutin-winit", + "js-sys", + "percent-encoding", + "raw-window-handle", + "thiserror", + "tracing", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winit", +] + +[[package]] +name = "egui" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6412a21e0bde7c0918f7fb44bbbb86b5e1f88e63c026a4e747cc7af02f76dfbe" +dependencies = [ + "accesskit", + "ahash", + "epaint", + "nohash-hasher", + "tracing", +] + +[[package]] +name = "egui-winit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab43597ba41f0ce39a364ad83185594578bfd8b3409b99dbcbb01df23afc3dbb" +dependencies = [ + "accesskit_winit", + "android-activity", + "arboard", + "egui", + "instant", + "smithay-clipboard", + "tracing", + "webbrowser", + "winit", +] + +[[package]] +name = "egui_glow" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8257332fb168a965b3dca81d6a344e053153773c889cabdba0b3b76f1629ae81" +dependencies = [ + "bytemuck", + "egui", + "glow", + "memoffset 0.6.5", + "tracing", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "emath" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8ecd80612937e0267909d5351770fe150004e24dab93954f69ca62eecd3f77e" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "enumflags2" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "epaint" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12e78b5c58a1f7f621f9d546add2adce20636422c9b251e29f749e8a2f713c95" +dependencies = [ + "ab_glyph", + "ahash", + "atomic_refcell", + "bytemuck", + "ecolor", + "emath", + "nohash-hasher", + "parking_lot", +] + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "error-code" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21" +dependencies = [ + "libc", + "str-buf", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "fdeflate" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +dependencies = [ + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3092cf797a5f1210479ea38070d9ae8a5b8e9f8f1be9f32f4643c529c7d70016" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d76354f97a913e55b984759a997b693aa7dc71068c9e98bcce51aa167a0a5c5a" +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.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "getrandom" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gio-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9b693b8e39d042a95547fc258a7b07349b1f0b48f4b2fa3108ba3c51c0b5229" +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 = "glib-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61a4f46316d06bfa33a7ac22df6f0524c8be58e3db2d9ca99ccb1f357b62a65" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glow" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e007a07a24de5ecae94160f141029e9a347282cfe25d1d58d85d845cf3130f1" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin" +version = "0.30.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89bab9ec7715de13d5d5402238e66f48e3a5ae636ebb45aba4013c962e2ff15" +dependencies = [ + "bitflags", + "cfg_aliases", + "cgl", + "core-foundation", + "dispatch", + "glutin_egl_sys", + "glutin_glx_sys", + "glutin_wgl_sys", + "libloading", + "objc2", + "once_cell", + "raw-window-handle", + "wayland-sys 0.30.1", + "windows-sys 0.45.0", + "x11-dl", +] + +[[package]] +name = "glutin-winit" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4" +dependencies = [ + "cfg_aliases", + "glutin", + "raw-window-handle", + "winit", +] + +[[package]] +name = "glutin_egl_sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5aaf0abb5c4148685b33101ae326a207946b4d3764d6cdc79f8316cdaa8367d" +dependencies = [ + "gl_generator", + "windows-sys 0.45.0", +] + +[[package]] +name = "glutin_glx_sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494" +dependencies = [ + "gl_generator", + "x11-dl", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gobject-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3520bb9c07ae2a12c7f2fbb24d4efc11231c8146a86956413fb1a79bb760a0f1" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk-sys" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b5f8946685d5fe44497007786600c2f368ff6b1e61a16251c89f72a97520a3" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "idna" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "installer_lite" +version = "0.1.0" +dependencies = [ + "eframe", + "rfd", +] + +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "io-lifetimes" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + +[[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.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.144" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1" + +[[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 = "linux-raw-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ece97ea872ece730aed82664c424eb4c8291e1ff2480247ccf7409044bc6479f" + +[[package]] +name = "lock_api" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.45.0", +] + +[[package]] +name = "ndk" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.4.1+23.1.7779620" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "nix" +version = "0.24.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if", + "libc", + "memoffset 0.6.5", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.7.1", + "static_assertions", +] + +[[package]] +name = "nohash-hasher" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", +] + +[[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.2.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7" + +[[package]] +name = "objc2" +version = "0.3.0-beta.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe31e5425d3d0b89a15982c024392815da40689aceb34bad364d58732bcfd649" +dependencies = [ + "block2", + "objc-sys", + "objc2-encode", +] + +[[package]] +name = "objc2-encode" +version = "2.0.0-pre.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512" +dependencies = [ + "objc-sys", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "once_cell" +version = "1.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" + +[[package]] +name = "orbclient" +version = "0.3.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "221d488cd70617f1bd599ed8ceb659df2147d9393717954d82a0f5e8032a6ab1" +dependencies = [ + "redox_syscall 0.3.5", +] + +[[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.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4" +dependencies = [ + "ttf-parser", +] + +[[package]] +name = "pango-sys" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e134909a9a293e04d2cc31928aa95679c5e4df954d0b85483159bd20d8f047f" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "windows-sys 0.45.0", +] + +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + +[[package]] +name = "percent-encoding" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "png" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaeebc51f9e7d2c150d3f3bfeb667f2aa985db5ef1e3d212847bdedb488beeaa" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "1.0.56" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" +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 = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_users" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" +dependencies = [ + "getrandom", + "redox_syscall 0.2.16", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af83e617f331cc6ae2da5443c602dfa5af81e517212d9d611a5b3ba1777b5370" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5996294f19bd3aae0453a862ad728f60e6600695733dd5df01da90c54363a3c" + +[[package]] +name = "rfd" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cb2988ec50c9bcdb0c012b89643a6094a35a785a37897211ee62e1639342f7b" +dependencies = [ + "async-io", + "block", + "dispatch", + "futures-util", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc", + "objc-foundation", + "objc_id", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.44.0", +] + +[[package]] +name = "rustix" +version = "0.37.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "sctk-adwaita" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09" +dependencies = [ + "ab_glyph", + "log", + "memmap2", + "smithay-client-toolkit", + "tiny-skia", +] + +[[package]] +name = "serde" +version = "1.0.162" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71b2f6e1ab5c2b98c05f0f35b236b22e8df7ead6ffbf51d7808da7f8817e7ab6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-xml-rs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" +dependencies = [ + "log", + "serde", + "thiserror", + "xml-rs", +] + +[[package]] +name = "serde_derive" +version = "1.0.162" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a0814352fd64b58489904a44ea8d90cb1a91dcb6b4f5ebabc32c8318e93cb6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "serde_repr" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "serde_spanned" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0efd8caf556a6cebd3b285caf480045fcc1ac04f6bd786b09a6f11af30c4fcf4" +dependencies = [ + "serde", +] + +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "simd-adler32" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238abfbb77c1915110ad968465608b68e869e0772622c9656714e73e5a1a522f" + +[[package]] +name = "slab" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "version_check", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "smithay-client-toolkit" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f307c47d32d2715eb2e0ece5589057820e0e5e70d07c247d1063e844e107f454" +dependencies = [ + "bitflags", + "calloop", + "dlib", + "lazy_static", + "log", + "memmap2", + "nix 0.24.3", + "pkg-config", + "wayland-client", + "wayland-cursor", + "wayland-protocols", +] + +[[package]] +name = "smithay-clipboard" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8" +dependencies = [ + "smithay-client-toolkit", + "wayland-client", +] + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "str-buf" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0" + +[[package]] +name = "strict-num" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df65f20698aeed245efdde3628a6b559ea1239bbb871af1b6e3b58c413b2bd1" + +[[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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-deps" +version = "6.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5fa6fb9ee296c0dc2df41a656ca7948546d061958115ddb0bcaae43ad0d17d2" +dependencies = [ + "cfg-expr", + "heck", + "pkg-config", + "toml", + "version-compare", +] + +[[package]] +name = "target-lexicon" +version = "0.12.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5" + +[[package]] +name = "tempfile" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.45.0", +] + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tiny-skia" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67" +dependencies = [ + "arrayref", + "arrayvec", + "bytemuck", + "cfg-if", + "png", + "tiny-skia-path", +] + +[[package]] +name = "tiny-skia-path" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c" +dependencies = [ + "arrayref", + "bytemuck", + "strict-num", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "toml" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b403acf6f2bb0859c93c7f0d967cb4a75a7ac552100f9322faf64dc047669b21" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tracing" +version = "0.1.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.15", +] + +[[package]] +name = "tracing-core" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "ttf-parser" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44dcf002ae3b32cd25400d6df128c5babec3927cd1eb7ce813cfff20eb6c3746" + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "uds_windows" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +dependencies = [ + "tempfile", + "winapi", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version-compare" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +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.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" + +[[package]] +name = "wayland-client" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715" +dependencies = [ + "bitflags", + "downcast-rs", + "libc", + "nix 0.24.3", + "scoped-tls", + "wayland-commons", + "wayland-scanner", + "wayland-sys 0.29.5", +] + +[[package]] +name = "wayland-commons" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902" +dependencies = [ + "nix 0.24.3", + "once_cell", + "smallvec", + "wayland-sys 0.29.5", +] + +[[package]] +name = "wayland-cursor" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661" +dependencies = [ + "nix 0.24.3", + "wayland-client", + "xcursor", +] + +[[package]] +name = "wayland-protocols" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6" +dependencies = [ + "bitflags", + "wayland-client", + "wayland-commons", + "wayland-scanner", +] + +[[package]] +name = "wayland-scanner" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53" +dependencies = [ + "proc-macro2", + "quote", + "xml-rs", +] + +[[package]] +name = "wayland-sys" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4" +dependencies = [ + "dlib", + "lazy_static", + "pkg-config", +] + +[[package]] +name = "wayland-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06" +dependencies = [ + "dlib", + "lazy_static", + "log", + "pkg-config", +] + +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webbrowser" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b692165700260bbd40fbc5ff23766c03e339fbaca907aeea5cb77bf0a553ca83" +dependencies = [ + "core-foundation", + "dirs", + "jni", + "log", + "ndk-context", + "objc", + "raw-window-handle", + "url", + "web-sys", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-wsapoll" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0286ba339aa753e70765d521bb0242cc48e1194562bfa2a2ad7ac8a6de28f5d5" +dependencies = [ + "windows-implement", + "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" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-implement" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9539b6bd3eadbd9de66c9666b22d802b833da7e996bc06896142e09854a61767" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[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.0", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winit" +version = "0.28.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94c9651471cd576737671fbf7081edfea43de3e06846dd9bd4e49ea803c9f55f" +dependencies = [ + "android-activity", + "bitflags", + "cfg_aliases", + "core-foundation", + "core-graphics", + "dispatch", + "instant", + "libc", + "log", + "mio", + "ndk", + "objc2", + "once_cell", + "orbclient", + "percent-encoding", + "raw-window-handle", + "redox_syscall 0.3.5", + "sctk-adwaita", + "smithay-client-toolkit", + "wasm-bindgen", + "wayland-client", + "wayland-commons", + "wayland-protocols", + "wayland-scanner", + "web-sys", + "windows-sys 0.45.0", + "x11-dl", +] + +[[package]] +name = "winnow" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699" +dependencies = [ + "memchr", +] + +[[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.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507" +dependencies = [ + "gethostname", + "nix 0.24.3", + "winapi", + "winapi-wsapoll", + "x11rb-protocol", +] + +[[package]] +name = "x11rb-protocol" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67" +dependencies = [ + "nix 0.24.3", +] + +[[package]] +name = "xcursor" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7" +dependencies = [ + "nom", +] + +[[package]] +name = "xdg-home" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd" +dependencies = [ + "nix 0.26.2", + "winapi", +] + +[[package]] +name = "xml-rs" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1fcc45bb67e8bd9c33ada4b861bccfe2506e726169f7c1081b95841b3758eb3" + +[[package]] +name = "zbus" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29242fa5ec5693629ae74d6eb1f69622a9511f600986d6d9779bccf36ac316e3" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io", + "async-lock", + "async-recursion", + "async-task", + "async-trait", + "byteorder", + "derivative", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix 0.26.2", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde-xml-rs", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537793e26e9af85f774801dc52c6f6292352b2b517c5cf0449ffd3735732a53a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f34f314916bd89bdb9934154627fab152f4f28acdda03e7c4c68181b214fe7e3" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + +[[package]] +name = "zvariant" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46fe4914a985446d6fd287019b5fceccce38303d71407d9e6e711d44954a05d8" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34c20260af4b28b3275d6676c7e2a6be0d4332e8e0aba4616d34007fd84e462a" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b22993dbc4d128a17a3b6c92f1c63872dd67198537ee728d8b5d7c40640a8b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/demo-app/Cargo.toml b/demo-app/Cargo.toml new file mode 100644 index 0000000..a4e8d70 --- /dev/null +++ b/demo-app/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "demo-app" +version = "1.0.0" +edition = "2021" +authors = ["Djkáťo "] +[[bin]] +name = "demo_app" +path = "src/main.rs" + +[[bin]] +name = "demo_app_installer" +path = "installer/installer.rs" + +[dependencies] +installer_lite = { version = "*",path = "../"} \ No newline at end of file diff --git a/demo-app/install location/demo-app.exe b/demo-app/install location/demo-app.exe new file mode 100644 index 0000000000000000000000000000000000000000..ebd8a4104f1259801c4a35cb34ba902724937187 GIT binary patch literal 160256 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

&X_2 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 String>>, + pre_install_function: Option String>>, + is_phase_done: bool, + is_phase_started: bool, + current_phase: InstallPhase, +} +#[derive(Default)] +enum InstallPhase { + #[default] + Start, + Installation, + Error(Box), + Success, + Finish, +} +impl InstallPhase { + pub fn next(&mut self) { + *self = match self { + Self::Start => Self::Installation, + Self::Installation => Self::Success, + Self::Success => Self::Finish, + Self::Error(_) => Self::Finish, + Self::Finish => panic!("Nothing past finish"), + }; + } +} +impl App for Installer { + fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { + egui::CentralPanel::default().show(ctx, |ui| { + ui.heading(format!("{}, Installer", &self.app_name)); + ui.separator(); + ui.allocate_ui(ui.available_size() / egui::Vec2::new(1.1, 1.1), |ui| { + use InstallPhase::*; + self.is_phase_done = true; + match &mut self.current_phase { + Start => self.start_ui(ui), + Installation => { + if !self.is_phase_started { + if let Some(pre_install_function) = self.pre_install_function.take() { + self.installer_output += &pre_install_function(); + }; + + if let Err(e) = self.install() { + self.current_phase = InstallPhase::Error(e); + }; + + if let Some(post_install_function) = self.post_install_function.take() { + self.installer_output += &post_install_function() + }; + + self.is_phase_started = true; + self.is_phase_done = true; + } + self.installation_ui(ui); + } + Success => self.success_ui(ui), + Error(_) => self.error_ui(ui), + Finish => frame.close(), + } + ui.add_space(ui.available_height()); + }); + ui.separator(); + ui.horizontal(|ui| { + if ui.button("Cancel").clicked() { + self.current_phase = InstallPhase::Finish; + } + ui.add_space(ui.available_width() - 41.0); //41 is finish button widh + ui.add_enabled_ui(self.is_phase_done, |ui| { + let proceed_button_text = match self.current_phase { + InstallPhase::Start => "Install", + InstallPhase::Installation => "Next", + _ => "Finish", + }; + let button = ui.button(proceed_button_text); + if button.clicked() { + self.current_phase.next(); + } + }); + }); + }); + } +} +/* Main Functions */ +impl Installer { + fn install(&mut self) -> Result<(), Box> { + let app_path = self.target_path.clone() + r"\" + &self.app_name + ".exe"; + if let Ok(_) = std::fs::read(&app_path) { + return Err("App already installed".into()); + }; + std::fs::create_dir_all(&self.target_path)?; + self.installer_output += format!("\nCreating App folder: \n{}", &self.target_path).as_str(); + std::fs::write(&app_path, &self.executable)?; + self.installer_output += "\nCopying executable to folder"; + Ok(()) + } +} + +/* UIs */ +impl Installer { + fn start_ui(&mut self, ui: &mut egui::Ui) { + ui.add_space(ui.available_height() / 2.1); + + ui.vertical(|ui| { + ui.label("Installation directory: "); + ui.horizontal(|ui| { + ui.add( + egui::TextEdit::singleline(&mut self.target_path).desired_width(f32::INFINITY), + ); + if ui.button("...").clicked() { + if let Some(path) = FileDialog::new().pick_folder() { + self.target_path = path.to_string_lossy().to_string() + } + } + }); + }); + } + fn installation_ui(&mut self, ui: &mut egui::Ui) { + egui::ScrollArea::vertical() + .max_width(f32::INFINITY) + .show(ui, |ui| { + ui.allocate_ui(ui.available_size(), |ui| { + ui.add( + egui::TextEdit::multiline(&mut self.installer_output) + .desired_width(f32::INFINITY) + .desired_rows(100), + ) + }); + }); + } + fn success_ui(&mut self, ui: &mut egui::Ui) { + ui.centered_and_justified(|ui| { + ui.label("Program Installed, click \"Finish\" to close the installer."); + }); + } + fn error_ui(&mut self, ui: &mut egui::Ui) { + ui.centered_and_justified(|ui|{ + ui.vertical(|ui|{ + ui.label("Something went wrong during the installation... Click \"Finish\" to close the installer."); + let error = match &self.current_phase{ + InstallPhase::Error(e) => e.to_string(), + _ => "".to_string() + }; + ui.label(error); + }); + }); + } +} + +/* Public functions */ +impl Installer { + pub fn start(self) -> Result<(), eframe::Error> { + let options = eframe::NativeOptions { + initial_window_size: Some(egui::vec2(420.0, 420.0)), + ..Default::default() + }; + eframe::run_native( + format!("{} Installer", self.app_name).as_str(), + options, + Box::new(|_cc| Box::new(self)), + ) + } + + pub fn new(executable: &'static [u8], target_path: Option, app_name: String) -> Self { + Installer { + executable, + target_path: target_path.unwrap_or(r"C:\Program Files (x86)".to_string()), + app_name, + current_phase: InstallPhase::Start, + installer_output: "".to_owned(), + post_install_function: None, + pre_install_function: None, + is_phase_done: false, + is_phase_started: false, + } + } + + pub fn add_pre_install_function(&mut self, f: Box String>) { + self.pre_install_function = Some(f) + } + pub fn add_post_install_function(&mut self, f: Box String>) { + self.post_install_function = Some(f) + } +}