From 22cb32d56c7ed80cf474ea87e6d6fe9606cf75af Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Fri, 30 Jan 2026 23:14:06 +0100 Subject: [PATCH] initial commit --- README.md | 54 + index.html | 12 + package.json | 27 + src-tauri/Cargo.lock | 5456 ++++++++++++++++++++++++++++++ src-tauri/Cargo.toml | 16 + src-tauri/build.rs | 3 + src-tauri/capabilities/main.json | 16 + src-tauri/icons/history.png | Bin 0 -> 5287 bytes src-tauri/icons/icon.png | Bin 0 -> 226070 bytes src-tauri/src/main.rs | 10 + src-tauri/tauri.conf.json | 35 + src/App.tsx | 782 +++++ src/assets/history.png | Bin 0 -> 5287 bytes src/index.css | 613 ++++ src/lib/db.ts | 255 ++ src/main.tsx | 24 + src/vite-env.d.ts | 1 + tsconfig.json | 19 + tsconfig.node.json | 9 + vite.config.ts | 17 + 20 files changed, 7349 insertions(+) create mode 100644 README.md create mode 100644 index.html create mode 100644 package.json create mode 100644 src-tauri/Cargo.lock create mode 100644 src-tauri/Cargo.toml create mode 100644 src-tauri/build.rs create mode 100644 src-tauri/capabilities/main.json create mode 100644 src-tauri/icons/history.png create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/App.tsx create mode 100644 src/assets/history.png create mode 100644 src/index.css create mode 100644 src/lib/db.ts create mode 100644 src/main.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/README.md b/README.md new file mode 100644 index 0000000..877fec9 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# TextDB + +TextDB is a **non-destructive**, completely offline, local-first text editor. Its core promise is simple: your edits never overwrite your history. Every manual save is immutable and append-only, and autosaves are kept as a separate draft layer. No accounts, no telemetry, no remote fonts, and no network calls. + +## Features + +- Non-destructive editing: manual saves are immutable; drafts never overwrite manual versions. +- Sidebar list of texts with live search (titles + version bodies). +- Editor with title, content area, and clear save status. +- Cmd/Ctrl+S creates a new immutable manual version. +- Autosave draft (debounced) that can be safely discarded. +- History panel listing versions by timestamp (drafts included when present). +- Export the current text to a `.txt` file. + +## Use cases + +- **Non-destructive notepad**: jot ideas without fear of losing earlier thoughts. +- **Safe editor for authors**: keep every revision and compare or roll back at any time. +- **Research notes**: maintain evolving notes with an audit trail of changes. +- **Sensitive drafts**: keep local-only writing with immutable history and zero cloud sync. +- **Prompt or snippet library**: store and iterate on reusable text safely. + +## Tech stack + +- Tauri v2 +- React + Vite + TypeScript +- SQLite via `@tauri-apps/plugin-sql` + +## Install & run + +1) Install dependencies: + +``` +npm install +``` + +2) Start the app: + +``` +npm run tauri dev +``` + +## Autosave + versioning behavior + +- Typing triggers a debounced autosave (~600ms) that writes to the draft record. +- Manual saves (Cmd/Ctrl+S or the button) append a new version and clear any draft. +- Autosave only overwrites the single draft row; manual versions are never overwritten. +- History shows all manual versions plus the current draft (if any). + +## Local storage + +- SQLite is loaded via `Database.load("sqlite:text.db")`. +- The database file is stored in the Tauri app data directory. +- The app is fully offline by design: no telemetry, no external fonts, no CDNs. diff --git a/index.html b/index.html new file mode 100644 index 0000000..e2c6a33 --- /dev/null +++ b/index.html @@ -0,0 +1,12 @@ + + + + + + TextDB + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..3384b71 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "textdb", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "tauri": "tauri" + }, + "dependencies": { + "@tauri-apps/plugin-dialog": "^2.0.0", + "@tauri-apps/plugin-fs": "^2.0.0", + "@tauri-apps/plugin-sql": "^2.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@tauri-apps/cli": "^2.0.0", + "@types/react": "^18.2.43", + "@types/react-dom": "^18.2.17", + "@vitejs/plugin-react": "^4.2.1", + "typescript": "^5.3.3", + "vite": "^5.0.10" + } +} diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..27c4cd0 --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,5456 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "alloc-no-stdlib" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" + +[[package]] +name = "alloc-stdlib" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" +dependencies = [ + "alloc-no-stdlib", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" + +[[package]] +name = "atk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "241b621213072e993be4f6f3a9e4b45f65b7e6faad43001be957184b7bb1824b" +dependencies = [ + "atk-sys", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5e48b684b0ca77d2bbadeef17424c2ea3c897d44d566a1617e7e8f30614d086" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" +dependencies = [ + "serde_core", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + +[[package]] +name = "brotli" +version = "8.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bumpalo" +version = "3.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" + +[[package]] +name = "bytemuck" +version = "1.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" +dependencies = [ + "serde", +] + +[[package]] +name = "cairo-rs" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" +dependencies = [ + "bitflags 2.10.0", + "cairo-sys-rs", + "glib", + "libc", + "once_cell", + "thiserror 1.0.69", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "camino" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e629a66d692cb9ff1a1c664e41771b3dcaf961985a9774c0eb0bd1b51cf60a48" +dependencies = [ + "serde_core", +] + +[[package]] +name = "cargo-platform" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.19.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror 2.0.18", +] + +[[package]] +name = "cargo_toml" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" +dependencies = [ + "serde", + "toml 0.9.11+spec-1.1.0", +] + +[[package]] +name = "cc" +version = "1.2.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + +[[package]] +name = "cfb" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" +dependencies = [ + "byteorder", + "fnv", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "chrono" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118" +dependencies = [ + "iana-time-zone", + "num-traits", + "serde", + "windows-link 0.2.1", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" +dependencies = [ + "bitflags 2.10.0", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" +dependencies = [ + "bitflags 2.10.0", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.29.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d03419cb5950ccfd3daf3ff1c7a36ace64609a1a8746d493df1ca0afde0fa" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa", + "matches", + "phf 0.10.1", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.114", +] + +[[package]] +name = "ctor" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" +dependencies = [ + "quote", + "syn 2.0.114", +] + +[[package]] +name = "darling" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.114", +] + +[[package]] +name = "darling_macro" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "derive_more" +version = "0.99.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6edb4b64a43d977b8e99788fe3a04d483834fba1215a7e02caa415b626497f7f" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.114", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.61.2", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags 2.10.0", + "block2", + "libc", + "objc2", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "dlopen2" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4" +dependencies = [ + "dlopen2_derive", + "libc", + "once_cell", + "winapi", +] + +[[package]] +name = "dlopen2_derive" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "dpi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" +dependencies = [ + "serde", +] + +[[package]] +name = "dtoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c3cf4824e2d5f025c7b531afcb2325364084a16806f6d47fbc1f5fbd9960590" + +[[package]] +name = "dtoa-short" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" +dependencies = [ + "dtoa", +] + +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + +[[package]] +name = "dyn-clone" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "embed-resource" +version = "3.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.9.11+spec-1.1.0", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "erased-serde" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" +dependencies = [ + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "field-offset" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" +dependencies = [ + "memoffset", + "rustc_version", +] + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flate2" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b375d6465b98090a5f25b1c7703f3859783755aa9a80433b36e0379a3ec2f369" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + +[[package]] +name = "futures-channel" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + +[[package]] +name = "futures-executor" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-macro" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "futures-sink" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + +[[package]] +name = "futures-task" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-util" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9f245958c627ac99d8e529166f9823fb3b838d1d41fd2b297af3075093c2691" +dependencies = [ + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" +dependencies = [ + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", + "once_cell", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gdk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c2d13f38594ac1e66619e188c6d5a1adb98d11b2fcf7894fc416ad76aa2f3f7" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140071d506d223f7572b9f09b5e155afbd77428cd5cc7af8f2694c41d98dfe69" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps", +] + +[[package]] +name = "gdkx11" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3caa00e14351bebbc8183b3c36690327eb77c49abc2268dd4bd36b856db3fbfe" +dependencies = [ + "gdk", + "gdkx11-sys", + "gio", + "glib", + "libc", + "x11", +] + +[[package]] +name = "gdkx11-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e7445fe01ac26f11601db260dd8608fe172514eb63b3b5e261ea6b0f4428d" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps", + "x11", +] + +[[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 = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasip2", +] + +[[package]] +name = "gio" +version = "0.18.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "gio-sys", + "glib", + "libc", + "once_cell", + "pin-project-lite", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "gio-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", + "winapi", +] + +[[package]] +name = "glib" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" +dependencies = [ + "bitflags 2.10.0", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "gio-sys", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "memchr", + "once_cell", + "smallvec", + "thiserror 1.0.69", +] + +[[package]] +name = "glib-macros" +version = "0.18.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" +dependencies = [ + "heck 0.4.1", + "proc-macro-crate 2.0.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "glib-sys" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "glob" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" + +[[package]] +name = "gobject-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd56fb197bfc42bd5d2751f4f017d44ff59fbb58140c6b49f9b3b2bdab08506a" +dependencies = [ + "atk", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f29a1c21c59553eb7dd40e918be54dccd60c52b049b75119d5d96ce6b624414" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "gtk3-macros" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ff3c5b21f14f0736fed6dcfc0bfb4225ebf5725f3c0209edeec181e4d73e9d" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "html5ever" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b7410cae13cbc75623c98ac4cbfd1f0bedddf3227afc24f370cf0f50a44a11c" +dependencies = [ + "log", + "mac", + "markup5ever", + "match_token", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-util" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "727805d60e7938b76b826a6ef209eb70eaa1812794f9424d4a4e2d740662df5f" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "ico" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc50b891e4acf8fe0e71ef88ec43ad82ee07b3810ad09de10f1d01f072ed4b98" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", + "serde", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "infer" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" +dependencies = [ + "cfb", +] + +[[package]] +name = "ipnet" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" + +[[package]] +name = "iri-string" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c91338f0783edbd6195decb37bae672fd3b165faffb89bf7b9e6942f8b1a731a" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" + +[[package]] +name = "javascriptcore-rs" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "js-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "jsonptr" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "keyboard-types" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" +dependencies = [ + "bitflags 2.10.0", + "serde", + "unicode-segmentation", +] + +[[package]] +name = "kuchikiki" +version = "0.8.8-speedreader" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" +dependencies = [ + "cssparser", + "html5ever", + "indexmap 2.13.0", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "libappindicator" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03589b9607c868cc7ae54c0b2a22c8dc03dd41692d48f2d7df73615c6a95dc0a" +dependencies = [ + "glib", + "gtk", + "gtk-sys", + "libappindicator-sys", + "log", +] + +[[package]] +name = "libappindicator-sys" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" +dependencies = [ + "gtk-sys", + "libloading", + "once_cell", +] + +[[package]] +name = "libc" +version = "0.2.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" + +[[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 = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d0b95e02c851351f877147b7deea7b1afb1df71b63aa5f8270716e0c5720616" +dependencies = [ + "bitflags 2.10.0", + "libc", + "redox_syscall 0.7.0", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "markup5ever" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a7213d12e1864c0f002f52c2923d4556935a43dec5e71355c2760e0f6e7a18" +dependencies = [ + "log", + "phf 0.11.3", + "phf_codegen 0.11.3", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "match_token" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.61.2", +] + +[[package]] +name = "muda" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01c1738382f66ed56b3b9c8119e794a2e23148ac8ea214eda86622d4cb9d415a" +dependencies = [ + "crossbeam-channel", + "dpi", + "gtk", + "keyboard-types", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 2.0.18", + "windows-sys 0.60.2", +] + +[[package]] +name = "ndk" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" +dependencies = [ + "bitflags 2.10.0", + "jni-sys", + "log", + "ndk-sys", + "num_enum", + "raw-window-handle", + "thiserror 1.0.69", +] + +[[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.6.0+11769913" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6cda3051665f1fb8d9e08fc35c96d5a244fb1be711a03b71118828afc9a873" +dependencies = [ + "jni-sys", +] + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "num_enum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" +dependencies = [ + "num_enum_derive", + "rustversion", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" +dependencies = [ + "proc-macro-crate 3.4.0", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "objc2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +dependencies = [ + "objc2-encode", + "objc2-exception-helper", +] + +[[package]] +name = "objc2-app-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" +dependencies = [ + "bitflags 2.10.0", + "block2", + "libc", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-text", + "objc2-core-video", + "objc2-foundation", + "objc2-quartz-core", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags 2.10.0", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags 2.10.0", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-core-video" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-io-surface", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-exception-helper" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7a1c5fbb72d7735b076bb47b578523aedc40f3c439bea6dfd595c089d79d98a" +dependencies = [ + "cc", +] + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags 2.10.0", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-javascript-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a1e6550c4caed348956ce3370c9ffeca70bb1dbed4fa96112e7c6170e074586" +dependencies = [ + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-security" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.10.0", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-web-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" +dependencies = [ + "bitflags 2.10.0", + "block2", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-javascript-core", + "objc2-security", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "pango" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" +dependencies = [ + "gio", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link 0.2.1", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_shared 0.8.0", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_macros 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" +dependencies = [ + "phf_macros 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" +dependencies = [ + "phf_shared 0.11.3", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher 0.3.11", +] + +[[package]] +name = "phf_shared" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" +dependencies = [ + "siphasher 1.0.2", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plist" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" +dependencies = [ + "base64 0.22.1", + "indexmap 2.13.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +dependencies = [ + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "proc-macro-crate" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" +dependencies = [ + "toml_edit 0.23.10+spec-1.0.0", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.38.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "redox_syscall" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f3fe0889e69e2ae9e41f4d6c4c0181701d00e4697b356fb1f74173a5e0ee27" +dependencies = [ + "bitflags 2.10.0", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.18", +] + +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "regex" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", +] + +[[package]] +name = "rfd" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15ad77d9e70a92437d8f74c35d99b4e4691128df018833e99f90bcd36152672" +dependencies = [ + "block2", + "dispatch2", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "log", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows-sys 0.60.2", +] + +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" + +[[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 = "schemars" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +dependencies = [ + "dyn-clone", + "indexmap 1.9.3", + "schemars_derive", + "serde", + "serde_json", + "url", + "uuid", +] + +[[package]] +name = "schemars" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd191f9397d57d581cddd31014772520aa448f65ef991055d7f61582c65165f" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" +dependencies = [ + "dyn-clone", + "ref-cast", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.114", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "selectors" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c37578180969d00692904465fb7f6b3d50b9a2b952b87c23d0e2e5cb5013416" +dependencies = [ + "bitflags 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", +] + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" +dependencies = [ + "serde", + "serde_core", +] + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde-untagged" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" +dependencies = [ + "erased-serde", + "serde", + "serde_core", + "typeid", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_repr" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serde_spanned" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_spanned" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8bbf91e5a4d6315eee45e704372590b30e260ee83af6639d64557f51b067776" +dependencies = [ + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fa237f2807440d238e0364a218270b98f767a00d3dada77b1c53ae88940e2e7" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.13.0", + "schemars 0.9.0", + "schemars 1.2.0", + "serde_core", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "servo_arc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52aa42f8fdf0fed91e5ce7f23d8138441002fa31dca008acf47e6fd4721f741" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "simd-adler32" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "siphasher" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" + +[[package]] +name = "slab" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" +dependencies = [ + "libc", + "windows-sys 0.60.2", +] + +[[package]] +name = "softbuffer" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac18da81ebbf05109ab275b157c22a653bb3c12cf884450179942f81bcbf6c3" +dependencies = [ + "bytemuck", + "js-sys", + "ndk", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "objc2-quartz-core", + "raw-window-handle", + "redox_syscall 0.5.18", + "tracing", + "wasm-bindgen", + "web-sys", + "windows-sys 0.61.2", +] + +[[package]] +name = "soup3" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" +dependencies = [ + "futures-channel", + "gio", + "glib", + "libc", + "soup3-sys", +] + +[[package]] +name = "soup3-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +dependencies = [ + "base64 0.22.1", + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.5", + "hashlink", + "indexmap 2.13.0", + "log", + "memchr", + "once_cell", + "percent-encoding", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror 2.0.18", + "time", + "tokio", + "tokio-stream", + "tracing", + "url", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn 2.0.114", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +dependencies = [ + "dotenvy", + "either", + "heck 0.5.0", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn 2.0.114", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" +dependencies = [ + "atoi", + "base64 0.22.1", + "bitflags 2.10.0", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.18", + "time", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" +dependencies = [ + "atoi", + "base64 0.22.1", + "bitflags 2.10.0", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror 2.0.18", + "time", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "thiserror 2.0.18", + "time", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "string_cache" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf776ba3fa74f83bf4b63c3dcbbf82173db2632ed8452cb2d891d33f459de70f" +dependencies = [ + "new_debug_unreachable", + "parking_lot", + "phf_shared 0.11.3", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0" +dependencies = [ + "phf_generator 0.11.3", + "phf_shared 0.11.3", + "proc-macro2", + "quote", +] + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "swift-rs" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4057c98e2e852d51fdcfca832aac7b571f6b351ad159f9eda5db1655f8d0c4d7" +dependencies = [ + "base64 0.21.7", + "serde", + "serde_json", +] + +[[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.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr", + "heck 0.5.0", + "pkg-config", + "toml 0.8.2", + "version-compare", +] + +[[package]] +name = "tao" +version = "0.34.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" +dependencies = [ + "bitflags 2.10.0", + "block2", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "dlopen2", + "dpi", + "gdkwayland-sys", + "gdkx11-sys", + "gtk", + "jni", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "parking_lot", + "raw-window-handle", + "scopeguard", + "tao-macros", + "unicode-segmentation", + "url", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "tao-macros" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "2.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a3868da5508446a7cd08956d523ac3edf0a8bc20bf7e4038f9a95c2800d2033" +dependencies = [ + "anyhow", + "bytes", + "cookie", + "dirs", + "dunce", + "embed_plist", + "getrandom 0.3.4", + "glob", + "gtk", + "heck 0.5.0", + "http", + "jni", + "libc", + "log", + "mime", + "muda", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "percent-encoding", + "plist", + "raw-window-handle", + "reqwest", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "swift-rs", + "tauri-build", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "thiserror 2.0.18", + "tokio", + "tray-icon", + "url", + "webkit2gtk", + "webview2-com", + "window-vibrancy", + "windows", +] + +[[package]] +name = "tauri-build" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17fcb8819fd16463512a12f531d44826ce566f486d7ccd211c9c8cebdaec4e08" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs", + "glob", + "heck 0.5.0", + "json-patch", + "schemars 0.8.22", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "toml 0.9.11+spec-1.1.0", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fa9844cefcf99554a16e0a278156ae73b0d8680bbc0e2ad1e4287aadd8489cf" +dependencies = [ + "base64 0.22.1", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "syn 2.0.114", + "tauri-utils", + "thiserror 2.0.18", + "time", + "url", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3764a12f886d8245e66b7ee9b43ccc47883399be2019a61d80cf0f4117446fde" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 2.0.114", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-plugin" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1d0a4860b7ff570c891e1d2a586bf1ede205ff858fbc305e0b5ae5d14c1377" +dependencies = [ + "anyhow", + "glob", + "plist", + "schemars 0.8.22", + "serde", + "serde_json", + "tauri-utils", + "toml 0.9.11+spec-1.1.0", + "walkdir", +] + +[[package]] +name = "tauri-plugin-dialog" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9204b425d9be8d12aa60c2a83a289cf7d1caae40f57f336ed1155b3a5c0e359b" +dependencies = [ + "log", + "raw-window-handle", + "rfd", + "serde", + "serde_json", + "tauri", + "tauri-plugin", + "tauri-plugin-fs", + "thiserror 2.0.18", + "url", +] + +[[package]] +name = "tauri-plugin-fs" +version = "2.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed390cc669f937afeb8b28032ce837bac8ea023d975a2e207375ec05afaf1804" +dependencies = [ + "anyhow", + "dunce", + "glob", + "percent-encoding", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_repr", + "tauri", + "tauri-plugin", + "tauri-utils", + "thiserror 2.0.18", + "toml 0.9.11+spec-1.1.0", + "url", +] + +[[package]] +name = "tauri-plugin-sql" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a593f08c357091ba802a388d1161e99f05751278fb7204faeb08520da579a7c" +dependencies = [ + "futures-core", + "indexmap 2.13.0", + "log", + "serde", + "serde_json", + "sqlx", + "tauri", + "tauri-plugin", + "thiserror 2.0.18", + "time", + "tokio", +] + +[[package]] +name = "tauri-runtime" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f766fe9f3d1efc4b59b17e7a891ad5ed195fa8d23582abb02e6c9a01137892" +dependencies = [ + "cookie", + "dpi", + "gtk", + "http", + "jni", + "objc2", + "objc2-ui-kit", + "objc2-web-kit", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webview2-com", + "windows", +] + +[[package]] +name = "tauri-runtime-wry" +version = "2.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "187a3f26f681bdf028f796ccf57cf478c1ee422c50128e5a0a6ebeb3f5910065" +dependencies = [ + "gtk", + "http", + "jni", + "log", + "objc2", + "objc2-app-kit", + "objc2-foundation", + "once_cell", + "percent-encoding", + "raw-window-handle", + "softbuffer", + "tao", + "tauri-runtime", + "tauri-utils", + "url", + "webkit2gtk", + "webview2-com", + "windows", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76a423c51176eb3616ee9b516a9fa67fed5f0e78baaba680e44eb5dd2cc37490" +dependencies = [ + "anyhow", + "brotli", + "cargo_metadata", + "ctor", + "dunce", + "glob", + "html5ever", + "http", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.11.3", + "proc-macro2", + "quote", + "regex", + "schemars 0.8.22", + "semver", + "serde", + "serde-untagged", + "serde_json", + "serde_with", + "swift-rs", + "thiserror 2.0.18", + "toml 0.9.11+spec-1.1.0", + "url", + "urlpattern", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-winres" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1087b111fe2b005e42dbdc1990fc18593234238d47453b0c99b7de1c9ab2c1e0" +dependencies = [ + "dunce", + "embed-resource", + "toml 0.9.11+spec-1.1.0", +] + +[[package]] +name = "tendril" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" +dependencies = [ + "futf", + "mac", + "utf-8", +] + +[[package]] +name = "textdb" +version = "0.1.0" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-build", + "tauri-plugin-dialog", + "tauri-plugin-fs", + "tauri-plugin-sql", +] + +[[package]] +name = "thiserror" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" +dependencies = [ + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl 2.0.18", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "time" +version = "0.3.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9da98b7d9b7dad93488a84b8248efc35352b0b2657397d4167e7ad67e5d535e5" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca" + +[[package]] +name = "time-macros" +version = "0.2.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78cc610bac2dcee56805c99642447d4c5dbde4d01f752ffea0199aee1f601dc4" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.49.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" +dependencies = [ + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "toml_edit 0.20.2", +] + +[[package]] +name = "toml" +version = "0.9.11+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3afc9a848309fe1aaffaed6e1546a7a14de1f935dc9d89d32afd9a44bab7c46" +dependencies = [ + "indexmap 2.13.0", + "serde_core", + "serde_spanned 1.0.4", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "toml_writer", + "winnow 0.7.14", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.7.5+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347" +dependencies = [ + "serde_core", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" +dependencies = [ + "indexmap 2.13.0", + "serde", + "serde_spanned 0.6.9", + "toml_datetime 0.6.3", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.23.10+spec-1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c8b9f757e028cee9fa244aea147aab2a9ec09d5325a9b01e0a49730c2b5269" +dependencies = [ + "indexmap 2.13.0", + "toml_datetime 0.7.5+spec-1.1.0", + "toml_parser", + "winnow 0.7.14", +] + +[[package]] +name = "toml_parser" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3198b4b0a8e11f09dd03e133c0280504d0801269e9afa46362ffde1cbeebf44" +dependencies = [ + "winnow 0.7.14", +] + +[[package]] +name = "toml_writer" +version = "1.0.6+spec-1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags 2.10.0", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "tray-icon" +version = "0.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e85aa143ceb072062fc4d6356c1b520a51d636e7bc8e77ec94be3608e5e80c" +dependencies = [ + "crossbeam-channel", + "dirs", + "libappindicator", + "muda", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-foundation", + "once_cell", + "png", + "serde", + "thiserror 2.0.18", + "windows-sys 0.60.2", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unic-char-property" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221" +dependencies = [ + "unic-char-range", +] + +[[package]] +name = "unic-char-range" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc" + +[[package]] +name = "unic-common" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc" + +[[package]] +name = "unic-ucd-ident" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987" +dependencies = [ + "unic-char-property", + "unic-char-range", + "unic-ucd-version", +] + +[[package]] +name = "unic-ucd-version" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4" +dependencies = [ + "unic-common", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" + +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", + "serde_derive", +] + +[[package]] +name = "urlpattern" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" +dependencies = [ + "regex", + "serde", + "unic-ucd-ident", + "url", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f" +dependencies = [ + "getrandom 0.3.4", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version-compare" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb067e4cbd1ff067d1df46c9194b5de0e98efd2810bbc95c5d5e5f25a3231150" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.2+wasi-0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" +dependencies = [ + "wit-bindgen", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn 2.0.114", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "web-sys" +version = "0.3.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webkit2gtk" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys", + "glib", + "glib-sys", + "gobject-sys", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "soup3", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pkg-config", + "soup3-sys", + "system-deps", +] + +[[package]] +name = "webview2-com" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows", + "windows-core 0.61.2", + "windows-implement", + "windows-interface", +] + +[[package]] +name = "webview2-com-macros" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a921c1b6914c367b2b823cd4cde6f96beec77d30a939c8199bb377cf9b9b54" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "webview2-com-sys" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" +dependencies = [ + "thiserror 2.0.18", + "windows", + "windows-core 0.61.2", +] + +[[package]] +name = "whoami" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", +] + +[[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.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "window-vibrancy" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" +dependencies = [ + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "raw-window-handle", + "windows-sys 0.59.0", + "windows-version", +] + +[[package]] +name = "windows" +version = "0.61.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" +dependencies = [ + "windows-collections", + "windows-core 0.61.2", + "windows-future", + "windows-link 0.1.3", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" +dependencies = [ + "windows-core 0.61.2", +] + +[[package]] +name = "windows-core" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.1.3", + "windows-result 0.3.4", + "windows-strings 0.4.2", +] + +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + +[[package]] +name = "windows-future" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "windows-link" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-numerics" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" +dependencies = [ + "windows-core 0.61.2", + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-strings" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" +dependencies = [ + "windows-targets 0.53.5", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm 0.52.6", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" +dependencies = [ + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", +] + +[[package]] +name = "windows-threading" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" +dependencies = [ + "windows-link 0.1.3", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.55.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97" +dependencies = [ + "cfg-if", + "windows-sys 0.59.0", +] + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "wry" +version = "0.53.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" +dependencies = [ + "base64 0.22.1", + "block2", + "cookie", + "crossbeam-channel", + "dirs", + "dpi", + "dunce", + "gdkx11", + "gtk", + "html5ever", + "http", + "javascriptcore-rs", + "jni", + "kuchikiki", + "libc", + "ndk", + "objc2", + "objc2-app-kit", + "objc2-core-foundation", + "objc2-foundation", + "objc2-ui-kit", + "objc2-web-kit", + "once_cell", + "percent-encoding", + "raw-window-handle", + "sha2", + "soup3", + "tao-macros", + "thiserror 2.0.18", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows", + "windows-core 0.61.2", + "windows-version", + "x11-dl", +] + +[[package]] +name = "x11" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" +dependencies = [ + "libc", + "once_cell", + "pkg-config", +] + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.114", +] + +[[package]] +name = "zmij" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..c0b8db2 --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "textdb" +version = "0.1.0" +description = "TextDB" +edition = "2021" + +[build-dependencies] +tauri-build = { version = "2", features = [] } + +[dependencies] +serde = { version = "1", features = ["derive"] } +serde_json = "1" +tauri = { version = "2", features = [] } +tauri-plugin-dialog = { version = "2" } +tauri-plugin-fs = { version = "2" } +tauri-plugin-sql = { version = "2", features = ["sqlite"] } diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..311900d --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build(); +} diff --git a/src-tauri/capabilities/main.json b/src-tauri/capabilities/main.json new file mode 100644 index 0000000..f22213f --- /dev/null +++ b/src-tauri/capabilities/main.json @@ -0,0 +1,16 @@ +{ + "$schema": "../gen/schemas/desktop-schema.json", + "identifier": "main", + "description": "Default capabilities for TextDB", + "windows": ["main"], + "permissions": [ + "core:default", + "sql:default", + "sql:allow-execute", + "dialog:default", + "fs:default", + "fs:allow-write-file", + "fs:allow-write-text-file", + "fs:allow-home-write-recursive" + ] +} diff --git a/src-tauri/icons/history.png b/src-tauri/icons/history.png new file mode 100644 index 0000000000000000000000000000000000000000..ba940da03cf94400f0272f3eaf97b1f0a78c8fc1 GIT binary patch literal 5287 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 TMv6RF9swo>mii64t_lAKt#q4< literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..32cc7c258abfd338f032dd3315bb6089ab187758 GIT binary patch literal 226070 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%0Dh6ooiwR##@7#r76Q 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%0AR4Gr&4=E84j zY^z&>cI{^P5RrZNllDFH3BhZ5^M#7;Blzo(Wva5#vQx@nhYkj8)_egf%NSNv)iV*a zKf?}Z5yRO?d*#j(#_yehf``Yx7y1?MMYwi~b{$htuae&~5u*EIqa?^$`2>XfBo8ZhIT#MJn@304d*A!&X#pw2dN8WxdG z>LGxCVx$QUBjt3_RjtK9HkRI95IHS1ul%UKWc#m)v~0##pv;nGI--7T@e>(jPjq&s zM=51nD>jI{-i70fWKlkDH2lUO5|TzS#7D5{qF~_tIgRd1r#F5pSN6+#gF3E#{zD;v z#Is0!TQXmF;|{nHKLEoMG^HWuzr^ z1zl+BgkT&CfzYycFu@{%ORVJx|DH0t1Ilq466(^k7}+ z<*y0v=dQrhi|YR*^fDKq-z|Qv`PTH8PrI9{7Y$TnO;R>x9GoqsPgXhbsTl&t=TEBiy-HQIbl{z0;tEyH(=}y;7rEo zC;$hN6^LW3g^r51!Y4r=?LF3@Uv^>1R%nN7z+HaAglM#xKLmfVok%vs5S6P^hjDPT zQoW23r!u!=N^!Ywn!{Cxy5Q&rE(-8lE?DltFfzzSy)r8;jenwZQ&0G5c+v^F73bXB znjunZetu0wmK=%mQ{VuQ+;+M~HYjyzYzRG?ppH{bvKk_IOKc#qGZLdV`FFHWa}w(V zH)Uy|jGaUzaf{MJJ&py=V4h1a{UCMxmr28cp7aLWrN-zI?_Lx-$d^iD(%Yg*DNkJJ z_?YoqE_9HvvfPi6F2|RL>~U)F z;eswE3nq`Do-3(1{_blrA=ZIABGOv$iBVFjTmyT{)Ul`}r3Ga2eM>>lb8S4+XM!KK zeh_3;q@Mp-j#SVrPg^kAO0w*Qj{lAX#i(SbPTdQ(BhB+5!eG^d)z z3Wo`^EWdx%YZqo_UFYgg4=*9wyF-fAZ(jV6 z@ZP>(Dq^tw3rAdNHLbkd;yBNql;l0xU7e#zY<8x)hc?OX_OkcrxQ36%=ei-Mo3}ht zh>BNq38$Z$KEMv0Ux8j;Ho}aTVFCfI=Havr)JN4=U5x$V7avTkz>b9I;b2HE1LK)$ z`EI#-J4qgU&V|7|H+X?%^_qB43@MFK=NE%Mym|Ax^8> zZWIr1Vfz?%SeKd#EcqvnYZwPe!*Q8Q<}7=xs+5ZA4ID z?m-vtE4?N-y>B^~j@_Lld*)K|Sx1TWqP+Jj1X98iOXA`d!Ysn$<|WJ6as^{frAL)* zB@^Cw*lyHfVQt;NZ@YRO&E{CF#HjT^R-BuqWy45mP+G#dF`2)@bw;2A!%m%d2;rJ;D+*Qm^4R? zaiIBkgK~d8b&54~xq}I6aY^&03gq(9#%^=b_uO8m%?f39mJfp&(~n$#NqwkasvqO8hLL-*}RG zwW%-jD{mprVsjiOiq?FMkVlcr^)^p*Ws<4R?V1Ba1Z#StPi2at-%M)4m!m6zcf(EM z&O1F@$U1bd!pqs3(Kl@@2J!DN7>l`?6*yWXOfFIxX^;q;U!QldB&56hF~a|4Ih`VT zBnikmucA;EVT!rv=te3qY#;4JsklwN*8G|+-w3nSmgWRs>h*Q;#~Y96kzmDof~ikP zjUyhi16eD{5$yKPJKytnd~-jO^8ByaQJMatH?m29)~z=qM)m_t5qO#vD;s^oj@NsF(r73>hg1G_Zu9gO3T(25r}BsK9mn&1)Uo{j|HF)I`QM zJY=~UE}iGJL(fJBul4&^X0o>-Y5vpg$TS_^Q3tcMM0n+*DL_iDV8BeNycUookf{<$ z1!)j9HB(0d9qC%^3aCt3kGWQsFX>f6&*ezUq9C6zQx%Y&5K5)Ibt0`lhVXt2>(zVz ze$vr;$IlC8Zon!@7@Z)OoOTC$szLk~Ca^_2k#?U=`|L_{Nw z7`Du^HuSr6vGzS7gJk?J-n}=RRi7@PcPNttM)Q}1nuA^V?HR@s$c@Kt{qG+iNEK)j zYVMuQX^Y@wrB2oKB>VLmy{5ohf-(yAS?RXFdGIhW7}9$$8Kru$L!B6QM9s@h5efU%*@4X9`b$F zck4HJSI~Hlpd{0m;@o>9^r5cHcgILcMN-rmDIT?~=kp(};4k{ja9OG`(+XA+rDJqm z&#Lk;#xU-1{_)>vEUlp_H?~9w*m@j7SVOubeqk9ctCK3Hv=8^m!wSOIM@o_U*3OKP ziaL%QHg&0PB@Fum(+oGc&qh*gva$~qE}mqd_NR;qy7Lw3Dmz35kepC7<4fU@;_#Rg z!~CBVPlovUfdSNgbM4hGC)*?t##$)8G})-*D>S7NWWNn$m33@U@r%!}In*w8sX{h1 zL*Zjy_m~$|^qBt6$Co;|P(jBVchGmkpLgWW|8^&YI$C4VFdA*ta2fHIr9seR^vCF@y{keD0>r_%a zJH>YPQfJPHJEN&0(JxMPK^vL`iWTfNC&Zx>84R^y%; zxBE|y_li}*IJc%(e^>DEwyls#|>8BqhMQ>s7Kc#+{Xy;=c&!UHdmyz~>QpPgsp3G%9 za&Z3#$Ury05M?-O==Ca+4ls?OR>y)|?%Q}|XQ;er0RU;`|3TS;=zeNT=aitrHLUJ# zJn+~$S1~&<#={kI)J{b2=`Vxmg`P7r8Yjh3i( zMa5Ge#>AM-?v}fNzUi{KuV&k@L z%+1d+T3jOa1j&kJqaE)qP#iP71XNDKQ48u%@d6>G3ay+}_3)(RCW734e?aQ@sZtM@ zRK$bfgIz9aaMVlUMWKteA)R~5(Lz&IC<VC?TT1JI63jOx26BuP)qJ-?_m9>{RcK&IWg;w( z*+g1g6Mgc3FEkv_3>eHz;kiMmu-qWhMDjp%Yslfolr4hEqH2yi$fR_& znlhPNCc2XNRSid}j1*U*NEj?-#2Yql+rbwuzns1M7ms?)d;Kbc3M)nc8bPBLp=F5i zgP9-Qw=#7!L!F(e={W{-bKoIj)n1RrgI1M#TDnkBxuP00pQv;fa{+>G7+Om!+KUpi zTJ+A)_`NE3NnC-_DX98Fu7_+qc{`(K%y0a`-%ZY~?S$lPc#ecB3;5WPk&{xQn(9&Y zLLP3~67?vW0GsTGE!i?YLVPKRBvh0niK-VBV%3DE=%A@)urW&4zArt~Gm|M%B)@4G|0J6w4FHe}Co z+!q@6dn+hwXQv)u)eR%W-AxdN(QOJ?f5ym8vc0wmKIi6y% z39XI-&@nQYy6amX#mA4cvsfE99&C8kJ8xm@3*XA4fAXDt;#SAcJsY;H2^-`lW3|P8 zAvPI|Iq62^@(fqOr1gJ;)a#LN-bsJ)03ZCt$3G}qj}8wlbaMbs5QrN^Sy;NOc~Ye; ze?*m0O6yn&i$sA6W1JPS6jk-(fWP_Iw{dV~iEV4n3jV!Qgr30()>6?HRa|596|V}7 z36KgKXKY;a?5}z9VLv1G@dzF#&O&aGdxSH*6dHn-hmlT-PL&D=78m)UANdvf(=#Ng zqOylz*2I9SVpp2csAN;PxgyjCy(T>F4KJJc;qmCFd=u5w6kE1zVP!OA&>w^_bR22dyHA&kdto(~OoGt*nsiA=Vh;HREig)MswZ8s_F=`fid`j=#9J zm?KGxwX`8wXevWJoMVzo5wccf7jn*Q*uH~nFZ&!X`=5WnYku*?M}7TOQ=v+P3rkOg zoGJIGMeveC{HEfFM5SCB!L6a{B?i4dDfJoFLwcS=v`YlaW6On7Q8KB07UvjN}!KI6fX@jnUW` zmwps4w1{&(1`+1QNGY+nxJb54Dio-x(y?r^9hDuZR>r7kqE_2v8qxi8qxk4kx)1_Q z>4qi2JY!xRR~NTqL3`Lwd&~|#bj20Ocmwo;<6oK-9I8hexYE>7Z|k6R2McW1vX{p?Hx~2DL@RVK#kc+AbQMf+6mSjIvg2Y0&s%B0jg3F zt%TGhN=O`mMh*}52$-EjiUCo8rwU(LW@>717Z;#*V?S2>&sY5sGc&UjM5zm}eCg4!`%{I+i~qldf4gc3c2f#1MIL2(+GEh~k#lgNSL1E( zxs+RW?dR09&ZNm9#2q&^sR;SVPL^CA01-r1rJYYzg7)kThl>oC7im_O@oYTu(dYAn z-}Mcgd)BF>l-Pe@iL0)=g@1X&fAZl=KTWgJFuiUqbL$qOjqHl05H2SiJOabe20$Mn zXUAwjGU`s<2qG18n>O)>fAaVI%#VH->(|a7)%BO+?9q7G%f=9+xUQ-xg6I-3n+pkO z+)#6>s)tIS_8~b)eX@_K%b+H4VLV)6>A)hxl@%maBy|?nu4it37B3T^t?&?>;OV1J*KqKLt1+!eRgd|(0d>wK=~K}EVS_&7sKNN)vg674o8PB z0XRY6LFy-=)ZT>aM{6lp#6=<@hRg;{Zi2Q@!tF{E+Lya@0Paoj|J?8TY4+{e$=R1Y zo+>5AqfrrN#xYXmaQ|tE3As322w@qC(eL%yzk5GbHQ=1nPdegfiS)ujM#|tJDIE7A z_!4!rjE7g(@*K6`V|$|U;AUI45R|IMASoP|MDnnzRFM#e6`p338!GLAWwO<*U6{X1 z@b3=K|K6WrUFWDGYCLG; zyq(4m4O$YP6sZw47UmaN+O?Z+`u>;mj@SLcQQZT%sqr*8v=GvEdBT;+2t7rNgibU~ z9Z5q<#ahxp`!pr!vMfwb_qhGW+cE$orf|7LR;!(bTahc!y(|_c*e(R4}*|VQ5XP!=~5~?wLtIT{2?T5-l zPz|N?(}ep~VQ^DrVSfD_z3btZUi0U?^L4*7IoGK{pZC1sPuRWhAPaLd^n1~{+r9Sy zbF(uH20dQzvfto8-t}SD&##F=W!5fWboAN)v?=-!$8e2lx;;;l{|YW&b?peRFK_uvVclL8Q3Dq}aoS=+=}tnaM>g+KL#u z8+5@3Gdw(N!vIDxQC>@T$t})HN-Ic3!e}8y_1jDKl~NS2T%4*hvcXOJM@RkHtsV;m zF9r|hW&6QP@ShN=V}ol4XBv2lBp@^bQ+R&{trV*wnbsT~K&9-Trlcw?U)?nHNx=;y zVYt_E-n26^+M_&_|!Q4n3KYLH?s&P*R|Kt`Er_W_!lcXIaWv%L4^U$W{vJ9M~b zbP2!-f>yli5k*6tClaTGh99^Uzw*{XrcfmyIK9^7NeAHG(n!DO$9|P}zWe>0a`puX zFdnW%MN*kOywnq^9XuvsKPp-kRyUX@R1&*)?c#}F_L##SOX~@)C5WgHRw!;KLU90! z57gFqMu>+G02)o=vra!5AvzGjd)1h&M0jHNR0+AGgN3t^H_;7o8*}6J*D^mn;A0>7e{A1!_;~}X z9}2TGQ~cTg{&`;c@)ze#Yq}si;y^puMF55uDp3;liXAmFnP0!~?E3 z)n|U=CjR@qA7(fjGc`CGesggpk?5p&sjQPIZYrfKpcNt+Nflz@k6%fmQDu^ziZMIC zhAThy36d)R`q%%Pr+xV)cW_#%o6PRL2l&cwcp+C^@p(=?<6NrQ85)Ad(i*^9Npf6@ zJs}o;{jGg09)qSe<9EP z+9%!Nb6eff#&rw4@~3}*AN`?k;p|JE&6S_|IA@>tNMyQ-A!q93aj^lm2)sg*Q3kT5 zLap-Xel!mKEX=Ln$cH}sQR+Gbw(WgBHR!Wr)$f73vt#SV$-i&8^>&)&6_P5$rXdxr zftCcY@w)J@z1-*E^uQWqDn$RIefya$&R$c8Nw)8dHYvEbNa~F5P<)9QCt+J!9AR8h z$;Ig{g4fu}Gd&4A*FM6786K{kst|9;%MCtN6^%mNhYsNJJKhH8g#d#QdK4Fmi&TP2 z*}r`B^Axy%g$M063Hse*>osd2wLEbv?{{n&z;Imi ztnYdm|Nj5p!O3Ty!|cKW7BlUGildIVBqY^vv?&dNcwprS6qBM!SXo(NxU!#L`I#3T z;e4ZF-PBEq>@8ZR7@8BQQbN-wn8kaGT4~)DrxXwW>8cmvI(5g%VbwTl2$!~gBuy!S zI`z0Ijyl3HH!SWSvNEjc_0nC|?8koQH(0xA8!3gKf4I*;&=IT%48xtJ^__@1Y&`Um zD!1Hl6Ivy%`ox=#82q>EvHJ7fogG^?aM_3do#}qX?ptn0s(47XPBxW?MJP$}CV2Uo z@a7kfTgE)7GIN{OVV?Qpzy0^g``;b3r7;vyA7rX3%7I~MQEUNonGjs&G*I*+?vZ>* zQVuRI@r6%*l5JZzv*+q}@zqa$%pHP%FWl^{o7QpJdtS?Fr<}sg*IgarQi&>jn=rZt z9cps??hyb;J2xO4lNt|kw|WF3gQeQgFvb5{iX2Vc~VB!q;x3csfal(^Vp&nVOoya?Q;wmj)tJP>|O3oQ>F6Skp1zAxg zh<_Gy06fYRZdL^NPPksh{Sgj8rL*H2g7^%}xp`0%fI$+b`z6rTm}Wi+LrN!5Q;uQ0 zuHdP3r*)DbXh|5P5^mo&KGH|s6{5IgToutUKWM3Ek!vJWyyZ~E5I$ETV<`7Q%19NK zw#4Bfl4;v@(HZqfTgv&wwGoPds%=8V-z~NMFGM35YKQSj)X( z@7==>f6ZxJ_b1Qh55M)y<8yI3oN(w8fD;7mSo!9NyLp`uNU z(2f%I?DPi}J8!yy&6~IIn2XQ8n@^7FSe1IE#apNa>R4R}M($<&yyBMPV~RS_3D=Ey zAOy!ZsNY7al$DibuD$$nuKw(0eCGY{<=~!!EDeWz;4Oc} z?DSooDGs|LZ8f<3xiB}w$KUf>_V2xo{rmRE)Z`pWiR@8L)CTAU=d^Xj5sPksrf|@h znI5oa-6nqL|NQM8-v3Bw#u1E(hSz@xcq8yEBh*58TB=|wG2_6KL_n-Ul`5KX&Cctt zW80PmKKuTE1n!!AM3*6)tN=d#U;jWeTxR*e0jjDZWvHs4@8BRgPpm3MTM=w8#Fi;4 z|4E}G)azFa4=!@~M=#~Ek9#C<{)gYCSKYDNyZU(Cor}&rouB;C?_<~X*Ac&MRS2(% zf~30_ab%jr4WvlOlYsQ%YrS5Dig5W=HyqWqk9b7L))e7!JO3f5Kjx4Ta&D`#ZD1Ax zNViB(D^YgcauZdW;-mlhe~;?3MdE!$;HJ;Mh0%cn?Ay7Mq*XZe6fH(O?b#*he@gp1 z8;fJs(BvpoOwZ2XF1-2eAH2uU21>yr<}9>sXi1f-GPDTNvk7=pg6Wp$CZxvbX__QU zBlXF9w>S5o-{P5-|Gv;@An z&g7;vnp=k*B&cshU@np)xGvA9HdwdTt;t|<<>)&AQXHuS4`F%veZT}Qn@urtElGJB zv>QqlYn`=pTPU=vsM%LVEKIp?L-}tdiJ?uofzZvkdUUnQ&!vemK$$gdt@~SXdlMn; zJ;1_nnOA-HxqR}~PvBRdaWaDk^I~>*$fHXDP7t_+*btN$W*83*7lKDhJTScQdxJq* zHX%{QxyBF%{ay*E?!MBt_rM~reZ#xBH%)wo^^M}9nb9Z~rA`(`d*~q5B)%Fl_#q5KyVzdNx z*k~YDl}cz-9Th@|OYpEQ8};G}H(hlVw_I~23+v|j-tYSsK7HvMxc&O~v-kQBvFExE zuK$tuv64HJp#ki}yGhuJ+M- zpdBcurHy~nHCM8*X&wLZ&wp^(^Ie^Ewet>M_QT)C)XX#o_w5VY$f8e)u%g5b;u8^e zQ|CxdoY0_%AxY>}6(9Tb=a1@oS5=yHP*R~_MRXF?O(~ObeImwmRIA{@YdeYB8I6Y= z*mFB?{?|V`tk&d6Xf-hXUXS1YomX$8|=lvL2P-H8k3~LB(aR2wT&X;<~sd%xij-IUo7heEjb#M2bbP zCt6#k?8QwIE(nw2>d8cQjOnEqX={GshB-RE*&ngS^-X^Ewc?-j~gQ}Tvz z(<*_#=!C*%QWEM(QXPMHcSzxWM;Uq<^)4+!?Sx1l@`yA&;=8|c8{hfZO{|~lLbne0 z9i0Z?1VKFOBQWuH3JW2(q=`zBxFZ@vSWKMC71Nl?S!u%Ex&Efx=~vaH?L8civ25(! ze~_!Ly@?Ne_*1<1y&vX=8*jo~nO?Jwlg_<>b(=SmM7t*-;o{&RBfqv?R z&*!&(`_I^Q>n&{EaWadG`w;14ZovVUB6Ow*(-bPz2xwKQ>(D}2>hq>|eu!^>?pNL6 zbMB1n5>@>+@k}7)DcV-pu`-R>tPEj`^@+IwPL&dSZoZypeErw(gi9_ss`G7w(BF9F zkMg(w_|nu25H4QM^zx^M7V|-fCwb5sGBkUY^+(gkk{o%fLy5pO z#LCg(ZRseYAsTn0vm4W=s|U3M5J7eL&xv|4T-u4dUevG2OUf7fbvvQHjnCbjrV*0# zI2JyWSU4hyuChyA=NEuX%`nty{_wpw^M79d8D^@)(;mHrmp<)O&Ry4q zaUJd*x;y6tfi+g1tdJzrSn%7ENLY^vNG`2%iOPnTcC98@Sq`r03x4#MacU0k8)4Qk zs%y0Bk*y(#lKNB3%uTcH%yXEU?$e)|Vr<6p!6igBs+~>@{}KULdc6|pYE;=(4o!g# zpX=aAORBj2mYZ;gcm3P{0gfE}w-8lm3jeo=J#(>qbd97(DFWA)b!-_ggApnbYRe2# zpWAM_o;|nSz;mDXT>kM-etGiwW_}lkpZ0seUHJEJdB+DBH#PIK)70ab5vw^qPt+y} zkY}N%LX!lm!$Q;>LzA=X*4udOV;;fQP3!N|ebG+6U6`BZsZV_}|M8A@v1aq8VzZe` zr$-RWxL24&GMK#yo~lKAdTb5V^niu=IsWu7Uw4ND;BXjB_gGmO1+TseyG`>*GSIMp z6;YB2S;JG_vQ9+WgI zmWp8s6a;cPRzYY)QEw}hkvzKzQ_}-(xbDV#{A_@6(~wLe=xyy!QUr!3T81!zOGC`N z2+_Q!*gsO0SXo+TI2`gSrw zMQ9TgxiS|#)}(HjU$el@>#t?^z5|@JO6Yrc>tFRM8mqA;u5Xi9#m%;gBImgzBtg%p z5Nrg=Y!#*BfkCQ_aoq-n!RraRQ0PK@RiYB!_JTK&2&l$=uWsS)_FyIeP7G9YLThD3 z@INW!OL4&|2kA^aL{k#1iDy_0@XJhQ#vKK$C0RD{#x85`C@0Ka{HfWYtXPPuX5-jU_ zW@pzku1Eayhj;PXcU{jJ+t={2XP?10T)3ti{?*}_(Dji{5Hw|ntyGGoUiiId52}xP zTW={sOJX396yaReOKjf0jivFJeS4P~c>|R&w|1Vnbqj1e^;EW=dMaB^+Rploo0y%Q zMYN(G)%YkL*kTRVWW1?qr!Tr?ni?P+Pm)9hvLY(P>Op_Wo*5q4&uur|#0$Uwn>lG~ zRMzh<@XKc8Tm-(vL$IB4>LRFCP~0X`ib}5&e(PGCS+Y4QQ;64SQ}ev%K5G*Ex1WEw z;J^LeojLaazxx-jqdz?$D_E0B9@896TIxsJy)bIa#dg#}yJ60FSd)h}-}`OPy>B-~ zK}#F>`Jecn;J?=v72@L6-sFau3y>#HIHDmoY==};DQqUQR$PD6t@rqul_u1cI!7D7 z;Tz##~or)O5l=?lS(jrKeVv$)K zR7%B8Rl|5iwcJ07jfaeeOZ@69UwXHcxYeJ(`tLioZe(gOjpUfv_CS` zp6RnPK6vyWUZn}W5NYShdE$;(L$Wc+MpQN= zH6t_+(Oe^W3{@0&v}cGIiH0ydF#4=Y1OzIDAWFqE+p^L$4fRUQ9ayZL13JJ?-GQ8a z7FUn@{P160#sByFpJkbgaamk}D;@5uWg-3nfsS4Ud_Ne4|*<>et zYzc91ZgTPZc9J_;qB8HQjPnY&+;BaopLGha{nKB)SL@$)1KgcYfBG`|Q!`Ko9c7H{ zR;I0n*mfdVEB@=Ny9o#P?}JMC#%J8U^UARv-(xO1i`m&(_U+pr51}HwoVar!CA7$4 zNoj?1Uz|w1&P+|svTOHl#`WEc^K#C`-6OcnaSxP+q{Q3?iwL}M?xS5V9_F>FUvb+l zw{yV-=iaOHO{&bVT}M;r$yC}@gpx@L{Z>*Wz)d7X5D96{PSxwNxc?x6^Tfy8GyUjr zs8V9{=B+eVuD_H?%cc9JB8PnWiSNhnW;lnKMA9`{K1wfiDORH%Ziud4*bC7W125j| zUJ|{w>Y2%|^tI2@;z3S5<eK6Gx|mfWq(B;)|bRud?EguWcEmxJ-Et9f*?;SrwN~-2;gvxdh3D zv{eRuxl$%JGl^e?96GNMR$=A*z?piGANfmTW4!DzHz4-43b&>-rwbhtKzwpPI0O|; zV>U<9pw38BGj})kw|9ZXd#A#Hl|r*K1H>loZ>=IpN!U#yT-- z+-RDboNI|uT*dD{!9>y@n z*anYbz+i@LFksAJ0|uGJ$n1>FA{h`8AhotucdJ{i?&_uXs`p;zJtt!Rh`9NxTealN z<-L5B@dbUlUamK9-n=&=&M$tEQ^v-bvp9R=1b+D^zh~n8-vvGAHa2no^f|1o9CTl4 zlQ?uXpDN}%U5c&D0JZ|&BQ*ijL>VM(k821};GOS!-}vv(hFvKU_wu9eZC$IC>5@i|nV1aDK%eKQ-ggRF)f%VCwD7Xly zZNVEY=X z^zGWigd#R&x^{`2J5Y7YIh{Lc_W{fn*m`u@fnw{%qv+jr8@}Q@--RFhlan+2)`F{* zNC1|Fu3}d^=Lm6!GOI#&l0y~qzpkwA145`;(Rqg}6b&)R9mO*fB$*$(`dk4fc1e*{ zJOmyHvQ4^0?Hbb<2^dv%)isYY9HJJ*fkW5esmD*?Bk%tpZo2(eeCWUb=N*4+bHU*4 zVNWnO4Du_vtvc9JGbaXinqTs}epLo`F&X!_5tR`b(cb@wQxU`~LD@dOh0VCZyAYLs8wLk-Wi;C7C?T z_2??qr5P>yD;c#`-1p$e0bDu(PzFc{wWv*Ib_KZg)YD ze8w2fzn9|R`WkBK(yUGzU_;N$j~^gP?)gt{++i*qr4+PV1HAYppFHvV1HgfU2QX-d zBT0d{PTi{WWKy|gD|pn{&LB+?7OXGmTDfoCS8FC zu4;W!zOgn#!JD>KZ1tqTrW$XXi0%y^dTP^FS90SMaMgzv=*UN(lNG1nPMQLnPOnL< zXH8)`{*6sM=cXN;lNn}htX6ax^;+q6)!!cH7ek-@0rt5B2@p<5rJz^NflnSo^TZ>l zCmzPi`3)R6a~%DX$B|E+LjU*~G$+p>oj8kp?iA?bPl7)7DD<(9qkZ@o>PH_#I({1Y z>={r|q<#;`HXniHf_?#?P7kt%X(+r$&i+fj!c$p+;ShtP2eJOVJMqmw@E-i@caAq7 zBv@Xe33y3hvTBwlKoX!WkcmcCayC`gE_MZkR0To_olmil4Q^4f!C@jmPB!LTs)D?> zRMn&u48Q2OUs{4s))imAC0G@MGn9)}fTci{&|g~taSspP`vIIjeHw56k}trIfA2pw z+rAypRqje+U&hywqz2?VZW5p}5)+Dae#|x$sK2s?Gbc}>3^(z8-}b*wwg0;S`_Ddb zKSZlJvQ(>}!>jCd)Nr=lct&DL6Qu+aU~6EjFn|3k|I$?3b1B~Z#?Qrfe9w<#*bdP! zP~Bgg$yOkg6oQJ(gj%gR*Dm08Y~-c~CB>h=|9*Vd%Rl*&JsQeDrD99y>dqump&1qw zbjOKX8FrP}DuPUcA_cwm1GxU^;fX(MPK?CX&ya~wV7hpL{T|4V8HG&;E~R=8iLGR{ zRq)DB|I~@!9{|=@`{stF-uBKuftZ0@l2s{fyc4RJ4!(+*b+0NCrS0VY3aD3(RjSWg zu+OgEY^=WWA+5UBIoWqn6L^Inn}R9@&wuvqQ+?(Ox$E{@toNX{5cHs0QK|Y0pslu$ zyWEIca5%aT37YIPoH$_>&&wJD_o{?kCS0%TipHLKxb zt9o9bQ7`=y)ZB5@R&Ui;U^tVlezgTJymbe?7(!M_uNL@|?>mJhf1OE&s>^j?g$^Yz z)WGHiq?5<--v9G+aMz(`lvEZmX%e)vNLKH&xBoVYuvrvaMR4DV0ez^%_LO;BZI&gif8apuHHeDvNwK+`{npZu}^6L0n@ zqgQhL`Gn6*<{UAo1(g95pL`5kRfCSdZ5 zlo%g=;9(@TUI*_o^~$;hc_JohAU6Fexo@Z=pUEjd-ZcSO+dt$(&WIwHS_srpoO{wz~5g?8s^`WyAml9nP!<%0$Rbd?wT$b?)CbX zShEe~f)oqj3Zd144EAB?&+f8u^vFT1uCJkOTdctf2zH41iVLYVB{M;!SW*nPOXLbl z4N_v9IlVFVdkPaY6C@>YVmnb(_36~sjBk^H$^WmK{K^jxDb;7H>>fhqkd~3q63ogu zTi=3`pEo*pDz)1zTDF9#Rli>o+Nx;ws1f)NKJXNb>x&+NQ&=A%$Bt^hHHU81TPvblwH-8GOqZ^u`B%kSaiKk*lK{zU~#K}dj> z1a_ZgM)C_ATp#L%54T?-GVQfpS&ER`FGGBSdAJ9%{xxRw>B@5ke(`R)!We zJ+BssbQXWU5G{n98?3IaqUj}+vV{-5>s`42PyYn3eATP)(7nGp3jTr1SNAT35L-V( zts^-NdvhbPo#3^)1{@0F3~^05G2{H16Zp(mynOoo?-z(iKK2;6=_B>}NMhy^T3s5| zc~V0l70CWwiKk?V8C6=OL^yb0K2@ESe$NuT0#M3U0Rwz~jrWVFua;C>_aQNdAcjk* za>7$5PG9zYM*iDyrx|q@maYl9V!P_AWJ!qIV`e0@gCTNrdEfUdkyAF=LG3*FP10tq z2;>e_U3H#7h| zdNmW051&)DCRT;p7K_dA&}xz_0%2Ikp9rf08`uQ1c7=3}nYJHQf$H+as;yOYT^5+Q zTk+c609sqIYMo1aE^H_@%NqC4_g;=sZ-7^lp=y)6VKSP%;=T8u2Cw!oMD|q-+g9xg zFRo-7C0j0sQD5#*HO+e&Rv-b_t&N|IGG|Ej-;V(70}s_3?MW=baN9V?1`;9(5?LQb z+wQ!R;zGq(z2J`n4dHKn+O@d0p~+F)6T1Yk+938Z#rWi^?Jhy`C3RERakjieWL zQZ}8w2LOIDwuzx^L$ruMSs)}fs7Jkd4gz*l1SCro5?RHKQbN;f(CalQZHvbqei$Er z@Il=7C-1_ww;aXqzy0U&>;LI{abRsWO|IQc0qR_9x>(z?5OC5i^ny~gDU+0dYBG;k zzv3lRZ$p>7oH%&~P41)f-}intTMid=8wDaoivno1KuoPcv280>*A7hN!ZHr)t1HO; z25md^=4AF|arL_lDn^dg9S39pCU%`W|kR@enxGdt|vi*=% z1=7~b>g;z)c3Gjx|HP9H0gKxZ1J)zcRcm23zNq54vVeSU#JHryHWgT0{*SUXa~{t-vB(M{2Sp4ep%QotJI((E0;Z1#qXeTJ3~aAlPyA zIwPLks5p6g3$%6sRLmM$eX<{2&<6nTi`qWSyy8t33^$p9TCj4ck8Aqle-G8Y{u9LI zgcU%tz9L`E?yRpZ>L!fbslec3D?yob$A0@4K0f&$-9+_{7hK!JBj5eGII>ouPdy3L z7MvK#2jY=Cb)oCM8aaen@xabeVk@IX&_dC_^?Ll;J0HOD&E1u(1^a_Y0G5R6Vsohq z&Rt`XSHo4!P7God&u$E%d!bvE*F3{>FM%_o2)T2HRiqk9?)qaV$0qmCZ~|#Y${D%W zU}de3oEvZzY@I!ghd**39{9iqaqiSEY@R|L zw&0vV?GS^(no$H2L#Yovbq@Dj z-y3_T!Khf_$sV+m#M)}WDBIxf+LyLhRou3^T_Xr349}NQKtIi%OiZ7UNc5QSk#Bh= z4%7kq8yiqgASo`5+Ws8fu?te4a13-w%Rszf(-P{zL*PS4@xy;`Z0hX|u0Em%V5vx; zl%Vav>jmbA4OOICQOLZB1qvhqB-!v4uBZS?8Del|fL0YvZZITko*ixt&|g`HviX+R z(qdSL*xVSPmKIf7a3!2OcM5f|iBc=_N`vP;@45K;ulp+e#n1f=99Y|dpYskNCR81c zboGh4ijF|kMHi$#fXLi;r~;YUeBcD1zQ>z#Lsh@uPzNc~kP*_7A{Yl zQ7o|QH3?G0`!v*(Hj_jZWpI{JgCHlM)-u&fNUi1wqEw-^xZNoMWOlG!0;x=xjb z@<{zrRk6A<-6|D>(5ijjh8t9B?V=7bhZ~pfwQK{rvRIC%;tSw1;mV6 zDwil~B}@)U52Q4!c}N7ubGD44Xh} z$Em{m0c;|e{iZ(7)kEw6N7;^_~mGNSkR14AH3H z%Z30F!1kRe*#u~5&*KfRe9qYK-Bs}+);M3_Em))V;qIrZ%}!1YlX{f?h&}3WM3Ijp{*sEdXT&xB}Xk1qP{C0u%a7*f@0>gEGL$ zC!YdQgW+%ki3z#M7#4pYbxX(8$Li`T4jwvy18Y6htu4Ilvp*f5^Vu)Q>tFrpxcl~- zMq1)oRunIUiCuf2Je2M%-vB{ErUD_;^D@~~TKJ-GKP3!g3pr(6b7*~L+my)d+tdfz zbl%h;nDE`K8c{8{QxYV~05vA{<%Bw%pOqhxxumR!H4zGXHL3GKuQIZQwAg~dT#%7b zYB38>0#8$RKRl(aszqBHQA(TByg;gX4 zrj75MY{r0?kUe;jYN7#RLJx!?`|JU=#Glv(VRaI)CN+>!v3AXDC*W4`fIh(jJ$UuM zR&eT)U~9xKtyy>~7+DgOfJ%yrinV^vrH5BWgi%_XzAS!E=PW)QW8N$z03| zsub&`7_;wURuH?6ywiUR+lGtJSQ!bqXmp-XKVG=|j3PUhuFQ(JzV|q4T0uE{z=r;H z+ss`x-YfDRp)y&(4R?Wp`tb^~ApOi1zT{JG0I6c?|9asa}7M0jd7`CtHO34>0?6;y_@kmWJ zNrM4!-~i6tcOM=*UvcyL?D}_t{ZAwSOF~M?U2e?jN0h;&C`BO2CM?32LsJG&y9ulc zXn`W(?CCT3h5z_HxbfO+aOUiJ4B8gGoRM=zDOQawrJ~>Oq1R;edyW0C-y2o<=N0T< z9L2C&MOml|C=;qTehT|Vh6vOnB(+K-rG!=mwKaLpPVGl82PFbrYphyF4PGW|Cih>5 zB?DHkHE9D`g*at%p_vz@3PkF*Ow5}JQGM2fR4}q@=Br(7$X%3(QL2Jf&`VF>XV3iJ zNeEz@F#+`|JIwmDM?ec(6=8R6g4(_*3M8>AY}0G3N;qK>P)bGTE+XCtOo`2vhykt& zartp(fHm99g9KErK%IW95|cGl6A4m7D1)x~R$(2v37xPdcfs|4 z!-=7gk=K3;OR(Hs98hstgw3ZQ0+9Z%W_wAlW)W6qMS(j^u(fz2uiQs?&@yg1qV zWZ1%BQE&gC?sLIc4sFiEg*jm*TRq~=MP?89>)-!};KSFTW`Jvg&!TrrOL#I<0kRno z3X{L7xb0AZ%~p?dPmpGWWRM)|ISrxMO20NhpU{WDL;|oRbk=$%r>HQ;pERlnF-#($1c?)3rEy_#ke+ z{>amUuFL)V!oR1f*iJ&?j6@YlfJ!_P6elJS%x9gv7ovp);-ysdlG!DKF;mx*_0?5q zXJ=0_&!b6 z_6x9Y1}CT_BqB6pZ-U7h%+8m<9#jeh+1jnGDb|yLObIQEd*LUO9?ZD%J!}hxgBAx5 zHrtJ?wxwVsR1}+BE@r)1$&w{bgygoygo>5^_`iixiUoR1;88)ujxS0cS&IO$fZscV zya`*jS7LUNh6O|Megq{DdE>aknrPLUm;qM^0WKx86_bX&p3U7R6c6SB96A&byJX@>+<`t&u&NfO`F(WZw^h90zvklnc8G3$S zcl~ux)3ZR`GE>+V@7=2il*EEC0>H^E2)#Ws=ZsP-hV6VRkY~?rnk{B0Ph!)>7WIoH zSt4o0C%Z`3&Y^=8BDN}U%MI6F_I=FkQ^BbLllj_P-zmB1BSX;w$o^iP9@hp2k!yjc zL8V&tw{g#VGWQ!x#JZtmR&lFZUHW*L$vZViUeYVxjborPGD;DgYr`tQw) z7o%Vc041na(3MYhGo|&Un8`lBs!7w}-;0v1(v38ZfSudi-9{>*GHokvc9EBU)7v3y zM}XDrrd1ZyQ&$X9*u-K{*rZC|K<|G6F{E`FUJKMS=kThR?|l9Svm*KL$ExN4=Pu!c z%aP!_)c0$56WckWAuEiG+k89?pZ@G?pc_LlWeC_O)BEb37Y(|EMMfLyOF;lIaw`(( zfpvW3;Zt+p=3svj3BZ!T#6T5m()A0SszQs{?eO57EEokV7}c8Zd~AB_4kbi1YQDVi zVzS%8{aC044x(1kHBa>nRiA!J02Lb%ZyxvJj&r7`OiDAcJ?viNh0nhS4FSa~<){j- z7G$e3pbRe7>}a`)xFo}k8WVw1#^X<&oO+us#uLX+Le-ix&H54WPH}K0uZXJKCaU{S z+cxIZplw?y5uSU`9hcu9P#;1k+rgA{_JtO3v)X(C6}Ww&B^ty)sXDzCDv`}#sN!x` zo)CKVpT(MSsS8-ZAhO_3d`R1*NBqcho(LX-qEWImu-f1_f_d*Nnb&_JLW0jHpk$SN zvAsFo$0Zwx=bqvao9mJM`=r!>$y!HAtNElWAgu+%oHEXB&b9&l%(?T{1nf4D%xaA% zY|QIutxe$cS$x-*yDbQ6Bk^E2;Ir zfFRYRO2n?QC4ty-jk)BgedbB%g3-j?q*0jVpX+%o@L`vyS$wRuqLQGBf~D9#@`mZL zKCcL<6bl%MP>Wa+0ZZ&vs|`w$YAXZcUSSDnYl~jf!|9W!X1ea({>_E zWXH>H;#zf+{YdBH>L)mIn^X^G-Rob9Rf$;?RjN6N&Aokfn@3I$@pr!K9cWgLpdRRf zE8F$}E~g=L+hmhgS2IJ@xmAM7_aj;6MDUFKw~bDh1bAGZVsvDgYJbhLUcwL5p( zz(z$KS-?gj5CD+?EDc+OAyQ^kRHSUa7fROXRI0k$MM9?(A~qR_fbFEILx30?TLSTMA}L8*MHwX<8065|M9KAiDqR5{R2HK zOfvvg42wHtpxT9#$Q&pj7z#mPmW)&dMOqv^Y&`&ciQ}Zn45{2XC#^4%nF+sTL z{b4I1rMgDGv```Rdi|+Bs|rDeg50T)wL)!Ns)=qA+;Wdby(35-ox1a4Tc&elA_A2A z$W0%m488hjzemeeEdVxy9ELza4MCM5)hgxVN}&dW7F(^@kT+Owi%M5V>?}~N>DzKY zH94GE)pqURDmJz@arXS?RG;}me)g@uhV>)YA+x#?!xEs;Q7x8$k_SA=6+q0EIExB~ zg>ctx<7=DyYpdubTjf$IsKutsT4N|#aYOx^s4ZHOQ9{CK%!)D1$F}%VXayt-w6=CE zwk9Ej_pRv2uijP%r~*hdN*YoF3`9|DJD1?k^C_3D0q=Zd1NVIWuL9R!4}IaysGBWB zhPHZW3x5`97qu_6%faAF7}_P>-p9ZMDFPfjhHv?sFMZnkj!R-2ayNP=!B$thUJ4rJ zQ??HkKvAez^4EGnrfdz-+hPB~Bs_F_fW*~4H@a2Iu9$bh#u9u*%7c5i5JqxmFJeeP zf%Adwp1%bz+y%SC;zx18OdvlI5W&6H?c8f_0aoop0&)VB+1&;JKtZXxmOjsI0_{97 zhZ=8QCGm;G-dvWfQo^tSP^b!FM$XBlpaPV-?XWQ=>}TA&ZoLs8#h@M9e)ki3bvcGb znRPUajn%@wMC6ajSUtFo-+RZq0nA=@^`3XX4+jq%LO*8+F*3|fkhxkzurDN8g<4F8 z?%vwWjKS7<^m+|$xb~XMzK=+ONU?n@*p@SZy)hT4>irkK8p6adHxqVw@N|)k*?uaD zy4@dT)0lh3(TkE0hy~oN$RJdKA2)Sp5y(X-BG5YY>Dv{8I?{0$?WAZXRY^qXA=%1N zRshu`0eQTQur^Q&a)lJtHO?f~@6pMLi1>owOHg2vByJkif#89MAD!+)U%+p_{g2Qz zeNbj!0rR@651Dg8B1ml*nz(JQC@fJJZb4P>%9p-y?DwSVD{QJDweP!Dg{J{XY(b%t z6$>)i>WPX=K$KD1%MZGnHAzhKpSs_>OIQFOq?K$!GEoI5Kv|H``NS)VC>jQOAoTL= zqd$TjGKmNud}<4?{+73+&>GUSZbYGE=QEJY>I}7oS91VU_QKQl3$nrkbOs3^C(eND z5a0OPyPo#G<5DVtviI-k_KD0=U~l;4ZZMe@2)Jj357gp=z}4lN^Dm+Q)_abjHtUd; zzMUOet>K&8wa>QF5<&>NMNxtu4_$8-6f!KR#aFL_z}Y|1Trd?~GpETXObegX2FYX= za5BH^s#axS_v9A0157ESYFSL3|0PJAyjoqYaS~nAnR?~3Yo79^*CN*3oEeGD?S@H_ z(+u<`u*%JW^;H}`d>C4)kD{lM3y~_h`wc_IG63oP{E}U>25rHC1BY<@spB|#`rJ&m ztK-3s9m8W!Jc{1h8j2{S6jZ5ZgX;1J@(N?8Ijzd($^r&z#pc;_c+Ru#xniPNrCQ~U zT&B<^7e3XpDv-TnQDFnfidLxGf~s1CFwKQn2%v1z0`0a*>;lTdUVJu(4N?WF^=?=I z;eq*tXVB4hiy}4IF4~oBQZH{e`hkJQ6YuH)sFIpvBH7g9&OiUkZ)%^1k=^Rh+;Ec5 z`hW*O6+VDV$Rr~!Pis_b0;Gv_vN^27liR6u1rf5UJb8s1?2W+;QZds3_iJ4f0LPBu$Ns_ROulhky?~+Hi3U80APe}r z;D2PRT5KhNIe~o!z(_JQXMXPw9{>)l+I2d?zi*#jyj`K|J^`vXGAq;_vRvv*j6Nr% zT%+ImISkrbX~8ARsK9kYrXa;t_5aQtH@UOiSE4$YG znEXPjzSPWQ1BEnOgDI+@)Cy%rozcg=Fmby1wp(!i>}dc1tDw5IVs!_W?&4$Lj@dIp z)Gh*2u)ewuBE}E>EpC!P|cIcPIMH&*V3M_m9A+IDGh8 zfCQOLLLwsGgiO93CJ+*ciYdcMY&BCD=TDu*!6S#TzBc|u=G2jO!cfY?1_4)6yqRs8o@f1_!UZ4&VPH zKQ)u>0<1^mSAOGnabWEltmN!I+!#4zs4pigI{B#rq+lgvW+VnS&u^jK+`!j-`5UkN zh62=DyrP-hep20TPi(#b6OyopVeBh4-4H8aS~VIc_GUmGT`ZX_2xm5zD0T-PQnn^l zQGmtVN^qGb=PS@13nCS)7IZKrP@|*Dr&5<}5E_@PbV0BZz{wL78E;37i~vL|2tu{Q zhXk1!)$MY%0K`@-VAtk@2yIc^aKjON{E=gL;`phFKKF(E@BidqBd;GoZ?zBR21<&o zHmC{25Mgw~n37AxL}VmgRH`_4_B5XRtY`1&eM_y-V#!s4Nlg;D^qae*t!q|=TcNrG z772R&49bl6f8^n*_rbU%D74T>wq=>PNj0r!#ZSm;m10q{gpO>uVFp?M40PsI;P*VX ziGyGBU+{~+`3P|P9nf2@g|x+n2f}LmURU?(wQ1J1>#G6T^$Bd(olXv@6)7`hV+-|( zNAVl~{PU;UPN}w%Qmc&g|EBXJo5cbR0*_3gk7 zw}4lBAhAaLPA{qORcm_2Ob7pMi)kk9qX|HqK%1Mm?Z)ww~ zcb5}NAh7vNL+yUGCZc3700JSo{mQ;k0+FqFNN0(s3hja|5STN>FPLWkku0!G>^{*n zGu>pDNPNYczW|AWjg1YfDBHK-zT;k52h8aO>|Xl-n2@N!uncj-O*i7y@zeM>Klav{ zY};Hz4oSVSSp*f@Ugsd?7x4gx&4Q9GAuS`pu(|^kjT#OorIglWCCRUy)to+vydhQXdq_;EE>lR% zUWv8Dq&NN)uBXu*3%#Z>OV7?;wZQbw7NNj%Fxx+#4570NRUoq+ALG!=dE~EeaxUKv zx1S{`7L>8|A`rtIhSY+Hss*{Xij)(+_uu~PM4!9keINQL9(eFU+;aPE*cw(#YJ9b& zdhdZ!XA#Txn^1G0GA+EK9Tv!-;_LqATXyu`wc2XuD8gshY5@5}Zna6_ob0<6wO~-x zn+H_TU+d$C|KDGpY9H)qn~^LT11u>@gsxE;fSEO@e;%y>kxzSPOWxF)+3oYqW}E)( z*an{a4}Jrm_V<1Xdf-N+7u=2Z=(_b-a3>kGYQM?->{!|!Mv#0}P0)({z6jgRtSWZ? z)dwHL%U*gnKI8Vw4;Q==Ios=Z1{R~UI(PCJUwtE!+1TWB8THIS)q?418-K3A%l_#f zU{h9*ZaD%)v1aa(Zp)mMAXbo2Z<4nUWc_XG(nV75X=oV3Gh2AoCr`e55?q}`0K5V*3U#=Ak#$+^+Q_w1*h@B9-SVQJ1B%Kk~yCq=P@j}J4y-*ZX6taP4 z$^Egl+AyF39~CbOsXDSeot7@>yZQQ~SU+?PHcp>GlM|8)QWLqg45|B^r;+7c>NbG@ zr2!hl;>pMHs?Yw+@f@NOd!<#~#?mA%$@?wLa?}DZOVvyoDGH&IB5}3=$9>QVKr6+1P+(HQu1QixdM`!hgr>~utQYr7soFB0;x@_hHW#m zTH;DwaYn&DITip=3UpY|WQ?pJcgki_{MqB1_#gk>`*8S6{}W#RwZDXqonfrL@CBgT zuR+ZfXbV(rsGo>g%AzPxtM$>?*NE+DyKejG`+j6`Sqt)713hsH*xJN@`$wNKgMDa8 zqy_t)q-ZDYgB^2Sa^gK>oeLU?B4;-FndZ4H0Gu2M?*50rg^xczgx-A{WG$g76_K^Y2P1VYoHGwKv{?!PXXD@%jG~ z{@Z`~VH~~Y;6&T>8E^O+Y@IuSgGa6h=N@X=LKQJDbWT28h){|(M60S*VPQ+^i5O?j zoJQF?k8l0PuN~_>6KAkiv;`)wr~;`#O$w^6v~deS^J+KCM}iG%%AC*+&D(s^uSXS- z&W4D{q*vq>=qlzKVtJr7UZQ({0L8rdC$+=vjw#DODymis${AL51bn(HfQCS|cwoMr zk7!XyZEafa7?^&YLCKFP5v0akuSAju++sRnvXz45mD(bTl!3M_xc;W=aQfb-@a2E& zTktbK^3Qkt+5i5xd=H*@>=>T)q8DSU3?NL%WW6v9Hk(bWa|2qz$#miDjpzwLN*Sk~ zd=hs&=T00xIQ|r1062W`pv`&^U*&_IC$_dK6c-I z_|@P26TIQoFB|*4Eos{MIfb*W)CkN0N_;=TS1qIhmbKe=R*C&K0&|5hK#5S+4&wiN z@GM?*;~GR2y-ZlkY`p<&1NOFx;`C<0iSsQ!{Nx7y;J%Z1`#T@PQ;(j;R&9|E901>Q zH`cE^f?)zS&Tc;4&Qokw1=uRki5X?+3D?Ml)B91BK}lT>>DML#Qm+R&w*`6d1is~e z{&cK0)7L762p}s6$L*~+N4isHN8{wTiVKYR$< zOX$DgE)1#yrJ`~|Ci||{PXXMu;;ldX3pjUr1BVZn>_s1T4 z60iHBuf@lXoy0A--Gr3`2QfUi1@VDfK!R$4hy_21lF5Du?vldj3`kBr`WSAw{(8Lf zrQ=QL%*<%Z5X!b)CV>*L>59y4!)DY%D}z}_E*AuXqy%XPQy+(Qu!UAk)?xKjlZ2=w zBnZ4s!-4~ET?7D48B7_2!C9v~%Rw1XA^A@>{Ha?i8y8^7~T-1ywr;gNfP z4Na4ucC1~BZ}_MG20!>iKZ(1Z`^hHpsEW3_kW9zk9`Pfa|^_T!TAj&Aq-dgKx>V}c(5fijIBmAfodk8;)d{v?5g?afdf$R)+sX{hJ=8Pj zu)d!0)TZFNRUUn0CTpfASUu-*Y!t=ujf(&Jfm8VIx7~+hkDo_LE6`hS0Il^fD4r-) zE5zCABLQ&dG{1h?8+pd$GgRPGEAmy0q%HW^Q+UN))6Gl?u1+EWSQ^+Y;kwET)GMAo zK%CtlzqMu9)^)aA86_3;a_?yqN2jU0?iR#0XiC~*E*~C1iOW6&1(~ur*{Hg_#vNWV zAj1k3b@{=Jw#j$e9k<+oPkPbw@qrINg2M;z9`(Idi!!V~qju9st@6mk*5pM5stO@O ze|;TC((QQavBz-Fr+yLs$v1v2{@(xe7ObzXJnj7ejD~WZJaY~|^zYt^|Lc2x0^D20 zb6)&OC~XT8L2)1SD%Lc}+Bxo!&A;*r88M+NO3Pq~bH^XU4}9+rkG&sC8Cu|4Yu8kO zhHY4zvbmeI=p-rCG|tJV0aF2ILfcNa0su0@yb6Iz=K`-5gk(l3)(WBm2%7~iCzB!d zyg7K>>iZ>OMyW%zb%Gs?3$b%2y&KJK4zw@>q#q;mEbnnN9Kl%v1 z@XP)l9(v%TxaYYqK<~gh+Oh=#BQw0oynA%D3Va3N$G;6}^J5W&r;a^}0|(df7hgNR z{HOaZ+jx&SY35tq9+hSI+-b`*SX7*!IcQnx2_3a3Rs@Z#zj%LoN0uXcj5zfd((E?aq zNjU$$kKiTGI*6bDTc5h4{d6fTY!(pt><%7jUq>>e#6UN9pj&EFms45sh=KJLY;GOI zU-|h5FxaffRZv-R{?ry$`;4{KgiHsR?GXKbANM@(**Jaj6#lR8{df4b@A!Uv?yEivZ+hcv@a(&9 z!%DwF&Kd9j@Pqj2pZ|6I`MvK)Ee#IebR&)&IfAyWpsFaO;6xxz$S^6Aa`*Wek^vM! zlYwf{J62X!@yM}{;o4ho$N%ufpEv$a5O4QOP_?3yM2qXB zZTOX4;Hwm$ZDGyIU2h7}cnQF8*aEq8KeGKs$umzVT45v>-`93pVDEe7WJw`;Kx`iR z33osL`FP^v598&pdJA6pikIW>|J|>`-M8O_!w1)~wKc^1?|Tsc?mzr8-u7RA8>=ga z@az}945`N$3<{LZiA%s>vMJp~#f}Rh3l{@P;E9hvf`9yte`lf@9rxUE zGo%%?g8@?012VZCtlFe!vGW5_GFw(A^k9dCdVpwkl!9CDxeKRH9>;fl=lA1Z{;MBA z8Ehdluy)`O219G4ZifZe-*N}m4;;eLJMX}W$3Kp(VT+YsGxj#;K4Bo%z*>udDUBMn z?Hr~UEmx^+EM*f+rLNDxgF`F6+W<5M!KNR3q99_&bs-Sh)L@1M@Mbq^Exnwwbpm-X zYJC*`{!p;ENQK>Yl*wmT0Pu!(Bp*5_imX6kMGu7G`ya&(O~oJoi_hNicY7(Ax|KWy zQHJ8y-~hG1)HT%mArA?iW(V$ z#6W%OEcy-O=7Y^tGgE@AlSlxT1SSI121|`bi!*Fs2%GM@dN7>mf?+Z2KFOINTC7rz z{m}y;YVJQW8k25~&Xi2&YsTIfRZm>{@0FD5&X8&5D;=F?^OhU0!z*9)O1$&;{t)YH z2hd+#^A=?LuBw+`MHCF1>{&CT(Tsv>H6cnUwS{c7SUYqW>xU1c-P*#t?)@m{_cm^282281f&gOI8XXF>&wRl+hXC=^aW6*Nr` z=g*wS@sB@>cl>`px3hiVJDODC>mJCNQKeeQLSo5~m@7+Slf#(!y@E-QAX6QOTZ4k+ zHk+Kh{-4bD(OWJ7Ra6yFWAXsi>WQ%3-g$FRN^Z>HlBKJ>+C{!rv+)xq2vz&;m{Ds* zlQP;WV9mBWbUcY#N+$CW0ZO;sUP)$x4H@&_hwXSv&;W%fLAZh{gE`ss)*={E#kIHG zjg(gL$A5M&zVxqs14wOEXLW5IskegMFmAp3*;v2kAXEfpSUeze*&8g0QB||-9l0<8 zR0);EtYQn0R~sCE>~Zu`ga6}y`KpQb`AydyL6ft+KGX(h!G4$G=Rb2KD(VTzkuHxcTcPRZOZSBoGtF`)Yvo4hdO9f34~(eHi&1j|KoLY*homuwkS@fj)WyM~BDp z$p8D7uPCM2DdvnR=rLJyd$(`3Ydlb!36j0~@0xq-xB#?a2paG;37V6w5ZFx?HcCE zl|c&R1ReszM;^hif9q$>c1H$R4UqsW3u;wvRrTdvc6Sj)WkruNM66r3h|4~OM{*$$ zqse9qxnFQ`6SC{x?Sf?;rleNgbKMU>45DiLN6lZk>UIO_%(u-0*WdiP{~Jf{ekD#k z^*C;S)^ji%455^PEFkgu1uDoXp;hyYS4u$bwESvw0#ZU5Y(Y~(lY2ON(~U?s-vkAr z4l8mmS)f7I=v+#RBDO5g%vNQU3ME?#7uS$BZpWE?B5M%=7e;2rYOjY6zUN)|v`_yG zeA-K%x1-NrOC1G2$&bBG;o8=UhS?eyrSocMA3A2$%wbiuQ%>Y`$uG3n&@Tp|R-iCo zO{WPKP}vFy{68SEskO*v4LJpNX?NR8u)m&|?mcA`60jtn)@#2*OVTX@NFxiAD>IVw zz>Ytr1co=dDj|6@wAL=kx78PzQUVPp)XrI^s!c={psiatdhInhdi`~%x&^LgQJ69# zF@d>O9A9)C0_jP|AO*7f$ zYi+fUL)RX`#<_D?KX3ratwpQ2yUM5;n*rbdniNSaP_Ehnon9KZ%>JJv3JE4_N;ORg8vZSwXmByI;oj;@vT1*$ujb zHZh@!C9o)-EL51JO)NPSA9U5pVMJ^`g$23fQ;<7pjD@(}j0jftpw}fdbit|u%;#U! zLTMtgb1eM7Iiq*#9Gb_U!mUSJeBg)QJkj@h#eE3-UWe{TWXTx;n$RShbJ0m-A^yAc z**MJNZfG8853NAN#CGl~zN<+wY+*^6SPu&TbMWfs2M7b6%zx;&A)`H7fnw1#h?B`Y@9!br;a^}rs-SIP)zbdBBpl-+#QD@?oI;UwrRB9Z3ZhaECo_3 zYAvWmk$V}Oz2UPRq8$vOS|P+>6&sF5wxkTT$;0YbnIhGSeoz!ODHQ|gulMo6_x?E! ztR2LE`<3yv{~gr$F(_=G#d}c{fF>QSMs)+RgzZ?R#3)tJ1EaRXiS~K76kb}>(<0k@ zbO{Km*Z?r!2cq61!lo5h0Wv2a7B-y($Yc`i+HPMJfqfT(ViJw6iCftMZZ&r%GqutS zJi;$eYTQ`|o!@yyH%7R^HGgCQ1-gL5hyUedT5ot#YBSW#7dQcPo zGhT}GXU-ty4C;bh=xDMoD%R9Q<OTnc1)|MrqKWgAq-O6c`7 z?&drFu|H;A(+SsW$z# zs<|LpRgca4+O1KU&9fguSX*Dm$3FZZHU?Yxz@Pjgn!NKMxR#10HQpmwN0l;$tvY}e zDS0Kcnkx~hNw}D;I@SdtJEdEFvB0Q;Yev-zre(89Yf|G<2$)ogaJFI02ayR9&J}8Cu4hhhTCis}~Dd5+J%AOxlbq?+pMWD_jo^ zwBm9Rn4GWz$edBcR-hVckoygqhEd_cNU}e_aKAZ0r}u-M8>W^dScMNQ5wA0$G`2}u~58M(iL`#<`qZ_k+94Mj?(-6!t6-pQP? zyfO^x5(NL72|BVTifKuwn$SCDx$Er)2NYvzS)vEPm;(eg1J9()m44!QHe2dgspu&t7?2GYq ziM$zSv|4R{+xZZq*$Pst%?zPF>V1!ZHcsQ+-~NiZ?$2QV6A8eQASw{@U_TK^DzwU| z*~o1FtlDJ_T|9CLLSt3soaa3QakdZ$h3s>ZSFuICsaZ`wtL{PpC|Ej|3R{M)MWJoy z$v@+5d&aWDkAC<6j@Q2KwfNZm_v7@blSrut6-BCS7ZSK5jgPGrFr>)HPTMrTj8g29 zUj*h|tv1%mhCcawN(Bo*(we5(wc#YzVA|C;RZR*+NYH8xd#kHGJo@khIC;IwiYbI+0i^AqqErArjh7W35DOS4M-dTpBau{rc39Dt3aCPAvO==}Le(nC z#aETchTKuLRk@^{?J14?|GNMe>ca_#Lwxij58!h@@74J7FM937`@8$yeaZ`-g(KG< z#fc}6K}b=Hpj1!xJOJx@Jj{|5Q13ahG69=o3rvb*=M9${l1YJ7%uv7<57d$x2$U24 z^xlv7_KdgP%H)H!OrogWm7Cq6Mip92o&&KVZu+(KAgCT1(8R!Jvscva=ms+mpGbxT`x*#@9F0l5J`aR&0<58zPU!h=8Y2E66P z*UkOfLc{=7TUC=}P2W(kPx6_QQMzH2~r8oK%gIa7%SMoN5AiL z(VKM>MR3&-3BZ!j)`DIV^m+}Nra^A{NSu&UMz5dIG(8{@Qp)aspOI4I#Sq47zlY(V zB9Cb~xDXJ~PZ>!nYHO|tj0|C`Ff(WKekR6RuYr<)1*p=3(O`Xb4XM||U^to7WT*V< zPkk3&`m&ec@rOQ!c5@5;+(Yg)R+;WJSZ=$K*mSkZWKD@8s9LNV30NRSfO)KB7uVQ@ zE-@n~t4aa_DaGthlR(Jy+kjo*(LIYQR#$uY*h3HFM{&0(yrtwOR5Z__%2 zXbUX`BrQaTZdqz>W4T!HM9Rpp1cNfcip;j^R!LBj*yqg|nc3XC+9BTm$A665Z@Uq1 z`>F4qa({30!9V;(oPF}+IQ`TqaMOT5s5UVRO34ymP2k+PQ&UDt8OfVIIl-G7=OIotP|Fp}3LR-nlsCNzn>>E0^gWFH;O1)LN)DH2)IW7Bf2 zsFZk!L=}k(QZg%7qylaPDHB$D4Gz^7D5~!ZUnw%%4 zY%5ECUbRZU84yS!ADC8wWVX1Jy0to+%HCuEO+m_pyu#oWLhdtiKOtd=l_!p&{>eM= zmY1#I;qQDk`VssGW3Z2+xnLS{O4igXY*LS8QW6lMRzay2{C1Te(;S-S7b=iym2uif z5+JF9lrl=PVMl;9x{+UXt5-TnfUT_p5(|W_UL~kf=Bod{kS>V*@4xor_=|7&96bDy z58}j=$B`1D$&Fnobh|n!YC#hTTM(R*RU6rKsz_$}$IR~DBuL4sQl>i>w-vRDC3_&w zsz{k^)mbgT>Gk{Q_Zqza&;A_4^JnnqzxSWrYZ#5qF*XzO%!%cj?WVU2srol%N4C|U$zs}NNx$P=O})`+Vvr?AGvD^p4_BLFEb zEwF&x;uJv@m<4Y2IS*vtzmlTigj5T*w$7t$ZQ_Yzk7BU31+D51RgqeeEbyvv7r>iw#rw#hHbS~f#Q>?*=05YMN0NNx1X2zObgSoFpS)Yfc<%c$xO#{LU`bf*HE3&vvNbqLwdPBPAf;qg zKA7&7;I1p3o)ZjC08yS=^SrCLqfMV-)@ktN?PMo=uwB%VtVw!^1afccUTSQ~pEDBA z|7UVx5c_jK{;%-;-}BFK`uH(?^ur%UyV+u8rH|a}qw|IUv1_sk+`w&3$(M}*DhWz# z7IJJ7i&_*(O;00cb>lMzteTk`(^V5&FxTt#u+lVm^3f;oq4)k7KIu7k;fed+j(hIB zW%|!s{pe!Xzq8u$2^&&HUVStjzLi_0b-j89v{uv|2H)KjmO0sqntcK824uk+0p=)1f`%E4 zVv-EA4>Nny1f-l%z^E!ny*|#KI*UJh|NUccuX*hQO|@Z$?9v({K||ZxaT4|K&2%ZG zJd$)NDS9sRByk~=%ZJSC-x9yBAA{f$6(%GPPP=}Tqzuk>+*%{8CC@6B)b@$doNtjI zI|2Rp6VUg62;csdcVY8qz8K&C<HEiPpy}ZZcpps^r^}63|(w+VAj!eL*H$BEMb< zGkB$s^&X=WTQ*K(H`+f|rE+PR~5~>gG5h7>-h{Pop z+g{w}dv5`la96S0)H|tR{lqccfA786IPr1(^KbeF{PA!9 z6mm{887L!C!JI&n&3{`=Z7XWcrRqZP+A2VdrpHLVWG+X8VnfNi2Vke$(*=K9TSH5X z-0Ppg*3<_^Wz&9(+W?BoJ-Q2cTL%ESOlAsH6)XiL1SGM_u2=dqb((Kqr7^)dSQ1!# z7?cMg<9%)bD(=(*ml*+oPnl(t8zibLa3GFMck*>Pz2*laD@z z!KpJyt1IaBSABknC8%ziWUB(BAkwFC!}Res*FpTdSEPo~qy`Gcu?HT&vHL!RFa655 z;Df*aGZQtMkIQ@C@e6q6XTBUC``~+V`uK53TLDh)5(AXlY4>eT1U1Rr(L9;9YH}yJ z%U&t2F5Uv90!1r&BjzfR4qCkPkMA9O8?z^_ZKorLq6ap6$<75#s#WV@a+CxD zi~6d7^#HVLh7ihxM$@REqYATutrfW{sJ2L|;8LNrbAW@d)S1_OPtA2KlcLun^a)rw zw*h|W81UhbB0um^tZZ!HUw-uqaOP+J629?uckY>qgaS52x~n4lS@k)3+%md zt;v0m6i78!9LgCqXdxA7((eCER2A19J&Zs8t)IkO-}ZL=jj#J=-2Z_OpjqqV#v5hdH9eG4FdP<8EhyqnIZCKZ$P84r%5jr2Y7uK>s|8ier#+`05*Rrrlrn@$!HHv! z;`p&AAX@PGum4>9)DL|t*4I{^wqK`ZYhwWJ_0Y>eX&JqKMk(SAc?xbClc{7&SeY91 zk|5`VoDzDgJ*=&*kL{!W%zaBl*lf4ZG!`i31ucSVp z6{pT_OtnASwneQ&9ejLB?Uw<11Paj9q^l{xyHz6~l z3@mw4mlq}vv&0h(W&eDA;cA)M%~;rd(ez}n$MmSj~y!^s-!$=qJR0we|(_mYQNgF1V& zDHv6gX~|QDHa)Ob^jR@Da|UP5K82=Xw55)f+!O{HVxUQArJAc72~xEru$Ksu5=d+i z7%{s{&}2gWCZnj1`aF^*YeIFmp0twf@uqmQnO`txxP}ycCa4f9H#SIaprGLZ*w}R~qf$^su&l5}HSCH2mXv4t35_(n}IG7qnRYuO< z#0+ymp5^p_P#u zTS==@z^MUChHh*?Pj5grH!vJ*px~=E{Nw-SwfL;t*Dm;M`=A;ZEF_TtED4Vu zdlGHCg@+&fC~}ja)hDkOF((H#tHs3GRxo`K3K|Ag!OGe?Hcy|%aA-0K)x}Q&st8V< zK8=ly^H@E24LBup%mKV&W+UHgC2Te4Mj~t$0KEq1H@5((*c$9k6L1%p0#6UJ-~7hc z;LQ*H0e=2%Z^u9Q=I_EI4}1WRJjhr%cof&)cs8$a=V{|Bx+a_FMlH!bJRpN3E$ zC!acrVJRm4asO+$15B*~ZcM(E&)Fa|rG%#60JX)b6HiUFP2J;9oj!%ljRL9_HTRLy zwwBjiUkD_OL2c3NcfRLVIqa>hK?YkmbM~z1iYJw)C;+Ya_(PAFw8t$l#d~o&iBKZH zovi9ARk78a!Ky zaAN>zPvWy*^J@HyfABS9uWSs4jB@O($!t{70_YryY6hBKA0UOMjG6rWHjIg`V6*I?#sQo#*DYS#qMUNEsq$5ks-2}7HV<}Otp z$RqU-zHu6+^o2QwfNfF#sr8MpQPvj8YVXjdM76<}^0Xoa#wJ;J;S06a36qe8Yqbqq%9~yC~dJOPE};is9Wc8<83$NlkT~FqTuaa`#+QK|DV|$J2-@n2vMw@ zr5r|44mD8@E3pU(%OQl=OeHBQ9h`ahrgF$3$8y+KBpDMq6E#tpZ5rE{?f%~D^ZEV_ z-(S9a_+gLR^}4Uu;rTjTuY1>Z6P>p+nisVvuhM#(m)69E36XlXTPjObZwc8ly))i?`qFa)9c}O=(P8|@dxquCbxURFEuASy&H=P zf{eP%&#dYCaL4rDw-JFT@HpWv)(~#~9IFbsdfIZ8CHPsrtAnh093eG#t~Yf$u4d=Xoj+7_=jic_?@Szfgr+7~)IUlLa;Ld1bR+>;#o+ry<`$N^h(hMl zjAkaSC5eTcLAI@UhI7hvYKJ!2R>oWbp%wayKF?c^kVLMAxXJb{B~>??R5 zUITvxw-Gn7vgEGD()5V*3f94P`bP8kOJT>YHv00$Eh3n;yVt4)nWozWg{Gt?_frzm z?_ceHlo;)x>*gkfX2;&dnAbcmdL(TXqIu*M)RjC;D)GwQ+HqsZ`Wq=e<==&k*w%<$ z)d|1Ab52bYCz}f+E}GIXna4T*@RRLG3qFzit>dwZDe;XZ@BY)eGVd-XDxB= zviOk0=e?NW;=68ll%RJup3(F(xrc7OquY23E_i6LQ$}J)D|;h9f0I#aQE%hTM(f)M zE0x>f6nx%5Qy|R+C8vGz|M{9!+X31%0$9=9JYs>;2&h z-MP~2xfOlxWcn1BGI4;L%^<3B*B)M(pT)as0Ti4sFIS~~xD!hpB~~vtJ5M3Ir>U)i z^|>dG$8tX`e>Z50Lv?R=QgTQ$3{5xfAfxK{?J4Qlx*_!^H(n(%b861-@tiIp)mjKk z0?sqLCZ<=ht?XUQcc)z}(_Y;>S@MWdTXLqdvihIt1^-2ot#`uWg~{moMIMEEP1=Wj z$AxSaJ9*==4^wg0q^^?ZOOGyEU88!tzhyDc!ZirLlV(rV!Qk3JTSMuyFL!)s)hUZK z*YlfPoxt5|VPy`KONl>+ellNHSI}q(dMw|m|K?*=sXXqQm+kerQiFZcT!D94YyM=UJ1v^ z@ICS>`pf3XZ$e~3k|OaBSc?#WUjTv6NRR__l_Y6&(mY-Jpck4+8xP5tDGZvrsek=_ z2n(%`lV`N9+&b_4y1Jt?qubx5ki=a7#%J{qmttDEROb7fte~1V(VGtM{n%!Gd)xch z0cZJI=B-Iv7e;oHUbORWUYiQB7S~Vs4B{#5;Dy8=zvdsf^*)SsmEG(4PC^pv;#l@f z_R!uxk%p+){jFbUZ}~-WMelGGm$4x#){J-L$?(ut22!dai|KjH<2fCUK`?Qi59z(zP2og*2>u$+{=FD^$X1e=%M9}lMIN>_@`t$X%{c=vpV8JBD^MWg z&v#Wa|RP}+fF zmiT786<#W%MR*R|M|cF&!sCZj>a3h+2ksgL^ z2!|(|C#%2I#cv7Mc&TM09WcsRdLcznmkPA~kFa7XuXZ~r?Hzn6?N!bdm$JQ0+E8Th zVFva^=1aNywr88pPKMK>69k4J31OR@9>i7-=6Pt!rrHkn;LgCwPHp&&Q~%6CXPb_~ z-L}M}$$e?GciON&x*F*ul0aNT44kX^({7EI*_EmLG|M)_HK97k{PMQ%m%&43VNtT> z>JpJyh{Bhje+TMHNuLra^?u%lzy^pK-XmE-`{#X0msbpml0PdX%b5p}R5ot8v)vYCpX_d{B@)-!rf*C<&Q^R- zC=P{Bs6!guq3-xcVtbt$#4r$u_MkZ2mL+Wm2mW*j(UyM&_JTG_9ECtViUV#wl9Btz z(c_!T#RIl5XITfO9O<-V4<(t%iGFn{j&5O5^S$+&Bcx@!rz(-BB)g4cg*oL(Im+0 zz1jFA+{W1g(laG@xYKjK4&7@~IaiZ? z$!wY271L9CFWqdcB%EJgxZqCiuz8I?S`Ynl^!<&bqVVq>b3a$Uc!Ch%*~MsH%Ir|j zzU2S`8GeHA?cE<*h)mT{OWfL}wwSD#Y<%AhYHX{g?&j*g+wS9|N*x>6@y*p2!ehkG zrdn^^05Dv$37RgunH{{-m2(`52{^-$~vd}{cG zWMajdr@U6iaIJ`2U4lJWT4Ja_O**E!S?_R}>{vM%jZK-JC}nVo)?`MVhnR8K6@yU~ z`mA}|q`y8l;mttUQ@+LedPnQ1+hc*k&biLPF`q zCg@N5aQK~zyPNO-6$`xj;bOi`yoW+boLrg>t&6vN`Kq8|urVZdY* z4;5yk)3z9CR&3EAHPyRt+FQ07ghr_sas_(dOe~lgTyELuy79lrr_-qdHps_y&1ul zxvkm131qQKLV0(y&y6rCjtaO)m9yA*NAtGmI^l(J_1rYtkilov8(ym(+dQ!~6nq}; zZl?tsTud3ofgv56JdGzH;tFqo7%}p+BZZr2hecCgGM7%w5)wJf3H0hape%Dx` z{lpx4i9(GoB?c|2g0ql^$dxHTf%TO!!e9Wu)zjEH2ZB&Y-jEdk&en(d)-OtfLk{${rm%xcku=M|0X)uCu@D0& zfLiG*g-!-M7^bI&Z2$*ZKR`>oXp#TP@G!8-*zp-F$$8*FM}m#maL&;cAjiA;-qVS% zj>|yZBY>WoxDCWk!|SJF?B>jzfEC=sk!+5Y@=8NWn~nk=9;h$=#Tia}8oByrfEXJ& z{i8AXEVtOvcOkOF(Fjak5jkdZ(`f*J*p*zk%5BvV?`jBra~n3J`_1X`l4Hdm&v;7f z!$-jhGIIr%ooOP9rLo@UU(q_-BMPMF9JL^_pN6!-{^x+AM>kJ2`=-G#nb~IQ?E|z}x6-1=DnO;jwz*$>O}eAL!$esTH<}K) zcCcD;u+`I>O2}}4aPam69AA2S&q>z#<;Q7gZ4aA#L<$&X71>pNE^BLp!o*VUm}Akq zA3j0K)Qud;2N1f(pahj2)446RXOHC5HEyZu!MMd2x~hbv}+;xp8%uXA3-JwjefxJe>~Q zEy%I2W0qv*HL$7m)$%$YL9lfCHC24gGKbz{kG55QrTSseU>6fac0s**swo5aVp2YKhsJA+o}up|KJOY8Hi&2ep1 zEDVTc)92nVQkS5!I6Nh9ksqhnYn$9yg zvSZakstE1ZC`WXSGjGkLPnlH|;)9D65t~JTKT>zV03hK!{^S?5QtPQx8!HB1u7OVI z-9~ZJM5eO^tvd;Udw{f%@jtJ@*Oxtm0koQ|ur_b?wyZLeXZ$O@whxt!aW9(g@rADT zpf5BZ&M8fyA}-ppBc*a@O`lIak0TCa+hZ_@^UxaK>}d6=2*U)bUU#(iRG%Y%gLc3$ z8JCX--2>F}nfBN^9ZaqdAs8!5aDXV^M{jzY+t3>1S^?B;5YjG!K2g(5IsM^~%fVu_ zIc#zEO_sHFRdNq#y%tJ|*s2!R+CutCkZEab?nui3ZGP8!m!n9<5u=-{Pd-FP92?;{DMpAlp}8yo5x z*aNYvH>iUI9+C>3JT}_n&Z}O|9bAUdZ!vIBHlBzW5FzLKoKiN!<0uP}BAj~2rLfnw zj(nZ+|D}L$3w&~T-PtN;JGaO&Cv|~}QaxBPgG5<_sz~ptpZ^(W3S-uj>PJR$;|^L$ zrh|v9%6_zj@(Rx4`XaZpw5l7jsE5-P(fKTqAyeC4o^?6vuzjB6IE_nh!R_hl2mB(eu+E_@$X!REsnV$IN& zDFe$sEniZSch=ckeXog_uWss?d7augPa&-X%zQP?2*QqjlxoW*qax8M2s1|Xq2g-C zLgR{KGeL*NPqMi;b&3mwiEpSi6ORG&2NELtvg=>wH|^-RgbExz)dHhmr7zHhU``FH z`DhE27ADk=ynWO;|F{y_l_)5%6uRMj8IriNZ@yqb1Zr^?+o!i+IoJ5)dltgi-=m{} z_1k}+BEId>$_aM9o_mK58lFAWxHwzuS-#Ay|ASm0AyHRF+V94ieP9HzkllR7a&5$` zbJ!#4ii`FSFDR*npgQ>bLxYU46sne&@UtO43Am7F!Ly`yQ3T z4Q^Z2e`Pm)Ejooeh3eR~tANCzsfFQIInwp{V(?ylc-gdAB1l4uz86kmJt7>H1< z%bEeRT+3t#{g`HWzRlmb8%!On^V(M!%_8m?DYMsm*trtJ{Oh=N`#4TUd9uuw0RfEy z{fTXvoL1o@vMh1c`)z0?qO_BZxTDx_!lnBE!01<5nr-x^pe{^dG{qFpV}bQ3EN(H{C_pC#%`?g)@mwlGi%EpGL3Mpde!44kbH6#jyag~We_*e zB?3$zhwjc&Tl)a!q>9w3vz_NnK!PXJ9SuvrF9dr+@MD!w$`O=FcgP7NNsNx;dvF_0 zj2^GZ-SlD(P8MV;{i6@OwdI?FNk~&mgqm@;|BJXjZ0m3dB4kDFwi3Qds|PCaW!1TiVVbHOqYZZ2OLuqdo|RHJVEjKnG>V+ zd)pu_tMMZ7FH$U;&v(q=R5SC2*f9$$F`tY)fn+bS(bLC^<4jh4=)#DsRP-fbS0XVE z4zM?@bJs44ir?!REzv$jo=6g+YJWtcOw6Z&YEXHKE|!Mu0)uo?+>6X@IyFVnETrrd zfFi7hLqsvqhx0Buu<&&;+Pi6PzaXbGDwehq^X@e`p#$WYd3I$=X&`o|E>{FYC))&ua2ZvZ(Piu{E9=o zqWNxvBt4P2If!kX+^II-Pg@e=7Xi^%kOmqESoZ()2ZUXht= z_7EF%dBSSlM8@F+B@ppevG0s&1h8z?gQ$Efdr_F%gUWf#!R3$a@HD$xI>N}vjEfgA zmm9$%_wx=>wgSd_FmbAL3JKp%)Su=om>QM?MGjh!rBoifJaH&n!8G!}oFmJl- zLuAv_V9=ilQx_ggCeN+#?0rvWkA(E)NeT5)Ajt(~M-ujs(2`v{h+^!wUch9u3Z7pMqXpStVQ_L>C18C*FiWt&K6fA|%YJCZ$g^@4i= zT10(do$m&;4}|zII1x-Wu3<~3Mwl~*v!M@I4sOvM45lG{zY|r`!1-NF#C(&{W^if+ z`P$A2YR?q1X9n=2^wb7@CIEt%NKsgocz)<$>IJ*-22eTv;p@Dm+L!^Xj_lxgk`KK- zI0c9(L25*P4$CP`r?x&lPK#9(B^Y|+j{Xwrxst~>r;^&@6ovpjklSqUebS?^W^f*- z6Jy6u8}xOJ}E+ z1P$O5bxyu#|8!|~JB3WEqxzVNyYTZt4Pn|5e&H5Z4*mnKXCCBd#iUCKyTFyguE_5l zX*rA0eQ?3uhapMkrFk*kf7{ z#hNTF%-OPDRH1ROQAAmHQkDdu@-=2pYLS!>G$s@Sj3)PeH;t(?jMJ|UZdv&%zs}5e zfN0Ooc4xITDukDIxtv}Rc{>(K>KyG&!aJ(%0DacG(BAq*-{lF;vlpSrJrIk4hhg_- za7G$p*#z_+v8*bE6W_NiQ~1xNg~{p8xDV1o{b;_AI}po{l_R!@Fcc)8dz1U=CYIiZkG*bOR3`wdatg(VqSlsw3{RsLsyE^)ectub9a1RvlyaI3%ghWEL z^;c)v&-Tp{iySk%8Kkct9McD$LU^r9l4Wenu$K}Bkx?jBw#x6y=9PGCFuA?dNNqR7V1!H`O%JC&|$k%hvk1Spc@B z$wGf*p?|D@o=WL7M%8YHxD`Ab39}QKbe*n$@!<{3PMueC zYx{H~*KIOpB21pAFZbWJ5qL8N`6y8bPV|RK1G_VSzkwaO+yC2r`v1%SuM-d*|JQ)v a0b&~aU3UBmUAY7SKaTb&yQ(7?!v6rau!yz* literal 0 HcmV?d00001 diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs new file mode 100644 index 0000000..ff34cb9 --- /dev/null +++ b/src-tauri/src/main.rs @@ -0,0 +1,10 @@ +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +fn main() { + tauri::Builder::default() + .plugin(tauri_plugin_dialog::init()) + .plugin(tauri_plugin_fs::init()) + .plugin(tauri_plugin_sql::Builder::default().build()) + .run(tauri::generate_context!()) + .expect("error while running tauri application"); +} diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json new file mode 100644 index 0000000..f20aa83 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,35 @@ +{ + "$schema": "./gen/schemas/desktop-schema.json", + "productName": "TextDB", + "version": "0.1.0", + "identifier": "com.textdb.app", + "build": { + "beforeDevCommand": "npm run dev", + "beforeBuildCommand": "npm run build", + "devUrl": "http://localhost:5173", + "frontendDist": "../dist" + }, + "app": { + "withGlobalTauri": false, + "windows": [ + { + "label": "main", + "title": "TextDB", + "width": 1100, + "height": 720, + "minWidth": 980, + "minHeight": 640, + "resizable": true + } + ], + "security": { + "csp": null, + "capabilities": ["main"] + } + }, + "plugins": { + "sql": { + "preload": ["sqlite:text.db"] + } + } +} diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..bd1d4ad --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,782 @@ +import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import { save } from "@tauri-apps/plugin-dialog"; +import { writeTextFile } from "@tauri-apps/plugin-fs"; +import historyIcon from "./assets/history.png"; +import { + createText, + deleteText, + deleteTextVersion, + discardDraft, + getDraft, + getLatestManualVersion, + getText, + listTexts, + listVersions, + searchTexts, + saveManualVersion, + updateTextTitle, + upsertDraft, + type Text, +} from "./lib/db"; + +const formatDate = (timestamp: number) => { + if (!timestamp) return ""; + return new Date(timestamp).toLocaleString(); +}; + +type HistorySnapshot = { + body: string; + lastPersistedBody: string; + lastPersistedTitle: string; + hasDraft: boolean; + restoredDraft: boolean; + draftBaseVersionId: string | null; + latestManualVersionId: string | null; +}; + +type ConfirmState = { + title: string; + message: string; + actionLabel?: string; + onConfirm: () => Promise | void; +}; + +type HistoryEntry = { + id: string; + created_at: number; + kind: "manual" | "draft"; + body: string; + baseVersionId?: string | null; +}; + +const DEFAULT_TITLE = "Untitled Text"; + +export default function App() { + const [texts, setTexts] = useState([]); + const [selectedTextId, setSelectedTextId] = useState(null); + const [search, setSearch] = useState(""); + const [loadingTexts, setLoadingTexts] = useState(true); + + const [title, setTitle] = useState(""); + const [lastPersistedTitle, setLastPersistedTitle] = useState(""); + const [body, setBody] = useState(""); + const [lastPersistedBody, setLastPersistedBody] = useState(""); + const [hasDraft, setHasDraft] = useState(false); + const [restoredDraft, setRestoredDraft] = useState(false); + const [latestManualVersionId, setLatestManualVersionId] = useState(null); + const [draftBaseVersionId, setDraftBaseVersionId] = useState(null); + + const [historyOpen, setHistoryOpen] = useState(false); + const [historyItems, setHistoryItems] = useState([]); + const [viewingVersion, setViewingVersion] = useState(null); + const [selectedHistoryId, setSelectedHistoryId] = useState(null); + const [confirmState, setConfirmState] = useState(null); + + const bodyRef = useRef(body); + const historySnapshotRef = useRef(null); + + useEffect(() => { + bodyRef.current = body; + }, [body]); + + const isViewingHistory = viewingVersion !== null; + const isDirty = !isViewingHistory && body !== lastPersistedBody; + const hasText = body.trim().length > 0; + + const statusKey = useMemo(() => { + if (isViewingHistory) return "history"; + if (isDirty) return "unsaved"; + if (hasDraft) return "draft"; + return "saved"; + }, [hasDraft, isDirty, isViewingHistory]); + + const canSave = !isViewingHistory && (isDirty || hasDraft); + + const statusLabel = useMemo(() => { + switch (statusKey) { + case "history": + return "Viewing history"; + case "unsaved": + return "Unsaved"; + case "draft": + return "Draft autosaved"; + default: + return "Saved"; + } + }, [statusKey]); + + const refreshTexts = useCallback(async () => { + setLoadingTexts(true); + try { + const trimmed = search.trim(); + const rows = trimmed ? await searchTexts(trimmed) : await listTexts(); + setTexts(rows); + } finally { + setLoadingTexts(false); + } + }, [search]); + + const refreshVersions = useCallback(async () => { + if (!selectedTextId || !historyOpen) return; + const [manualRows, draft] = await Promise.all([ + listVersions(selectedTextId), + getDraft(selectedTextId) + ]); + const manualItems: HistoryEntry[] = manualRows.map((row) => ({ + id: row.id, + created_at: row.created_at, + kind: "manual", + body: row.body + })); + const draftItem: HistoryEntry[] = draft + ? [ + { + id: `draft:${selectedTextId}`, + created_at: draft.updated_at, + kind: "draft", + body: draft.body, + baseVersionId: draft.base_version_id ?? null + } + ] + : []; + const combined = [...draftItem, ...manualItems].sort( + (a, b) => b.created_at - a.created_at + ); + setHistoryItems(combined); + }, [historyOpen, selectedTextId]); + + useEffect(() => { + refreshTexts().catch((error) => { + console.error("Failed to load texts", error); + }); + }, [refreshTexts]); + + useEffect(() => { + if (!selectedTextId && texts.length > 0) { + setSelectedTextId(texts[0].id); + } + }, [selectedTextId, texts]); + + useEffect(() => { + if (!historyOpen) { + setHistoryItems([]); + return; + } + refreshVersions().catch((error) => { + console.error("Failed to load versions", error); + }); + }, [historyOpen, refreshVersions]); + + useEffect(() => { + if (!selectedTextId) { + setTitle(""); + setLastPersistedTitle(""); + setBody(""); + setLastPersistedBody(""); + setHasDraft(false); + setRestoredDraft(false); + setLatestManualVersionId(null); + setDraftBaseVersionId(null); + setViewingVersion(null); + setSelectedHistoryId(null); + historySnapshotRef.current = null; + return; + } + + let cancelled = false; + const loadText = async () => { + const [text, manualVersion, draft] = await Promise.all([ + getText(selectedTextId), + getLatestManualVersion(selectedTextId), + getDraft(selectedTextId) + ]); + + if (cancelled) return; + + if (!text) { + setSelectedTextId(null); + return; + } + + const resolvedTitle = text.title || DEFAULT_TITLE; + const resolvedBody = draft?.body ?? manualVersion?.body ?? ""; + const baseVersionId = draft?.base_version_id ?? manualVersion?.id ?? null; + + setTitle(resolvedTitle); + setLastPersistedTitle(resolvedTitle); + setBody(resolvedBody); + setLastPersistedBody(resolvedBody); + setHasDraft(Boolean(draft)); + setRestoredDraft(Boolean(draft)); + setLatestManualVersionId(manualVersion?.id ?? null); + setDraftBaseVersionId(baseVersionId); + setViewingVersion(null); + setSelectedHistoryId( + draft ? `draft:${selectedTextId}` : manualVersion?.id ?? null + ); + historySnapshotRef.current = null; + }; + + loadText().catch((error) => { + console.error("Failed to load text", error); + }); + + return () => { + cancelled = true; + }; + }, [selectedTextId]); + + useEffect(() => { + if (!selectedTextId || !isDirty || isViewingHistory) return; + + const currentBody = body; + const handle = window.setTimeout(() => { + upsertDraft(selectedTextId, currentBody, draftBaseVersionId) + .then(() => { + if (bodyRef.current !== currentBody) return; + setHasDraft(true); + setLastPersistedBody(currentBody); + setSelectedHistoryId(`draft:${selectedTextId}`); + if (historyOpen) { + refreshVersions().catch((error) => { + console.error("Failed to refresh history", error); + }); + } + }) + .catch((error) => { + console.error("Failed to autosave draft", error); + }); + }, 600); + + return () => window.clearTimeout(handle); + }, [ + body, + draftBaseVersionId, + historyOpen, + isDirty, + isViewingHistory, + refreshVersions, + selectedTextId + ]); + + const handleNewText = useCallback(async () => { + const { textId } = await createText(DEFAULT_TITLE, ""); + await refreshTexts(); + setSelectedTextId(textId); + }, [refreshTexts]); + + const handleDeleteText = useCallback( + async (promptId: string) => { + await deleteText(promptId); + await refreshTexts(); + if (selectedTextId === promptId) { + setSelectedTextId(null); + } + }, + [refreshTexts, selectedTextId] + ); + + const handleSaveVersion = useCallback(async () => { + if (!selectedTextId || !canSave) return; + const normalizedTitle = title.trim() || DEFAULT_TITLE; + if (normalizedTitle !== title) { + setTitle(normalizedTitle); + } + const result = await saveManualVersion(selectedTextId, normalizedTitle, body); + setLastPersistedBody(body); + setLastPersistedTitle(normalizedTitle); + setHasDraft(false); + setRestoredDraft(false); + setLatestManualVersionId(result.versionId); + setDraftBaseVersionId(result.versionId); + setSelectedHistoryId(result.versionId); + await refreshTexts(); + await refreshVersions(); + }, [body, canSave, refreshTexts, refreshVersions, selectedTextId, title]); + + const applyTitleUpdate = useCallback((promptId: string, nextTitle: string) => { + const now = Date.now(); + setTexts((prev) => { + let updated: Text | null = null; + const remaining: Text[] = []; + for (const text of prev) { + if (text.id === promptId) { + updated = { ...text, title: nextTitle, updated_at: now }; + } else { + remaining.push(text); + } + } + if (!updated) return prev; + return [updated, ...remaining]; + }); + }, []); + + const handleTitleChange = useCallback( + (event: React.ChangeEvent) => { + const nextTitle = event.target.value; + setTitle(nextTitle); + if (!selectedTextId || isViewingHistory) return; + applyTitleUpdate(selectedTextId, nextTitle); + setLastPersistedTitle(nextTitle); + updateTextTitle(selectedTextId, nextTitle).catch((error) => { + console.error("Failed to update title", error); + }); + }, + [applyTitleUpdate, isViewingHistory, selectedTextId] + ); + + const handleDiscardDraft = useCallback(async () => { + if (!selectedTextId || isViewingHistory) return; + await discardDraft(selectedTextId); + const manualVersion = await getLatestManualVersion(selectedTextId); + const resolvedBody = manualVersion?.body ?? ""; + setBody(resolvedBody); + setLastPersistedBody(resolvedBody); + setHasDraft(false); + setRestoredDraft(false); + setLatestManualVersionId(manualVersion?.id ?? null); + setDraftBaseVersionId(manualVersion?.id ?? null); + setSelectedHistoryId(manualVersion?.id ?? null); + await refreshVersions(); + }, [isViewingHistory, refreshVersions, selectedTextId]); + + const handleExportText = useCallback(async () => { + if (!hasText) return; + const filename = `${title.trim() || DEFAULT_TITLE}.txt`; + const path = await save({ + defaultPath: filename, + filters: [{ name: "Text", extensions: ["txt"] }] + }); + if (!path) return; + const finalPath = path.endsWith(".txt") ? path : `${path}.txt`; + await writeTextFile(finalPath, body); + }, [body, hasText, title]); + + const handleExitHistory = useCallback(() => { + const snapshot = historySnapshotRef.current; + if (snapshot) { + setBody(snapshot.body); + setLastPersistedBody(snapshot.lastPersistedBody); + setLastPersistedTitle(snapshot.lastPersistedTitle); + setHasDraft(snapshot.hasDraft); + setRestoredDraft(snapshot.restoredDraft); + setDraftBaseVersionId(snapshot.draftBaseVersionId); + setLatestManualVersionId(snapshot.latestManualVersionId); + } + setViewingVersion(null); + setSelectedHistoryId(null); + historySnapshotRef.current = null; + }, []); + + const applyVersionAsCurrent = useCallback( + (version: HistoryEntry) => { + const snapshot = historySnapshotRef.current; + if (snapshot) { + setLastPersistedBody(snapshot.lastPersistedBody); + setLastPersistedTitle(snapshot.lastPersistedTitle); + setHasDraft(snapshot.hasDraft); + setRestoredDraft(snapshot.restoredDraft); + setLatestManualVersionId(snapshot.latestManualVersionId); + } + setDraftBaseVersionId( + version.kind === "manual" ? version.id : version.baseVersionId ?? null + ); + setBody(version.body); + setLastPersistedBody(version.body); + setViewingVersion(null); + setSelectedHistoryId(version.id); + historySnapshotRef.current = null; + }, + [] + ); + + const handleDeleteVersion = useCallback( + async (version: HistoryEntry) => { + if (!selectedTextId) return; + + const currentItems = historyItems; + const index = currentItems.findIndex((item) => item.id === version.id); + const olderCandidate = + index >= 0 ? currentItems[index + 1] ?? null : null; + const fallbackCandidate = + index > 0 ? currentItems[index - 1] ?? null : null; + const shouldAutoSelect = + historyOpen && (!viewingVersion || viewingVersion.id === version.id); + + if (version.kind === "draft") { + await discardDraft(selectedTextId); + setHasDraft(false); + setRestoredDraft(false); + setDraftBaseVersionId(latestManualVersionId ?? null); + if (historySnapshotRef.current) { + historySnapshotRef.current.hasDraft = false; + historySnapshotRef.current.restoredDraft = false; + historySnapshotRef.current.draftBaseVersionId = + latestManualVersionId ?? null; + } + } else { + await deleteTextVersion(selectedTextId, version.id); + } + await refreshVersions(); + + if (version.kind === "manual" && latestManualVersionId === version.id) { + const manualVersion = await getLatestManualVersion(selectedTextId); + const resolvedBody = manualVersion?.body ?? ""; + const nextManualId = manualVersion?.id ?? null; + setLatestManualVersionId(nextManualId); + setDraftBaseVersionId(nextManualId); + if (historySnapshotRef.current) { + historySnapshotRef.current.latestManualVersionId = nextManualId; + historySnapshotRef.current.draftBaseVersionId = nextManualId; + } + if (!hasDraft && !isViewingHistory) { + setBody(resolvedBody); + setLastPersistedBody(resolvedBody); + } + } + + if (shouldAutoSelect) { + if (olderCandidate) { + applyVersionAsCurrent(olderCandidate); + } else if (fallbackCandidate) { + applyVersionAsCurrent(fallbackCandidate); + } else { + handleExitHistory(); + } + } + }, + [ + applyVersionAsCurrent, + handleExitHistory, + hasDraft, + isViewingHistory, + historyOpen, + latestManualVersionId, + refreshVersions, + selectedTextId, + historyItems, + viewingVersion + ] + ); + + const handleConfirm = useCallback(async () => { + if (!confirmState) return; + const action = confirmState.onConfirm; + setConfirmState(null); + try { + await action(); + } catch (error) { + console.error("Delete failed", error); + } + }, [confirmState]); + + const handleTitleBlur = useCallback(async () => { + if (!selectedTextId || isViewingHistory) return; + const normalizedTitle = title.trim() || DEFAULT_TITLE; + if (normalizedTitle !== title) { + setTitle(normalizedTitle); + applyTitleUpdate(selectedTextId, normalizedTitle); + } + if (normalizedTitle === lastPersistedTitle) return; + await updateTextTitle(selectedTextId, normalizedTitle); + setLastPersistedTitle(normalizedTitle); + await refreshTexts(); + }, [ + applyTitleUpdate, + isViewingHistory, + lastPersistedTitle, + refreshTexts, + selectedTextId, + title + ]); + + const handleToggleHistory = useCallback(() => { + if (historyOpen && viewingVersion) { + const snapshot = historySnapshotRef.current; + if (snapshot) { + setBody(snapshot.body); + setLastPersistedBody(snapshot.lastPersistedBody); + setLastPersistedTitle(snapshot.lastPersistedTitle); + setHasDraft(snapshot.hasDraft); + setRestoredDraft(snapshot.restoredDraft); + setDraftBaseVersionId(snapshot.draftBaseVersionId); + setLatestManualVersionId(snapshot.latestManualVersionId); + } + setViewingVersion(null); + historySnapshotRef.current = null; + } + setHistoryOpen((prev) => !prev); + }, [historyOpen, viewingVersion]); + + useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + const isSave = + (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s"; + if (!isSave) return; + event.preventDefault(); + handleSaveVersion().catch((error) => { + console.error("Failed to save version", error); + }); + }; + + window.addEventListener("keydown", handleKeyDown); + return () => window.removeEventListener("keydown", handleKeyDown); + }, [handleSaveVersion]); + + return ( +
+ + +
+ {!selectedTextId ? ( +
+
Create your first text
+
+ Everything stays offline in a single SQLite database. +
+ +
+ ) : ( +
+
+
+ +
+
+ + {statusLabel} +
+ +
+
+ +

ule+5pnR7Z+`Sn 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