From a8d15227c7e5126fe05cc4cd40f7b727bd21913c Mon Sep 17 00:00:00 2001 From: Paul Sobolik Date: Wed, 16 Oct 2024 12:10:50 -0400 Subject: [PATCH] Initial commit --- .gitignore | 24 + .vscode/extensions.json | 3 + LICENSE | 21 + README.md | 14 + README.scaffold.md | 14 + index.html | 13 + package.json | 26 + pnpm-lock.yaml | 1179 +++++++ src-image/jimini-icon.png | Bin 0 -> 15515 bytes src-image/jimini-icon.xcf | Bin 0 -> 89862 bytes src-image/screenshot-dark.png | Bin 0 -> 81012 bytes src-image/screenshot-light.png | Bin 0 -> 78964 bytes src-tauri/.gitignore | 7 + src-tauri/Cargo.lock | 4050 +++++++++++++++++++++++++ src-tauri/Cargo.toml | 26 + src-tauri/build.rs | 3 + src-tauri/icons/128x128.png | Bin 0 -> 4502 bytes src-tauri/icons/128x128@2x.png | Bin 0 -> 9123 bytes src-tauri/icons/32x32.png | Bin 0 -> 1042 bytes src-tauri/icons/Square107x107Logo.png | Bin 0 -> 4025 bytes src-tauri/icons/Square142x142Logo.png | Bin 0 -> 5171 bytes src-tauri/icons/Square150x150Logo.png | Bin 0 -> 5544 bytes src-tauri/icons/Square284x284Logo.png | Bin 0 -> 10967 bytes src-tauri/icons/Square30x30Logo.png | Bin 0 -> 947 bytes src-tauri/icons/Square310x310Logo.png | Bin 0 -> 12140 bytes src-tauri/icons/Square44x44Logo.png | Bin 0 -> 1552 bytes src-tauri/icons/Square71x71Logo.png | Bin 0 -> 2496 bytes src-tauri/icons/Square89x89Logo.png | Bin 0 -> 3124 bytes src-tauri/icons/StoreLogo.png | Bin 0 -> 1755 bytes src-tauri/icons/icon.icns | Bin 0 -> 84015 bytes src-tauri/icons/icon.ico | Bin 0 -> 18753 bytes src-tauri/icons/icon.png | Bin 0 -> 18725 bytes src-tauri/src/main.rs | 37 + src-tauri/tauri.conf.json | 64 + src/App.css | 271 ++ src/App.tsx | 360 +++ src/Data/Certificate.ts | 18 + src/Data/Failure.ts | 19 + src/Data/GeminiLine.ts | 44 + src/Data/GeminiLink.ts | 23 + src/Data/GeminiMimeType.ts | 70 + src/Data/GeminiResponse.ts | 14 + src/Data/Prompt.ts | 18 + src/Data/Redirect.ts | 16 + src/Data/Success.ts | 42 + src/Tauri.ts | 14 + src/UrlHistory.ts | 51 + src/Util.ts | 18 + src/dialogs/InputDialog.tsx | 70 + src/main.tsx | 9 + src/vite-env.d.ts | 1 + tsconfig.json | 26 + tsconfig.node.json | 10 + vite.config.ts | 21 + 54 files changed, 6596 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README.scaffold.md create mode 100644 index.html create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 src-image/jimini-icon.png create mode 100644 src-image/jimini-icon.xcf create mode 100644 src-image/screenshot-dark.png create mode 100644 src-image/screenshot-light.png create mode 100644 src-tauri/.gitignore 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/icons/128x128.png create mode 100644 src-tauri/icons/128x128@2x.png create mode 100644 src-tauri/icons/32x32.png create mode 100644 src-tauri/icons/Square107x107Logo.png create mode 100644 src-tauri/icons/Square142x142Logo.png create mode 100644 src-tauri/icons/Square150x150Logo.png create mode 100644 src-tauri/icons/Square284x284Logo.png create mode 100644 src-tauri/icons/Square30x30Logo.png create mode 100644 src-tauri/icons/Square310x310Logo.png create mode 100644 src-tauri/icons/Square44x44Logo.png create mode 100644 src-tauri/icons/Square71x71Logo.png create mode 100644 src-tauri/icons/Square89x89Logo.png create mode 100644 src-tauri/icons/StoreLogo.png create mode 100644 src-tauri/icons/icon.icns create mode 100644 src-tauri/icons/icon.ico create mode 100644 src-tauri/icons/icon.png create mode 100644 src-tauri/src/main.rs create mode 100644 src-tauri/tauri.conf.json create mode 100644 src/App.css create mode 100644 src/App.tsx create mode 100644 src/Data/Certificate.ts create mode 100644 src/Data/Failure.ts create mode 100644 src/Data/GeminiLine.ts create mode 100644 src/Data/GeminiLink.ts create mode 100644 src/Data/GeminiMimeType.ts create mode 100644 src/Data/GeminiResponse.ts create mode 100644 src/Data/Prompt.ts create mode 100644 src/Data/Redirect.ts create mode 100644 src/Data/Success.ts create mode 100644 src/Tauri.ts create mode 100644 src/UrlHistory.ts create mode 100644 src/Util.ts create mode 100644 src/dialogs/InputDialog.tsx 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/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..24d7cc6 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7a27876 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Paul Sobolik + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..26572e7 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Jimini + +A multi-platform desktop Gemini client, written in Rust, using [Tauri](https://v1.tauri.app/). + +Copyright (c) 2024 Paul Sobolik + +License [MIT](LICENSE) + +## Screenshots +### Dark mode +Dark mode screenshot + +### Light mode +Lignt mode screenshot diff --git a/README.scaffold.md b/README.scaffold.md new file mode 100644 index 0000000..62ab94c --- /dev/null +++ b/README.scaffold.md @@ -0,0 +1,14 @@ +``` +⫸ pnpm create tauri-app +✔ Project name · jimini +✔ Identifier · psobolik.jimini.app +✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, bun) +✔ Choose your package manager · pnpm +✔ Choose your UI template · React - (https://react.dev/) +✔ Choose your UI flavor · TypeScript + +Template created! To get started run: + cd jimini + pnpm install + pnpm tauri dev +``` diff --git a/index.html b/index.html new file mode 100644 index 0000000..600ca37 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + Tauri + React + Typescript + + + +
+ + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..705ce8f --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "jimini", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "tauri": "tauri" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0", + "@tauri-apps/api": "^1" + }, + "devDependencies": { + "@types/react": "^18.2.15", + "@types/react-dom": "^18.2.7", + "@vitejs/plugin-react": "^4.2.1", + "typescript": "^5.2.2", + "vite": "^5.3.1", + "@tauri-apps/cli": "^1" + }, + "packageManager": "pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..bb571e4 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,1179 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@tauri-apps/api': + specifier: ^1 + version: 1.6.0 + react: + specifier: ^18.2.0 + version: 18.3.1 + react-dom: + specifier: ^18.2.0 + version: 18.3.1(react@18.3.1) + devDependencies: + '@tauri-apps/cli': + specifier: ^1 + version: 1.6.2 + '@types/react': + specifier: ^18.2.15 + version: 18.3.10 + '@types/react-dom': + specifier: ^18.2.7 + version: 18.3.0 + '@vitejs/plugin-react': + specifier: ^4.2.1 + version: 4.3.1(vite@5.4.8) + typescript: + specifier: ^5.2.2 + version: 5.6.2 + vite: + specifier: ^5.3.1 + version: 5.4.8 + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-transform-react-jsx-self@7.24.7': + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} + engines: {node: '>=6.9.0'} + + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@rollup/rollup-android-arm-eabi@4.22.5': + resolution: {integrity: sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.22.5': + resolution: {integrity: sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.22.5': + resolution: {integrity: sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.22.5': + resolution: {integrity: sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.22.5': + resolution: {integrity: sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.22.5': + resolution: {integrity: sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.22.5': + resolution: {integrity: sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.22.5': + resolution: {integrity: sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': + resolution: {integrity: sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.22.5': + resolution: {integrity: sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.22.5': + resolution: {integrity: sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.22.5': + resolution: {integrity: sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.22.5': + resolution: {integrity: sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.22.5': + resolution: {integrity: sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.22.5': + resolution: {integrity: sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.22.5': + resolution: {integrity: sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==} + cpu: [x64] + os: [win32] + + '@tauri-apps/api@1.6.0': + resolution: {integrity: sha512-rqI++FWClU5I2UBp4HXFvl+sBWkdigBkxnpJDQUWttNyG7IZP4FwQGhTNL5EOw0vI8i6eSAJ5frLqO7n7jbJdg==} + engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + + '@tauri-apps/cli-darwin-arm64@1.6.2': + resolution: {integrity: sha512-6mdRyf9DaLqlZvj8kZB09U3rwY+dOHSGzTZ7+GDg665GJb17f4cb30e8dExj6/aghcsOie9EGpgiURcDUvLNSQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@1.6.2': + resolution: {integrity: sha512-PLxZY5dn38H3R9VRmBN/l0ZDB5JFanCwlK4rmpzDQPPg3tQmbu5vjSCP6TVj5U6aLKsj79kFyULblPr5Dn9+vw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@1.6.2': + resolution: {integrity: sha512-xnpj4BLeeGOh5I/ewCQlYJZwHH0CBNBN+4q8BNWNQ9MKkjN9ST366RmHRzl2ANNgWwijOPxyce7GiUmvuH8Atw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@1.6.2': + resolution: {integrity: sha512-uaiRE0vE2P+tdsCngfKt+7yKr3VZXIq/t3w01DzSdnBgHSp0zmRsRR4AhZt7ibvoEgA8GzBP+eSHJdFNZsTU9w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-arm64-musl@1.6.2': + resolution: {integrity: sha512-o9JunVrMrhqTBLrdvEbS64W0bo1dPm0lxX51Mx+6x9SmbDjlEWGgaAHC3iKLK9khd5Yu1uO1e+8TJltAcScvmw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-x64-gnu@1.6.2': + resolution: {integrity: sha512-jL9f+o61DdQmNYKIt2Q3BA8YJ+hyC5+GdNxqDf7j5SoQ85j//YfUWbmp9ZgsPHVBxgSGZVvgGMNvf64Ykp0buQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-linux-x64-musl@1.6.2': + resolution: {integrity: sha512-xsa4Pu9YMHKAX0J8pIoXfN/uhvAAAoECZDixDhWw8zi57VZ4QX28ycqolS+NscdD9NAGSgHk45MpBZWdvRtvjQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-win32-arm64-msvc@1.6.2': + resolution: {integrity: sha512-eJtUOx2UFhJpCCkm5M5+4Co9JbjvgIHTdyS/hTSZfOEdT58CNEGVJXMA39FsSZXYoxYPE+9K7Km6haMozSmlxw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@1.6.2': + resolution: {integrity: sha512-9Jwx3PrhNw3VKOgPISRRXPkvoEAZP+7rFRHXIo49dvlHy2E/o9qpWi1IntE33HWeazP6KhvsCjvXB2Ai4eGooA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@1.6.2': + resolution: {integrity: sha512-5Z+ZjRFJE8MXghJe1UXvGephY5ZcgVhiTI9yuMi9xgX3CEaAXASatyXllzsvGJ9EDaWMEpa0PHjAzi7LBAWROw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@1.6.2': + resolution: {integrity: sha512-zpfZdxhm20s7d/Uejpg/T3a9sqLVe3Ih2ztINfy8v6iLw9Ohowkb9g+agZffYKlEWfOSpmCy69NFyBLj7OZL0A==} + engines: {node: '>= 10'} + hasBin: true + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/prop-types@15.7.13': + resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react@18.3.10': + resolution: {integrity: sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==} + + '@vitejs/plugin-react@4.3.1': + resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + caniuse-lite@1.0.30001664: + resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + electron-to-chromium@1.5.29: + resolution: {integrity: sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==} + + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + rollup@4.22.5: + resolution: {integrity: sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true + + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + vite@5.4.8: + resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.1.0 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.6': + dependencies: + '@babel/types': 7.25.6 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.24.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helpers@7.25.6': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.0 + + '@babel/parser@7.25.6': + dependencies: + '@babel/types': 7.25.6 + + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@babel/traverse@7.25.6': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 + '@babel/template': 7.25.0 + '@babel/types': 7.25.6 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.6': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@esbuild/aix-ppc64@0.21.5': + optional: true + + '@esbuild/android-arm64@0.21.5': + optional: true + + '@esbuild/android-arm@0.21.5': + optional: true + + '@esbuild/android-x64@0.21.5': + optional: true + + '@esbuild/darwin-arm64@0.21.5': + optional: true + + '@esbuild/darwin-x64@0.21.5': + optional: true + + '@esbuild/freebsd-arm64@0.21.5': + optional: true + + '@esbuild/freebsd-x64@0.21.5': + optional: true + + '@esbuild/linux-arm64@0.21.5': + optional: true + + '@esbuild/linux-arm@0.21.5': + optional: true + + '@esbuild/linux-ia32@0.21.5': + optional: true + + '@esbuild/linux-loong64@0.21.5': + optional: true + + '@esbuild/linux-mips64el@0.21.5': + optional: true + + '@esbuild/linux-ppc64@0.21.5': + optional: true + + '@esbuild/linux-riscv64@0.21.5': + optional: true + + '@esbuild/linux-s390x@0.21.5': + optional: true + + '@esbuild/linux-x64@0.21.5': + optional: true + + '@esbuild/netbsd-x64@0.21.5': + optional: true + + '@esbuild/openbsd-x64@0.21.5': + optional: true + + '@esbuild/sunos-x64@0.21.5': + optional: true + + '@esbuild/win32-arm64@0.21.5': + optional: true + + '@esbuild/win32-ia32@0.21.5': + optional: true + + '@esbuild/win32-x64@0.21.5': + optional: true + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@rollup/rollup-android-arm-eabi@4.22.5': + optional: true + + '@rollup/rollup-android-arm64@4.22.5': + optional: true + + '@rollup/rollup-darwin-arm64@4.22.5': + optional: true + + '@rollup/rollup-darwin-x64@4.22.5': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.22.5': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.22.5': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.22.5': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.22.5': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.22.5': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.22.5': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.22.5': + optional: true + + '@rollup/rollup-linux-x64-musl@4.22.5': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.22.5': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.22.5': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.22.5': + optional: true + + '@tauri-apps/api@1.6.0': {} + + '@tauri-apps/cli-darwin-arm64@1.6.2': + optional: true + + '@tauri-apps/cli-darwin-x64@1.6.2': + optional: true + + '@tauri-apps/cli-linux-arm-gnueabihf@1.6.2': + optional: true + + '@tauri-apps/cli-linux-arm64-gnu@1.6.2': + optional: true + + '@tauri-apps/cli-linux-arm64-musl@1.6.2': + optional: true + + '@tauri-apps/cli-linux-x64-gnu@1.6.2': + optional: true + + '@tauri-apps/cli-linux-x64-musl@1.6.2': + optional: true + + '@tauri-apps/cli-win32-arm64-msvc@1.6.2': + optional: true + + '@tauri-apps/cli-win32-ia32-msvc@1.6.2': + optional: true + + '@tauri-apps/cli-win32-x64-msvc@1.6.2': + optional: true + + '@tauri-apps/cli@1.6.2': + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 1.6.2 + '@tauri-apps/cli-darwin-x64': 1.6.2 + '@tauri-apps/cli-linux-arm-gnueabihf': 1.6.2 + '@tauri-apps/cli-linux-arm64-gnu': 1.6.2 + '@tauri-apps/cli-linux-arm64-musl': 1.6.2 + '@tauri-apps/cli-linux-x64-gnu': 1.6.2 + '@tauri-apps/cli-linux-x64-musl': 1.6.2 + '@tauri-apps/cli-win32-arm64-msvc': 1.6.2 + '@tauri-apps/cli-win32-ia32-msvc': 1.6.2 + '@tauri-apps/cli-win32-x64-msvc': 1.6.2 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.25.6 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.25.6 + + '@types/estree@1.0.6': {} + + '@types/prop-types@15.7.13': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.10 + + '@types/react@18.3.10': + dependencies: + '@types/prop-types': 15.7.13 + csstype: 3.1.3 + + '@vitejs/plugin-react@4.3.1(vite@5.4.8)': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.8 + transitivePeerDependencies: + - supports-color + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + browserslist@4.24.0: + dependencies: + caniuse-lite: 1.0.30001664 + electron-to-chromium: 1.5.29 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.0) + + caniuse-lite@1.0.30001664: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-name@1.1.3: {} + + convert-source-map@2.0.0: {} + + csstype@3.1.3: {} + + debug@4.3.7: + dependencies: + ms: 2.1.3 + + electron-to-chromium@1.5.29: {} + + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + fsevents@2.3.3: + optional: true + + gensync@1.0.0-beta.2: {} + + globals@11.12.0: {} + + has-flag@3.0.0: {} + + js-tokens@4.0.0: {} + + jsesc@2.5.2: {} + + json5@2.2.3: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + ms@2.1.3: {} + + nanoid@3.3.7: {} + + node-releases@2.0.18: {} + + picocolors@1.1.0: {} + + postcss@8.4.47: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 + + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-refresh@0.14.2: {} + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + rollup@4.22.5: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.22.5 + '@rollup/rollup-android-arm64': 4.22.5 + '@rollup/rollup-darwin-arm64': 4.22.5 + '@rollup/rollup-darwin-x64': 4.22.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.5 + '@rollup/rollup-linux-arm-musleabihf': 4.22.5 + '@rollup/rollup-linux-arm64-gnu': 4.22.5 + '@rollup/rollup-linux-arm64-musl': 4.22.5 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.5 + '@rollup/rollup-linux-riscv64-gnu': 4.22.5 + '@rollup/rollup-linux-s390x-gnu': 4.22.5 + '@rollup/rollup-linux-x64-gnu': 4.22.5 + '@rollup/rollup-linux-x64-musl': 4.22.5 + '@rollup/rollup-win32-arm64-msvc': 4.22.5 + '@rollup/rollup-win32-ia32-msvc': 4.22.5 + '@rollup/rollup-win32-x64-msvc': 4.22.5 + fsevents: 2.3.3 + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + semver@6.3.1: {} + + source-map-js@1.2.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + to-fast-properties@2.0.0: {} + + typescript@5.6.2: {} + + update-browserslist-db@1.1.1(browserslist@4.24.0): + dependencies: + browserslist: 4.24.0 + escalade: 3.2.0 + picocolors: 1.1.0 + + vite@5.4.8: + dependencies: + esbuild: 0.21.5 + postcss: 8.4.47 + rollup: 4.22.5 + optionalDependencies: + fsevents: 2.3.3 + + yallist@3.1.1: {} diff --git a/src-image/jimini-icon.png b/src-image/jimini-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7e5104af54307ee8096f5562736e8a01bf00f054 GIT binary patch literal 15515 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 U`nO#p5R-_q)8vts8`7ulv4heLFb` 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 bkB3LaALfxs+-AtG4co=W21x+5K$80Z&LPo@ literal 0 HcmV?d00001 diff --git a/src-image/screenshot-dark.png b/src-image/screenshot-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe635f6d7a4cd511b460b3b3436b0469689d802 GIT binary patch literal 81012 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 literal 0 HcmV?d00001 diff --git a/src-image/screenshot-light.png b/src-image/screenshot-light.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b414dfdb2b0b1bbed28d6be03269f4371b68cb GIT binary patch literal 78964 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%0A-^-W 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 D`Aiqj literal 0 HcmV?d00001 diff --git a/src-tauri/.gitignore b/src-tauri/.gitignore new file mode 100644 index 0000000..b21bd68 --- /dev/null +++ b/src-tauri/.gitignore @@ -0,0 +1,7 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + +# Generated by Tauri +# will have schema files for capabilities auto-completion +/gen/schemas diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock new file mode 100644 index 0000000..e3a599e --- /dev/null +++ b/src-tauri/Cargo.lock @@ -0,0 +1,4050 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +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 = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anyhow" +version = "1.0.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" + +[[package]] +name = "atk" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +dependencies = [ + "atk-sys", + "bitflags 1.3.2", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + +[[package]] +name = "backtrace" +version = "0.3.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +dependencies = [ + "addr2line", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", + "windows-targets 0.52.6", +] + +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "brotli" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "4.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", +] + +[[package]] +name = "bstr" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytemuck" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" + +[[package]] +name = "cairo-rs" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" +dependencies = [ + "bitflags 1.3.2", + "cairo-sys-rs", + "glib", + "libc", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +dependencies = [ + "glib-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "cargo_toml" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" +dependencies = [ + "serde", + "toml 0.7.8", +] + +[[package]] +name = "cc" +version = "1.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0" +dependencies = [ + "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.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-expr" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" +dependencies = [ + "smallvec", + "target-lexicon", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", + "windows-targets 0.52.6", +] + +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_lex", + "indexmap 1.9.3", + "strsim 0.10.0", + "termcolor", + "textwrap", +] + +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + +[[package]] +name = "cocoa" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn 1.0.109", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" +dependencies = [ + "quote", + "syn 2.0.79", +] + +[[package]] +name = "ctor" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" +dependencies = [ + "quote", + "syn 2.0.79", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.79", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", + "serde", +] + +[[package]] +name = "derive_more" +version = "0.99.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 2.0.79", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dtoa" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" + +[[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 = "embed-resource" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e24052d7be71f0efb50c201557f6fe7d237cfd5a64fd5bcd7fd8fe32dbbffa" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.8.19", + "vswhom", + "winreg", +] + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" + +[[package]] +name = "fdeflate" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" +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 = "filetime" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" +dependencies = [ + "cfg-if", + "libc", + "libredox", + "windows-sys 0.59.0", +] + +[[package]] +name = "flate2" +version = "1.0.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fluent-uri" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +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.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-core", + "futures-macro", + "futures-task", + "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.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.15.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" +dependencies = [ + "bitflags 1.3.2", + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" +dependencies = [ + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "gdk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "pkg-config", + "system-deps 6.2.2", +] + +[[package]] +name = "gdkwayland-sys" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" +dependencies = [ + "gdk-sys", + "glib-sys", + "gobject-sys", + "libc", + "pkg-config", + "system-deps 6.2.2", +] + +[[package]] +name = "gdkx11-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" +dependencies = [ + "gdk-sys", + "glib-sys", + "libc", + "system-deps 6.2.2", + "x11", +] + +[[package]] +name = "gemini-lib" +version = "0.1.0" +source = "git+https://github.com/psobolik/gemini-lib.git#d9bf4a02833a95981e8b403f8865b18f2ac1dd08" +dependencies = [ + "native-tls", + "serde", + "url", + "webpki-roots", +] + +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows 0.48.0", +] + +[[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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "gimli" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" + +[[package]] +name = "gio" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" +dependencies = [ + "bitflags 1.3.2", + "futures-channel", + "futures-core", + "futures-io", + "gio-sys", + "glib", + "libc", + "once_cell", + "thiserror", +] + +[[package]] +name = "gio-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", + "winapi", +] + +[[package]] +name = "glib" +version = "0.15.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" +dependencies = [ + "bitflags 1.3.2", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", + "smallvec", + "thiserror", +] + +[[package]] +name = "glib-macros" +version = "0.15.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" +dependencies = [ + "anyhow", + "heck 0.4.1", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "glib-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" +dependencies = [ + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "gobject-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" +dependencies = [ + "glib-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "gtk" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" +dependencies = [ + "atk", + "bitflags 1.3.2", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "once_cell", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "pango-sys", + "system-deps 6.2.2", +] + +[[package]] +name = "gtk3-macros" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" +dependencies = [ + "anyhow", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa 1.0.11", +] + +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + +[[package]] +name = "iana-time-zone" +version = "0.1.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[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.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" +dependencies = [ + "byteorder", + "png", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.7", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-traits", +] + +[[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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", + "serde", +] + +[[package]] +name = "infer" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f551f8c3a39f68f986517db0d1759de85881894fdc7db798bd2a9df9cb04b7fc" +dependencies = [ + "cfb", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "is-docker" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3" +dependencies = [ + "once_cell", +] + +[[package]] +name = "is-wsl" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "173609498df190136aa7dea1a91db051746d339e18476eed5ca40521f02d7aa5" +dependencies = [ + "is-docker", + "once_cell", +] + +[[package]] +name = "itoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "javascriptcore-rs" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +dependencies = [ + "bitflags 1.3.2", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "jimini" +version = "0.1.0" +dependencies = [ + "base64 0.22.1", + "gemini-lib", + "open", + "serde", + "serde_json", + "tauri", + "tauri-build", + "url", +] + +[[package]] +name = "jni" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[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.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "json-patch" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc" +dependencies = [ + "jsonptr", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "jsonptr" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c6e529149475ca0b2820835d3dce8fcc41c6b943ca608d32f35b449255e4627" +dependencies = [ + "fluent-uri", + "serde", + "serde_json", +] + +[[package]] +name = "kuchikiki" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" +dependencies = [ + "cssparser", + "html5ever", + "indexmap 1.9.3", + "matches", + "selectors", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + +[[package]] +name = "libc" +version = "0.2.159" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.6.0", + "libc", + "redox_syscall", +] + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" + +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "serde", + "serde_json", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "markup5ever" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" +dependencies = [ + "log", + "phf 0.10.1", + "phf_codegen 0.10.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matches" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ndk" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" +dependencies = [ + "bitflags 1.3.2", + "jni-sys", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "ndk-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" +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 = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + +[[package]] +name = "object" +version = "0.36.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "open" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a877bf6abd716642a53ef1b89fb498923a4afca5c754f9050b4d081c05c4b3" +dependencies = [ + "is-wsl", + "libc", + "pathdiff", +] + +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "pango" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" +dependencies = [ + "bitflags 1.3.2", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.15.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps 6.2.2", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.6", +] + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_macros 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_shared 0.10.0", +] + +[[package]] +name = "phf" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" +dependencies = [ + "phf_macros 0.11.2", + "phf_shared 0.11.2", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.5", +] + +[[package]] +name = "phf_generator" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" +dependencies = [ + "phf_shared 0.11.2", + "rand 0.8.5", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "phf_macros" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" +dependencies = [ + "siphasher", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" + +[[package]] +name = "plist" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" +dependencies = [ + "base64 0.22.1", + "indexmap 2.5.0", + "quick-xml", + "serde", + "time", +] + +[[package]] +name = "png" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "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-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.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quick-xml" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" +dependencies = [ + "memchr", +] + +[[package]] +name = "quote" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", + "rand_pcg", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + +[[package]] +name = "redox_syscall" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "355ae415ccd3a04315d3f8246e86d67689ea74d88d915576e1589a351062a13b" +dependencies = [ + "bitflags 2.6.0", +] + +[[package]] +name = "redox_users" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" +dependencies = [ + "getrandom 0.2.15", + "libredox", + "thiserror", +] + +[[package]] +name = "regex" +version = "1.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "rfd" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" +dependencies = [ + "block", + "dispatch", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "lazy_static", + "log", + "objc", + "objc-foundation", + "objc_id", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.37.0", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc_version" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" +dependencies = [ + "semver", +] + +[[package]] +name = "rustix" +version = "0.38.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls-pki-types" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55" + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "schannel" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "selectors" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +dependencies = [ + "bitflags 1.3.2", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen 0.8.0", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.210" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "serde_json" +version = "1.0.128" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +dependencies = [ + "indexmap 2.5.0", + "itoa 1.0.11", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "serde_repr" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "serde_spanned" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_with" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cecfa94848272156ea67b2b1a53f20fc7bc638c4a46d2f8abde08f05f4b857" +dependencies = [ + "base64 0.22.1", + "chrono", + "hex", + "indexmap 1.9.3", + "indexmap 2.5.0", + "serde", + "serde_derive", + "serde_json", + "serde_with_macros", + "time", +] + +[[package]] +name = "serde_with_macros" +version = "3.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8fee4991ef4f274617a51ad4af30519438dacb2f56ac773b08a1922ff743350" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[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.79", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "soup2" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" +dependencies = [ + "bitflags 1.3.2", + "gio", + "glib", + "libc", + "once_cell", + "soup2-sys", +] + +[[package]] +name = "soup2-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" +dependencies = [ + "bitflags 1.3.2", + "gio-sys", + "glib-sys", + "gobject-sys", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "state" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" +dependencies = [ + "loom", +] + +[[package]] +name = "string_cache" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" +dependencies = [ + "new_debug_unreachable", + "once_cell", + "parking_lot", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[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.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-deps" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" +dependencies = [ + "cfg-expr 0.9.1", + "heck 0.3.3", + "pkg-config", + "toml 0.5.11", + "version-compare 0.0.11", +] + +[[package]] +name = "system-deps" +version = "6.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" +dependencies = [ + "cfg-expr 0.15.8", + "heck 0.5.0", + "pkg-config", + "toml 0.8.19", + "version-compare 0.2.0", +] + +[[package]] +name = "tao" +version = "0.16.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48d298c441a1da46e28e8ad8ec205aab7fd8cd71b9d10e05454224eef422e1ae" +dependencies = [ + "bitflags 1.3.2", + "cairo-rs", + "cc", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "gdk", + "gdk-pixbuf", + "gdk-sys", + "gdkwayland-sys", + "gdkx11-sys", + "gio", + "glib", + "glib-sys", + "gtk", + "image", + "instant", + "jni", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-sys", + "objc", + "once_cell", + "parking_lot", + "png", + "raw-window-handle", + "scopeguard", + "serde", + "tao-macros", + "unicode-segmentation", + "uuid", + "windows 0.39.0", + "windows-implement", + "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.79", +] + +[[package]] +name = "tar" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ff6c40d3aedb5e06b57c6f669ad17ab063dd1e63d977c6a88e7f4dfa4f04020" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "target-lexicon" +version = "0.12.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" + +[[package]] +name = "tauri" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "570a20223602ad990a30a048f2fdb957ae3e38de3ca9582e04cc09d01e8ccfad" +dependencies = [ + "anyhow", + "clap", + "cocoa", + "dirs-next", + "dunce", + "embed_plist", + "encoding_rs", + "flate2", + "futures-util", + "getrandom 0.2.15", + "glib", + "glob", + "gtk", + "heck 0.5.0", + "http", + "ignore", + "log", + "objc", + "once_cell", + "percent-encoding", + "plist", + "rand 0.8.5", + "raw-window-handle", + "rfd", + "semver", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "state", + "tar", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "tempfile", + "thiserror", + "tokio", + "url", + "uuid", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-build" +version = "1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "586f3e677f940c8bb4f70c52eda05dc59b79e61543f1182de83516810bb8e35d" +dependencies = [ + "anyhow", + "cargo_toml", + "dirs-next", + "heck 0.5.0", + "json-patch", + "semver", + "serde", + "serde_json", + "tauri-utils", + "tauri-winres", + "walkdir", +] + +[[package]] +name = "tauri-codegen" +version = "1.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93a9e3f5cebf779a63bf24903e714ec91196c307d8249a0008b882424328bcda" +dependencies = [ + "base64 0.21.7", + "brotli", + "ico", + "json-patch", + "plist", + "png", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "sha2", + "tauri-utils", + "thiserror", + "time", + "uuid", + "walkdir", +] + +[[package]] +name = "tauri-macros" +version = "1.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1d0e989f54fe06c5ef0875c5e19cf96453d099a0a774d5192ab47e80471cdab" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "syn 1.0.109", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-runtime" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f33fda7d213e239077fad52e96c6b734cecedb30c2382118b64f94cb5103ff3a" +dependencies = [ + "gtk", + "http", + "http-range", + "rand 0.8.5", + "raw-window-handle", + "serde", + "serde_json", + "tauri-utils", + "thiserror", + "url", + "uuid", + "webview2-com", + "windows 0.39.0", +] + +[[package]] +name = "tauri-runtime-wry" +version = "0.14.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18c447dcd9b0f09c7dc4b752cc33e72788805bfd761fbda5692d30c48289efec" +dependencies = [ + "cocoa", + "gtk", + "percent-encoding", + "rand 0.8.5", + "raw-window-handle", + "tauri-runtime", + "tauri-utils", + "uuid", + "webkit2gtk", + "webview2-com", + "windows 0.39.0", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0c939e88d82903a0a7dfb28388b12a3c03504d6bd6086550edaa3b6d8beaa" +dependencies = [ + "brotli", + "ctor", + "dunce", + "glob", + "heck 0.5.0", + "html5ever", + "infer", + "json-patch", + "kuchikiki", + "log", + "memchr", + "phf 0.11.2", + "proc-macro2", + "quote", + "semver", + "serde", + "serde_json", + "serde_with", + "thiserror", + "url", + "walkdir", + "windows-version", +] + +[[package]] +name = "tauri-winres" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +dependencies = [ + "embed-resource", + "toml 0.7.8", +] + +[[package]] +name = "tempfile" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +dependencies = [ + "cfg-if", + "fastrand", + "once_cell", + "rustix", + "windows-sys 0.59.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 = "termcolor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" + +[[package]] +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + +[[package]] +name = "thiserror" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa 1.0.11", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinyvec" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +dependencies = [ + "backtrace", + "bytes", + "pin-project-lite", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.22", +] + +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap 2.5.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "toml_edit" +version = "0.22.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" +dependencies = [ + "indexmap 2.5.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.6.20", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-ident" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" + +[[package]] +name = "unicode-normalization" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" +dependencies = [ + "tinyvec", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + +[[package]] +name = "uuid" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" +dependencies = [ + "getrandom 0.2.15", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[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.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" + +[[package]] +name = "version-compare" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +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 = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +dependencies = [ + "cfg-if", + "once_cell", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.79", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.93" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" + +[[package]] +name = "web-sys" +version = "0.3.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webkit2gtk" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" +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", + "soup2", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" +dependencies = [ + "atk-sys", + "bitflags 1.3.2", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys", + "glib-sys", + "gobject-sys", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pango-sys", + "pkg-config", + "soup2-sys", + "system-deps 6.2.2", +] + +[[package]] +name = "webpki-roots" +version = "0.26.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "webview2-com" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows 0.39.0", + "windows-implement", +] + +[[package]] +name = "webview2-com-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "webview2-com-sys" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" +dependencies = [ + "regex", + "serde", + "serde_json", + "thiserror", + "windows 0.39.0", + "windows-bindgen", + "windows-metadata", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" +dependencies = [ + "windows_aarch64_msvc 0.37.0", + "windows_i686_gnu 0.37.0", + "windows_i686_msvc 0.37.0", + "windows_x86_64_gnu 0.37.0", + "windows_x86_64_msvc 0.37.0", +] + +[[package]] +name = "windows" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" +dependencies = [ + "windows-implement", + "windows_aarch64_msvc 0.39.0", + "windows_i686_gnu 0.39.0", + "windows_i686_msvc 0.39.0", + "windows_x86_64_gnu 0.39.0", + "windows_x86_64_msvc 0.39.0", +] + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-bindgen" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" +dependencies = [ + "windows-metadata", + "windows-tokens", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-implement" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" +dependencies = [ + "syn 1.0.109", + "windows-tokens", +] + +[[package]] +name = "windows-metadata" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows-tokens" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" + +[[package]] +name = "windows-version" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" + +[[package]] +name = "windows_i686_gnu" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" + +[[package]] +name = "windows_i686_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" + +[[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 = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "wry" +version = "0.24.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55c80b12287eb1ff7c365fc2f7a5037cb6181bd44c9fce81c8d1cf7605ffad6" +dependencies = [ + "base64 0.13.1", + "block", + "cocoa", + "core-graphics", + "crossbeam-channel", + "dunce", + "gdk", + "gio", + "glib", + "gtk", + "html5ever", + "http", + "kuchikiki", + "libc", + "log", + "objc", + "objc_id", + "once_cell", + "serde", + "serde_json", + "sha2", + "soup2", + "tao", + "thiserror", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.39.0", + "windows-implement", +] + +[[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 = "xattr" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" +dependencies = [ + "libc", + "linux-raw-sys", + "rustix", +] + +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "byteorder", + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.79", +] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml new file mode 100644 index 0000000..1ff3417 --- /dev/null +++ b/src-tauri/Cargo.toml @@ -0,0 +1,26 @@ +[package] +name = "jimini" +version = "0.1.0" +description = "A Gemini Browser" +authors = ["psobolik@zoho.com"] +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[build-dependencies] +tauri-build = { version = "1", features = [] } + +[dependencies] +tauri = { version = "1", features = [ "path-all", "dialog-save", "fs-write-file", "cli"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +url = "2" +open = "5.1.1" +base64 = "0.22.1" + +[dependencies.gemini-lib] +git = "https://github.com/psobolik/gemini-lib.git" + +[features] +# This feature is used for production builds or when a dev server is not specified, DO NOT REMOVE!! +custom-protocol = ["tauri/custom-protocol"] diff --git a/src-tauri/build.rs b/src-tauri/build.rs new file mode 100644 index 0000000..d860e1e --- /dev/null +++ b/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/src-tauri/icons/128x128.png b/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..75f4594056a905616e61427af2760c1b2a82bfe0 GIT binary patch literal 4502 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/128x128@2x.png b/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..815e445bdad728a3f4f100abf394d8e079e0803d GIT binary patch literal 9123 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/32x32.png b/src-tauri/icons/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..6794ba5d8badb4c147563c61484063a644f75ca8 GIT binary patch literal 1042 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

fPC;5_Xq$h`E@OHFNUt-YoYhN+}BHa6N_6LjZ; zkqFg$_0?C~8T(;}oB|)Scv+&?-iUWDwWjeqWvYT(s2bGuak;nOJw<54;>M*gW`$y4 zU|AJ1BV#O>RmcQz+DEa$h$65eup%l6u*Thb?xm7n3YZ1~i=F5Ktppiu*rt%$zcK(f zm5>+TAI6ReqYWDsQfZ|39A|-C-7#T*LVTAliOaFqV<2E@@Yd@u4d-upYb9`!iR-Z) zEvuB_|BPgYYmv;8Pd;f@ty-0y{5?`<(DaPAFf=64*pfIV4tZCgyZmSbgD5*MzH8Sm z%LJTV{H|>25VzSE`zM?B_I4YFqB@BXl%G;EE$-~-=rCV?`K8?zmCa(dZ{MEvdfF4I z&`3LApL5PRc4f4$zWOSR3E;o(@>5q=_ZJD{{9PVAkWHjDKFD9)9gckzVFJ~%*?KU5 z5fcPVz9$NiPv}RbgX`%ST+6DQ*?{6X*h`BY>~tkh{acLOnvZAimv^q}>gxJyT*4@u zovMikbaN{yFbj1<=!s3mUVZgdyUHe@WU47X6L?i1VHznEQYU^6+A5;~gWt*oN{c{m zyzxe}Zr!?c5hz5oKMbH;=Z?Ds?dG`jnk~}XcE^r9eIQTc-4hr_z#Mw~k|j&hrOMf^ z@frx;-|%x}UYjZHNZYh&)9m)PbR25ibxqt5XOY!DYM>>jDkUri z^4xRJnZ=72+wmyq^(J_C0<}cfk@}~edMeb#Nj&`Ncgw|Y0w=3)B!BdRcCw%!NDYW* zpMBPTzW(~_1J4_w?ogG>mMt^yyz`D-jT(tBf%TeVUVJP^#M0OxYM=wF1O5fvd#t)) zqvw}iddY(2XAj}ABJW}*lo(**hnZmX_G9n>7x1xQ2}6=%k@bp6{DdnC3B3AVt+lml z*IMA%Rz0X08(5=A_RTlnY_@INX6Is+f>eP6?+-5E15Q{P*5ui)kMpmz|% zLrm5M^8db|cLUdnZumDh+;D@f!_Z!?-;d>?fZz_awzk@6$b%0)Xr-(Kq^eI09DJ)k zOK18I_|T^lDsuc4Mzv0vGG&Q4t4#t}e~^Hwbg@+2E3dp_&O7fs^Z4VB+vVnpLAoeE zyC+~=JoL~*)@@KnJw%{Te@S_^ZQ$X>C+6wdRh$%uvAMCa@dMYpLP?)!&tAE5r8(=Y zvx;KMt6@XfiI^cOG3+_R%5OT7gyLEx#MP#_SS{d16g^1;5x*5;k*yZB)aS;qKncd7 z5*fo#Pkxq~E2Kl<i);Qt?5s zL;|1r3^>#i`U%#KM!EnAHCO@;aIZ*qwT#vOlz{Ux#bF3fvhm3ru|}w|+aPN3vakRP z!gMc%eX$fMk*1BJ{ua89^PBKrEJv@#q{k^U4Gj$nSjt%?(Z0rGiql}90LAdLQBpt) zT|J}a|8F{Pt{-s&+n_jQ{}Kynx&YQ9KNNFgTg5ENP(+k0A2HEUeP4X>#bTHJsLBS^ za9}B5AUr68{CfG^Bk6_(B5iR2E#&}f zHR~nIx<(wwCbtJw%K2iEq>W4iYH{Nt;718aH(~WTp#h{}tsK82xD9_u_~(D(r2a!B zt4AEz--`%OkOzo4KVZP+#3E@MDn;;Skf1CXUvap*iA+dZXsPhC)44{zws6Rcv0evF zfSN4Hy5%)BHMdF-w%&G~BS|`Fz?s`I&r$Zk=%JZ+I(Y@8;rz{ko>{?Ne^8~~?tz4?K3EbY;Bk%1pyqm~Jk>((J?%E|(;_~|a(LI~J zY1+dUpe6}mb3{eXl~7KzNL+)QtCe=lGfkTElrR{cqOOm!K9QjILx&EvQ8VF6CVD&! fOS(>8P!Ik;7iO&FL_c(200000NkvXXu0mjfNlWF^ literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square142x142Logo.png b/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b538f075c57ae08e37d0c7c0ef128aea8f12ec0e GIT binary patch literal 5171 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 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square150x150Logo.png b/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb36e17b4c93cce3c2d89804f27ad72f7c8555d GIT binary patch literal 5544 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 UT<{Y_cVGd^3hMHevQYSc0i_j=hX4Qo literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square284x284Logo.png b/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..32953c9fbb2ad95676120a7af730717b97d797c2 GIT binary patch literal 10967 zcmb_?WmKC{*CoZ>-Jxia;;zBHP~6?!ixw*`Z7Cky36dhkH9&DI?!n!P+obROogeeP zGg&KtvT~n$pL6$-z0ZmLpss+0PL2)-2ZyDkD60hr_lEM{7Zn-y3(;SU4LG=Wxk|Fq z+Wt!?Ks0Zi*_OfEj!Z>(rBT|Cs9%-1v>u9Q9d!tG*-HAtr?ukeERCYEk6IiRK&@+m zCXFUlBMOhkwdM9yVGs6=e~7Dvv_XYpQhy3l>10vqQo>J~(`HbCa8gCveg-)37&Q@PR9Kt)StzVpOCm(z4(WROK3DMtUZi zq0!NHT4CY)_SDo=`g?;AAxe1;d5PkpqPIQqVGQv0erp18zRV|et&NS>QbtD0ZHbAA z%W|nraik}yRddVoQP%gsNRqrrLdv2i+^m@2F|*(3p**6ZqJg<$<3vY0eOf&&cVzFz zO?Q1z-qk9QMdG)pDy~c~F26-qnn`NBTfm6HosHY6mx1i{KRi5;YIFT-nrQnK;A{u~bh@L~A1!pv8=P$3@i@PjqNB$$i;T@$ zAj_U87mOLkD}wTZEuWnUFFsWk6l~hy<)zJB$NDqliR5u;yNu=I%Uav+ZEv#^72LN& zY~wUF<*h&LpA>LLp)vnnS5VXd!EJIYWdo*9r$CHzADMcutW8W-$?@`B1SsLEnDHW+ zT}6xW5@RM6pBOvx^Ecw@`2-c6ceUE1rLqU(rd)N~U&JFZ;g2L7j!+0_rJ!P=B%200 zIy#N&P^q!f_3l;2vtvBCI1;F)d#eE-^c~Um&dw_B+^8B9KqPG~J6p{t^Odd-i%mkw z@;Z`M0%}QxTea7jm6fFf4baI{Crl^SFh)yaW#Hh$zY`DqyFax~RM298E-

  • oRv4 zTlUDrK-<6=5rVM!HLO`Za&PUeLJ}xN>Pqto#Vs!m1qyIakSi*Cg!l}zu(P-87?+(5 zJ(?C2@XIKkd1qwmafn?Si&eL_jf{-Eel)ITx_%u|Sc>SJ%10VBWWy!o_dQ;)xxc@E zrK?vX5CeQCM7dQ`q=$1+RWvu>*;y`%ae8FM z(hIoQz9H=YlClquM`r}hOmR~83AePg2r3!#sf7=Reh-;*wXM%F5>Xdzym)&JU}pWC ztPI+vV@<&4em>`A;f&~syu%3}QJS9Lusum#7{6|8Y<#V1jbz>S?EhJh?OILFZvO7w zJ3~&+KWEz~^>WTeWVlQWrRLA-W%{Bn)2{WwpBT*g-P*!$!9t^W>@}-kbE;NbP>Cu!yow-r( zSXi3fpYAR+hG+!FA&#VFbPS~49}M7!&qdy0Q;9T`S5`X4dve7S@gDWEPxj4np3dmW zIt#=o2`Y0oe_)NXlu`V!pU?A9IQ<N{Wfd|puQUIZ2p))*FK9-J58!?j!wz0A9vR@f|BUWs{<@f&uGI8=f_s?{cKx{1`{hGyc`-@<}$B)ncGDJ zk!BxmFeQ)i3@n{vq=c7B*64UjN)TZ@Y&^bX)ev3~c)xu4f_y#Z7V<8jdj&@pxB2QZ}viWd4>_&b)7IS70Vx@|GU zQ}3+(DoMn9KZRIwh2RwB%aIdb_Gj zh+fG1L4Cp00H~;`-cZe;2bmz4eh>KLGLH6ugzhbm@FeDyX)Utyop%@eu5DOGz2HnM z9k)wGZjy^=*U|WRcisEz@@h(Z<2`-Myzuf$mTIl!| z_#TGYYRkPQ#PzzOAMXbQI}7xvWSqHNLe_(C59Go#q^(Bx60RwEcy$G}b#*1;wgcAk zqQze|_kcsg!&w|mJ0(Jc+8!7P7ibiD(q*O%_IT4$PCe3lUx?l~*}=+*!!Q);57Wp% zj@CXuEAer+kShuf-+LW)?D+Z}D_?d^Rf{?0w9Ewqz!hb+Q9-q?ffF4im86Q*zPR2Raeo>Tsc!wyVH zz+|q$K*XuaK5O2>_POXMIlA(s<%!{US^O#2alf1GIF`k~^iaSyD>)ianW8Uj)z8>L z63hK#>YMcy4eqf634wi*wm+D82ZOHDT+or8>2f0i=Wx$={SQvaIl@WJXQl5iZ7R!h zSl=l@%{aOOM5y_ok-_Vx-^#$0kGB-8+MVlRWe0}U29@IykIsAXub})5(G%0k+*{>` zeTQGkPshmC%K9kyTb`rSzeGqR9ulYV;h92nR2A z^aP?iPSyS`p^xlR5OjOQ+LMZint6CEP4h`w^;--3g!a?P8R%u9EV@Yg%qE2B#((Pa z($nYe+(MiR`%U-p>`$AKzvQIO!Ymvd*WyhP6A?NQI*{h*`>VYpGG0`waY1=U@|;fz zxBj^E`Q5hX*sMp!_6eA@we~$S6NzOtb^ z`8)|R4~|PoYrB8BNFd{-Z<{_L#&F;MjpsV|7pIzaGQ(;x$pY)wT2th{ zQm5(7KT)6VbRREO6{9w~Ngz*IeW->mD`i(2GYJQ%8 z1U&xtJmE3~(L(*M91C?85dkmvdp^V{=E)RM{Sg>OIGoKJ@EibrEU^#fiy7=+MdoMc zJ8$@1`t_^Ol2LG|8;ZF52P6SZUoG$&m<+;g2}-)JScMo^CR;Yu7u9Pi3c33?)umaE z6LcEDl#il!lnD*|{QRr7gQL?azn^i}Q8O6L?@d5Gzi{tM}-u};UFUXnlEm((&L;!7pp1_4)D7Zmuv7J$nPbl@ee4E7i2 zH)ARQMRxAMN_6wh?TlOdOUg<@DQP6GU_$staW+YVJ1QNx+fhXXkvVZk z8r4IJ9Ff@o51@EFm94d}j0Z5rE%cE=^*~07#)V>{W79#%2q^(EyevYIxON|4Ysd39 zZ~-~eJ#>*m5#j&$f5e9`zLg7D>*Vh zXkmMIxAN1~?!j^PR17vE6CRWqZ4^WZ8ambhr$Zyjhc3J?Dd-S#aaSkVZ%$ z5;H5SLwBB4s2eQkJ$TWYt5O|P|9hDESU0|s%F(cGn^0_%(4uPqdsK(R{ z-Jaos4MYSEN_-aavNk%zI>&bX^x^k@<$HSwD-nXEV|VJ#unoGUP!tAT?d>OP>DY&c zhTie=ULg=GHh{BVJYk8$mDe1`ohkniiXBj)W1}I8t^$F;YS*r3Uzd)JrS?zthHbvp z!@qy;&*I1S2j__RCkP;tt|98w#0<2W!F!;%E z8DeUhYuFLcSpQh(0ql<_sVXd_f2Ky<|EfT(36lyixgIf*q7lFNRMdr&&LP@<-B?1j z(CMy@fCD&_Q&0f)_4@E&2f}m`?(XgOLQM=lB@e2-Eo392_VIR}HX7hi9|{G) zi>;t^=6&k7(q4nzW#Ne;ybVmpddJVNV`5Pw;^k&-Vh;l{>^ORi_Rg;a>Zh9Y&RrKJV!T*1d1a91?O#gX31KeG^$f}QB2 zmKMH8#XB~(>z$>NEFq7=;gON}X6=%a67LF2IGC~FAtfy>25Ol+a@D3ChFxENxBs11 zIUJyH(}v;A)7D`lFywy3%yF~tYH7)^(R~x3qo+p_6DU}G1eB8sho@TfwU5D(I!1(U zT~c$2Mx8~LcwKHQJxi<=P2SXON{uj6Oe+mz<{VNQXmY1)ia22aWPy)HpO#kB;bq4Qwd3fm0T2wEN7}?lV z?4BFaM~?IQ(Ed3>47!M~jZMiv_$zB@=)uU?;q|qwpRfzU;uSCkLs^6va3?d3 zjEr<(e${$4F538eW2wR6d+Y65V53o#0UOD!$KfB=>n)mBePHOz{nF2h%1SNC=L3!F zM?$L5f{hd@DFykx@remN7+;*xMOy3I8velsT#Zho7z2vxspSZ1cKN}sv(d62okI-O zd8Y9a=br-}X~6=c!$nVO^L&RV5+V{O5j&@GGYZMvtb1g*41Avv2*%5SA0H}F&#_{)K1N9E@! zlk9Aq=Z90PiNJgc3Rtk=hVOMB7v3vBK6VE75-(DrpnvOwxl{$%YVdGRhC>fugr8k7 z8%J4Ck(GHql(`e<*8ECyliFT$02y5!lj35kNa5P6S$4`$NRc0QeH622gS@)VDY_(? zoGv`=t*s(ub5Ux-E0dG?ayTSE-Fa&L6NUrlKn4v|R&Wq{adDHKot=ZdDFIV&2~-l1 z-VeuccaP}k=nZwyvxtoxA&=gQsIZ4HM)Y(d^UviK6$L*C5Lkq!2(y%wj$G zQ=fO>pGd>0ZAOLoM$J13i$cKO3GNAo{SPW>>>jREvKX@X;BO8yr4`pl^9pOB*Ry*6 zYSd^ z7c$>HQPsV3rtH674?A;mahWBt9o>L(e<7fNnQc*1YVzZ(?{iE?vMfcc$Lm_7&>Eco zhifwJ$$;j6A$cmh4smvomB;n}mp`}<<0kXIjcm>*2q#$PafJs*dQj{$1plW|YNxt*qs6xtNBtvDRTD96R|rLtUzn2V4wU)}v{IsC&Sb~deb zyR@|Q9m7YJKYZZrzxm(aUJt>54TYwhkB+MDej+cWva(U}0)u zQDE3$uW5|Qq9~weU{E0!jmZXTN@f1l(2&~GONTIMyNKxs`4S%<*lndD4My9woye_r z?Y!S@W_e$HzSy9eGYUiBx*`|Y9ck7|IQxL#L(6UUgb zJ-xiH-(Fe?daNcJ?Kj9dU^dt;9Qde3;TYeV<&RlL{qciKXs0TsoQ$zszVCJZPa56OzfFW zW&QZ~Dl3Z|7$8I)ej@Y69%Goukl73-7N&wW+K6OGnpww$`Z%<)`kRnisYVFIBp2APgAHi$O;(y!cX@yrC zghc$zLKPa;=j++W5!vNLKf?`pJRR|zm&w{;OF4a0t2;J9+cu$%O3W&Cn$<&7E^2tQ z_44`EiGpW^#;uPU^Z9@fp<|vlMsDwm{U^!!fmP!*go8@-X6;GRRB%nyz`($XCBT#- zIjleOy^F)0u&}TQ_2-{*$4F-u*395HC#1X-}+F^6|)r4ei$loFw;pBVFGEW7uU6QW5sMgD2HXRcaAo0`A zNP1OSUWj3vdV}qXF4_y2yvXdg_pCY@lH-^vQD9hdzK7K?ITjUg(<|>Wr*-?AN(1TC z@I{MFcB8_-V%5@WO9oX|Pe;dNZb%$x`=yeYyyyruy}kSgo_{pAaLZs1iupia@p_X> zcCJ8l?E4*1=*@vfs0hznz!Sm_n#yIB*>hzRt&R5VPNzj5@->Vxvbt`1s7F_Pr< z;(mjUIGaBF3GXd{IU3Har~Ki(563C2M=>7H|K;hvvbb2*57kik<+G>kr;vRa8m+vC zKV{y+MeShrjVT419qJmm&uJL}pQa$5y?7+b;g0VYBzRUZhTn5#S!zf9sQ1{C?7nK^3icFq2p1) zVXx5)Zo^5u@tO^$-U83qlRYhu|KYnP31LY9>Fmp@~B6;;x?*5H*k5Ph$202 zlg02qB`(0*Y7Hb(D9k(J`X_JRO{aGjj}Q?v`tKJ+doOBDMmXG*Q`pB4#M(rK?Un%k+2K4tS)&y`-t^A6~Fz;k4Pq zqQ+*oq0ilQSXo6cZIQZV_Hs#LvPS56Dhf<%bXkI%mjJVPmeh8%6dUS*g?|l z0Z0b6BMtjpAI=`aUeP#^;6vm8KG-L!%K(+tFWTI}-?->wc&d3^iJV6MooxN}<@Rv0 zKqi3ii;Wjdk~q>NFKWc{|Hd2P30UONuakOT2=UTS6q-Cr4t*+0TAgh5z~MviLBQfh zdGv9b+@yXrzyZUU+mU-n)J2EB(~Hg*)8_z~P}68TMlMdi{FSVT4>3kp{Z-0J-hdw2 zc7&LCEdG6`;t^A~BR6;hVG{S_`&Dx9iTp5ZY89?}19*vBZvSIRTtaqDLc8Ut@#IiL-$D|%=R z@L6w8xP1P;@e&VeHA~ejQcgWIwc42+zip{EC%O73>?_!b4Q}nEo7Hf(p99AAfp45v zje{=w598QsVp3^_F?%cx1;ZK-e63bjFiwPk1)i_GCrB>afTK+vV?8|$?f_d7NAnUW*9_*`T9dBOZ-8kRF>2PJN} zJ8-b*vBCzJ)LM(e8h3nod3^-=U?T>#l{6AF(Hr3Q_9sajLgC+JY@uLX?4O#hFl|u3kcfOr%p20nknK_Y1r&;0ci~jj8e;DAcaK- zSi53M?~ZY0Fq*DQasOZUTm`9%{w=0NLd_42g{aR9r*#f9OyY)p9lZtXLW*&AJO1RA zsR)p}f3)jr&Z|Z=>5u9sZ%U*7kf@ij+ZL_Jp-@=L^Ow0G1N61#8$|N0)o7-Idyi!C$ROFhE zb%Q$98N%8^lZPJ9WB?Cv8%~{{D3M_&39VL>$RS$~?xvoMvSM>z5D_5~NjLFG(8rd) z*%Z5i=av?xP3iPG(gnu8IsGH~dan^IC30KPf|8c-M;e{)%@VB}Z_r(}nIWhkte5HGUhjk7FGhQ;!wvCa`- zo9{^$;|Z~0K7V1Y*|DG6CI&4JOeUb=;N)DhwAIXrUr}hM8XUK@@Yryde2)T!pW@)) zm<=31#>`dA9Q6^bsVd?{#Ha^>j(eAumR=i|CiBeHsk?tk&3?N;f=aHZ{p+~OmMp7j zXWjh)e>Pe9@|Ch|p=YO8Q6gsq$w&5hyq>#FQi&BJylo!Y@|yIloy7>+vxCFi^tVLSJ8g-%m6+!dFD=;yn;% z(ghKd=eOFHAQOsFxMK*^>r(L??y6@CoKSs|Q1?;$!JE6qOWL!kypYlFK43e$U9cZk z@YwuErvG%c%}#)yf7XzL^n@BhlPQ^T^Fc(>8ct<#u)%{E>{T`ZK5DZj zHTXV9!8ypl=AaA-eoE;wMqSC#@lf@xNKOYmL+1hC8_VKP276%VZ%<+Adg0}=?eJq#fpm-Gu%$8TckrDW_@$Be`B-36^vc~@BrJN;6kyF0Gr19b|b^XHQW^3MQb%& zxW+y=*x%n2YC=V-c9O;UJ-2^6<;XM8_atUp268v2I{$8X}H8q1CGL1;9BY*>bu8 z+)Y*`_Np<4AHIc&1SK(5KADFCEqvXcx)Ney#33hUyG}V8t zqs)Oj_VRbPx1UCuJ+?x`Eg>-@T#R;+(b6`6!lD^!G|U3&HI`ye?nR1nc6_^#Of>_5G-73JMB9h{LHk%#!GthZ1qG8=lCOl8~Y*d>-Ot z&f?M0(QsH`qmcD?RaR5u2tPM>OFL8^kgJNu6ckAi{LI%zhnlGBLW5h-qEXta$1fnD zo2j1a%%0UO@}1w+>h0V&aPQk1-GF~B-Tv8D>F|+ssJPX2{<$cNgf*&_9P%=DFD@Bv z&qi1LQ3I^W?+9#GhmD@?3#r-VP`~7$_AIy(Aa^n@CnG~cU&W1EIlRn&Q-m?9Rb|h8E{EHevxq@H8JbE?wczMY&*Ir@zl6y*&<%%I`$zS`9pgaov9$|u3EKB8JNEPFY zrxYl|uRm^)6Z%ufl2>%6@&xaT(&2<;;t{GE>Nbm0u|oH5-AaH#I8_G z9gjOJa__PTfL8+lY4od8s_}tmNkxsER)eo1pA;?^T<^6s*DY*nlb$I<`W?y9PB31o t7TE9x+9IZF315t2F_TMRYTf=sBQCn^V;Dbw4jWj7Q<77ctpS*a|1XI74$c4o literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square30x30Logo.png b/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1aaef532661c758c3ce35adcefda41935e5a4be9 GIT binary patch literal 947 zcmV;k15EshP)sQq^0pjNK`2w9zr-lB^%*^NM>FH17-FEj6f*(3xw-i>7!1B?apM64bKHQ!NS;Cq3k%e4x9R2O1?%;G zV)8d;fEycEyt=xI3OGg>^aniU1sV(*a_cEP1IWR_0Xz~TCMPH9?Ch+M@~(jm#ty-A z29No%r}OjkU%H+K-GYL`a=A>gSd8Z8<|rPI)6LBd9UUDB0}l@mLVM44_}S1FYbVlZ zG*SkH1nau=x^9@`_xq_(C=f43%gf7hu~$?q7G=yr3kK!^)3?37U3`sttqfRSUl*?- zqNk@Py1u@)1nyP4FB*+@$YW!%2=%@D?zmN6LE+`Z#DsW`3w<{&;1v`hggcatelnTV zvHMSeu`sKX78e&O5{b~o#f7|s$}cZ3DWA{V?z1PVv7d-r4o68G>2#WwmX>6XF=pqr zC#n@V;+C_XP>j?$m^?-f3@VXC5JKp~!^g)*t#Ug9JW&lXO-)VdJPq&v8`ba(G^=nz znsidMXJCLl2$x2BAs7TU zaKTfRlL4m09?IRS&bS3xfqg^Dw~-EAVW8Vch<-*@cOfL3TfFe*k0$ VP#=c5vmgKf002ovPDHLkV1o9m!#)52 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square310x310Logo.png b/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e384b409218fdd54fe3c6628c8b800e064334b24 GIT binary patch literal 12140 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 WaPJozCLvt(NJ?_*pemUU!T%3bN=x?u literal 0 HcmV?d00001 diff --git a/src-tauri/icons/Square44x44Logo.png b/src-tauri/icons/Square44x44Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae84a06455ae8dae468b33c2413ead3d8b36a32 GIT binary patch literal 1552 zcmV+r2JiWaP)}G zfeDfe5ILC4lEVVKKHuz~^?mojCid>zk*;?4-nl#9ocX?U&YZE5rkPA8i___R!S|@B zs1IprX+I_>Cw~_k8(VF$Skn2nnT%!6&L`O&Gm6VkHm5`9| zk!MT}hvUVBe{l6Py$6ul{Qu&-VF0J=k<-b2c|k37dwaXQv9a;3-ERL^V^EjL0k*un z{BQouetv$o^Zlszg7mDn!$CYK!3dZ?uN+yeR&v?m)dt*8+$WmfJ6c^`t#^aAh=r-5 zqGBmNKK`Q{Y;>rW8DL{#VyM2po(c;K74Z4_dD`3C^GP#)ZU^YQySwF;m6clbx8Ol; zZtkayjEwI?4Hn>1Q&VYRV1Q<4XK80=ht}5CsIIP#+S=M^dU~3ees2PYMR~$@7JVK} zesgm(Ylb&~z}(9fMImYexVgERSUj|_ut2-JyL51HKr=Hl%Gw151*(r1YA8&==5_)f z%y3=s1`t@NII9&G|GxqyRs^`m$46qVP-0@DqKvP(0~;^`tA*+CE5H1W-pz%o9UmW4 zPfri6udh>jdb$GI)YL?*7aAKIBlhz?LA%`@TCAz2rsjl+o#}L$Amo5CSYBQp6%`dx zety2P_U7g$ZEbB42Z+zyowvmTTGrU9skXKjR4^)nsRjzb9^%%-wc!ddAUUi?gGFPN zdw>eJgN&YLD}||XxK$QLgJu1s!WS(pfB_W#SbXmJ`MIJ=FrW3UpM0DhFhIeQ+1c5iC(2EXvMp#6L!H|&SLgSi& z3bU_){_3K`K(JO-RTZ_jw-Z;2=+9=TGtLy;yz==b`eA>D9H6zeRfSy80!t3%1CaKT z!Zntk$5HQKf;_O-GV3cV3=88wCd}>w5F5($lUPBca((+Il^d3F_F(AE0{B-X4=5$6mr$2W~LPOHO76@e&K8j+ZZ9 z1K7}paTutHftq=RZQv|>qaPU4^%n<=nwKK}==MLdo)j&O{}e|60000s!=$e-@H=Tfgzl+{g3SB2MuFDWUzx?j~hb?&|A z-S_d)D8=LP_yU2zp!)x`Y16)+K7IO@DO0BWFlo}HET7Mp${#1rb#?t6s$I5i4|C0H{PoAh#U;*~HLGam%$Y@#Cr{4vdcDLI2M=8f z0}wp?en0i}^!(G=*;)4H&6~2Jp`l)L8zTmXD~sbs58<3a`FZ~Q`K8Q~1-JnYT=U?L z!@t*wF?I|JprB27sW_NTZSC#tB@EK<*7k-4N70SVWmpbVfA6WXy@ z`~ZOgif3z}ckkX+H#ax`#OBv!XJ#HdU=kA(zsbzZ{EOL=&OiJ=fMN?06Cj>h)ZEzE znBUvm+hhgEV>KlJvuxS2Iz~2y8Pm_7C+N_cVJo)SOqBkPf8WpTOyG9DZD?rt)&MAI zV(N}yg&(Grm6i2xLPA11{{W1M*8vpxIhZ!HSpE-C@Haj_UVMo9Y>WU6FhKGB{r%1L z_4Tefso?_$3lIhAv#VKrdgu6!7?k zMgvek*O~DC{rhS*v4S8t%FYm#GBPrL8{nb?W55X3C3NuMLE5@?E1f!ZiumD!Y+>C( zt5>h4Lx&F0$&)AP-o1M?b?Q_BYOD<6y5pZcdsc`j23&+W&@tKB*^P|e0{)VpG;qEE z0AO6dew`{SE2+G^oLFN8*@5ey|Yip~R62RerAqOjT0pj`d=fti6%6-hNQSSro2M)kP`5J=q zMa4$Q9`^zV3!ifQ_;FgaXpsN_pJE75Ih3Daok9f#1>%puAn2DU?i+`Cfro&Dz7o0w z2I^X{28~Chmwr$&}rKN?IE?pV~4v`E#CnY6?E?&GStclX+DAV!)58&cizI=HL(={zH90s%k z2=5D~!|H-qoYI;#Ys43+o_0-5jWCFvXjD4KN*(~j_iXj7T)DEFKbWi&C|2`Af!Tm9 zDqVsCvx4t&DRt80qv1rAwndo=n30;A`q?!nOesW3^yy|wA-T@Xh%yp=Y4P}U2W31< z%zy(2Yz@_JGbtv(0WfgL=#iTpGQziV$P*GAXdM8vWXX~dp&aGbty|JN$9LRt%-Vwk zwtyMXGU$i`C^*q!U_?4X`JX*|_DG)#N*cPy zNd{@1G)F`8^Yeu<0AtRaIihuN;2aJ)H#e77ty<++-zuieO7)>oj3J^C*I`yFr|h&@ zX%CJ{pohEeG-F~0obfE$g9B3vWiD#i#;yL9*5CjXPFYGcvI3-lLGBniW#xCAEOGPZ z&HF`1U{ubgyStlsG(i4Z^TW6fXWi7)MD6YEj;m$und8QHBQ09%9I)cRfdiDDo<2eu z%Y$=-f_mPtVFPX6yjhqvp>z(w=$sFLY)kj=-xu(3?lgn61xGRA>C>md z^r-bZoHYjZ)cCp6(MnsL17Hxsj~zQE!@wB%G@A{;Kp5Y#V+ZZpwM)*UnPCxA%uxVg z0#i7h16HAP`Zb?pV|p>EbL`%9tQA+l0T3_+^ZyZf#`1ZRgzi<>BG#-sXXq`KE z?ugIPM}kxR(lI9FYeJ;#;w$FErv)i1+B5M@w3JtqF`AI&$QQ zFl;mvP&((ti4!ub%laENQ5&;J_wL;r92VBvtkhVxU0(=|MN;ZZe1kb(V|P!0uFkdA zIiWO(iYRu|NXA;H86dajdTJ>Gb(z=-a2%UOI-2HC(aU-s4xrIY#YLSH05~vOM`n}4 z@gky_8)rU;!&Fm6@HbTBmH&YM!uRY%;P5C*~oe;mErnjpu z4%Qn*TeDiTaQ5t3X#g^HNM%|Z0A__d?7}zL0cM^#bB5B=(&+Z>+qQK_MVmkX>*&3F zpK>o&>N~ldNWJMBH*V0refvVDFIB1`++nR3Ix0Imo7S#fOV!oYQLW4i^Zc@`2)KB$ zg#lLT8xIrpozP9d^s}2cZ;C_RzJ0qStfKV^%4hB0zn|{hxkL5!^&?j9IcQR{a{+J> zM6iW{lgo-w7fj>Il`F!YX#IlfyJci#(7JW&=0okXSy`DIz(~6dIZ^^Vf~$kcrFG@1 zvpIYAY&v@Ms3fk&VhRfA^XJb?ZpZ1=M96jJW^mlvkpK z9SL0D%K{9F)+syPO^9?a3-ti5?SkUO8+Xu@BH9JTDn6i+(cgN@;p|riDVL*74)*2& z{Y)DQ#cBa4gB+C@7hjy=V>Yr$b=d8nW2emghDz*XfGYWiO$^X??1z#8jFBQ3GBF_* zc3zUM5f=|YVH0oT4sh{{7cWYl~ z+gDvzS65Y2Q}f-24w#zXfYirBjzJ2@8moHx))PUcx&IwyUr)_W`gBykg zT+P^D_UY5-Pn|n=o+3Y>zCoh&g6(<%RskIf3k(0O+50u0YjC-LgnR3^K@S6(sYERzg*4a(GtKJ#m6esNwQBhw zI5in$=^@S9F~!BjC$zr(O6w&7H~a+vo0#Sr6TsFI(0cn(MMcG2&F-tI7@cf#0>rw4 zf`Z?al$88S_g=mRxR#4s?EPZJYJWhF=2{JOw;nxu{9d#9|9X@VK4yeSrx@!uRLasC9`lE z=H{#ltd2s&u3fuM*LWF5gQFejfStjjgG)fXJ3W8-zS-Q=priWoF#(Es$`uPhtT6AT8>&!0b=zaKw-RO{BQQ&Xo-Rob>S zfNI@|>7`b$UX4{?zSFKcqx?Ni!f%Bu5ZnY(!} zUcA_^t&SyvYgjxv91ZMX%rvh6EG+)?>64l>XAXK%ZP>8E0Il_7Bb5P|7cN{-dO}xA zmMl@nj~`dhpFdaHW6c`S;0Au+sDb`F4vVp^RaKQbckY}~Ep&n&v00xC1wW1FR_RBsKw(GcqdiCm++OcDY`40Nr2{v<0aOHiFa3#?+eykV0IV^|8ix;c&=g+GN z6DA}DjL%UI{rdG&dU7{9{K}OpjV8z}vN^~#!4-Ui#DfV});B0;&w(uFn+`$7tO&y% ztrGY@`AcVT&g<8&jf!~l=8cm-i@B~IT){U;z}*VtMU_Vd03Sbotj3KSr#5cfXh6p< zW>6CycxPot(jE3bUc`^pfu*7mWa^#3%Ei!N3JT+_9 zECaAOBRD2!&z@Cx@7^^wGVj~AZR=Q)0X(@j_y&dy8S-{Ps0i4f z?a3|?$owqbk#ECR($oA-??G#8k!1@bsDVVW34n$1ZuPs>`5n>xUd$?|1-um{bVGh1 z-UabN_CfYRZnYv-M!d+x=!4us0bJbYM1h|!UAh>@#O+BjXF!I%9C&hgdy^(jig|p1 z4U6~g-K%sk-I#bTnsT`TG9Usde~A|poWFDDj>(uvQWcN^7F(Gh5?-HMk%WK_czb$< zAWX%>n>=~4@#fB)Ib%LYWytz9=?DV)q@QNYn4wObIAP9lLw$IDHITT`GiT0JvuDpX zz~Mgk?Ag=AjSC72%)xuu+`D&gwPwv4!(_KqM$V`Uzy&l}QxR`T2wVA_%!rkw@Ih{h zNJuji;XF4ZyS_8xgY1Ls%a;anqRB3qaGsl9UrvAwV3JZwm+@fI>(;GXBOBUj3CVII zuZma+(?b_Iy1zU`)+lPiK`$dV^1!WIcqf_Cwpid+qR{{myXKR<8%9Q2ggAc@UTgH_3HJ5hsFVh z2OY&SXinq#4jq-rb9tC@dW6X= zQgn;Sj&&uCfu&ovY*EXWEsH%c4xsh}H32ZghYweW4<9xFG{xN&kB|C7RBa*0m&)TS zDJfCMjvdR59G}$kc}zIYsDuaxKjWXCHRW}^S% zy|7I4aQ5<%tuzW3p#opEll3k#bugq(ki5>cs)~Tz)cd$F3Z&jeb(kXg+I-4)s%NoH zS%YS8U?P@cfne%!KI_$X@7|p0%f$3elSwY$G!C-XVWT6s;JBa=7;fbkvfgW#CNGa3g4 z8=C7%wpyNma!@Gr6r=`zNZx%mNsQxWM-I>RN?4#ji z;XN8f!#MzjqIdJ>&yNL(>>UEr$VMgXqhXaS%li0{S)YcHhTpSik6N%`fpMV|RfdiKUM7eAeEavg_R^(GO?LXm zjT`2%Uzb)7nJq!U6?}v21j9xpP8Z-~xDv-;VF?YLJ9lo<1=}qZt_h2&mppXnP<7zI z0rM!ZTV|US-UC$f2%gp!MxmhSM7G+IUT~7lG`O;|(v(8L(vV>+&O|m2RMUzTE7bMt*UcI^ zCo0RPVsRXvDl9wTP#T=AcATzhFSRuf9Xg~YPMm0J(Oid#lNc!^W&s#a6SK}GRgrpk z2CLz&?lU5feBq!B9z3{30eicMeT>QG;u_?P_8AeN&2C)mm{VL_e8{$Ajw3+J@RnLZ zSsJniXsK=Q2Egnnr!A*|_9%a=UHpH$2`ytpASRjY?Q2=egZL&IRf?FU3k!7zV6 zzQo{WZ9hIU;$W_xoE~V??i)QMdTKrQbF{m)WoN`1=AN#*oS{Um_BNoa1#`E&ynKe9 zPs(NYx1@wkcl88&q;4ht?C+79r9Dy`W9{$u>)39;aX0t(t!~D?)!zfAu|vk}`#~=N O0000 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/StoreLogo.png b/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff29022f6bec48366856c5e3d2d4623946c525f0 GIT binary patch literal 1755 zcmV<11|<23P) z351)!u#eBTZ{Pmq=FOYGUbt}KE6KmVIq)?+~Q1`D3> z@ZrP1E?v6x?ZLqT@hTj6Ugk6dw?i>}9by5Q9WEZUzP|o;Y;5d%2KLSf#$g0;@#4i- zj~_q&haZSx5WAT7066tk-rL*r&M{?Wju-8uM*(P`Ws79lHb+NC(>FFYx>a_E@(r4J z`t)f(Bah)1?(uv?IH71k1QNI5_x?M>8%jRTxA! zzX)^+8wfUDx_|#ZB_t#e)0Zw^zD#V)G(0>^3kwT0Ffbt62?PvlCSr4Q^DTpUg*lfR z_N`mDe&inlogyg=0|G8BEm3)SIjya&QB_qH_4f8sdwaWRr=+BW>gwtUb`Zd#xL6~* z>`CK!;g^|W|2pAf;hmsbk4=Qd`)qG-)3ayK=*Ep3)YQ~OY>xu&%9ShB+1V+YNli@^ z>Zzyl^G-KphU~!LM4W(&g?Bn_!#-xIY{(Fve@pB^=hUr3699#|K!8A2$PC$m!HHm} zs}`;SL1D;UU0pOcH%IB|>9o7MD;mMyq@*N@jEtnl#ztbg`14-JG>riaj_1#x|Hm&$ zIQnQ|VMBu-h0rfwz7&H8#c;8~(#*_^*iT1CM?l7ITqC$$e(yU+Vq)T!U1rl+UHc8ps3;(>r#&_GH`iq~H1>+6x#TGEPxeYh=~ z42|w(Wo1-TQzQ9RL_~xDL(WxNT1wT`)gf!fHjMxXRy!^(PNF+pZB$g00D<6l@7}c( zlx?RL+%AO2<=MD-gQb;WI}l&AF>Yzk4G>?(d>V1Yb?45V*LH!xs`K7~rlzK3lV#Kd z_9$?}02GRL!j`uC0)c&cR#q0WRWA@vVS%!IG-3n;jX+c9B95pLPfkwCzTBMsj*pL9(u%DbK`zzb-+wF(QG@U6>myGA zB&2uS?zM7qa%6W1ucg`msJy(q^W(L2t81>5KzQuk&ul-UIg_ZCSJldX!s-YKi1J$N zR2WFnap^r@L!a^GwU7b3A=FiKD)BO`-eym%q=-QC^Z3Zhw11%Vx5Yip~dBgWDw zwA#|r;*IuU2Lb^hL}q5D2!dK|b91xYLk?A3Tuc)a6HMQmQM2?w{q{@|412Ty;*Z@Wm17DDId z=8Djjm6de;`gH-QtpZ$TJ5VEsMxiY@hr+@_s;H>&X23y?19W@22mhxN&3OHxK&b_K zAYX!;O-oCY)rX(ZLP!r?&XOM@aho1__G%PqsUNHR77oUZJ$K>Ahdy=J6hXsfWcCGT4M^D zoZR^m!wzI~1g)S$)zHuoYGdb<_O#^#0}u)YXt-P0fxmo78=pf%L-O5Vqxp#k2CN?8 zP~Hc_bB#GcfH?UGhk+)R4%Gx3%mM@u@Sz%`l^x;+uj>EI-`{bffI)rDt}>SA&*Ef| x@ZRYeY>V$XXujrv`x9jQ>@g?9!{_qg*#}24lR0({C0hUh002ovPDHLkV1h;YPx$}< literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.icns b/src-tauri/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..2530eb7b61e51a30281d5352ea7f6b10449f3bbe GIT binary patch literal 84015 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 J<^Mjk@ISkJks<&9 literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.ico b/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..0c9dba57f804c1d214e86ed350698d51a31a2cc0 GIT binary patch literal 18753 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 Q`nMJae*Mh)w=FvV4ZrgSVE_OC literal 0 HcmV?d00001 diff --git a/src-tauri/icons/icon.png b/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..145c555ee14aec61e954f9d1866f3ba61a1f9e8c GIT binary patch literal 18725 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 Result<(), String> { + match open::that_detached(path) { + Ok(_) => Ok(()), + Err(error) => Err(error.to_string()), + } +} + +#[tauri::command] +fn base64_encode(bytes: Vec) -> String { + base64::engine::general_purpose::STANDARD.encode(&bytes) +} + +#[tauri::command] +fn make_gemini_request(url: url::Url) -> Result { + match gemini_lib::make_request(url) { + Ok(response) => Ok(response), + Err(error) => Err(error.to_string()), + } +} + +fn main() { + tauri::Builder::default() + .invoke_handler(tauri::generate_handler![ + make_gemini_request, + base64_encode, + open_detached + ]) + .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..a14cae3 --- /dev/null +++ b/src-tauri/tauri.conf.json @@ -0,0 +1,64 @@ +{ + "$schema": "https://schema.tauri.app/config/1", + "build": { + "beforeDevCommand": "pnpm dev", + "beforeBuildCommand": "pnpm build", + "devPath": "http://localhost:1420", + "distDir": "../dist" + }, + "package": { + "productName": "Jimini", + "version": "0.1.0" + }, + "tauri": { + "allowlist": { + "all": false, + "path": { + "all": true + }, + "fs": { + "all": false, + "writeFile": true + }, + "dialog": { + "all": false, + "save": true + } + }, + "cli": { + "description": "Jimini", + "longDescription": "", + "beforeHelp": "", + "afterHelp": "", + "args": [ + { + "name": "url", + "index": 1, + "takesValue": true + } + ] + }, + "windows": [ + { + "title": "Jimini", + "width": 800, + "height": 800 + } + ], + "security": { + "csp": null + }, + "bundle": { + "active": true, + "targets": "all", + "identifier": "psobolik.jimini.app", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ] + } + } +} diff --git a/src/App.css b/src/App.css new file mode 100644 index 0000000..f2e1172 --- /dev/null +++ b/src/App.css @@ -0,0 +1,271 @@ +:root { + --footer-border-color: #00000050; + + --color: #0f0f0f; + --background-color: #f6f6f6; + + --input-color: #0f0f0f; + --input-background-color: #ffffff; + --input-box-shadow-color: #00000050; + --button-hover-border-color: #4561ff; + --button-hover-background-color: #0000ff20; + --button-border-color: #0000007f; + + --button-disabled-color: #999; + --button-disabled-border-color: transparent; + --button-disabled-active-background-color: #ffffff22; + + --button-active-border-color: #396cd8; + --button-active-background-color: #0f0f0f69; + + --error-color: #ffffff; + --error-background-color: #ff0000; + --error-border-color: #440000; + + --info-color: #0f0f00; + --info-background-color: #ffff00; + --info-border-color: #2f2f00; + + --quote-border-color: #888; + --quote-background-color: #e0e0e0; + + --pre-background-color: #f0f0f0; + + --link-color: #0f0ff0; + + --svg-buton-stroke: #808080; + --svg-button-disabled-stroke: #ccc; + + --dialog-color: #0f0f0f; + --dialog-background-color: #f6f6f6; + + --loading-color: #f0f000; + + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 1.2em; + font-weight: 400; + + color: var(--color); + background-color: var(--background-color); + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +html { + position: relative; + min-height: 100%; +} +body { + margin: 0; + padding: 1.5em 0.5em; +} +header { + background-color: var(--background-color); + position: fixed; + width: 100%; + left: 0; + top: 0; + display: flex; + flex-direction: row; + column-gap: 0.15em; + height: 1.5em; +} +footer { + font-size: 0.95em; + background-color: var(--background-color); + position: fixed; + left: 0; + bottom: 0; + width: 100%; + padding: 0 0.25em; + height: 1.2em; + overflow: hidden; + border-top: solid 1px var(--footer-border-color); +} +h1, h2, h3 { + line-height: 1.2em; + margin-block-start: 0.25em; + margin-block-end: 0.25em; +} + +input, +button { + border-radius: 4px; + outline: none; + border: 1px solid var(--button-border-color); + color: var(--input-color); + background-color: var(--input-background-color); + padding: 0.25em 0.5em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + transition: border-color 0.25s; + box-shadow: 0 2px 2px var(--input-box-shadow-color); +} +button { + cursor: pointer; +} +button:hover { + background-color: var(--button-hover-background-color); + border-color: var(--button-hover-border-color); +} +button:active { + border-color: var(--button-active-border-color); + background-color: var(--button-active-background-color); +} +button:disabled { + cursor: not-allowed; + color: var(--button-disabled-color); + border-color: var(--button-disabled-border-color); + background-color: var(--button-disabled-active-background-color); +} +img { + scale: .9; +} +.container { + margin: 0; + padding: 0.5em 0; + display: flex; + flex-direction: column; +} +#success div.text { + white-space: pre-wrap; +} +#success div.text:before { + content: '\200b'; +} +#gemini-url-input { + flex: auto; +} +#info, #gemini_error { + font-size: larger; + text-align: center; + padding: 1em; + margin: 0.5em; + border: thin solid transparent; +} +#info { + background-color: var(--info-background-color); + color: var(--info-color); + border-color: var(--info-border-color); +} +#gemini_error { + background-color: var(--error-background-color); + color: var(--error-color); + border-color: var(--error-border-color); +} +.plain { + font-family: monospace; +} +.quote { + padding: 0.5em; + margin: 0.75em 0; + border-left: solid 0.125em var(--quote-border-color); + background-color: var(--quote-background-color); +} +pre { + font-family: monospace; + font-size: smaller; + padding: 0.5em; + margin: 0.75em 0; + background-color: var(--pre-background-color); + overflow: scroll; +} +pre div { + line-height: 1.15; +} +.list-item { + margin-left: 1em; + padding-bottom: 0.5em; +} +.list-item:before { + margin-left: -1em; + font-family: monospace; + content: "\2022"; +} +.link { + cursor: pointer; + text-decoration-line: underline; + color: var(--link-color); +} +.nav-button { + padding: 0.5em; +} +.nav-button svg { + stroke-width: 0.75; + stroke: var(--input-color); + width: 16px; + height: 16px; +} +.nav-button:disabled svg { + stroke: var(--button-disabled-color); +} +#next-button.nav-button svg { + transform: translate(0.125em,-0.3em) rotate(90deg); +} +#previous-button.nav-button svg { + transform: translate(-0.125em,-0.3em) rotate(-90deg); +} +dialog::backdrop { + background-color: rgba(0, 0, 0, 0.5); +} +dialog { + position: relative; + color: var(--dialog-color); + background-color: var(--dialog-background-color); + max-width: 20rem; + padding: 1rem; + border: solid 4px black; + border-radius: 0.5rem; + box-shadow: 0.25em 0.25em 0.5rem 0.25rem var(--input-box-shadow-color); +} +dialog .button-container { + column-gap: 0.15em; + display: flex; + flex-direction: row; +} +dialog .button-container button { + flex: 1; + margin-top: 1.5em; +} +div .loading { + text-align: center; + padding: 0.5em; + color: var(--loading-color); + font-size: larger; + font-weight: bold; + display: block; +} +div .not-loading { + display: none; +} +@media (prefers-color-scheme: dark) { + :root { + /* Redefine some colors in dark mode */ + --color: #f6f6f6; + --background-color: #2f2f2f; + --footer-border-color: #ffffff50; + --input-color: #ffffff; + --input-background-color: #ffffff22; + --error-color: #ff0000; + --error-background-color: #0e0e0e; + --error-border-color: #ff0000; + --info-color: #ffff00; + --info-background-color: #0e0e0e; + --info-border-color: #ffff00; + --quote-border-color: #ffffff88; + --quote-background-color: #0f0f0f77; + --pre-background-color: #ffffff22; + --link-color: #b9b8ea; + --svg-buton-stroke: #fff; + --svg-button-disabled-stroke: #999; + --dialog-color: #f6f6f6; + --dialog-background-color: #0f0f0f; + } +} + diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..85244e2 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,360 @@ +import "./App.css"; +import React from "react"; +import Redirect from "./Data/Redirect.ts"; +import Failure from "./Data/Failure.ts"; +import Success, {SuccessResult} from "./Data/Success.ts" +import Prompt from "./Data/Prompt.ts"; +import Util from "./Util.ts"; +import GeminiLine, {LineType} from "./Data/GeminiLine.ts"; +import GeminiLink from "./Data/GeminiLink.ts"; +import Tauri from "./Tauri.ts"; +import UrlHistory from "./UrlHistory.ts"; +import InputDialog from "./dialogs/InputDialog.tsx"; +import {getMatches} from "@tauri-apps/api/cli"; +import {downloadDir} from "@tauri-apps/api/path"; +import {GeminiResponse} from "./Data/GeminiResponse.ts"; +import {save} from "@tauri-apps/api/dialog"; +import { writeBinaryFile } from "@tauri-apps/api/fs"; +import Certificate from "./Data/Certificate.ts"; + +function App() { + const URL_HISTORY_CAPACITY = 20; + + const [info, setInfo] = React.useState(""); + const [geminiError, setGeminiError] = React.useState(""); + const [urlString, setUrlString] = React.useState(""); + const [urlInputString, setUrlInputString] = React.useState(""); + const [success, setSuccess] = React.useState(undefined); + const [inlineImageSrc, setInlineImageSrc] = React.useState(""); + const [noHistory, setNoHistory] = React.useState(false); + const [urlHistory, _setUrlHistory] = React.useState(new UrlHistory(URL_HISTORY_CAPACITY)); + const [promptForSensitiveInput, setPromptForSensitiveInput] = React.useState(false); + const [promptForInput, setPromptForInput] = React.useState(false); + const [dialogContent, setDialogContent] = React.useState(<>); + const [loading, setLoading] = React.useState(false); + const [footer, setFooter] = React.useState(""); + + React.useEffect(() => { + window.addEventListener("keyup", onKeyUp); + return () => window.removeEventListener("keyup", onKeyUp); + }, []) + React.useEffect(() => { + getMatches().then((matches) => { + if (matches.args.url.value) { + setUrlString(matches.args.url.value.toString()); + } else { + const lines = [ + "```", + " _ _ _ _", + " {_} {_} {_} {_}", + " _ _ _ __ ___ _ _ __ _ ", + " | | | | | '_ ` _ \\ | | | '_ \\ | |", + " | | | | | | | | | | | | | | | | | |", + " _ | | |_| |_| |_| |_| |_| |_| |_| |_|", + " | |__| |", + " \\____/ A Gemini Protocol Browser", + "```" + ]; + localSuccess(lines.join("\n")); + } + }) + return () => setUrlString(""); + }, []) + React.useEffect(() => { + if (urlString) { + makeRequest().then(); + } + }, [urlString]); + + const localSuccess = (message: string) => { + const body = []; + for (let i = 0; i < message.length; ++i) { + body.push(message.charCodeAt(i)) + } + const successResult: SuccessResult = ({ + code: "20", + status: "20 text/gemini", + mime_type: "text/gemini", + body: body + }) as SuccessResult; + setSuccess(new Success(successResult)) + } + const makeRequest = async () => { + setLoading(true); + + const url = Util.toUrl(urlString); + if (url.protocol === "gemini:") { + setUrlInputString(urlString); + setGeminiError(""); + setInfo(""); + setSuccess(undefined); + setInlineImageSrc(undefined); + setFooter(""); + + // This timeout gives the UI enough time to display the loading message, + // but the UI freezes during the Tauri call, so we aren't bothering with + // animation. + setTimeout(() => { + Tauri.makeGeminiRequest(url) + .then(result => { + setLoading(false); + setResult(result, url) + }) + .catch(error => { + if (!noHistory) { + urlHistory.add(url); + } + setLoading(false); + setGeminiError(error); + }); + }, 100) + } else { + // Pass requests for everything except "gemini:" off to the OS. + // open_detached doesn't necessarily return an error if it doesn't do anything, + // so this might fail silently. + Tauri.open_detached(urlString) + .finally(() => setLoading(false)) + .catch(error => setGeminiError(error)); + } + } + const saveOctets = (url: URL, octets: number[]) => { + const getSavePath = async (url: URL) => { + const suggestedFilename = url.toString(); + return await save({ + defaultPath: `${await downloadDir()}/${suggestedFilename}` + }); + } + getSavePath(url) + .then(savePath => { + if (savePath) { + writeBinaryFile(savePath, octets).then(); + } + }) + } + const onKeyUp = async (e: KeyboardEvent) => { + if (e.altKey) { + switch (e.key) { + case "ArrowLeft": + previous(); + break; + case "ArrowRight": + next(); + break; + } + } + } + const onUrlKeyUp = async (event: React.KeyboardEvent) => { + if (event.key === "Enter") { + event.preventDefault(); + doRequest(); + } + } + const doRequest = () => { + setNoHistory(false); + const split = urlInputString.split("://", 2); + setUrlString(split.length < 2 ? `gemini://${urlInputString}` : urlInputString); + } + const setResult = (result: GeminiResponse, url: URL) => { + if (result.prompt) { + const prompt = new Prompt(result.prompt); + if (!noHistory) { + urlHistory.add(url); + } + setDialogContent(

    {prompt.prompt}

    ); + if (prompt.isSensitive()) { + setPromptForSensitiveInput(true); + } else { + setPromptForInput(true); + } + } else if (result.success) { + const success = new Success(result.success); + // Only add the URL to the history if we weren't asked not to, and we're going to display something + if (!noHistory) { + urlHistory.add(url); + } + if (success.isGemini() || success.isText()) { + setSuccess(success); + } else if (success.isImage()) { + Tauri.base64_encode(success.body) + .then(data => { + setInlineImageSrc(`data:${success.mimeType?.toString()};base64,${data}`); + }) + } else { + // localSuccess(`### Can't display MIME type "${success.mimeType}"\n`); + setInfo(`Can't display MIME type "${success.mimeType}"\n`) + saveOctets(url, success.body); + } + } + else if (result.redirect) { + const redirect = new Redirect(result.redirect); + setNoHistory(!redirect.isPermanent()); + setUrlString(new URL(redirect.url, urlString).toString()); + } + else if (result.failure) { + const failure = new Failure(result.failure); + if (!noHistory) { + urlHistory.add(url); + } + setGeminiError(failure.toString()); + } else if (result.certificate) { + const certificate = new Certificate(result.certificate) + if (!noHistory) { + urlHistory.add(url); + } + setInfo(`Unsupported response: ${certificate.toString()}`); + + } + } + + function onLinkClick(target: HTMLElement) { + let link = target.dataset.link; + if (link) { + setNoHistory(false); + setUrlString(new URL(link, urlInputString).toString()); + } + } + + const onLinkHover = (target: HTMLElement, show: boolean) => { + if (show) { + let link = target.dataset.link; + if (link) { + setFooter(new URL(link, urlInputString).toString()); + } + } else setFooter(""); + } + const formatGeminiSuccess = (success: Success) => { + let preformattedChildren: React.ReactNode[] = []; + let preformat = false; + const lines: React.ReactNode[] = []; + success.lines().forEach((line, index) => { + const geminiLine = GeminiLine.parseLine(line); + if (geminiLine.type === LineType.PreformatToggle) { + if (!preformat) { + preformattedChildren = []; + } else { + lines.push(
    {preformattedChildren}
    ); + } + preformat = !preformat; + } else if (preformat) { + preformattedChildren.push(
    {line}
    ); + } else switch (geminiLine.type) { + case LineType.Link: + const link = GeminiLink.parseString(geminiLine.text ?? ""); + lines.push(
    + onLinkHover(e.target as HTMLElement, true)} + onMouseLeave={e => onLinkHover(e.target as HTMLElement, false)} + onClick={e => onLinkClick(e.target as HTMLElement)}>{link.name} + +
    ); + break; + case LineType.Heading1: + lines.push(

    {geminiLine.text}

    ); + break; + case LineType.Heading2: + lines.push(

    {geminiLine.text}

    ); + break; + case LineType.Heading3: + lines.push(

    {geminiLine.text}

    ); + break; + case LineType.ListItem: + lines.push(
    {geminiLine.text}
    ); + break; + case LineType.Quote: + lines.push(
    {geminiLine.text}
    ); + break; + default: + lines.push(
    {line}
    ); + } + }); + return lines; + } + const formatPlainSuccess = (success: Success) => { + return
    {success.lines().map((line, index) =>
    {line}
    )}
    + } + const formatSuccess = () => { + return
    {success ? success.isGemini() ? formatGeminiSuccess(success) : formatPlainSuccess(success) : <>}
    + } + const formatError = () => { + return geminiError ?

    {geminiError}

    : <>; + } + const formatImage = () => { + return inlineImageSrc ? {urlString} : <>; + } + const formatInfo = () => { + return info ?

    {info}

    : <> + } + const previous = () => { + let previousUrl = urlHistory.previousUrl(); + if (previousUrl) { + setNoHistory(true); + setUrlString(previousUrl.toString()); + } + } + const next = () => { + let nextUrl = urlHistory.nextUrl(); + if (nextUrl) { + setNoHistory(true); + setUrlString(nextUrl.toString()); + } + } + const closeInputDialog = () => { + setPromptForInput(false); + setPromptForSensitiveInput(false); + } + const finishInput = () => { + closeInputDialog(); + urlHistory.removeCurrentUrl(); + setNoHistory(true); + } + const onInput = (value: string) => { + finishInput(); + setUrlString(`${urlInputString}?${value}`); // Navigate to URL with parameter + } + const onInputCancel = () => { + finishInput(); + setUrlString(urlHistory.currentUrl()?.toString() ?? ""); + } + return (<> +
    + + + setUrlInputString(e.target.value)} + onKeyUp={onUrlKeyUp} + /> + +
    +
    +
    Loading...
    + {formatInfo()} + {formatError()} + {formatSuccess()} + {formatImage()} + +
    +
    {footer}
    + + + + + + ); +} + +export default App; diff --git a/src/Data/Certificate.ts b/src/Data/Certificate.ts new file mode 100644 index 0000000..748006d --- /dev/null +++ b/src/Data/Certificate.ts @@ -0,0 +1,18 @@ +export interface CertificateResult { + status: string, + code: string, + message: string, +} +export default class Certificate { + code: string; + message: string; + + constructor(certificateResult: CertificateResult) { + this.code = certificateResult.code; + this.message = certificateResult.message; + } + + toString = () => { + return `${this.code} - ${this.message}`; + } +} diff --git a/src/Data/Failure.ts b/src/Data/Failure.ts new file mode 100644 index 0000000..bf5cb52 --- /dev/null +++ b/src/Data/Failure.ts @@ -0,0 +1,19 @@ +export interface FailureResult { + status: string, + code: string, + message: string, +} +export default class Failure { + code: string; + message: string; + + constructor(failureResult: FailureResult) { + this.code = failureResult.code; + this.message = failureResult.message; + } + isPermanent = () => this.code.startsWith("5"); + + toString = () => { + return `${this.code} - ${this.message}`; + } +} diff --git a/src/Data/GeminiLine.ts b/src/Data/GeminiLine.ts new file mode 100644 index 0000000..e3df4e4 --- /dev/null +++ b/src/Data/GeminiLine.ts @@ -0,0 +1,44 @@ +export enum LineType { + Text, + Link, + PreformatToggle, + Heading1, + Heading2, + Heading3, + ListItem, + Quote +} +export default class GeminiLine { + type: LineType; + text: string | undefined; + + constructor(type: LineType, text: string | undefined) { + this.type = type; + this.text = text; + } + + static parseLine = (line: string): GeminiLine => { + if (line.startsWith("```")) { + return new GeminiLine(LineType.PreformatToggle, undefined); + } + if (line.startsWith("###")) { + return new GeminiLine(LineType.Heading3, line.slice(3)); + } + if (line.startsWith("##")) { + return new GeminiLine(LineType.Heading2, line.slice(2)); + } + if (line.startsWith("#")) { + return new GeminiLine(LineType.Heading1, line.slice(1)); + } + if (line.startsWith("=>")) { + return new GeminiLine(LineType.Link, line.slice(2)); + } + if (line.startsWith(">")) { + return new GeminiLine(LineType.Quote, line.slice(1)); + } + if (line.startsWith("*")) { + return new GeminiLine(LineType.ListItem, line.slice(1)); + } + return new GeminiLine(LineType.Text, line); + } +} diff --git a/src/Data/GeminiLink.ts b/src/Data/GeminiLink.ts new file mode 100644 index 0000000..32ce839 --- /dev/null +++ b/src/Data/GeminiLink.ts @@ -0,0 +1,23 @@ +export default class GeminiLink { + link: string; + name: string; + + constructor(link: string, name: string) { + this.link = link; + this.name = name; + } + static parseString(s: string): GeminiLink { + // =>[][] + // "=>" *WSP URI-reference [1*WSP 1*(SP / VCHAR)] *WSP CRLF + let link: string = ""; + let name: string = ""; + + let regexp = /(?\S+)\s?(?.*)/ + let array = regexp.exec(s); + if (array && array.groups) { + link = array.groups.link ?? ""; + name = array.groups.name ?? ""; + } + return new GeminiLink(link.trim(), name ? name.trim() : link.trim()); + } +} \ No newline at end of file diff --git a/src/Data/GeminiMimeType.ts b/src/Data/GeminiMimeType.ts new file mode 100644 index 0000000..587d86b --- /dev/null +++ b/src/Data/GeminiMimeType.ts @@ -0,0 +1,70 @@ +export class Parameter { + attribute: string; + value: string; + + constructor(attribute: string, value: string) { + this.attribute = attribute; + this.value = value; + } +} + +export default class GeminiMimeType { + type: string; + subtype: string; + parameters?: Parameter[]; + + constructor(type: string, subtype: string, parameters?: Parameter[]) { + this.type = type; + this.subtype = subtype; + this.parameters = parameters; + } + + static fromContentType = (contentType: string): GeminiMimeType => { + let type: string = ""; + let subtype: string = ""; + let parameters: Parameter[] | undefined = undefined; + + // This is not very strictly conforming... + const type_params = contentType.split(";") + if (type_params.length > 0) { + let temp: string = ""; + const type_subtype = type_params[0].split("/"); + if (type_subtype.length > 0) { + temp = type_subtype[0].trim(); + if (temp) type = temp.toLowerCase(); + if (type_subtype.length > 1) { + temp = type_subtype[1].trim(); + if (temp) subtype = temp.toLowerCase(); + } + } + if (type_params.length > 1) { + parameters = []; + for (let i = 1; i < type_params.length; ++i) { + const att_val = type_params[i].split("="); + if (att_val.length === 2 && att_val[0].trim() && att_val[1].trim()) + parameters.push(new Parameter(att_val[0].trim().toLowerCase(), att_val[1].trim().toLowerCase())) + } + } + } + return new GeminiMimeType(type, subtype, parameters) + } + public toString = (): string => { + let s = `${this.type}/${this.subtype}`; + if (this.parameters) { + for (let i = 0; i < this.parameters.length; ++i) { + s += `;${this.parameters[i].attribute}=${this.parameters[i].value}` + } + } + return s; + } + public debug = (): string => { + let s = `{ type: "${this.type}"; subtype: "${this.subtype}";`; + if (this.parameters) { + for (let i = 0; i < this.parameters.length; ++i) { + s += ` p${i + 1}: ${this.parameters[i].attribute} = ${this.parameters[i].value};` + } + } + s += " }"; + return s; + } +} \ No newline at end of file diff --git a/src/Data/GeminiResponse.ts b/src/Data/GeminiResponse.ts new file mode 100644 index 0000000..54317c5 --- /dev/null +++ b/src/Data/GeminiResponse.ts @@ -0,0 +1,14 @@ +import {SuccessResult} from "./Success.ts"; +import {FailureResult} from "./Failure.ts"; +import {PromptResult} from "./Prompt.ts"; +import {RedirectResult} from "./Redirect.ts"; +import {CertificateResult} from "./Certificate.ts"; + +export interface GeminiResponse { + tag: string, + prompt: PromptResult | undefined; + redirect: RedirectResult | undefined; + success: SuccessResult | undefined; + failure: FailureResult | undefined; + certificate: CertificateResult | undefined; +} diff --git a/src/Data/Prompt.ts b/src/Data/Prompt.ts new file mode 100644 index 0000000..77f64f8 --- /dev/null +++ b/src/Data/Prompt.ts @@ -0,0 +1,18 @@ +export interface PromptResult { + status: string, + code: string, + prompt: string, +} + +export default class Prompt implements PromptResult { + status: string; + code: string; + prompt: string; + + constructor(promptResult: PromptResult) { + this.status = promptResult.status; + this.code = promptResult.code; + this.prompt = promptResult.prompt; + } + isSensitive = () => this.code == "11"; +} \ No newline at end of file diff --git a/src/Data/Redirect.ts b/src/Data/Redirect.ts new file mode 100644 index 0000000..683ab19 --- /dev/null +++ b/src/Data/Redirect.ts @@ -0,0 +1,16 @@ +export interface RedirectResult { + status: string, + code: string, + url: string, +} +export default class Redirect implements RedirectResult { + status: string; + code: string; + url: string; + constructor(redirectResult: RedirectResult) { + this.status = redirectResult.status; + this.code = redirectResult.code; + this.url = redirectResult.url; + } + isPermanent = () => this.code == "31"; +} \ No newline at end of file diff --git a/src/Data/Success.ts b/src/Data/Success.ts new file mode 100644 index 0000000..305ccbf --- /dev/null +++ b/src/Data/Success.ts @@ -0,0 +1,42 @@ +import Util from "../Util.ts"; +import GeminiMimeType from "./GeminiMimeType.ts"; + +export interface SuccessResult { + status: string, + code: string, + mime_type: string, + body: number[], +} +export default class Success { + code: string; + body: number[]; + mimeType: GeminiMimeType; + + constructor(successResult: SuccessResult) { + this.code = successResult.code; + this.mimeType = GeminiMimeType.fromContentType(successResult.mime_type); + this.body = successResult.body; + } + public isText = (): boolean => { + return this.mimeType?.type === "text"; + } + public isGemini = (): boolean => { + return this.isText() && this.mimeType?.subtype === "gemini"; + } + public isImage = (): boolean => { + return this.mimeType?.type === "image"; + } + public text = (): string => { + return Util.bin2String(this.body) + } + public lines = (): string[] => { + return this.text().split(/\r?\n/); + } + public debug = (): string => { + let s = `Success: {\n\tcode: ${this.code}\n`; + s += `\tmime type: ${this.mimeType?.debug()}` + s += this.isText() ? `\ttext: "${this.text()}"\n` : "\t** binary **\n"; + s += "\n}" + return s; + } +} diff --git a/src/Tauri.ts b/src/Tauri.ts new file mode 100644 index 0000000..6b066cd --- /dev/null +++ b/src/Tauri.ts @@ -0,0 +1,14 @@ +import {invoke} from "@tauri-apps/api/tauri"; +import {GeminiResponse} from "./Data/GeminiResponse.ts"; + +export default class Tauri { + static makeGeminiRequest = (url: URL): Promise => { + return invoke("make_gemini_request", {url: url}); + } + static base64_encode = (bytes: number[] | undefined): Promise => { + return invoke("base64_encode", {bytes: bytes}); + } + static open_detached = (path: string): Promise => { + return invoke("open_detached", {path: path}); + } +} diff --git a/src/UrlHistory.ts b/src/UrlHistory.ts new file mode 100644 index 0000000..225a73b --- /dev/null +++ b/src/UrlHistory.ts @@ -0,0 +1,51 @@ +export default class UrlHistory { + capacity: number; + index: number; + history: URL[]; + + constructor(capacity: number) { + this.capacity = capacity; + this.index = -1; + this.history = []; + } + // This deletes everything after the current item + // and then adds the new item to the end of the list + public add = (item: URL) => { + // If this item would exceed capacity, remove the oldest item first. + if (this.index + 1 >= this.capacity) { + this.history.shift() + --this.index; + } + this.history.splice(++this.index, this.history.length, item); + } + public currentUrl = (): URL | undefined => { + if (this.history.length === 0) return undefined; + if (!this.index) this.index = 0; + return this.history[this.index]; + } + public hasPreviousUrl = (): boolean => { + return this.history.length > 1 && this.index > 0; + } + public previousUrl = (): URL | undefined => { + return this.hasPreviousUrl() + ? this.history[--this.index] + : undefined; + } + public removeCurrentUrl = (): URL | undefined => { + if (this.history.length === 1) { + this.history.pop(); + } else if (this.hasPreviousUrl()) { + this.history.splice(this.index--, 1); + return this.history[this.index]; + } + return undefined; + } + public hasNextUrl = (): boolean => { + return this.history.length > 1 && this.index + 1 < this.history.length; + } + public nextUrl = (): URL | undefined => { + return this.hasNextUrl() + ? this.history[++this.index] + : undefined; + } +} \ No newline at end of file diff --git a/src/Util.ts b/src/Util.ts new file mode 100644 index 0000000..2c6bc89 --- /dev/null +++ b/src/Util.ts @@ -0,0 +1,18 @@ +export default class Util { + // https://dirask.com/posts/TypeScript-convert-bytes-array-to-string-1xN2xp + // Converts a byte array into a string by making a string of each byte converting + // into a URI-escaped value and then letting decodeURIComponent decode the string. + // This allows for Unicode graphemes! + static bin2String = (bytes: number[]): string => { + let chars: string[] = []; + for (let i = 0; i < bytes.length; ++i) { + const byte = bytes[i]; + chars.push((byte < 16 ? '%0' : '%') + byte.toString(16)); + } + return decodeURIComponent(chars.join('')); + }; + static toUrl = (urlString: string): URL => { + const parts = urlString.split("://"); + return new URL(parts.length == 1 ? `gemini://${parts[0]}` : urlString); + } +} \ No newline at end of file diff --git a/src/dialogs/InputDialog.tsx b/src/dialogs/InputDialog.tsx new file mode 100644 index 0000000..a587170 --- /dev/null +++ b/src/dialogs/InputDialog.tsx @@ -0,0 +1,70 @@ +import React from "react"; + +interface InputDialogProps { + isOpen: boolean; + onInput: (input: string) => void; + onCancel: () => void; + dialogContent: React.ReactNode; + isSensitive: boolean; +} + +const InputDialog: React.FunctionComponent = (props) => { + const [showOpen, setShowOpen] = React.useState(false); + const [inputText, setInputText] = React.useState(""); + + const modalRef = React.createRef(); + + // Set the modalOpen state to match the current isOpen property + React.useEffect(() => { + setShowOpen(props.isOpen); + }, [props.isOpen]); + + // Show/hide the dialog to match the current modelOpen state + React.useEffect(() => { + if (!modalRef.current) return; + if (showOpen) { + modalRef.current.showModal(); + } else { + modalRef.current.close(); + } + }, [showOpen]) + + const onKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Escape') cancel(); + } + const onInputKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + e.preventDefault(); + e.stopPropagation(); + ok(); + } + } + const cancel = () => { + if (props.onCancel) props.onCancel(); + setShowOpen(false); + } + const ok = () => { + // The caller will close the dialog if the input is acceptable + props.onInput(inputText); + } + + return + {props.dialogContent} + setInputText(e.target.value)} + onFocus={(e) => { + e.target.select(); + }} + /> +
    + + +
    +
    +} +export default InputDialog; diff --git a/src/main.tsx b/src/main.tsx new file mode 100644 index 0000000..2be325e --- /dev/null +++ b/src/main.tsx @@ -0,0 +1,9 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + , +); diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..d8bd313 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "allowSyntheticDefaultImports": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..0c9adff --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; + +// https://vitejs.dev/config/ +export default defineConfig(async () => ({ + plugins: [react()], + + // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` + // + // 1. prevent vite from obscuring rust errors + clearScreen: false, + // 2. tauri expects a fixed port, fail if that port is not available + server: { + port: 1420, + strictPort: true, + watch: { + // 3. tell vite to ignore watching `src-tauri` + ignored: ["**/src-tauri/**"], + }, + }, +}));