├── .gitignore ├── README.md ├── backend ├── .gitignore ├── .vscode │ └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── src-tauri │ ├── .gitignore │ ├── Cargo.lock │ ├── Cargo.toml │ ├── build.rs │ ├── icons │ │ ├── 128x128.png │ │ ├── 128x128@2x.png │ │ ├── 32x32.png │ │ ├── Square107x107Logo.png │ │ ├── Square142x142Logo.png │ │ ├── Square150x150Logo.png │ │ ├── Square284x284Logo.png │ │ ├── Square30x30Logo.png │ │ ├── Square310x310Logo.png │ │ ├── Square44x44Logo.png │ │ ├── Square71x71Logo.png │ │ ├── Square89x89Logo.png │ │ ├── StoreLogo.png │ │ ├── icon.icns │ │ ├── icon.ico │ │ └── icon.png │ ├── src │ │ └── main.rs │ └── tauri.conf.json ├── src │ ├── assets │ │ ├── tauri.svg │ │ ├── typescript.svg │ │ └── vite.svg │ ├── main.ts │ └── styles.css ├── tsconfig.json └── vite.config.ts └── frontend ├── .env.example ├── .gitignore ├── README.md ├── app ├── api │ └── generate │ │ └── route.ts ├── bookmarks │ └── page.tsx ├── components │ ├── bookmark-button.tsx │ ├── create-bookmark-dialog.tsx │ ├── create-goal-dialog.tsx │ ├── dialog.tsx │ ├── editor.tsx │ ├── footer.tsx │ ├── goals-button.tsx │ ├── maximize-button.tsx │ ├── navbar.tsx │ ├── quit-button.tsx │ └── tooltip.tsx ├── favicon.ico ├── globals.css ├── goals │ └── page.tsx ├── home │ └── page.tsx ├── layout.tsx ├── note │ └── [date] │ │ └── page.tsx └── page.tsx ├── lib ├── hooks │ └── use-global-shorcut.ts ├── types │ ├── database.types.ts │ └── index.ts └── utils.ts ├── middleware.ts ├── next-env.d.ts ├── next.config.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── tailwind.config.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | image 2 | 3 |

Endo

4 | 5 |

6 | Dead-simple menubar app for taking notes on your mac. 7 |

8 | 9 | ## Introduction 10 | 11 | This is a [Next.js](https://nextjs.org/) and [Tauri](https://tauri.app/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app) and [`tauri init`](https://tauri.app/v1/guides/getting-started/setup/next-js/#create-the-rust-project). The text editor is an instance of [Tiptap](https://tiptap.dev/) bootstrapped using [Novel](https://novel.sh). The CSS is primarily [Tailwind](https://tailwindcss.com/docs). 12 | 13 | _Note: This repo is tested for macOS primarily, running on Windows may require additional debugging._ 14 | 15 | ## Getting Started 16 | 17 | First, make sure you are set up to run a Rust project. [Check documentation here](https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-macos). 18 | 19 | Clone the repo, install depedancies, and run the development server: 20 | 21 | ```bash 22 | cd backend 23 | npm install 24 | npm run tauri dev 25 | ``` 26 | 27 | The local instance of the app should show in your menubar at this point. 28 | 29 | If you want to run the frontend only: 30 | 31 | ```bash 32 | cd frontend 33 | npm run dev 34 | ``` 35 | 36 | The local dev server will run on `http://localhost:3000`. 37 | 38 | ## Build an app 39 | 40 | To build an app ready to be installed and used locally, run the following code 41 | 42 | ```bash 43 | cd backend 44 | npm run tauri build 45 | ``` 46 | 47 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 48 | 49 | ## Features 50 | 51 | - [x] Add global keyboard shortcut to toggle app 52 | - [x] `esc` hides app 53 | - [x] Add support for images 54 | - [ ] Add global reminders (reminders for tasks that are on a longer timescale) e.g: "Follow up with Adam on Monday" 55 | - [ ] Add timer in footer 56 | - [x] Add Supabase backend 57 | -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /backend/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["tauri-apps.tauri-vscode", "rust-lang.rust-analyzer"] 3 | } 4 | -------------------------------------------------------------------------------- /backend/README.md: -------------------------------------------------------------------------------- 1 | # Backend 2 | 3 | This project is bootstrapped with `create tauri-app` (Tauri + Vanilla TS). This directory is reponsible for creating the Tauri menubar window and for remotely calling the frontend using a URL. 4 | -------------------------------------------------------------------------------- /backend/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Endo 8 | 9 | 10 | 40 | 41 | 42 | 43 |
46 |

Endo

47 |
48 |

No Internet Connection.

49 | 55 |
56 |
57 | 58 | 59 | -------------------------------------------------------------------------------- /backend/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "version": "0.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "backend", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "@tauri-apps/api": "^1.4.0" 12 | }, 13 | "devDependencies": { 14 | "@tauri-apps/cli": "^1.4.0", 15 | "typescript": "^5.0.2", 16 | "vite": "^4.4.4" 17 | } 18 | }, 19 | "node_modules/@esbuild/android-arm": { 20 | "version": "0.18.20", 21 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", 22 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", 23 | "cpu": [ 24 | "arm" 25 | ], 26 | "dev": true, 27 | "optional": true, 28 | "os": [ 29 | "android" 30 | ], 31 | "engines": { 32 | "node": ">=12" 33 | } 34 | }, 35 | "node_modules/@esbuild/android-arm64": { 36 | "version": "0.18.20", 37 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", 38 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", 39 | "cpu": [ 40 | "arm64" 41 | ], 42 | "dev": true, 43 | "optional": true, 44 | "os": [ 45 | "android" 46 | ], 47 | "engines": { 48 | "node": ">=12" 49 | } 50 | }, 51 | "node_modules/@esbuild/android-x64": { 52 | "version": "0.18.20", 53 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", 54 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", 55 | "cpu": [ 56 | "x64" 57 | ], 58 | "dev": true, 59 | "optional": true, 60 | "os": [ 61 | "android" 62 | ], 63 | "engines": { 64 | "node": ">=12" 65 | } 66 | }, 67 | "node_modules/@esbuild/darwin-arm64": { 68 | "version": "0.18.20", 69 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", 70 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", 71 | "cpu": [ 72 | "arm64" 73 | ], 74 | "dev": true, 75 | "optional": true, 76 | "os": [ 77 | "darwin" 78 | ], 79 | "engines": { 80 | "node": ">=12" 81 | } 82 | }, 83 | "node_modules/@esbuild/darwin-x64": { 84 | "version": "0.18.20", 85 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", 86 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", 87 | "cpu": [ 88 | "x64" 89 | ], 90 | "dev": true, 91 | "optional": true, 92 | "os": [ 93 | "darwin" 94 | ], 95 | "engines": { 96 | "node": ">=12" 97 | } 98 | }, 99 | "node_modules/@esbuild/freebsd-arm64": { 100 | "version": "0.18.20", 101 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", 102 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", 103 | "cpu": [ 104 | "arm64" 105 | ], 106 | "dev": true, 107 | "optional": true, 108 | "os": [ 109 | "freebsd" 110 | ], 111 | "engines": { 112 | "node": ">=12" 113 | } 114 | }, 115 | "node_modules/@esbuild/freebsd-x64": { 116 | "version": "0.18.20", 117 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", 118 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", 119 | "cpu": [ 120 | "x64" 121 | ], 122 | "dev": true, 123 | "optional": true, 124 | "os": [ 125 | "freebsd" 126 | ], 127 | "engines": { 128 | "node": ">=12" 129 | } 130 | }, 131 | "node_modules/@esbuild/linux-arm": { 132 | "version": "0.18.20", 133 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", 134 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", 135 | "cpu": [ 136 | "arm" 137 | ], 138 | "dev": true, 139 | "optional": true, 140 | "os": [ 141 | "linux" 142 | ], 143 | "engines": { 144 | "node": ">=12" 145 | } 146 | }, 147 | "node_modules/@esbuild/linux-arm64": { 148 | "version": "0.18.20", 149 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", 150 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", 151 | "cpu": [ 152 | "arm64" 153 | ], 154 | "dev": true, 155 | "optional": true, 156 | "os": [ 157 | "linux" 158 | ], 159 | "engines": { 160 | "node": ">=12" 161 | } 162 | }, 163 | "node_modules/@esbuild/linux-ia32": { 164 | "version": "0.18.20", 165 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", 166 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", 167 | "cpu": [ 168 | "ia32" 169 | ], 170 | "dev": true, 171 | "optional": true, 172 | "os": [ 173 | "linux" 174 | ], 175 | "engines": { 176 | "node": ">=12" 177 | } 178 | }, 179 | "node_modules/@esbuild/linux-loong64": { 180 | "version": "0.18.20", 181 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", 182 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", 183 | "cpu": [ 184 | "loong64" 185 | ], 186 | "dev": true, 187 | "optional": true, 188 | "os": [ 189 | "linux" 190 | ], 191 | "engines": { 192 | "node": ">=12" 193 | } 194 | }, 195 | "node_modules/@esbuild/linux-mips64el": { 196 | "version": "0.18.20", 197 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", 198 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", 199 | "cpu": [ 200 | "mips64el" 201 | ], 202 | "dev": true, 203 | "optional": true, 204 | "os": [ 205 | "linux" 206 | ], 207 | "engines": { 208 | "node": ">=12" 209 | } 210 | }, 211 | "node_modules/@esbuild/linux-ppc64": { 212 | "version": "0.18.20", 213 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", 214 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", 215 | "cpu": [ 216 | "ppc64" 217 | ], 218 | "dev": true, 219 | "optional": true, 220 | "os": [ 221 | "linux" 222 | ], 223 | "engines": { 224 | "node": ">=12" 225 | } 226 | }, 227 | "node_modules/@esbuild/linux-riscv64": { 228 | "version": "0.18.20", 229 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", 230 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", 231 | "cpu": [ 232 | "riscv64" 233 | ], 234 | "dev": true, 235 | "optional": true, 236 | "os": [ 237 | "linux" 238 | ], 239 | "engines": { 240 | "node": ">=12" 241 | } 242 | }, 243 | "node_modules/@esbuild/linux-s390x": { 244 | "version": "0.18.20", 245 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", 246 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", 247 | "cpu": [ 248 | "s390x" 249 | ], 250 | "dev": true, 251 | "optional": true, 252 | "os": [ 253 | "linux" 254 | ], 255 | "engines": { 256 | "node": ">=12" 257 | } 258 | }, 259 | "node_modules/@esbuild/linux-x64": { 260 | "version": "0.18.20", 261 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", 262 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", 263 | "cpu": [ 264 | "x64" 265 | ], 266 | "dev": true, 267 | "optional": true, 268 | "os": [ 269 | "linux" 270 | ], 271 | "engines": { 272 | "node": ">=12" 273 | } 274 | }, 275 | "node_modules/@esbuild/netbsd-x64": { 276 | "version": "0.18.20", 277 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", 278 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", 279 | "cpu": [ 280 | "x64" 281 | ], 282 | "dev": true, 283 | "optional": true, 284 | "os": [ 285 | "netbsd" 286 | ], 287 | "engines": { 288 | "node": ">=12" 289 | } 290 | }, 291 | "node_modules/@esbuild/openbsd-x64": { 292 | "version": "0.18.20", 293 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", 294 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", 295 | "cpu": [ 296 | "x64" 297 | ], 298 | "dev": true, 299 | "optional": true, 300 | "os": [ 301 | "openbsd" 302 | ], 303 | "engines": { 304 | "node": ">=12" 305 | } 306 | }, 307 | "node_modules/@esbuild/sunos-x64": { 308 | "version": "0.18.20", 309 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", 310 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", 311 | "cpu": [ 312 | "x64" 313 | ], 314 | "dev": true, 315 | "optional": true, 316 | "os": [ 317 | "sunos" 318 | ], 319 | "engines": { 320 | "node": ">=12" 321 | } 322 | }, 323 | "node_modules/@esbuild/win32-arm64": { 324 | "version": "0.18.20", 325 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", 326 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", 327 | "cpu": [ 328 | "arm64" 329 | ], 330 | "dev": true, 331 | "optional": true, 332 | "os": [ 333 | "win32" 334 | ], 335 | "engines": { 336 | "node": ">=12" 337 | } 338 | }, 339 | "node_modules/@esbuild/win32-ia32": { 340 | "version": "0.18.20", 341 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", 342 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", 343 | "cpu": [ 344 | "ia32" 345 | ], 346 | "dev": true, 347 | "optional": true, 348 | "os": [ 349 | "win32" 350 | ], 351 | "engines": { 352 | "node": ">=12" 353 | } 354 | }, 355 | "node_modules/@esbuild/win32-x64": { 356 | "version": "0.18.20", 357 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", 358 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", 359 | "cpu": [ 360 | "x64" 361 | ], 362 | "dev": true, 363 | "optional": true, 364 | "os": [ 365 | "win32" 366 | ], 367 | "engines": { 368 | "node": ">=12" 369 | } 370 | }, 371 | "node_modules/@tauri-apps/api": { 372 | "version": "1.4.0", 373 | "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.4.0.tgz", 374 | "integrity": "sha512-Jd6HPoTM1PZSFIzq7FB8VmMu3qSSyo/3lSwLpoapW+lQ41CL5Dow2KryLg+gyazA/58DRWI9vu/XpEeHK4uMdw==", 375 | "engines": { 376 | "node": ">= 14.6.0", 377 | "npm": ">= 6.6.0", 378 | "yarn": ">= 1.19.1" 379 | }, 380 | "funding": { 381 | "type": "opencollective", 382 | "url": "https://opencollective.com/tauri" 383 | } 384 | }, 385 | "node_modules/@tauri-apps/cli": { 386 | "version": "1.4.0", 387 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.4.0.tgz", 388 | "integrity": "sha512-VXYr2i2iVFl98etQSQsqLzXgX96bnWiNZd1YADgatqwy/qecbd6Kl5ZAPB5R4ynsgE8A1gU7Fbzh7dCEQYFfmA==", 389 | "dev": true, 390 | "bin": { 391 | "tauri": "tauri.js" 392 | }, 393 | "engines": { 394 | "node": ">= 10" 395 | }, 396 | "funding": { 397 | "type": "opencollective", 398 | "url": "https://opencollective.com/tauri" 399 | }, 400 | "optionalDependencies": { 401 | "@tauri-apps/cli-darwin-arm64": "1.4.0", 402 | "@tauri-apps/cli-darwin-x64": "1.4.0", 403 | "@tauri-apps/cli-linux-arm-gnueabihf": "1.4.0", 404 | "@tauri-apps/cli-linux-arm64-gnu": "1.4.0", 405 | "@tauri-apps/cli-linux-arm64-musl": "1.4.0", 406 | "@tauri-apps/cli-linux-x64-gnu": "1.4.0", 407 | "@tauri-apps/cli-linux-x64-musl": "1.4.0", 408 | "@tauri-apps/cli-win32-arm64-msvc": "1.4.0", 409 | "@tauri-apps/cli-win32-ia32-msvc": "1.4.0", 410 | "@tauri-apps/cli-win32-x64-msvc": "1.4.0" 411 | } 412 | }, 413 | "node_modules/@tauri-apps/cli-darwin-arm64": { 414 | "version": "1.4.0", 415 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.4.0.tgz", 416 | "integrity": "sha512-nA/ml0SfUt6/CYLVbHmT500Y+ijqsuv5+s9EBnVXYSLVg9kbPUZJJHluEYK+xKuOj6xzyuT/+rZFMRapmJD3jQ==", 417 | "cpu": [ 418 | "arm64" 419 | ], 420 | "dev": true, 421 | "optional": true, 422 | "os": [ 423 | "darwin" 424 | ], 425 | "engines": { 426 | "node": ">= 10" 427 | } 428 | }, 429 | "node_modules/@tauri-apps/cli-darwin-x64": { 430 | "version": "1.4.0", 431 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.4.0.tgz", 432 | "integrity": "sha512-ov/F6Zr+dg9B0PtRu65stFo2G0ow2TUlneqYYrkj+vA3n+moWDHfVty0raDjMLQbQt3rv3uayFMXGPMgble9OA==", 433 | "cpu": [ 434 | "x64" 435 | ], 436 | "dev": true, 437 | "optional": true, 438 | "os": [ 439 | "darwin" 440 | ], 441 | "engines": { 442 | "node": ">= 10" 443 | } 444 | }, 445 | "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { 446 | "version": "1.4.0", 447 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.4.0.tgz", 448 | "integrity": "sha512-zwjbiMncycXDV7doovymyKD7sCg53ouAmfgpUqEBOTY3vgBi9TwijyPhJOqoG5vUVWhouNBC08akGmE4dja15g==", 449 | "cpu": [ 450 | "arm" 451 | ], 452 | "dev": true, 453 | "optional": true, 454 | "os": [ 455 | "linux" 456 | ], 457 | "engines": { 458 | "node": ">= 10" 459 | } 460 | }, 461 | "node_modules/@tauri-apps/cli-linux-arm64-gnu": { 462 | "version": "1.4.0", 463 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.4.0.tgz", 464 | "integrity": "sha512-5MCBcziqXC72mMXnkZU68mutXIR6zavDxopArE2gQtK841IlE06bIgtLi0kUUhlFJk2nhPRgiDgdLbrPlyt7fw==", 465 | "cpu": [ 466 | "arm64" 467 | ], 468 | "dev": true, 469 | "optional": true, 470 | "os": [ 471 | "linux" 472 | ], 473 | "engines": { 474 | "node": ">= 10" 475 | } 476 | }, 477 | "node_modules/@tauri-apps/cli-linux-arm64-musl": { 478 | "version": "1.4.0", 479 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.4.0.tgz", 480 | "integrity": "sha512-7J3pRB6n6uNYgIfCeKt2Oz8J7oSaz2s8GGFRRH2HPxuTHrBNCinzVYm68UhVpJrL3bnGkU0ziVZLsW/iaOGfUg==", 481 | "cpu": [ 482 | "arm64" 483 | ], 484 | "dev": true, 485 | "optional": true, 486 | "os": [ 487 | "linux" 488 | ], 489 | "engines": { 490 | "node": ">= 10" 491 | } 492 | }, 493 | "node_modules/@tauri-apps/cli-linux-x64-gnu": { 494 | "version": "1.4.0", 495 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.4.0.tgz", 496 | "integrity": "sha512-Zh5gfAJxOv5AVWxcwuueaQ2vIAhlg0d6nZui6nMyfIJ8dbf3aZQ5ZzP38sYow5h/fbvgL+3GSQxZRBIa3c2E1w==", 497 | "cpu": [ 498 | "x64" 499 | ], 500 | "dev": true, 501 | "optional": true, 502 | "os": [ 503 | "linux" 504 | ], 505 | "engines": { 506 | "node": ">= 10" 507 | } 508 | }, 509 | "node_modules/@tauri-apps/cli-linux-x64-musl": { 510 | "version": "1.4.0", 511 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.4.0.tgz", 512 | "integrity": "sha512-OLAYoICU3FaYiTdBsI+lQTKnDHeMmFMXIApN0M+xGiOkoIOQcV9CConMPjgmJQ867+NHRNgUGlvBEAh9CiJodQ==", 513 | "cpu": [ 514 | "x64" 515 | ], 516 | "dev": true, 517 | "optional": true, 518 | "os": [ 519 | "linux" 520 | ], 521 | "engines": { 522 | "node": ">= 10" 523 | } 524 | }, 525 | "node_modules/@tauri-apps/cli-win32-arm64-msvc": { 526 | "version": "1.4.0", 527 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-1.4.0.tgz", 528 | "integrity": "sha512-gZ05GENFbI6CB5MlOUsLlU0kZ9UtHn9riYtSXKT6MYs8HSPRffPHaHSL0WxsJweWh9nR5Hgh/TUU8uW3sYCzCg==", 529 | "cpu": [ 530 | "arm64" 531 | ], 532 | "dev": true, 533 | "optional": true, 534 | "os": [ 535 | "win32" 536 | ], 537 | "engines": { 538 | "node": ">= 10" 539 | } 540 | }, 541 | "node_modules/@tauri-apps/cli-win32-ia32-msvc": { 542 | "version": "1.4.0", 543 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.4.0.tgz", 544 | "integrity": "sha512-JsetT/lTx/Zq98eo8T5CiRyF1nKeX04RO8JlJrI3ZOYsZpp/A5RJvMd/szQ17iOzwiHdge+tx7k2jHysR6oBlQ==", 545 | "cpu": [ 546 | "ia32" 547 | ], 548 | "dev": true, 549 | "optional": true, 550 | "os": [ 551 | "win32" 552 | ], 553 | "engines": { 554 | "node": ">= 10" 555 | } 556 | }, 557 | "node_modules/@tauri-apps/cli-win32-x64-msvc": { 558 | "version": "1.4.0", 559 | "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.4.0.tgz", 560 | "integrity": "sha512-z8Olcnwp5aYhzqUAarFjqF+oELCjuYWnB2HAJHlfsYNfDCAORY5kct3Fklz8PSsubC3U2EugWn8n42DwnThurg==", 561 | "cpu": [ 562 | "x64" 563 | ], 564 | "dev": true, 565 | "optional": true, 566 | "os": [ 567 | "win32" 568 | ], 569 | "engines": { 570 | "node": ">= 10" 571 | } 572 | }, 573 | "node_modules/esbuild": { 574 | "version": "0.18.20", 575 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", 576 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", 577 | "dev": true, 578 | "hasInstallScript": true, 579 | "bin": { 580 | "esbuild": "bin/esbuild" 581 | }, 582 | "engines": { 583 | "node": ">=12" 584 | }, 585 | "optionalDependencies": { 586 | "@esbuild/android-arm": "0.18.20", 587 | "@esbuild/android-arm64": "0.18.20", 588 | "@esbuild/android-x64": "0.18.20", 589 | "@esbuild/darwin-arm64": "0.18.20", 590 | "@esbuild/darwin-x64": "0.18.20", 591 | "@esbuild/freebsd-arm64": "0.18.20", 592 | "@esbuild/freebsd-x64": "0.18.20", 593 | "@esbuild/linux-arm": "0.18.20", 594 | "@esbuild/linux-arm64": "0.18.20", 595 | "@esbuild/linux-ia32": "0.18.20", 596 | "@esbuild/linux-loong64": "0.18.20", 597 | "@esbuild/linux-mips64el": "0.18.20", 598 | "@esbuild/linux-ppc64": "0.18.20", 599 | "@esbuild/linux-riscv64": "0.18.20", 600 | "@esbuild/linux-s390x": "0.18.20", 601 | "@esbuild/linux-x64": "0.18.20", 602 | "@esbuild/netbsd-x64": "0.18.20", 603 | "@esbuild/openbsd-x64": "0.18.20", 604 | "@esbuild/sunos-x64": "0.18.20", 605 | "@esbuild/win32-arm64": "0.18.20", 606 | "@esbuild/win32-ia32": "0.18.20", 607 | "@esbuild/win32-x64": "0.18.20" 608 | } 609 | }, 610 | "node_modules/fsevents": { 611 | "version": "2.3.3", 612 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 613 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 614 | "dev": true, 615 | "hasInstallScript": true, 616 | "optional": true, 617 | "os": [ 618 | "darwin" 619 | ], 620 | "engines": { 621 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 622 | } 623 | }, 624 | "node_modules/nanoid": { 625 | "version": "3.3.6", 626 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 627 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 628 | "dev": true, 629 | "funding": [ 630 | { 631 | "type": "github", 632 | "url": "https://github.com/sponsors/ai" 633 | } 634 | ], 635 | "bin": { 636 | "nanoid": "bin/nanoid.cjs" 637 | }, 638 | "engines": { 639 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 640 | } 641 | }, 642 | "node_modules/picocolors": { 643 | "version": "1.0.0", 644 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 645 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 646 | "dev": true 647 | }, 648 | "node_modules/postcss": { 649 | "version": "8.4.29", 650 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", 651 | "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", 652 | "dev": true, 653 | "funding": [ 654 | { 655 | "type": "opencollective", 656 | "url": "https://opencollective.com/postcss/" 657 | }, 658 | { 659 | "type": "tidelift", 660 | "url": "https://tidelift.com/funding/github/npm/postcss" 661 | }, 662 | { 663 | "type": "github", 664 | "url": "https://github.com/sponsors/ai" 665 | } 666 | ], 667 | "dependencies": { 668 | "nanoid": "^3.3.6", 669 | "picocolors": "^1.0.0", 670 | "source-map-js": "^1.0.2" 671 | }, 672 | "engines": { 673 | "node": "^10 || ^12 || >=14" 674 | } 675 | }, 676 | "node_modules/rollup": { 677 | "version": "3.28.1", 678 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", 679 | "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", 680 | "dev": true, 681 | "bin": { 682 | "rollup": "dist/bin/rollup" 683 | }, 684 | "engines": { 685 | "node": ">=14.18.0", 686 | "npm": ">=8.0.0" 687 | }, 688 | "optionalDependencies": { 689 | "fsevents": "~2.3.2" 690 | } 691 | }, 692 | "node_modules/source-map-js": { 693 | "version": "1.0.2", 694 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 695 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 696 | "dev": true, 697 | "engines": { 698 | "node": ">=0.10.0" 699 | } 700 | }, 701 | "node_modules/typescript": { 702 | "version": "5.2.2", 703 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", 704 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", 705 | "dev": true, 706 | "bin": { 707 | "tsc": "bin/tsc", 708 | "tsserver": "bin/tsserver" 709 | }, 710 | "engines": { 711 | "node": ">=14.17" 712 | } 713 | }, 714 | "node_modules/vite": { 715 | "version": "4.4.9", 716 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", 717 | "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", 718 | "dev": true, 719 | "dependencies": { 720 | "esbuild": "^0.18.10", 721 | "postcss": "^8.4.27", 722 | "rollup": "^3.27.1" 723 | }, 724 | "bin": { 725 | "vite": "bin/vite.js" 726 | }, 727 | "engines": { 728 | "node": "^14.18.0 || >=16.0.0" 729 | }, 730 | "funding": { 731 | "url": "https://github.com/vitejs/vite?sponsor=1" 732 | }, 733 | "optionalDependencies": { 734 | "fsevents": "~2.3.2" 735 | }, 736 | "peerDependencies": { 737 | "@types/node": ">= 14", 738 | "less": "*", 739 | "lightningcss": "^1.21.0", 740 | "sass": "*", 741 | "stylus": "*", 742 | "sugarss": "*", 743 | "terser": "^5.4.0" 744 | }, 745 | "peerDependenciesMeta": { 746 | "@types/node": { 747 | "optional": true 748 | }, 749 | "less": { 750 | "optional": true 751 | }, 752 | "lightningcss": { 753 | "optional": true 754 | }, 755 | "sass": { 756 | "optional": true 757 | }, 758 | "stylus": { 759 | "optional": true 760 | }, 761 | "sugarss": { 762 | "optional": true 763 | }, 764 | "terser": { 765 | "optional": true 766 | } 767 | } 768 | } 769 | } 770 | } 771 | -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "preview": "vite preview", 10 | "tauri": "tauri" 11 | }, 12 | "dependencies": { 13 | "@tauri-apps/api": "^1.4.0" 14 | }, 15 | "devDependencies": { 16 | "@tauri-apps/cli": "^1.4.0", 17 | "vite": "^4.4.4", 18 | "typescript": "^5.0.2" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /backend/src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | -------------------------------------------------------------------------------- /backend/src-tauri/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.21.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "1.0.5" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "alloc-no-stdlib" 31 | version = "2.0.4" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 34 | 35 | [[package]] 36 | name = "alloc-stdlib" 37 | version = "0.2.2" 38 | source = "registry+https://github.com/rust-lang/crates.io-index" 39 | checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 40 | dependencies = [ 41 | "alloc-no-stdlib", 42 | ] 43 | 44 | [[package]] 45 | name = "android-tzdata" 46 | version = "0.1.1" 47 | source = "registry+https://github.com/rust-lang/crates.io-index" 48 | checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 49 | 50 | [[package]] 51 | name = "android_system_properties" 52 | version = "0.1.5" 53 | source = "registry+https://github.com/rust-lang/crates.io-index" 54 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 55 | dependencies = [ 56 | "libc", 57 | ] 58 | 59 | [[package]] 60 | name = "anyhow" 61 | version = "1.0.75" 62 | source = "registry+https://github.com/rust-lang/crates.io-index" 63 | checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" 64 | 65 | [[package]] 66 | name = "atk" 67 | version = "0.15.1" 68 | source = "registry+https://github.com/rust-lang/crates.io-index" 69 | checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" 70 | dependencies = [ 71 | "atk-sys", 72 | "bitflags 1.3.2", 73 | "glib", 74 | "libc", 75 | ] 76 | 77 | [[package]] 78 | name = "atk-sys" 79 | version = "0.15.1" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" 82 | dependencies = [ 83 | "glib-sys", 84 | "gobject-sys", 85 | "libc", 86 | "system-deps 6.1.1", 87 | ] 88 | 89 | [[package]] 90 | name = "autocfg" 91 | version = "1.1.0" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 94 | 95 | [[package]] 96 | name = "backend" 97 | version = "0.0.0" 98 | dependencies = [ 99 | "serde", 100 | "serde_json", 101 | "tauri", 102 | "tauri-build", 103 | ] 104 | 105 | [[package]] 106 | name = "backtrace" 107 | version = "0.3.69" 108 | source = "registry+https://github.com/rust-lang/crates.io-index" 109 | checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" 110 | dependencies = [ 111 | "addr2line", 112 | "cc", 113 | "cfg-if", 114 | "libc", 115 | "miniz_oxide", 116 | "object", 117 | "rustc-demangle", 118 | ] 119 | 120 | [[package]] 121 | name = "base64" 122 | version = "0.13.1" 123 | source = "registry+https://github.com/rust-lang/crates.io-index" 124 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 125 | 126 | [[package]] 127 | name = "base64" 128 | version = "0.21.3" 129 | source = "registry+https://github.com/rust-lang/crates.io-index" 130 | checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" 131 | 132 | [[package]] 133 | name = "bitflags" 134 | version = "1.3.2" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 137 | 138 | [[package]] 139 | name = "bitflags" 140 | version = "2.4.0" 141 | source = "registry+https://github.com/rust-lang/crates.io-index" 142 | checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" 143 | 144 | [[package]] 145 | name = "block" 146 | version = "0.1.6" 147 | source = "registry+https://github.com/rust-lang/crates.io-index" 148 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 149 | 150 | [[package]] 151 | name = "block-buffer" 152 | version = "0.10.4" 153 | source = "registry+https://github.com/rust-lang/crates.io-index" 154 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 155 | dependencies = [ 156 | "generic-array", 157 | ] 158 | 159 | [[package]] 160 | name = "brotli" 161 | version = "3.3.4" 162 | source = "registry+https://github.com/rust-lang/crates.io-index" 163 | checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" 164 | dependencies = [ 165 | "alloc-no-stdlib", 166 | "alloc-stdlib", 167 | "brotli-decompressor", 168 | ] 169 | 170 | [[package]] 171 | name = "brotli-decompressor" 172 | version = "2.3.4" 173 | source = "registry+https://github.com/rust-lang/crates.io-index" 174 | checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" 175 | dependencies = [ 176 | "alloc-no-stdlib", 177 | "alloc-stdlib", 178 | ] 179 | 180 | [[package]] 181 | name = "bstr" 182 | version = "1.6.2" 183 | source = "registry+https://github.com/rust-lang/crates.io-index" 184 | checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" 185 | dependencies = [ 186 | "memchr", 187 | "serde", 188 | ] 189 | 190 | [[package]] 191 | name = "bumpalo" 192 | version = "3.13.0" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" 195 | 196 | [[package]] 197 | name = "bytemuck" 198 | version = "1.13.1" 199 | source = "registry+https://github.com/rust-lang/crates.io-index" 200 | checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" 201 | 202 | [[package]] 203 | name = "byteorder" 204 | version = "1.4.3" 205 | source = "registry+https://github.com/rust-lang/crates.io-index" 206 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 207 | 208 | [[package]] 209 | name = "bytes" 210 | version = "1.4.0" 211 | source = "registry+https://github.com/rust-lang/crates.io-index" 212 | checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 213 | 214 | [[package]] 215 | name = "cairo-rs" 216 | version = "0.15.12" 217 | source = "registry+https://github.com/rust-lang/crates.io-index" 218 | checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" 219 | dependencies = [ 220 | "bitflags 1.3.2", 221 | "cairo-sys-rs", 222 | "glib", 223 | "libc", 224 | "thiserror", 225 | ] 226 | 227 | [[package]] 228 | name = "cairo-sys-rs" 229 | version = "0.15.1" 230 | source = "registry+https://github.com/rust-lang/crates.io-index" 231 | checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" 232 | dependencies = [ 233 | "glib-sys", 234 | "libc", 235 | "system-deps 6.1.1", 236 | ] 237 | 238 | [[package]] 239 | name = "cargo_toml" 240 | version = "0.15.3" 241 | source = "registry+https://github.com/rust-lang/crates.io-index" 242 | checksum = "599aa35200ffff8f04c1925aa1acc92fa2e08874379ef42e210a80e527e60838" 243 | dependencies = [ 244 | "serde", 245 | "toml 0.7.6", 246 | ] 247 | 248 | [[package]] 249 | name = "cc" 250 | version = "1.0.83" 251 | source = "registry+https://github.com/rust-lang/crates.io-index" 252 | checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 253 | dependencies = [ 254 | "libc", 255 | ] 256 | 257 | [[package]] 258 | name = "cesu8" 259 | version = "1.1.0" 260 | source = "registry+https://github.com/rust-lang/crates.io-index" 261 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 262 | 263 | [[package]] 264 | name = "cfb" 265 | version = "0.7.3" 266 | source = "registry+https://github.com/rust-lang/crates.io-index" 267 | checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" 268 | dependencies = [ 269 | "byteorder", 270 | "fnv", 271 | "uuid", 272 | ] 273 | 274 | [[package]] 275 | name = "cfg-expr" 276 | version = "0.9.1" 277 | source = "registry+https://github.com/rust-lang/crates.io-index" 278 | checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" 279 | dependencies = [ 280 | "smallvec", 281 | ] 282 | 283 | [[package]] 284 | name = "cfg-expr" 285 | version = "0.15.4" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" 288 | dependencies = [ 289 | "smallvec", 290 | "target-lexicon", 291 | ] 292 | 293 | [[package]] 294 | name = "cfg-if" 295 | version = "1.0.0" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 298 | 299 | [[package]] 300 | name = "chrono" 301 | version = "0.4.28" 302 | source = "registry+https://github.com/rust-lang/crates.io-index" 303 | checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f" 304 | dependencies = [ 305 | "android-tzdata", 306 | "iana-time-zone", 307 | "num-traits", 308 | "serde", 309 | "windows-targets", 310 | ] 311 | 312 | [[package]] 313 | name = "cocoa" 314 | version = "0.24.1" 315 | source = "registry+https://github.com/rust-lang/crates.io-index" 316 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 317 | dependencies = [ 318 | "bitflags 1.3.2", 319 | "block", 320 | "cocoa-foundation", 321 | "core-foundation", 322 | "core-graphics", 323 | "foreign-types", 324 | "libc", 325 | "objc", 326 | ] 327 | 328 | [[package]] 329 | name = "cocoa-foundation" 330 | version = "0.1.1" 331 | source = "registry+https://github.com/rust-lang/crates.io-index" 332 | checksum = "931d3837c286f56e3c58423ce4eba12d08db2374461a785c86f672b08b5650d6" 333 | dependencies = [ 334 | "bitflags 1.3.2", 335 | "block", 336 | "core-foundation", 337 | "core-graphics-types", 338 | "foreign-types", 339 | "libc", 340 | "objc", 341 | ] 342 | 343 | [[package]] 344 | name = "color_quant" 345 | version = "1.1.0" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 348 | 349 | [[package]] 350 | name = "combine" 351 | version = "4.6.6" 352 | source = "registry+https://github.com/rust-lang/crates.io-index" 353 | checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" 354 | dependencies = [ 355 | "bytes", 356 | "memchr", 357 | ] 358 | 359 | [[package]] 360 | name = "convert_case" 361 | version = "0.4.0" 362 | source = "registry+https://github.com/rust-lang/crates.io-index" 363 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 364 | 365 | [[package]] 366 | name = "core-foundation" 367 | version = "0.9.3" 368 | source = "registry+https://github.com/rust-lang/crates.io-index" 369 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 370 | dependencies = [ 371 | "core-foundation-sys", 372 | "libc", 373 | ] 374 | 375 | [[package]] 376 | name = "core-foundation-sys" 377 | version = "0.8.4" 378 | source = "registry+https://github.com/rust-lang/crates.io-index" 379 | checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" 380 | 381 | [[package]] 382 | name = "core-graphics" 383 | version = "0.22.3" 384 | source = "registry+https://github.com/rust-lang/crates.io-index" 385 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 386 | dependencies = [ 387 | "bitflags 1.3.2", 388 | "core-foundation", 389 | "core-graphics-types", 390 | "foreign-types", 391 | "libc", 392 | ] 393 | 394 | [[package]] 395 | name = "core-graphics-types" 396 | version = "0.1.2" 397 | source = "registry+https://github.com/rust-lang/crates.io-index" 398 | checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" 399 | dependencies = [ 400 | "bitflags 1.3.2", 401 | "core-foundation", 402 | "libc", 403 | ] 404 | 405 | [[package]] 406 | name = "cpufeatures" 407 | version = "0.2.9" 408 | source = "registry+https://github.com/rust-lang/crates.io-index" 409 | checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" 410 | dependencies = [ 411 | "libc", 412 | ] 413 | 414 | [[package]] 415 | name = "crc32fast" 416 | version = "1.3.2" 417 | source = "registry+https://github.com/rust-lang/crates.io-index" 418 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 419 | dependencies = [ 420 | "cfg-if", 421 | ] 422 | 423 | [[package]] 424 | name = "crossbeam-channel" 425 | version = "0.5.8" 426 | source = "registry+https://github.com/rust-lang/crates.io-index" 427 | checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" 428 | dependencies = [ 429 | "cfg-if", 430 | "crossbeam-utils", 431 | ] 432 | 433 | [[package]] 434 | name = "crossbeam-utils" 435 | version = "0.8.16" 436 | source = "registry+https://github.com/rust-lang/crates.io-index" 437 | checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" 438 | dependencies = [ 439 | "cfg-if", 440 | ] 441 | 442 | [[package]] 443 | name = "crypto-common" 444 | version = "0.1.6" 445 | source = "registry+https://github.com/rust-lang/crates.io-index" 446 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 447 | dependencies = [ 448 | "generic-array", 449 | "typenum", 450 | ] 451 | 452 | [[package]] 453 | name = "cssparser" 454 | version = "0.27.2" 455 | source = "registry+https://github.com/rust-lang/crates.io-index" 456 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" 457 | dependencies = [ 458 | "cssparser-macros", 459 | "dtoa-short", 460 | "itoa 0.4.8", 461 | "matches", 462 | "phf 0.8.0", 463 | "proc-macro2", 464 | "quote", 465 | "smallvec", 466 | "syn 1.0.109", 467 | ] 468 | 469 | [[package]] 470 | name = "cssparser-macros" 471 | version = "0.6.1" 472 | source = "registry+https://github.com/rust-lang/crates.io-index" 473 | checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" 474 | dependencies = [ 475 | "quote", 476 | "syn 2.0.31", 477 | ] 478 | 479 | [[package]] 480 | name = "ctor" 481 | version = "0.1.26" 482 | source = "registry+https://github.com/rust-lang/crates.io-index" 483 | checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" 484 | dependencies = [ 485 | "quote", 486 | "syn 1.0.109", 487 | ] 488 | 489 | [[package]] 490 | name = "darling" 491 | version = "0.20.3" 492 | source = "registry+https://github.com/rust-lang/crates.io-index" 493 | checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" 494 | dependencies = [ 495 | "darling_core", 496 | "darling_macro", 497 | ] 498 | 499 | [[package]] 500 | name = "darling_core" 501 | version = "0.20.3" 502 | source = "registry+https://github.com/rust-lang/crates.io-index" 503 | checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" 504 | dependencies = [ 505 | "fnv", 506 | "ident_case", 507 | "proc-macro2", 508 | "quote", 509 | "strsim", 510 | "syn 2.0.31", 511 | ] 512 | 513 | [[package]] 514 | name = "darling_macro" 515 | version = "0.20.3" 516 | source = "registry+https://github.com/rust-lang/crates.io-index" 517 | checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" 518 | dependencies = [ 519 | "darling_core", 520 | "quote", 521 | "syn 2.0.31", 522 | ] 523 | 524 | [[package]] 525 | name = "deranged" 526 | version = "0.3.8" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" 529 | dependencies = [ 530 | "serde", 531 | ] 532 | 533 | [[package]] 534 | name = "derive_more" 535 | version = "0.99.17" 536 | source = "registry+https://github.com/rust-lang/crates.io-index" 537 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" 538 | dependencies = [ 539 | "convert_case", 540 | "proc-macro2", 541 | "quote", 542 | "rustc_version", 543 | "syn 1.0.109", 544 | ] 545 | 546 | [[package]] 547 | name = "digest" 548 | version = "0.10.7" 549 | source = "registry+https://github.com/rust-lang/crates.io-index" 550 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 551 | dependencies = [ 552 | "block-buffer", 553 | "crypto-common", 554 | ] 555 | 556 | [[package]] 557 | name = "dirs-next" 558 | version = "2.0.0" 559 | source = "registry+https://github.com/rust-lang/crates.io-index" 560 | checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" 561 | dependencies = [ 562 | "cfg-if", 563 | "dirs-sys-next", 564 | ] 565 | 566 | [[package]] 567 | name = "dirs-sys-next" 568 | version = "0.1.2" 569 | source = "registry+https://github.com/rust-lang/crates.io-index" 570 | checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" 571 | dependencies = [ 572 | "libc", 573 | "redox_users", 574 | "winapi", 575 | ] 576 | 577 | [[package]] 578 | name = "dispatch" 579 | version = "0.2.0" 580 | source = "registry+https://github.com/rust-lang/crates.io-index" 581 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 582 | 583 | [[package]] 584 | name = "dtoa" 585 | version = "1.0.9" 586 | source = "registry+https://github.com/rust-lang/crates.io-index" 587 | checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" 588 | 589 | [[package]] 590 | name = "dtoa-short" 591 | version = "0.3.4" 592 | source = "registry+https://github.com/rust-lang/crates.io-index" 593 | checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74" 594 | dependencies = [ 595 | "dtoa", 596 | ] 597 | 598 | [[package]] 599 | name = "dunce" 600 | version = "1.0.4" 601 | source = "registry+https://github.com/rust-lang/crates.io-index" 602 | checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" 603 | 604 | [[package]] 605 | name = "embed-resource" 606 | version = "2.3.0" 607 | source = "registry+https://github.com/rust-lang/crates.io-index" 608 | checksum = "fd0a2c9b742a980060d22545a7a83b573acd6b73045b9de6370c9530ce652f27" 609 | dependencies = [ 610 | "cc", 611 | "rustc_version", 612 | "toml 0.7.6", 613 | "vswhom", 614 | "winreg", 615 | ] 616 | 617 | [[package]] 618 | name = "embed_plist" 619 | version = "1.2.2" 620 | source = "registry+https://github.com/rust-lang/crates.io-index" 621 | checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" 622 | 623 | [[package]] 624 | name = "encoding_rs" 625 | version = "0.8.33" 626 | source = "registry+https://github.com/rust-lang/crates.io-index" 627 | checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" 628 | dependencies = [ 629 | "cfg-if", 630 | ] 631 | 632 | [[package]] 633 | name = "equivalent" 634 | version = "1.0.1" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 637 | 638 | [[package]] 639 | name = "errno" 640 | version = "0.3.3" 641 | source = "registry+https://github.com/rust-lang/crates.io-index" 642 | checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" 643 | dependencies = [ 644 | "errno-dragonfly", 645 | "libc", 646 | "windows-sys 0.48.0", 647 | ] 648 | 649 | [[package]] 650 | name = "errno-dragonfly" 651 | version = "0.1.2" 652 | source = "registry+https://github.com/rust-lang/crates.io-index" 653 | checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 654 | dependencies = [ 655 | "cc", 656 | "libc", 657 | ] 658 | 659 | [[package]] 660 | name = "fastrand" 661 | version = "2.0.0" 662 | source = "registry+https://github.com/rust-lang/crates.io-index" 663 | checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" 664 | 665 | [[package]] 666 | name = "fdeflate" 667 | version = "0.3.0" 668 | source = "registry+https://github.com/rust-lang/crates.io-index" 669 | checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" 670 | dependencies = [ 671 | "simd-adler32", 672 | ] 673 | 674 | [[package]] 675 | name = "field-offset" 676 | version = "0.3.6" 677 | source = "registry+https://github.com/rust-lang/crates.io-index" 678 | checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" 679 | dependencies = [ 680 | "memoffset", 681 | "rustc_version", 682 | ] 683 | 684 | [[package]] 685 | name = "filetime" 686 | version = "0.2.22" 687 | source = "registry+https://github.com/rust-lang/crates.io-index" 688 | checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" 689 | dependencies = [ 690 | "cfg-if", 691 | "libc", 692 | "redox_syscall 0.3.5", 693 | "windows-sys 0.48.0", 694 | ] 695 | 696 | [[package]] 697 | name = "flate2" 698 | version = "1.0.27" 699 | source = "registry+https://github.com/rust-lang/crates.io-index" 700 | checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" 701 | dependencies = [ 702 | "crc32fast", 703 | "miniz_oxide", 704 | ] 705 | 706 | [[package]] 707 | name = "fnv" 708 | version = "1.0.7" 709 | source = "registry+https://github.com/rust-lang/crates.io-index" 710 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 711 | 712 | [[package]] 713 | name = "foreign-types" 714 | version = "0.3.2" 715 | source = "registry+https://github.com/rust-lang/crates.io-index" 716 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 717 | dependencies = [ 718 | "foreign-types-shared", 719 | ] 720 | 721 | [[package]] 722 | name = "foreign-types-shared" 723 | version = "0.1.1" 724 | source = "registry+https://github.com/rust-lang/crates.io-index" 725 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 726 | 727 | [[package]] 728 | name = "form_urlencoded" 729 | version = "1.2.0" 730 | source = "registry+https://github.com/rust-lang/crates.io-index" 731 | checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" 732 | dependencies = [ 733 | "percent-encoding", 734 | ] 735 | 736 | [[package]] 737 | name = "futf" 738 | version = "0.1.5" 739 | source = "registry+https://github.com/rust-lang/crates.io-index" 740 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 741 | dependencies = [ 742 | "mac", 743 | "new_debug_unreachable", 744 | ] 745 | 746 | [[package]] 747 | name = "futures-channel" 748 | version = "0.3.28" 749 | source = "registry+https://github.com/rust-lang/crates.io-index" 750 | checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" 751 | dependencies = [ 752 | "futures-core", 753 | ] 754 | 755 | [[package]] 756 | name = "futures-core" 757 | version = "0.3.28" 758 | source = "registry+https://github.com/rust-lang/crates.io-index" 759 | checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" 760 | 761 | [[package]] 762 | name = "futures-executor" 763 | version = "0.3.28" 764 | source = "registry+https://github.com/rust-lang/crates.io-index" 765 | checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" 766 | dependencies = [ 767 | "futures-core", 768 | "futures-task", 769 | "futures-util", 770 | ] 771 | 772 | [[package]] 773 | name = "futures-io" 774 | version = "0.3.28" 775 | source = "registry+https://github.com/rust-lang/crates.io-index" 776 | checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" 777 | 778 | [[package]] 779 | name = "futures-macro" 780 | version = "0.3.28" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" 783 | dependencies = [ 784 | "proc-macro2", 785 | "quote", 786 | "syn 2.0.31", 787 | ] 788 | 789 | [[package]] 790 | name = "futures-task" 791 | version = "0.3.28" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" 794 | 795 | [[package]] 796 | name = "futures-util" 797 | version = "0.3.28" 798 | source = "registry+https://github.com/rust-lang/crates.io-index" 799 | checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" 800 | dependencies = [ 801 | "futures-core", 802 | "futures-macro", 803 | "futures-task", 804 | "pin-project-lite", 805 | "pin-utils", 806 | "slab", 807 | ] 808 | 809 | [[package]] 810 | name = "fxhash" 811 | version = "0.2.1" 812 | source = "registry+https://github.com/rust-lang/crates.io-index" 813 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 814 | dependencies = [ 815 | "byteorder", 816 | ] 817 | 818 | [[package]] 819 | name = "gdk" 820 | version = "0.15.4" 821 | source = "registry+https://github.com/rust-lang/crates.io-index" 822 | checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" 823 | dependencies = [ 824 | "bitflags 1.3.2", 825 | "cairo-rs", 826 | "gdk-pixbuf", 827 | "gdk-sys", 828 | "gio", 829 | "glib", 830 | "libc", 831 | "pango", 832 | ] 833 | 834 | [[package]] 835 | name = "gdk-pixbuf" 836 | version = "0.15.11" 837 | source = "registry+https://github.com/rust-lang/crates.io-index" 838 | checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" 839 | dependencies = [ 840 | "bitflags 1.3.2", 841 | "gdk-pixbuf-sys", 842 | "gio", 843 | "glib", 844 | "libc", 845 | ] 846 | 847 | [[package]] 848 | name = "gdk-pixbuf-sys" 849 | version = "0.15.10" 850 | source = "registry+https://github.com/rust-lang/crates.io-index" 851 | checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" 852 | dependencies = [ 853 | "gio-sys", 854 | "glib-sys", 855 | "gobject-sys", 856 | "libc", 857 | "system-deps 6.1.1", 858 | ] 859 | 860 | [[package]] 861 | name = "gdk-sys" 862 | version = "0.15.1" 863 | source = "registry+https://github.com/rust-lang/crates.io-index" 864 | checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" 865 | dependencies = [ 866 | "cairo-sys-rs", 867 | "gdk-pixbuf-sys", 868 | "gio-sys", 869 | "glib-sys", 870 | "gobject-sys", 871 | "libc", 872 | "pango-sys", 873 | "pkg-config", 874 | "system-deps 6.1.1", 875 | ] 876 | 877 | [[package]] 878 | name = "gdkwayland-sys" 879 | version = "0.15.3" 880 | source = "registry+https://github.com/rust-lang/crates.io-index" 881 | checksum = "cca49a59ad8cfdf36ef7330fe7bdfbe1d34323220cc16a0de2679ee773aee2c2" 882 | dependencies = [ 883 | "gdk-sys", 884 | "glib-sys", 885 | "gobject-sys", 886 | "libc", 887 | "pkg-config", 888 | "system-deps 6.1.1", 889 | ] 890 | 891 | [[package]] 892 | name = "gdkx11-sys" 893 | version = "0.15.1" 894 | source = "registry+https://github.com/rust-lang/crates.io-index" 895 | checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" 896 | dependencies = [ 897 | "gdk-sys", 898 | "glib-sys", 899 | "libc", 900 | "system-deps 6.1.1", 901 | "x11", 902 | ] 903 | 904 | [[package]] 905 | name = "generator" 906 | version = "0.7.5" 907 | source = "registry+https://github.com/rust-lang/crates.io-index" 908 | checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" 909 | dependencies = [ 910 | "cc", 911 | "libc", 912 | "log", 913 | "rustversion", 914 | "windows 0.48.0", 915 | ] 916 | 917 | [[package]] 918 | name = "generic-array" 919 | version = "0.14.7" 920 | source = "registry+https://github.com/rust-lang/crates.io-index" 921 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 922 | dependencies = [ 923 | "typenum", 924 | "version_check", 925 | ] 926 | 927 | [[package]] 928 | name = "getrandom" 929 | version = "0.1.16" 930 | source = "registry+https://github.com/rust-lang/crates.io-index" 931 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 932 | dependencies = [ 933 | "cfg-if", 934 | "libc", 935 | "wasi 0.9.0+wasi-snapshot-preview1", 936 | ] 937 | 938 | [[package]] 939 | name = "getrandom" 940 | version = "0.2.10" 941 | source = "registry+https://github.com/rust-lang/crates.io-index" 942 | checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" 943 | dependencies = [ 944 | "cfg-if", 945 | "libc", 946 | "wasi 0.11.0+wasi-snapshot-preview1", 947 | ] 948 | 949 | [[package]] 950 | name = "gimli" 951 | version = "0.28.0" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" 954 | 955 | [[package]] 956 | name = "gio" 957 | version = "0.15.12" 958 | source = "registry+https://github.com/rust-lang/crates.io-index" 959 | checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" 960 | dependencies = [ 961 | "bitflags 1.3.2", 962 | "futures-channel", 963 | "futures-core", 964 | "futures-io", 965 | "gio-sys", 966 | "glib", 967 | "libc", 968 | "once_cell", 969 | "thiserror", 970 | ] 971 | 972 | [[package]] 973 | name = "gio-sys" 974 | version = "0.15.10" 975 | source = "registry+https://github.com/rust-lang/crates.io-index" 976 | checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" 977 | dependencies = [ 978 | "glib-sys", 979 | "gobject-sys", 980 | "libc", 981 | "system-deps 6.1.1", 982 | "winapi", 983 | ] 984 | 985 | [[package]] 986 | name = "glib" 987 | version = "0.15.12" 988 | source = "registry+https://github.com/rust-lang/crates.io-index" 989 | checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" 990 | dependencies = [ 991 | "bitflags 1.3.2", 992 | "futures-channel", 993 | "futures-core", 994 | "futures-executor", 995 | "futures-task", 996 | "glib-macros", 997 | "glib-sys", 998 | "gobject-sys", 999 | "libc", 1000 | "once_cell", 1001 | "smallvec", 1002 | "thiserror", 1003 | ] 1004 | 1005 | [[package]] 1006 | name = "glib-macros" 1007 | version = "0.15.13" 1008 | source = "registry+https://github.com/rust-lang/crates.io-index" 1009 | checksum = "10c6ae9f6fa26f4fb2ac16b528d138d971ead56141de489f8111e259b9df3c4a" 1010 | dependencies = [ 1011 | "anyhow", 1012 | "heck 0.4.1", 1013 | "proc-macro-crate", 1014 | "proc-macro-error", 1015 | "proc-macro2", 1016 | "quote", 1017 | "syn 1.0.109", 1018 | ] 1019 | 1020 | [[package]] 1021 | name = "glib-sys" 1022 | version = "0.15.10" 1023 | source = "registry+https://github.com/rust-lang/crates.io-index" 1024 | checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" 1025 | dependencies = [ 1026 | "libc", 1027 | "system-deps 6.1.1", 1028 | ] 1029 | 1030 | [[package]] 1031 | name = "glob" 1032 | version = "0.3.1" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 1035 | 1036 | [[package]] 1037 | name = "globset" 1038 | version = "0.4.13" 1039 | source = "registry+https://github.com/rust-lang/crates.io-index" 1040 | checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" 1041 | dependencies = [ 1042 | "aho-corasick", 1043 | "bstr", 1044 | "fnv", 1045 | "log", 1046 | "regex", 1047 | ] 1048 | 1049 | [[package]] 1050 | name = "gobject-sys" 1051 | version = "0.15.10" 1052 | source = "registry+https://github.com/rust-lang/crates.io-index" 1053 | checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" 1054 | dependencies = [ 1055 | "glib-sys", 1056 | "libc", 1057 | "system-deps 6.1.1", 1058 | ] 1059 | 1060 | [[package]] 1061 | name = "gtk" 1062 | version = "0.15.5" 1063 | source = "registry+https://github.com/rust-lang/crates.io-index" 1064 | checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" 1065 | dependencies = [ 1066 | "atk", 1067 | "bitflags 1.3.2", 1068 | "cairo-rs", 1069 | "field-offset", 1070 | "futures-channel", 1071 | "gdk", 1072 | "gdk-pixbuf", 1073 | "gio", 1074 | "glib", 1075 | "gtk-sys", 1076 | "gtk3-macros", 1077 | "libc", 1078 | "once_cell", 1079 | "pango", 1080 | "pkg-config", 1081 | ] 1082 | 1083 | [[package]] 1084 | name = "gtk-sys" 1085 | version = "0.15.3" 1086 | source = "registry+https://github.com/rust-lang/crates.io-index" 1087 | checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" 1088 | dependencies = [ 1089 | "atk-sys", 1090 | "cairo-sys-rs", 1091 | "gdk-pixbuf-sys", 1092 | "gdk-sys", 1093 | "gio-sys", 1094 | "glib-sys", 1095 | "gobject-sys", 1096 | "libc", 1097 | "pango-sys", 1098 | "system-deps 6.1.1", 1099 | ] 1100 | 1101 | [[package]] 1102 | name = "gtk3-macros" 1103 | version = "0.15.6" 1104 | source = "registry+https://github.com/rust-lang/crates.io-index" 1105 | checksum = "684c0456c086e8e7e9af73ec5b84e35938df394712054550e81558d21c44ab0d" 1106 | dependencies = [ 1107 | "anyhow", 1108 | "proc-macro-crate", 1109 | "proc-macro-error", 1110 | "proc-macro2", 1111 | "quote", 1112 | "syn 1.0.109", 1113 | ] 1114 | 1115 | [[package]] 1116 | name = "hashbrown" 1117 | version = "0.12.3" 1118 | source = "registry+https://github.com/rust-lang/crates.io-index" 1119 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1120 | 1121 | [[package]] 1122 | name = "hashbrown" 1123 | version = "0.14.0" 1124 | source = "registry+https://github.com/rust-lang/crates.io-index" 1125 | checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" 1126 | 1127 | [[package]] 1128 | name = "heck" 1129 | version = "0.3.3" 1130 | source = "registry+https://github.com/rust-lang/crates.io-index" 1131 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 1132 | dependencies = [ 1133 | "unicode-segmentation", 1134 | ] 1135 | 1136 | [[package]] 1137 | name = "heck" 1138 | version = "0.4.1" 1139 | source = "registry+https://github.com/rust-lang/crates.io-index" 1140 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1141 | 1142 | [[package]] 1143 | name = "hermit-abi" 1144 | version = "0.3.2" 1145 | source = "registry+https://github.com/rust-lang/crates.io-index" 1146 | checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 1147 | 1148 | [[package]] 1149 | name = "hex" 1150 | version = "0.4.3" 1151 | source = "registry+https://github.com/rust-lang/crates.io-index" 1152 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 1153 | 1154 | [[package]] 1155 | name = "html5ever" 1156 | version = "0.25.2" 1157 | source = "registry+https://github.com/rust-lang/crates.io-index" 1158 | checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" 1159 | dependencies = [ 1160 | "log", 1161 | "mac", 1162 | "markup5ever", 1163 | "proc-macro2", 1164 | "quote", 1165 | "syn 1.0.109", 1166 | ] 1167 | 1168 | [[package]] 1169 | name = "http" 1170 | version = "0.2.9" 1171 | source = "registry+https://github.com/rust-lang/crates.io-index" 1172 | checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" 1173 | dependencies = [ 1174 | "bytes", 1175 | "fnv", 1176 | "itoa 1.0.9", 1177 | ] 1178 | 1179 | [[package]] 1180 | name = "http-range" 1181 | version = "0.1.5" 1182 | source = "registry+https://github.com/rust-lang/crates.io-index" 1183 | checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" 1184 | 1185 | [[package]] 1186 | name = "iana-time-zone" 1187 | version = "0.1.57" 1188 | source = "registry+https://github.com/rust-lang/crates.io-index" 1189 | checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" 1190 | dependencies = [ 1191 | "android_system_properties", 1192 | "core-foundation-sys", 1193 | "iana-time-zone-haiku", 1194 | "js-sys", 1195 | "wasm-bindgen", 1196 | "windows 0.48.0", 1197 | ] 1198 | 1199 | [[package]] 1200 | name = "iana-time-zone-haiku" 1201 | version = "0.1.2" 1202 | source = "registry+https://github.com/rust-lang/crates.io-index" 1203 | checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" 1204 | dependencies = [ 1205 | "cc", 1206 | ] 1207 | 1208 | [[package]] 1209 | name = "ico" 1210 | version = "0.3.0" 1211 | source = "registry+https://github.com/rust-lang/crates.io-index" 1212 | checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" 1213 | dependencies = [ 1214 | "byteorder", 1215 | "png", 1216 | ] 1217 | 1218 | [[package]] 1219 | name = "ident_case" 1220 | version = "1.0.1" 1221 | source = "registry+https://github.com/rust-lang/crates.io-index" 1222 | checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 1223 | 1224 | [[package]] 1225 | name = "idna" 1226 | version = "0.4.0" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" 1229 | dependencies = [ 1230 | "unicode-bidi", 1231 | "unicode-normalization", 1232 | ] 1233 | 1234 | [[package]] 1235 | name = "ignore" 1236 | version = "0.4.20" 1237 | source = "registry+https://github.com/rust-lang/crates.io-index" 1238 | checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" 1239 | dependencies = [ 1240 | "globset", 1241 | "lazy_static", 1242 | "log", 1243 | "memchr", 1244 | "regex", 1245 | "same-file", 1246 | "thread_local", 1247 | "walkdir", 1248 | "winapi-util", 1249 | ] 1250 | 1251 | [[package]] 1252 | name = "image" 1253 | version = "0.24.7" 1254 | source = "registry+https://github.com/rust-lang/crates.io-index" 1255 | checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" 1256 | dependencies = [ 1257 | "bytemuck", 1258 | "byteorder", 1259 | "color_quant", 1260 | "num-rational", 1261 | "num-traits", 1262 | ] 1263 | 1264 | [[package]] 1265 | name = "indexmap" 1266 | version = "1.9.3" 1267 | source = "registry+https://github.com/rust-lang/crates.io-index" 1268 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1269 | dependencies = [ 1270 | "autocfg", 1271 | "hashbrown 0.12.3", 1272 | "serde", 1273 | ] 1274 | 1275 | [[package]] 1276 | name = "indexmap" 1277 | version = "2.0.0" 1278 | source = "registry+https://github.com/rust-lang/crates.io-index" 1279 | checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" 1280 | dependencies = [ 1281 | "equivalent", 1282 | "hashbrown 0.14.0", 1283 | "serde", 1284 | ] 1285 | 1286 | [[package]] 1287 | name = "infer" 1288 | version = "0.12.0" 1289 | source = "registry+https://github.com/rust-lang/crates.io-index" 1290 | checksum = "a898e4b7951673fce96614ce5751d13c40fc5674bc2d759288e46c3ab62598b3" 1291 | dependencies = [ 1292 | "cfb", 1293 | ] 1294 | 1295 | [[package]] 1296 | name = "instant" 1297 | version = "0.1.12" 1298 | source = "registry+https://github.com/rust-lang/crates.io-index" 1299 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 1300 | dependencies = [ 1301 | "cfg-if", 1302 | ] 1303 | 1304 | [[package]] 1305 | name = "itoa" 1306 | version = "0.4.8" 1307 | source = "registry+https://github.com/rust-lang/crates.io-index" 1308 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 1309 | 1310 | [[package]] 1311 | name = "itoa" 1312 | version = "1.0.9" 1313 | source = "registry+https://github.com/rust-lang/crates.io-index" 1314 | checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 1315 | 1316 | [[package]] 1317 | name = "javascriptcore-rs" 1318 | version = "0.16.0" 1319 | source = "registry+https://github.com/rust-lang/crates.io-index" 1320 | checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" 1321 | dependencies = [ 1322 | "bitflags 1.3.2", 1323 | "glib", 1324 | "javascriptcore-rs-sys", 1325 | ] 1326 | 1327 | [[package]] 1328 | name = "javascriptcore-rs-sys" 1329 | version = "0.4.0" 1330 | source = "registry+https://github.com/rust-lang/crates.io-index" 1331 | checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" 1332 | dependencies = [ 1333 | "glib-sys", 1334 | "gobject-sys", 1335 | "libc", 1336 | "system-deps 5.0.0", 1337 | ] 1338 | 1339 | [[package]] 1340 | name = "jni" 1341 | version = "0.20.0" 1342 | source = "registry+https://github.com/rust-lang/crates.io-index" 1343 | checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" 1344 | dependencies = [ 1345 | "cesu8", 1346 | "combine", 1347 | "jni-sys", 1348 | "log", 1349 | "thiserror", 1350 | "walkdir", 1351 | ] 1352 | 1353 | [[package]] 1354 | name = "jni-sys" 1355 | version = "0.3.0" 1356 | source = "registry+https://github.com/rust-lang/crates.io-index" 1357 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1358 | 1359 | [[package]] 1360 | name = "js-sys" 1361 | version = "0.3.64" 1362 | source = "registry+https://github.com/rust-lang/crates.io-index" 1363 | checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" 1364 | dependencies = [ 1365 | "wasm-bindgen", 1366 | ] 1367 | 1368 | [[package]] 1369 | name = "json-patch" 1370 | version = "1.0.0" 1371 | source = "registry+https://github.com/rust-lang/crates.io-index" 1372 | checksum = "1f54898088ccb91df1b492cc80029a6fdf1c48ca0db7c6822a8babad69c94658" 1373 | dependencies = [ 1374 | "serde", 1375 | "serde_json", 1376 | "thiserror", 1377 | "treediff", 1378 | ] 1379 | 1380 | [[package]] 1381 | name = "kuchiki" 1382 | version = "0.8.1" 1383 | source = "registry+https://github.com/rust-lang/crates.io-index" 1384 | checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" 1385 | dependencies = [ 1386 | "cssparser", 1387 | "html5ever", 1388 | "matches", 1389 | "selectors", 1390 | ] 1391 | 1392 | [[package]] 1393 | name = "lazy_static" 1394 | version = "1.4.0" 1395 | source = "registry+https://github.com/rust-lang/crates.io-index" 1396 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1397 | 1398 | [[package]] 1399 | name = "libappindicator" 1400 | version = "0.7.1" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "db2d3cb96d092b4824cb306c9e544c856a4cb6210c1081945187f7f1924b47e8" 1403 | dependencies = [ 1404 | "glib", 1405 | "gtk", 1406 | "gtk-sys", 1407 | "libappindicator-sys", 1408 | "log", 1409 | ] 1410 | 1411 | [[package]] 1412 | name = "libappindicator-sys" 1413 | version = "0.7.3" 1414 | source = "registry+https://github.com/rust-lang/crates.io-index" 1415 | checksum = "f1b3b6681973cea8cc3bce7391e6d7d5502720b80a581c9a95c9cbaf592826aa" 1416 | dependencies = [ 1417 | "gtk-sys", 1418 | "libloading", 1419 | "once_cell", 1420 | ] 1421 | 1422 | [[package]] 1423 | name = "libc" 1424 | version = "0.2.147" 1425 | source = "registry+https://github.com/rust-lang/crates.io-index" 1426 | checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 1427 | 1428 | [[package]] 1429 | name = "libloading" 1430 | version = "0.7.4" 1431 | source = "registry+https://github.com/rust-lang/crates.io-index" 1432 | checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" 1433 | dependencies = [ 1434 | "cfg-if", 1435 | "winapi", 1436 | ] 1437 | 1438 | [[package]] 1439 | name = "line-wrap" 1440 | version = "0.1.1" 1441 | source = "registry+https://github.com/rust-lang/crates.io-index" 1442 | checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" 1443 | dependencies = [ 1444 | "safemem", 1445 | ] 1446 | 1447 | [[package]] 1448 | name = "linux-raw-sys" 1449 | version = "0.4.5" 1450 | source = "registry+https://github.com/rust-lang/crates.io-index" 1451 | checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" 1452 | 1453 | [[package]] 1454 | name = "lock_api" 1455 | version = "0.4.10" 1456 | source = "registry+https://github.com/rust-lang/crates.io-index" 1457 | checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" 1458 | dependencies = [ 1459 | "autocfg", 1460 | "scopeguard", 1461 | ] 1462 | 1463 | [[package]] 1464 | name = "log" 1465 | version = "0.4.20" 1466 | source = "registry+https://github.com/rust-lang/crates.io-index" 1467 | checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 1468 | 1469 | [[package]] 1470 | name = "loom" 1471 | version = "0.5.6" 1472 | source = "registry+https://github.com/rust-lang/crates.io-index" 1473 | checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" 1474 | dependencies = [ 1475 | "cfg-if", 1476 | "generator", 1477 | "scoped-tls", 1478 | "serde", 1479 | "serde_json", 1480 | "tracing", 1481 | "tracing-subscriber", 1482 | ] 1483 | 1484 | [[package]] 1485 | name = "mac" 1486 | version = "0.1.1" 1487 | source = "registry+https://github.com/rust-lang/crates.io-index" 1488 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 1489 | 1490 | [[package]] 1491 | name = "malloc_buf" 1492 | version = "0.0.6" 1493 | source = "registry+https://github.com/rust-lang/crates.io-index" 1494 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1495 | dependencies = [ 1496 | "libc", 1497 | ] 1498 | 1499 | [[package]] 1500 | name = "markup5ever" 1501 | version = "0.10.1" 1502 | source = "registry+https://github.com/rust-lang/crates.io-index" 1503 | checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" 1504 | dependencies = [ 1505 | "log", 1506 | "phf 0.8.0", 1507 | "phf_codegen", 1508 | "string_cache", 1509 | "string_cache_codegen", 1510 | "tendril", 1511 | ] 1512 | 1513 | [[package]] 1514 | name = "matchers" 1515 | version = "0.1.0" 1516 | source = "registry+https://github.com/rust-lang/crates.io-index" 1517 | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 1518 | dependencies = [ 1519 | "regex-automata 0.1.10", 1520 | ] 1521 | 1522 | [[package]] 1523 | name = "matches" 1524 | version = "0.1.10" 1525 | source = "registry+https://github.com/rust-lang/crates.io-index" 1526 | checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" 1527 | 1528 | [[package]] 1529 | name = "memchr" 1530 | version = "2.6.3" 1531 | source = "registry+https://github.com/rust-lang/crates.io-index" 1532 | checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" 1533 | 1534 | [[package]] 1535 | name = "memoffset" 1536 | version = "0.9.0" 1537 | source = "registry+https://github.com/rust-lang/crates.io-index" 1538 | checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" 1539 | dependencies = [ 1540 | "autocfg", 1541 | ] 1542 | 1543 | [[package]] 1544 | name = "miniz_oxide" 1545 | version = "0.7.1" 1546 | source = "registry+https://github.com/rust-lang/crates.io-index" 1547 | checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 1548 | dependencies = [ 1549 | "adler", 1550 | "simd-adler32", 1551 | ] 1552 | 1553 | [[package]] 1554 | name = "ndk" 1555 | version = "0.6.0" 1556 | source = "registry+https://github.com/rust-lang/crates.io-index" 1557 | checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" 1558 | dependencies = [ 1559 | "bitflags 1.3.2", 1560 | "jni-sys", 1561 | "ndk-sys", 1562 | "num_enum", 1563 | "thiserror", 1564 | ] 1565 | 1566 | [[package]] 1567 | name = "ndk-context" 1568 | version = "0.1.1" 1569 | source = "registry+https://github.com/rust-lang/crates.io-index" 1570 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1571 | 1572 | [[package]] 1573 | name = "ndk-sys" 1574 | version = "0.3.0" 1575 | source = "registry+https://github.com/rust-lang/crates.io-index" 1576 | checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" 1577 | dependencies = [ 1578 | "jni-sys", 1579 | ] 1580 | 1581 | [[package]] 1582 | name = "new_debug_unreachable" 1583 | version = "1.0.4" 1584 | source = "registry+https://github.com/rust-lang/crates.io-index" 1585 | checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" 1586 | 1587 | [[package]] 1588 | name = "nodrop" 1589 | version = "0.1.14" 1590 | source = "registry+https://github.com/rust-lang/crates.io-index" 1591 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1592 | 1593 | [[package]] 1594 | name = "nu-ansi-term" 1595 | version = "0.46.0" 1596 | source = "registry+https://github.com/rust-lang/crates.io-index" 1597 | checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1598 | dependencies = [ 1599 | "overload", 1600 | "winapi", 1601 | ] 1602 | 1603 | [[package]] 1604 | name = "num-integer" 1605 | version = "0.1.45" 1606 | source = "registry+https://github.com/rust-lang/crates.io-index" 1607 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1608 | dependencies = [ 1609 | "autocfg", 1610 | "num-traits", 1611 | ] 1612 | 1613 | [[package]] 1614 | name = "num-rational" 1615 | version = "0.4.1" 1616 | source = "registry+https://github.com/rust-lang/crates.io-index" 1617 | checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" 1618 | dependencies = [ 1619 | "autocfg", 1620 | "num-integer", 1621 | "num-traits", 1622 | ] 1623 | 1624 | [[package]] 1625 | name = "num-traits" 1626 | version = "0.2.16" 1627 | source = "registry+https://github.com/rust-lang/crates.io-index" 1628 | checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" 1629 | dependencies = [ 1630 | "autocfg", 1631 | ] 1632 | 1633 | [[package]] 1634 | name = "num_cpus" 1635 | version = "1.16.0" 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" 1637 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1638 | dependencies = [ 1639 | "hermit-abi", 1640 | "libc", 1641 | ] 1642 | 1643 | [[package]] 1644 | name = "num_enum" 1645 | version = "0.5.11" 1646 | source = "registry+https://github.com/rust-lang/crates.io-index" 1647 | checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" 1648 | dependencies = [ 1649 | "num_enum_derive", 1650 | ] 1651 | 1652 | [[package]] 1653 | name = "num_enum_derive" 1654 | version = "0.5.11" 1655 | source = "registry+https://github.com/rust-lang/crates.io-index" 1656 | checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" 1657 | dependencies = [ 1658 | "proc-macro-crate", 1659 | "proc-macro2", 1660 | "quote", 1661 | "syn 1.0.109", 1662 | ] 1663 | 1664 | [[package]] 1665 | name = "objc" 1666 | version = "0.2.7" 1667 | source = "registry+https://github.com/rust-lang/crates.io-index" 1668 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1669 | dependencies = [ 1670 | "malloc_buf", 1671 | "objc_exception", 1672 | ] 1673 | 1674 | [[package]] 1675 | name = "objc_exception" 1676 | version = "0.1.2" 1677 | source = "registry+https://github.com/rust-lang/crates.io-index" 1678 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 1679 | dependencies = [ 1680 | "cc", 1681 | ] 1682 | 1683 | [[package]] 1684 | name = "objc_id" 1685 | version = "0.1.1" 1686 | source = "registry+https://github.com/rust-lang/crates.io-index" 1687 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 1688 | dependencies = [ 1689 | "objc", 1690 | ] 1691 | 1692 | [[package]] 1693 | name = "object" 1694 | version = "0.32.1" 1695 | source = "registry+https://github.com/rust-lang/crates.io-index" 1696 | checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" 1697 | dependencies = [ 1698 | "memchr", 1699 | ] 1700 | 1701 | [[package]] 1702 | name = "once_cell" 1703 | version = "1.18.0" 1704 | source = "registry+https://github.com/rust-lang/crates.io-index" 1705 | checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" 1706 | 1707 | [[package]] 1708 | name = "open" 1709 | version = "3.2.0" 1710 | source = "registry+https://github.com/rust-lang/crates.io-index" 1711 | checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" 1712 | dependencies = [ 1713 | "pathdiff", 1714 | "windows-sys 0.42.0", 1715 | ] 1716 | 1717 | [[package]] 1718 | name = "overload" 1719 | version = "0.1.1" 1720 | source = "registry+https://github.com/rust-lang/crates.io-index" 1721 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1722 | 1723 | [[package]] 1724 | name = "pango" 1725 | version = "0.15.10" 1726 | source = "registry+https://github.com/rust-lang/crates.io-index" 1727 | checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" 1728 | dependencies = [ 1729 | "bitflags 1.3.2", 1730 | "glib", 1731 | "libc", 1732 | "once_cell", 1733 | "pango-sys", 1734 | ] 1735 | 1736 | [[package]] 1737 | name = "pango-sys" 1738 | version = "0.15.10" 1739 | source = "registry+https://github.com/rust-lang/crates.io-index" 1740 | checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" 1741 | dependencies = [ 1742 | "glib-sys", 1743 | "gobject-sys", 1744 | "libc", 1745 | "system-deps 6.1.1", 1746 | ] 1747 | 1748 | [[package]] 1749 | name = "parking_lot" 1750 | version = "0.12.1" 1751 | source = "registry+https://github.com/rust-lang/crates.io-index" 1752 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1753 | dependencies = [ 1754 | "lock_api", 1755 | "parking_lot_core", 1756 | ] 1757 | 1758 | [[package]] 1759 | name = "parking_lot_core" 1760 | version = "0.9.8" 1761 | source = "registry+https://github.com/rust-lang/crates.io-index" 1762 | checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" 1763 | dependencies = [ 1764 | "cfg-if", 1765 | "libc", 1766 | "redox_syscall 0.3.5", 1767 | "smallvec", 1768 | "windows-targets", 1769 | ] 1770 | 1771 | [[package]] 1772 | name = "pathdiff" 1773 | version = "0.2.1" 1774 | source = "registry+https://github.com/rust-lang/crates.io-index" 1775 | checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" 1776 | 1777 | [[package]] 1778 | name = "percent-encoding" 1779 | version = "2.3.0" 1780 | source = "registry+https://github.com/rust-lang/crates.io-index" 1781 | checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" 1782 | 1783 | [[package]] 1784 | name = "phf" 1785 | version = "0.8.0" 1786 | source = "registry+https://github.com/rust-lang/crates.io-index" 1787 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1788 | dependencies = [ 1789 | "phf_macros 0.8.0", 1790 | "phf_shared 0.8.0", 1791 | "proc-macro-hack", 1792 | ] 1793 | 1794 | [[package]] 1795 | name = "phf" 1796 | version = "0.10.1" 1797 | source = "registry+https://github.com/rust-lang/crates.io-index" 1798 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 1799 | dependencies = [ 1800 | "phf_macros 0.10.0", 1801 | "phf_shared 0.10.0", 1802 | "proc-macro-hack", 1803 | ] 1804 | 1805 | [[package]] 1806 | name = "phf_codegen" 1807 | version = "0.8.0" 1808 | source = "registry+https://github.com/rust-lang/crates.io-index" 1809 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1810 | dependencies = [ 1811 | "phf_generator 0.8.0", 1812 | "phf_shared 0.8.0", 1813 | ] 1814 | 1815 | [[package]] 1816 | name = "phf_generator" 1817 | version = "0.8.0" 1818 | source = "registry+https://github.com/rust-lang/crates.io-index" 1819 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1820 | dependencies = [ 1821 | "phf_shared 0.8.0", 1822 | "rand 0.7.3", 1823 | ] 1824 | 1825 | [[package]] 1826 | name = "phf_generator" 1827 | version = "0.10.0" 1828 | source = "registry+https://github.com/rust-lang/crates.io-index" 1829 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 1830 | dependencies = [ 1831 | "phf_shared 0.10.0", 1832 | "rand 0.8.5", 1833 | ] 1834 | 1835 | [[package]] 1836 | name = "phf_macros" 1837 | version = "0.8.0" 1838 | source = "registry+https://github.com/rust-lang/crates.io-index" 1839 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" 1840 | dependencies = [ 1841 | "phf_generator 0.8.0", 1842 | "phf_shared 0.8.0", 1843 | "proc-macro-hack", 1844 | "proc-macro2", 1845 | "quote", 1846 | "syn 1.0.109", 1847 | ] 1848 | 1849 | [[package]] 1850 | name = "phf_macros" 1851 | version = "0.10.0" 1852 | source = "registry+https://github.com/rust-lang/crates.io-index" 1853 | checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" 1854 | dependencies = [ 1855 | "phf_generator 0.10.0", 1856 | "phf_shared 0.10.0", 1857 | "proc-macro-hack", 1858 | "proc-macro2", 1859 | "quote", 1860 | "syn 1.0.109", 1861 | ] 1862 | 1863 | [[package]] 1864 | name = "phf_shared" 1865 | version = "0.8.0" 1866 | source = "registry+https://github.com/rust-lang/crates.io-index" 1867 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 1868 | dependencies = [ 1869 | "siphasher", 1870 | ] 1871 | 1872 | [[package]] 1873 | name = "phf_shared" 1874 | version = "0.10.0" 1875 | source = "registry+https://github.com/rust-lang/crates.io-index" 1876 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 1877 | dependencies = [ 1878 | "siphasher", 1879 | ] 1880 | 1881 | [[package]] 1882 | name = "pin-project-lite" 1883 | version = "0.2.13" 1884 | source = "registry+https://github.com/rust-lang/crates.io-index" 1885 | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 1886 | 1887 | [[package]] 1888 | name = "pin-utils" 1889 | version = "0.1.0" 1890 | source = "registry+https://github.com/rust-lang/crates.io-index" 1891 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1892 | 1893 | [[package]] 1894 | name = "pkg-config" 1895 | version = "0.3.27" 1896 | source = "registry+https://github.com/rust-lang/crates.io-index" 1897 | checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" 1898 | 1899 | [[package]] 1900 | name = "plist" 1901 | version = "1.5.0" 1902 | source = "registry+https://github.com/rust-lang/crates.io-index" 1903 | checksum = "bdc0001cfea3db57a2e24bc0d818e9e20e554b5f97fabb9bc231dc240269ae06" 1904 | dependencies = [ 1905 | "base64 0.21.3", 1906 | "indexmap 1.9.3", 1907 | "line-wrap", 1908 | "quick-xml", 1909 | "serde", 1910 | "time", 1911 | ] 1912 | 1913 | [[package]] 1914 | name = "png" 1915 | version = "0.17.10" 1916 | source = "registry+https://github.com/rust-lang/crates.io-index" 1917 | checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64" 1918 | dependencies = [ 1919 | "bitflags 1.3.2", 1920 | "crc32fast", 1921 | "fdeflate", 1922 | "flate2", 1923 | "miniz_oxide", 1924 | ] 1925 | 1926 | [[package]] 1927 | name = "ppv-lite86" 1928 | version = "0.2.17" 1929 | source = "registry+https://github.com/rust-lang/crates.io-index" 1930 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1931 | 1932 | [[package]] 1933 | name = "precomputed-hash" 1934 | version = "0.1.1" 1935 | source = "registry+https://github.com/rust-lang/crates.io-index" 1936 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 1937 | 1938 | [[package]] 1939 | name = "proc-macro-crate" 1940 | version = "1.3.1" 1941 | source = "registry+https://github.com/rust-lang/crates.io-index" 1942 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 1943 | dependencies = [ 1944 | "once_cell", 1945 | "toml_edit", 1946 | ] 1947 | 1948 | [[package]] 1949 | name = "proc-macro-error" 1950 | version = "1.0.4" 1951 | source = "registry+https://github.com/rust-lang/crates.io-index" 1952 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1953 | dependencies = [ 1954 | "proc-macro-error-attr", 1955 | "proc-macro2", 1956 | "quote", 1957 | "syn 1.0.109", 1958 | "version_check", 1959 | ] 1960 | 1961 | [[package]] 1962 | name = "proc-macro-error-attr" 1963 | version = "1.0.4" 1964 | source = "registry+https://github.com/rust-lang/crates.io-index" 1965 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1966 | dependencies = [ 1967 | "proc-macro2", 1968 | "quote", 1969 | "version_check", 1970 | ] 1971 | 1972 | [[package]] 1973 | name = "proc-macro-hack" 1974 | version = "0.5.20+deprecated" 1975 | source = "registry+https://github.com/rust-lang/crates.io-index" 1976 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 1977 | 1978 | [[package]] 1979 | name = "proc-macro2" 1980 | version = "1.0.66" 1981 | source = "registry+https://github.com/rust-lang/crates.io-index" 1982 | checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" 1983 | dependencies = [ 1984 | "unicode-ident", 1985 | ] 1986 | 1987 | [[package]] 1988 | name = "quick-xml" 1989 | version = "0.29.0" 1990 | source = "registry+https://github.com/rust-lang/crates.io-index" 1991 | checksum = "81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51" 1992 | dependencies = [ 1993 | "memchr", 1994 | ] 1995 | 1996 | [[package]] 1997 | name = "quote" 1998 | version = "1.0.33" 1999 | source = "registry+https://github.com/rust-lang/crates.io-index" 2000 | checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" 2001 | dependencies = [ 2002 | "proc-macro2", 2003 | ] 2004 | 2005 | [[package]] 2006 | name = "rand" 2007 | version = "0.7.3" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 2010 | dependencies = [ 2011 | "getrandom 0.1.16", 2012 | "libc", 2013 | "rand_chacha 0.2.2", 2014 | "rand_core 0.5.1", 2015 | "rand_hc", 2016 | "rand_pcg", 2017 | ] 2018 | 2019 | [[package]] 2020 | name = "rand" 2021 | version = "0.8.5" 2022 | source = "registry+https://github.com/rust-lang/crates.io-index" 2023 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 2024 | dependencies = [ 2025 | "libc", 2026 | "rand_chacha 0.3.1", 2027 | "rand_core 0.6.4", 2028 | ] 2029 | 2030 | [[package]] 2031 | name = "rand_chacha" 2032 | version = "0.2.2" 2033 | source = "registry+https://github.com/rust-lang/crates.io-index" 2034 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 2035 | dependencies = [ 2036 | "ppv-lite86", 2037 | "rand_core 0.5.1", 2038 | ] 2039 | 2040 | [[package]] 2041 | name = "rand_chacha" 2042 | version = "0.3.1" 2043 | source = "registry+https://github.com/rust-lang/crates.io-index" 2044 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2045 | dependencies = [ 2046 | "ppv-lite86", 2047 | "rand_core 0.6.4", 2048 | ] 2049 | 2050 | [[package]] 2051 | name = "rand_core" 2052 | version = "0.5.1" 2053 | source = "registry+https://github.com/rust-lang/crates.io-index" 2054 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 2055 | dependencies = [ 2056 | "getrandom 0.1.16", 2057 | ] 2058 | 2059 | [[package]] 2060 | name = "rand_core" 2061 | version = "0.6.4" 2062 | source = "registry+https://github.com/rust-lang/crates.io-index" 2063 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2064 | dependencies = [ 2065 | "getrandom 0.2.10", 2066 | ] 2067 | 2068 | [[package]] 2069 | name = "rand_hc" 2070 | version = "0.2.0" 2071 | source = "registry+https://github.com/rust-lang/crates.io-index" 2072 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 2073 | dependencies = [ 2074 | "rand_core 0.5.1", 2075 | ] 2076 | 2077 | [[package]] 2078 | name = "rand_pcg" 2079 | version = "0.2.1" 2080 | source = "registry+https://github.com/rust-lang/crates.io-index" 2081 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 2082 | dependencies = [ 2083 | "rand_core 0.5.1", 2084 | ] 2085 | 2086 | [[package]] 2087 | name = "raw-window-handle" 2088 | version = "0.5.2" 2089 | source = "registry+https://github.com/rust-lang/crates.io-index" 2090 | checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" 2091 | 2092 | [[package]] 2093 | name = "redox_syscall" 2094 | version = "0.2.16" 2095 | source = "registry+https://github.com/rust-lang/crates.io-index" 2096 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 2097 | dependencies = [ 2098 | "bitflags 1.3.2", 2099 | ] 2100 | 2101 | [[package]] 2102 | name = "redox_syscall" 2103 | version = "0.3.5" 2104 | source = "registry+https://github.com/rust-lang/crates.io-index" 2105 | checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" 2106 | dependencies = [ 2107 | "bitflags 1.3.2", 2108 | ] 2109 | 2110 | [[package]] 2111 | name = "redox_users" 2112 | version = "0.4.3" 2113 | source = "registry+https://github.com/rust-lang/crates.io-index" 2114 | checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 2115 | dependencies = [ 2116 | "getrandom 0.2.10", 2117 | "redox_syscall 0.2.16", 2118 | "thiserror", 2119 | ] 2120 | 2121 | [[package]] 2122 | name = "regex" 2123 | version = "1.9.5" 2124 | source = "registry+https://github.com/rust-lang/crates.io-index" 2125 | checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" 2126 | dependencies = [ 2127 | "aho-corasick", 2128 | "memchr", 2129 | "regex-automata 0.3.8", 2130 | "regex-syntax 0.7.5", 2131 | ] 2132 | 2133 | [[package]] 2134 | name = "regex-automata" 2135 | version = "0.1.10" 2136 | source = "registry+https://github.com/rust-lang/crates.io-index" 2137 | checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 2138 | dependencies = [ 2139 | "regex-syntax 0.6.29", 2140 | ] 2141 | 2142 | [[package]] 2143 | name = "regex-automata" 2144 | version = "0.3.8" 2145 | source = "registry+https://github.com/rust-lang/crates.io-index" 2146 | checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" 2147 | dependencies = [ 2148 | "aho-corasick", 2149 | "memchr", 2150 | "regex-syntax 0.7.5", 2151 | ] 2152 | 2153 | [[package]] 2154 | name = "regex-syntax" 2155 | version = "0.6.29" 2156 | source = "registry+https://github.com/rust-lang/crates.io-index" 2157 | checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 2158 | 2159 | [[package]] 2160 | name = "regex-syntax" 2161 | version = "0.7.5" 2162 | source = "registry+https://github.com/rust-lang/crates.io-index" 2163 | checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 2164 | 2165 | [[package]] 2166 | name = "rustc-demangle" 2167 | version = "0.1.23" 2168 | source = "registry+https://github.com/rust-lang/crates.io-index" 2169 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 2170 | 2171 | [[package]] 2172 | name = "rustc_version" 2173 | version = "0.4.0" 2174 | source = "registry+https://github.com/rust-lang/crates.io-index" 2175 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 2176 | dependencies = [ 2177 | "semver", 2178 | ] 2179 | 2180 | [[package]] 2181 | name = "rustix" 2182 | version = "0.38.11" 2183 | source = "registry+https://github.com/rust-lang/crates.io-index" 2184 | checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453" 2185 | dependencies = [ 2186 | "bitflags 2.4.0", 2187 | "errno", 2188 | "libc", 2189 | "linux-raw-sys", 2190 | "windows-sys 0.48.0", 2191 | ] 2192 | 2193 | [[package]] 2194 | name = "rustversion" 2195 | version = "1.0.14" 2196 | source = "registry+https://github.com/rust-lang/crates.io-index" 2197 | checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" 2198 | 2199 | [[package]] 2200 | name = "ryu" 2201 | version = "1.0.15" 2202 | source = "registry+https://github.com/rust-lang/crates.io-index" 2203 | checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 2204 | 2205 | [[package]] 2206 | name = "safemem" 2207 | version = "0.3.3" 2208 | source = "registry+https://github.com/rust-lang/crates.io-index" 2209 | checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" 2210 | 2211 | [[package]] 2212 | name = "same-file" 2213 | version = "1.0.6" 2214 | source = "registry+https://github.com/rust-lang/crates.io-index" 2215 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 2216 | dependencies = [ 2217 | "winapi-util", 2218 | ] 2219 | 2220 | [[package]] 2221 | name = "scoped-tls" 2222 | version = "1.0.1" 2223 | source = "registry+https://github.com/rust-lang/crates.io-index" 2224 | checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 2225 | 2226 | [[package]] 2227 | name = "scopeguard" 2228 | version = "1.2.0" 2229 | source = "registry+https://github.com/rust-lang/crates.io-index" 2230 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 2231 | 2232 | [[package]] 2233 | name = "selectors" 2234 | version = "0.22.0" 2235 | source = "registry+https://github.com/rust-lang/crates.io-index" 2236 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" 2237 | dependencies = [ 2238 | "bitflags 1.3.2", 2239 | "cssparser", 2240 | "derive_more", 2241 | "fxhash", 2242 | "log", 2243 | "matches", 2244 | "phf 0.8.0", 2245 | "phf_codegen", 2246 | "precomputed-hash", 2247 | "servo_arc", 2248 | "smallvec", 2249 | "thin-slice", 2250 | ] 2251 | 2252 | [[package]] 2253 | name = "semver" 2254 | version = "1.0.18" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" 2257 | dependencies = [ 2258 | "serde", 2259 | ] 2260 | 2261 | [[package]] 2262 | name = "serde" 2263 | version = "1.0.188" 2264 | source = "registry+https://github.com/rust-lang/crates.io-index" 2265 | checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 2266 | dependencies = [ 2267 | "serde_derive", 2268 | ] 2269 | 2270 | [[package]] 2271 | name = "serde_derive" 2272 | version = "1.0.188" 2273 | source = "registry+https://github.com/rust-lang/crates.io-index" 2274 | checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 2275 | dependencies = [ 2276 | "proc-macro2", 2277 | "quote", 2278 | "syn 2.0.31", 2279 | ] 2280 | 2281 | [[package]] 2282 | name = "serde_json" 2283 | version = "1.0.105" 2284 | source = "registry+https://github.com/rust-lang/crates.io-index" 2285 | checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" 2286 | dependencies = [ 2287 | "itoa 1.0.9", 2288 | "ryu", 2289 | "serde", 2290 | ] 2291 | 2292 | [[package]] 2293 | name = "serde_repr" 2294 | version = "0.1.16" 2295 | source = "registry+https://github.com/rust-lang/crates.io-index" 2296 | checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" 2297 | dependencies = [ 2298 | "proc-macro2", 2299 | "quote", 2300 | "syn 2.0.31", 2301 | ] 2302 | 2303 | [[package]] 2304 | name = "serde_spanned" 2305 | version = "0.6.3" 2306 | source = "registry+https://github.com/rust-lang/crates.io-index" 2307 | checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" 2308 | dependencies = [ 2309 | "serde", 2310 | ] 2311 | 2312 | [[package]] 2313 | name = "serde_with" 2314 | version = "3.3.0" 2315 | source = "registry+https://github.com/rust-lang/crates.io-index" 2316 | checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" 2317 | dependencies = [ 2318 | "base64 0.21.3", 2319 | "chrono", 2320 | "hex", 2321 | "indexmap 1.9.3", 2322 | "indexmap 2.0.0", 2323 | "serde", 2324 | "serde_json", 2325 | "serde_with_macros", 2326 | "time", 2327 | ] 2328 | 2329 | [[package]] 2330 | name = "serde_with_macros" 2331 | version = "3.3.0" 2332 | source = "registry+https://github.com/rust-lang/crates.io-index" 2333 | checksum = "2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c" 2334 | dependencies = [ 2335 | "darling", 2336 | "proc-macro2", 2337 | "quote", 2338 | "syn 2.0.31", 2339 | ] 2340 | 2341 | [[package]] 2342 | name = "serialize-to-javascript" 2343 | version = "0.1.1" 2344 | source = "registry+https://github.com/rust-lang/crates.io-index" 2345 | checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" 2346 | dependencies = [ 2347 | "serde", 2348 | "serde_json", 2349 | "serialize-to-javascript-impl", 2350 | ] 2351 | 2352 | [[package]] 2353 | name = "serialize-to-javascript-impl" 2354 | version = "0.1.1" 2355 | source = "registry+https://github.com/rust-lang/crates.io-index" 2356 | checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" 2357 | dependencies = [ 2358 | "proc-macro2", 2359 | "quote", 2360 | "syn 1.0.109", 2361 | ] 2362 | 2363 | [[package]] 2364 | name = "servo_arc" 2365 | version = "0.1.1" 2366 | source = "registry+https://github.com/rust-lang/crates.io-index" 2367 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" 2368 | dependencies = [ 2369 | "nodrop", 2370 | "stable_deref_trait", 2371 | ] 2372 | 2373 | [[package]] 2374 | name = "sha2" 2375 | version = "0.10.7" 2376 | source = "registry+https://github.com/rust-lang/crates.io-index" 2377 | checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" 2378 | dependencies = [ 2379 | "cfg-if", 2380 | "cpufeatures", 2381 | "digest", 2382 | ] 2383 | 2384 | [[package]] 2385 | name = "sharded-slab" 2386 | version = "0.1.4" 2387 | source = "registry+https://github.com/rust-lang/crates.io-index" 2388 | checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" 2389 | dependencies = [ 2390 | "lazy_static", 2391 | ] 2392 | 2393 | [[package]] 2394 | name = "simd-adler32" 2395 | version = "0.3.7" 2396 | source = "registry+https://github.com/rust-lang/crates.io-index" 2397 | checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" 2398 | 2399 | [[package]] 2400 | name = "siphasher" 2401 | version = "0.3.11" 2402 | source = "registry+https://github.com/rust-lang/crates.io-index" 2403 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 2404 | 2405 | [[package]] 2406 | name = "slab" 2407 | version = "0.4.9" 2408 | source = "registry+https://github.com/rust-lang/crates.io-index" 2409 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2410 | dependencies = [ 2411 | "autocfg", 2412 | ] 2413 | 2414 | [[package]] 2415 | name = "smallvec" 2416 | version = "1.11.0" 2417 | source = "registry+https://github.com/rust-lang/crates.io-index" 2418 | checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" 2419 | 2420 | [[package]] 2421 | name = "soup2" 2422 | version = "0.2.1" 2423 | source = "registry+https://github.com/rust-lang/crates.io-index" 2424 | checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" 2425 | dependencies = [ 2426 | "bitflags 1.3.2", 2427 | "gio", 2428 | "glib", 2429 | "libc", 2430 | "once_cell", 2431 | "soup2-sys", 2432 | ] 2433 | 2434 | [[package]] 2435 | name = "soup2-sys" 2436 | version = "0.2.0" 2437 | source = "registry+https://github.com/rust-lang/crates.io-index" 2438 | checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" 2439 | dependencies = [ 2440 | "bitflags 1.3.2", 2441 | "gio-sys", 2442 | "glib-sys", 2443 | "gobject-sys", 2444 | "libc", 2445 | "system-deps 5.0.0", 2446 | ] 2447 | 2448 | [[package]] 2449 | name = "stable_deref_trait" 2450 | version = "1.2.0" 2451 | source = "registry+https://github.com/rust-lang/crates.io-index" 2452 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2453 | 2454 | [[package]] 2455 | name = "state" 2456 | version = "0.5.3" 2457 | source = "registry+https://github.com/rust-lang/crates.io-index" 2458 | checksum = "dbe866e1e51e8260c9eed836a042a5e7f6726bb2b411dffeaa712e19c388f23b" 2459 | dependencies = [ 2460 | "loom", 2461 | ] 2462 | 2463 | [[package]] 2464 | name = "string_cache" 2465 | version = "0.8.7" 2466 | source = "registry+https://github.com/rust-lang/crates.io-index" 2467 | checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" 2468 | dependencies = [ 2469 | "new_debug_unreachable", 2470 | "once_cell", 2471 | "parking_lot", 2472 | "phf_shared 0.10.0", 2473 | "precomputed-hash", 2474 | "serde", 2475 | ] 2476 | 2477 | [[package]] 2478 | name = "string_cache_codegen" 2479 | version = "0.5.2" 2480 | source = "registry+https://github.com/rust-lang/crates.io-index" 2481 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 2482 | dependencies = [ 2483 | "phf_generator 0.10.0", 2484 | "phf_shared 0.10.0", 2485 | "proc-macro2", 2486 | "quote", 2487 | ] 2488 | 2489 | [[package]] 2490 | name = "strsim" 2491 | version = "0.10.0" 2492 | source = "registry+https://github.com/rust-lang/crates.io-index" 2493 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2494 | 2495 | [[package]] 2496 | name = "syn" 2497 | version = "1.0.109" 2498 | source = "registry+https://github.com/rust-lang/crates.io-index" 2499 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2500 | dependencies = [ 2501 | "proc-macro2", 2502 | "quote", 2503 | "unicode-ident", 2504 | ] 2505 | 2506 | [[package]] 2507 | name = "syn" 2508 | version = "2.0.31" 2509 | source = "registry+https://github.com/rust-lang/crates.io-index" 2510 | checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398" 2511 | dependencies = [ 2512 | "proc-macro2", 2513 | "quote", 2514 | "unicode-ident", 2515 | ] 2516 | 2517 | [[package]] 2518 | name = "system-deps" 2519 | version = "5.0.0" 2520 | source = "registry+https://github.com/rust-lang/crates.io-index" 2521 | checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" 2522 | dependencies = [ 2523 | "cfg-expr 0.9.1", 2524 | "heck 0.3.3", 2525 | "pkg-config", 2526 | "toml 0.5.11", 2527 | "version-compare 0.0.11", 2528 | ] 2529 | 2530 | [[package]] 2531 | name = "system-deps" 2532 | version = "6.1.1" 2533 | source = "registry+https://github.com/rust-lang/crates.io-index" 2534 | checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3" 2535 | dependencies = [ 2536 | "cfg-expr 0.15.4", 2537 | "heck 0.4.1", 2538 | "pkg-config", 2539 | "toml 0.7.6", 2540 | "version-compare 0.1.1", 2541 | ] 2542 | 2543 | [[package]] 2544 | name = "tao" 2545 | version = "0.16.2" 2546 | source = "registry+https://github.com/rust-lang/crates.io-index" 2547 | checksum = "6a6d198e01085564cea63e976ad1566c1ba2c2e4cc79578e35d9f05521505e31" 2548 | dependencies = [ 2549 | "bitflags 1.3.2", 2550 | "cairo-rs", 2551 | "cc", 2552 | "cocoa", 2553 | "core-foundation", 2554 | "core-graphics", 2555 | "crossbeam-channel", 2556 | "dirs-next", 2557 | "dispatch", 2558 | "gdk", 2559 | "gdk-pixbuf", 2560 | "gdk-sys", 2561 | "gdkwayland-sys", 2562 | "gdkx11-sys", 2563 | "gio", 2564 | "glib", 2565 | "glib-sys", 2566 | "gtk", 2567 | "image", 2568 | "instant", 2569 | "jni", 2570 | "lazy_static", 2571 | "libappindicator", 2572 | "libc", 2573 | "log", 2574 | "ndk", 2575 | "ndk-context", 2576 | "ndk-sys", 2577 | "objc", 2578 | "once_cell", 2579 | "parking_lot", 2580 | "png", 2581 | "raw-window-handle", 2582 | "scopeguard", 2583 | "serde", 2584 | "tao-macros", 2585 | "unicode-segmentation", 2586 | "uuid", 2587 | "windows 0.39.0", 2588 | "windows-implement", 2589 | "x11-dl", 2590 | ] 2591 | 2592 | [[package]] 2593 | name = "tao-macros" 2594 | version = "0.1.2" 2595 | source = "registry+https://github.com/rust-lang/crates.io-index" 2596 | checksum = "ec114582505d158b669b136e6851f85840c109819d77c42bb7c0709f727d18c2" 2597 | dependencies = [ 2598 | "proc-macro2", 2599 | "quote", 2600 | "syn 1.0.109", 2601 | ] 2602 | 2603 | [[package]] 2604 | name = "tar" 2605 | version = "0.4.40" 2606 | source = "registry+https://github.com/rust-lang/crates.io-index" 2607 | checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" 2608 | dependencies = [ 2609 | "filetime", 2610 | "libc", 2611 | "xattr", 2612 | ] 2613 | 2614 | [[package]] 2615 | name = "target-lexicon" 2616 | version = "0.12.11" 2617 | source = "registry+https://github.com/rust-lang/crates.io-index" 2618 | checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" 2619 | 2620 | [[package]] 2621 | name = "tauri" 2622 | version = "1.4.1" 2623 | source = "registry+https://github.com/rust-lang/crates.io-index" 2624 | checksum = "7fbe522898e35407a8e60dc3870f7579fea2fc262a6a6072eccdd37ae1e1d91e" 2625 | dependencies = [ 2626 | "anyhow", 2627 | "cocoa", 2628 | "dirs-next", 2629 | "embed_plist", 2630 | "encoding_rs", 2631 | "flate2", 2632 | "futures-util", 2633 | "glib", 2634 | "glob", 2635 | "gtk", 2636 | "heck 0.4.1", 2637 | "http", 2638 | "ignore", 2639 | "objc", 2640 | "once_cell", 2641 | "open", 2642 | "percent-encoding", 2643 | "rand 0.8.5", 2644 | "raw-window-handle", 2645 | "regex", 2646 | "semver", 2647 | "serde", 2648 | "serde_json", 2649 | "serde_repr", 2650 | "serialize-to-javascript", 2651 | "state", 2652 | "tar", 2653 | "tauri-macros", 2654 | "tauri-runtime", 2655 | "tauri-runtime-wry", 2656 | "tauri-utils", 2657 | "tempfile", 2658 | "thiserror", 2659 | "tokio", 2660 | "url", 2661 | "uuid", 2662 | "webkit2gtk", 2663 | "webview2-com", 2664 | "windows 0.39.0", 2665 | ] 2666 | 2667 | [[package]] 2668 | name = "tauri-build" 2669 | version = "1.4.0" 2670 | source = "registry+https://github.com/rust-lang/crates.io-index" 2671 | checksum = "7d2edd6a259b5591c8efdeb9d5702cb53515b82a6affebd55c7fd6d3a27b7d1b" 2672 | dependencies = [ 2673 | "anyhow", 2674 | "cargo_toml", 2675 | "heck 0.4.1", 2676 | "json-patch", 2677 | "semver", 2678 | "serde", 2679 | "serde_json", 2680 | "tauri-utils", 2681 | "tauri-winres", 2682 | ] 2683 | 2684 | [[package]] 2685 | name = "tauri-codegen" 2686 | version = "1.4.0" 2687 | source = "registry+https://github.com/rust-lang/crates.io-index" 2688 | checksum = "54ad2d49fdeab4a08717f5b49a163bdc72efc3b1950b6758245fcde79b645e1a" 2689 | dependencies = [ 2690 | "base64 0.21.3", 2691 | "brotli", 2692 | "ico", 2693 | "json-patch", 2694 | "plist", 2695 | "png", 2696 | "proc-macro2", 2697 | "quote", 2698 | "regex", 2699 | "semver", 2700 | "serde", 2701 | "serde_json", 2702 | "sha2", 2703 | "tauri-utils", 2704 | "thiserror", 2705 | "time", 2706 | "uuid", 2707 | "walkdir", 2708 | ] 2709 | 2710 | [[package]] 2711 | name = "tauri-macros" 2712 | version = "1.4.0" 2713 | source = "registry+https://github.com/rust-lang/crates.io-index" 2714 | checksum = "8eb12a2454e747896929338d93b0642144bb51e0dddbb36e579035731f0d76b7" 2715 | dependencies = [ 2716 | "heck 0.4.1", 2717 | "proc-macro2", 2718 | "quote", 2719 | "syn 1.0.109", 2720 | "tauri-codegen", 2721 | "tauri-utils", 2722 | ] 2723 | 2724 | [[package]] 2725 | name = "tauri-runtime" 2726 | version = "0.14.0" 2727 | source = "registry+https://github.com/rust-lang/crates.io-index" 2728 | checksum = "108683199cb18f96d2d4134187bb789964143c845d2d154848dda209191fd769" 2729 | dependencies = [ 2730 | "gtk", 2731 | "http", 2732 | "http-range", 2733 | "rand 0.8.5", 2734 | "raw-window-handle", 2735 | "serde", 2736 | "serde_json", 2737 | "tauri-utils", 2738 | "thiserror", 2739 | "url", 2740 | "uuid", 2741 | "webview2-com", 2742 | "windows 0.39.0", 2743 | ] 2744 | 2745 | [[package]] 2746 | name = "tauri-runtime-wry" 2747 | version = "0.14.0" 2748 | source = "registry+https://github.com/rust-lang/crates.io-index" 2749 | checksum = "0b7aa256a1407a3a091b5d843eccc1a5042289baf0a43d1179d9f0fcfea37c1b" 2750 | dependencies = [ 2751 | "cocoa", 2752 | "gtk", 2753 | "percent-encoding", 2754 | "rand 0.8.5", 2755 | "raw-window-handle", 2756 | "tauri-runtime", 2757 | "tauri-utils", 2758 | "uuid", 2759 | "webkit2gtk", 2760 | "webview2-com", 2761 | "windows 0.39.0", 2762 | "wry", 2763 | ] 2764 | 2765 | [[package]] 2766 | name = "tauri-utils" 2767 | version = "1.4.0" 2768 | source = "registry+https://github.com/rust-lang/crates.io-index" 2769 | checksum = "03fc02bb6072bb397e1d473c6f76c953cda48b4a2d0cce605df284aa74a12e84" 2770 | dependencies = [ 2771 | "brotli", 2772 | "ctor", 2773 | "dunce", 2774 | "glob", 2775 | "heck 0.4.1", 2776 | "html5ever", 2777 | "infer", 2778 | "json-patch", 2779 | "kuchiki", 2780 | "memchr", 2781 | "phf 0.10.1", 2782 | "proc-macro2", 2783 | "quote", 2784 | "semver", 2785 | "serde", 2786 | "serde_json", 2787 | "serde_with", 2788 | "thiserror", 2789 | "url", 2790 | "walkdir", 2791 | "windows 0.39.0", 2792 | ] 2793 | 2794 | [[package]] 2795 | name = "tauri-winres" 2796 | version = "0.1.1" 2797 | source = "registry+https://github.com/rust-lang/crates.io-index" 2798 | checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" 2799 | dependencies = [ 2800 | "embed-resource", 2801 | "toml 0.7.6", 2802 | ] 2803 | 2804 | [[package]] 2805 | name = "tempfile" 2806 | version = "3.8.0" 2807 | source = "registry+https://github.com/rust-lang/crates.io-index" 2808 | checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" 2809 | dependencies = [ 2810 | "cfg-if", 2811 | "fastrand", 2812 | "redox_syscall 0.3.5", 2813 | "rustix", 2814 | "windows-sys 0.48.0", 2815 | ] 2816 | 2817 | [[package]] 2818 | name = "tendril" 2819 | version = "0.4.3" 2820 | source = "registry+https://github.com/rust-lang/crates.io-index" 2821 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 2822 | dependencies = [ 2823 | "futf", 2824 | "mac", 2825 | "utf-8", 2826 | ] 2827 | 2828 | [[package]] 2829 | name = "thin-slice" 2830 | version = "0.1.1" 2831 | source = "registry+https://github.com/rust-lang/crates.io-index" 2832 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" 2833 | 2834 | [[package]] 2835 | name = "thiserror" 2836 | version = "1.0.48" 2837 | source = "registry+https://github.com/rust-lang/crates.io-index" 2838 | checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7" 2839 | dependencies = [ 2840 | "thiserror-impl", 2841 | ] 2842 | 2843 | [[package]] 2844 | name = "thiserror-impl" 2845 | version = "1.0.48" 2846 | source = "registry+https://github.com/rust-lang/crates.io-index" 2847 | checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35" 2848 | dependencies = [ 2849 | "proc-macro2", 2850 | "quote", 2851 | "syn 2.0.31", 2852 | ] 2853 | 2854 | [[package]] 2855 | name = "thread_local" 2856 | version = "1.1.7" 2857 | source = "registry+https://github.com/rust-lang/crates.io-index" 2858 | checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 2859 | dependencies = [ 2860 | "cfg-if", 2861 | "once_cell", 2862 | ] 2863 | 2864 | [[package]] 2865 | name = "time" 2866 | version = "0.3.28" 2867 | source = "registry+https://github.com/rust-lang/crates.io-index" 2868 | checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" 2869 | dependencies = [ 2870 | "deranged", 2871 | "itoa 1.0.9", 2872 | "serde", 2873 | "time-core", 2874 | "time-macros", 2875 | ] 2876 | 2877 | [[package]] 2878 | name = "time-core" 2879 | version = "0.1.1" 2880 | source = "registry+https://github.com/rust-lang/crates.io-index" 2881 | checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" 2882 | 2883 | [[package]] 2884 | name = "time-macros" 2885 | version = "0.2.14" 2886 | source = "registry+https://github.com/rust-lang/crates.io-index" 2887 | checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" 2888 | dependencies = [ 2889 | "time-core", 2890 | ] 2891 | 2892 | [[package]] 2893 | name = "tinyvec" 2894 | version = "1.6.0" 2895 | source = "registry+https://github.com/rust-lang/crates.io-index" 2896 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2897 | dependencies = [ 2898 | "tinyvec_macros", 2899 | ] 2900 | 2901 | [[package]] 2902 | name = "tinyvec_macros" 2903 | version = "0.1.1" 2904 | source = "registry+https://github.com/rust-lang/crates.io-index" 2905 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2906 | 2907 | [[package]] 2908 | name = "tokio" 2909 | version = "1.32.0" 2910 | source = "registry+https://github.com/rust-lang/crates.io-index" 2911 | checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" 2912 | dependencies = [ 2913 | "backtrace", 2914 | "bytes", 2915 | "num_cpus", 2916 | "pin-project-lite", 2917 | ] 2918 | 2919 | [[package]] 2920 | name = "toml" 2921 | version = "0.5.11" 2922 | source = "registry+https://github.com/rust-lang/crates.io-index" 2923 | checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" 2924 | dependencies = [ 2925 | "serde", 2926 | ] 2927 | 2928 | [[package]] 2929 | name = "toml" 2930 | version = "0.7.6" 2931 | source = "registry+https://github.com/rust-lang/crates.io-index" 2932 | checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" 2933 | dependencies = [ 2934 | "serde", 2935 | "serde_spanned", 2936 | "toml_datetime", 2937 | "toml_edit", 2938 | ] 2939 | 2940 | [[package]] 2941 | name = "toml_datetime" 2942 | version = "0.6.3" 2943 | source = "registry+https://github.com/rust-lang/crates.io-index" 2944 | checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" 2945 | dependencies = [ 2946 | "serde", 2947 | ] 2948 | 2949 | [[package]] 2950 | name = "toml_edit" 2951 | version = "0.19.14" 2952 | source = "registry+https://github.com/rust-lang/crates.io-index" 2953 | checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" 2954 | dependencies = [ 2955 | "indexmap 2.0.0", 2956 | "serde", 2957 | "serde_spanned", 2958 | "toml_datetime", 2959 | "winnow", 2960 | ] 2961 | 2962 | [[package]] 2963 | name = "tracing" 2964 | version = "0.1.37" 2965 | source = "registry+https://github.com/rust-lang/crates.io-index" 2966 | checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 2967 | dependencies = [ 2968 | "cfg-if", 2969 | "pin-project-lite", 2970 | "tracing-attributes", 2971 | "tracing-core", 2972 | ] 2973 | 2974 | [[package]] 2975 | name = "tracing-attributes" 2976 | version = "0.1.26" 2977 | source = "registry+https://github.com/rust-lang/crates.io-index" 2978 | checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" 2979 | dependencies = [ 2980 | "proc-macro2", 2981 | "quote", 2982 | "syn 2.0.31", 2983 | ] 2984 | 2985 | [[package]] 2986 | name = "tracing-core" 2987 | version = "0.1.31" 2988 | source = "registry+https://github.com/rust-lang/crates.io-index" 2989 | checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" 2990 | dependencies = [ 2991 | "once_cell", 2992 | "valuable", 2993 | ] 2994 | 2995 | [[package]] 2996 | name = "tracing-log" 2997 | version = "0.1.3" 2998 | source = "registry+https://github.com/rust-lang/crates.io-index" 2999 | checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" 3000 | dependencies = [ 3001 | "lazy_static", 3002 | "log", 3003 | "tracing-core", 3004 | ] 3005 | 3006 | [[package]] 3007 | name = "tracing-subscriber" 3008 | version = "0.3.17" 3009 | source = "registry+https://github.com/rust-lang/crates.io-index" 3010 | checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" 3011 | dependencies = [ 3012 | "matchers", 3013 | "nu-ansi-term", 3014 | "once_cell", 3015 | "regex", 3016 | "sharded-slab", 3017 | "smallvec", 3018 | "thread_local", 3019 | "tracing", 3020 | "tracing-core", 3021 | "tracing-log", 3022 | ] 3023 | 3024 | [[package]] 3025 | name = "treediff" 3026 | version = "4.0.2" 3027 | source = "registry+https://github.com/rust-lang/crates.io-index" 3028 | checksum = "52984d277bdf2a751072b5df30ec0377febdb02f7696d64c2d7d54630bac4303" 3029 | dependencies = [ 3030 | "serde_json", 3031 | ] 3032 | 3033 | [[package]] 3034 | name = "typenum" 3035 | version = "1.16.0" 3036 | source = "registry+https://github.com/rust-lang/crates.io-index" 3037 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 3038 | 3039 | [[package]] 3040 | name = "unicode-bidi" 3041 | version = "0.3.13" 3042 | source = "registry+https://github.com/rust-lang/crates.io-index" 3043 | checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" 3044 | 3045 | [[package]] 3046 | name = "unicode-ident" 3047 | version = "1.0.11" 3048 | source = "registry+https://github.com/rust-lang/crates.io-index" 3049 | checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" 3050 | 3051 | [[package]] 3052 | name = "unicode-normalization" 3053 | version = "0.1.22" 3054 | source = "registry+https://github.com/rust-lang/crates.io-index" 3055 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 3056 | dependencies = [ 3057 | "tinyvec", 3058 | ] 3059 | 3060 | [[package]] 3061 | name = "unicode-segmentation" 3062 | version = "1.10.1" 3063 | source = "registry+https://github.com/rust-lang/crates.io-index" 3064 | checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 3065 | 3066 | [[package]] 3067 | name = "url" 3068 | version = "2.4.1" 3069 | source = "registry+https://github.com/rust-lang/crates.io-index" 3070 | checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" 3071 | dependencies = [ 3072 | "form_urlencoded", 3073 | "idna", 3074 | "percent-encoding", 3075 | "serde", 3076 | ] 3077 | 3078 | [[package]] 3079 | name = "utf-8" 3080 | version = "0.7.6" 3081 | source = "registry+https://github.com/rust-lang/crates.io-index" 3082 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 3083 | 3084 | [[package]] 3085 | name = "uuid" 3086 | version = "1.4.1" 3087 | source = "registry+https://github.com/rust-lang/crates.io-index" 3088 | checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" 3089 | dependencies = [ 3090 | "getrandom 0.2.10", 3091 | ] 3092 | 3093 | [[package]] 3094 | name = "valuable" 3095 | version = "0.1.0" 3096 | source = "registry+https://github.com/rust-lang/crates.io-index" 3097 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 3098 | 3099 | [[package]] 3100 | name = "version-compare" 3101 | version = "0.0.11" 3102 | source = "registry+https://github.com/rust-lang/crates.io-index" 3103 | checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" 3104 | 3105 | [[package]] 3106 | name = "version-compare" 3107 | version = "0.1.1" 3108 | source = "registry+https://github.com/rust-lang/crates.io-index" 3109 | checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" 3110 | 3111 | [[package]] 3112 | name = "version_check" 3113 | version = "0.9.4" 3114 | source = "registry+https://github.com/rust-lang/crates.io-index" 3115 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 3116 | 3117 | [[package]] 3118 | name = "vswhom" 3119 | version = "0.1.0" 3120 | source = "registry+https://github.com/rust-lang/crates.io-index" 3121 | checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" 3122 | dependencies = [ 3123 | "libc", 3124 | "vswhom-sys", 3125 | ] 3126 | 3127 | [[package]] 3128 | name = "vswhom-sys" 3129 | version = "0.1.2" 3130 | source = "registry+https://github.com/rust-lang/crates.io-index" 3131 | checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" 3132 | dependencies = [ 3133 | "cc", 3134 | "libc", 3135 | ] 3136 | 3137 | [[package]] 3138 | name = "walkdir" 3139 | version = "2.3.3" 3140 | source = "registry+https://github.com/rust-lang/crates.io-index" 3141 | checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" 3142 | dependencies = [ 3143 | "same-file", 3144 | "winapi-util", 3145 | ] 3146 | 3147 | [[package]] 3148 | name = "wasi" 3149 | version = "0.9.0+wasi-snapshot-preview1" 3150 | source = "registry+https://github.com/rust-lang/crates.io-index" 3151 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 3152 | 3153 | [[package]] 3154 | name = "wasi" 3155 | version = "0.11.0+wasi-snapshot-preview1" 3156 | source = "registry+https://github.com/rust-lang/crates.io-index" 3157 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3158 | 3159 | [[package]] 3160 | name = "wasm-bindgen" 3161 | version = "0.2.87" 3162 | source = "registry+https://github.com/rust-lang/crates.io-index" 3163 | checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" 3164 | dependencies = [ 3165 | "cfg-if", 3166 | "wasm-bindgen-macro", 3167 | ] 3168 | 3169 | [[package]] 3170 | name = "wasm-bindgen-backend" 3171 | version = "0.2.87" 3172 | source = "registry+https://github.com/rust-lang/crates.io-index" 3173 | checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" 3174 | dependencies = [ 3175 | "bumpalo", 3176 | "log", 3177 | "once_cell", 3178 | "proc-macro2", 3179 | "quote", 3180 | "syn 2.0.31", 3181 | "wasm-bindgen-shared", 3182 | ] 3183 | 3184 | [[package]] 3185 | name = "wasm-bindgen-macro" 3186 | version = "0.2.87" 3187 | source = "registry+https://github.com/rust-lang/crates.io-index" 3188 | checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" 3189 | dependencies = [ 3190 | "quote", 3191 | "wasm-bindgen-macro-support", 3192 | ] 3193 | 3194 | [[package]] 3195 | name = "wasm-bindgen-macro-support" 3196 | version = "0.2.87" 3197 | source = "registry+https://github.com/rust-lang/crates.io-index" 3198 | checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" 3199 | dependencies = [ 3200 | "proc-macro2", 3201 | "quote", 3202 | "syn 2.0.31", 3203 | "wasm-bindgen-backend", 3204 | "wasm-bindgen-shared", 3205 | ] 3206 | 3207 | [[package]] 3208 | name = "wasm-bindgen-shared" 3209 | version = "0.2.87" 3210 | source = "registry+https://github.com/rust-lang/crates.io-index" 3211 | checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" 3212 | 3213 | [[package]] 3214 | name = "webkit2gtk" 3215 | version = "0.18.2" 3216 | source = "registry+https://github.com/rust-lang/crates.io-index" 3217 | checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" 3218 | dependencies = [ 3219 | "bitflags 1.3.2", 3220 | "cairo-rs", 3221 | "gdk", 3222 | "gdk-sys", 3223 | "gio", 3224 | "gio-sys", 3225 | "glib", 3226 | "glib-sys", 3227 | "gobject-sys", 3228 | "gtk", 3229 | "gtk-sys", 3230 | "javascriptcore-rs", 3231 | "libc", 3232 | "once_cell", 3233 | "soup2", 3234 | "webkit2gtk-sys", 3235 | ] 3236 | 3237 | [[package]] 3238 | name = "webkit2gtk-sys" 3239 | version = "0.18.0" 3240 | source = "registry+https://github.com/rust-lang/crates.io-index" 3241 | checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" 3242 | dependencies = [ 3243 | "atk-sys", 3244 | "bitflags 1.3.2", 3245 | "cairo-sys-rs", 3246 | "gdk-pixbuf-sys", 3247 | "gdk-sys", 3248 | "gio-sys", 3249 | "glib-sys", 3250 | "gobject-sys", 3251 | "gtk-sys", 3252 | "javascriptcore-rs-sys", 3253 | "libc", 3254 | "pango-sys", 3255 | "pkg-config", 3256 | "soup2-sys", 3257 | "system-deps 6.1.1", 3258 | ] 3259 | 3260 | [[package]] 3261 | name = "webview2-com" 3262 | version = "0.19.1" 3263 | source = "registry+https://github.com/rust-lang/crates.io-index" 3264 | checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" 3265 | dependencies = [ 3266 | "webview2-com-macros", 3267 | "webview2-com-sys", 3268 | "windows 0.39.0", 3269 | "windows-implement", 3270 | ] 3271 | 3272 | [[package]] 3273 | name = "webview2-com-macros" 3274 | version = "0.6.0" 3275 | source = "registry+https://github.com/rust-lang/crates.io-index" 3276 | checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" 3277 | dependencies = [ 3278 | "proc-macro2", 3279 | "quote", 3280 | "syn 1.0.109", 3281 | ] 3282 | 3283 | [[package]] 3284 | name = "webview2-com-sys" 3285 | version = "0.19.0" 3286 | source = "registry+https://github.com/rust-lang/crates.io-index" 3287 | checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" 3288 | dependencies = [ 3289 | "regex", 3290 | "serde", 3291 | "serde_json", 3292 | "thiserror", 3293 | "windows 0.39.0", 3294 | "windows-bindgen", 3295 | "windows-metadata", 3296 | ] 3297 | 3298 | [[package]] 3299 | name = "winapi" 3300 | version = "0.3.9" 3301 | source = "registry+https://github.com/rust-lang/crates.io-index" 3302 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 3303 | dependencies = [ 3304 | "winapi-i686-pc-windows-gnu", 3305 | "winapi-x86_64-pc-windows-gnu", 3306 | ] 3307 | 3308 | [[package]] 3309 | name = "winapi-i686-pc-windows-gnu" 3310 | version = "0.4.0" 3311 | source = "registry+https://github.com/rust-lang/crates.io-index" 3312 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 3313 | 3314 | [[package]] 3315 | name = "winapi-util" 3316 | version = "0.1.5" 3317 | source = "registry+https://github.com/rust-lang/crates.io-index" 3318 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 3319 | dependencies = [ 3320 | "winapi", 3321 | ] 3322 | 3323 | [[package]] 3324 | name = "winapi-x86_64-pc-windows-gnu" 3325 | version = "0.4.0" 3326 | source = "registry+https://github.com/rust-lang/crates.io-index" 3327 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 3328 | 3329 | [[package]] 3330 | name = "windows" 3331 | version = "0.39.0" 3332 | source = "registry+https://github.com/rust-lang/crates.io-index" 3333 | checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" 3334 | dependencies = [ 3335 | "windows-implement", 3336 | "windows_aarch64_msvc 0.39.0", 3337 | "windows_i686_gnu 0.39.0", 3338 | "windows_i686_msvc 0.39.0", 3339 | "windows_x86_64_gnu 0.39.0", 3340 | "windows_x86_64_msvc 0.39.0", 3341 | ] 3342 | 3343 | [[package]] 3344 | name = "windows" 3345 | version = "0.48.0" 3346 | source = "registry+https://github.com/rust-lang/crates.io-index" 3347 | checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" 3348 | dependencies = [ 3349 | "windows-targets", 3350 | ] 3351 | 3352 | [[package]] 3353 | name = "windows-bindgen" 3354 | version = "0.39.0" 3355 | source = "registry+https://github.com/rust-lang/crates.io-index" 3356 | checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" 3357 | dependencies = [ 3358 | "windows-metadata", 3359 | "windows-tokens", 3360 | ] 3361 | 3362 | [[package]] 3363 | name = "windows-implement" 3364 | version = "0.39.0" 3365 | source = "registry+https://github.com/rust-lang/crates.io-index" 3366 | checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" 3367 | dependencies = [ 3368 | "syn 1.0.109", 3369 | "windows-tokens", 3370 | ] 3371 | 3372 | [[package]] 3373 | name = "windows-metadata" 3374 | version = "0.39.0" 3375 | source = "registry+https://github.com/rust-lang/crates.io-index" 3376 | checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" 3377 | 3378 | [[package]] 3379 | name = "windows-sys" 3380 | version = "0.42.0" 3381 | source = "registry+https://github.com/rust-lang/crates.io-index" 3382 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 3383 | dependencies = [ 3384 | "windows_aarch64_gnullvm 0.42.2", 3385 | "windows_aarch64_msvc 0.42.2", 3386 | "windows_i686_gnu 0.42.2", 3387 | "windows_i686_msvc 0.42.2", 3388 | "windows_x86_64_gnu 0.42.2", 3389 | "windows_x86_64_gnullvm 0.42.2", 3390 | "windows_x86_64_msvc 0.42.2", 3391 | ] 3392 | 3393 | [[package]] 3394 | name = "windows-sys" 3395 | version = "0.48.0" 3396 | source = "registry+https://github.com/rust-lang/crates.io-index" 3397 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 3398 | dependencies = [ 3399 | "windows-targets", 3400 | ] 3401 | 3402 | [[package]] 3403 | name = "windows-targets" 3404 | version = "0.48.5" 3405 | source = "registry+https://github.com/rust-lang/crates.io-index" 3406 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 3407 | dependencies = [ 3408 | "windows_aarch64_gnullvm 0.48.5", 3409 | "windows_aarch64_msvc 0.48.5", 3410 | "windows_i686_gnu 0.48.5", 3411 | "windows_i686_msvc 0.48.5", 3412 | "windows_x86_64_gnu 0.48.5", 3413 | "windows_x86_64_gnullvm 0.48.5", 3414 | "windows_x86_64_msvc 0.48.5", 3415 | ] 3416 | 3417 | [[package]] 3418 | name = "windows-tokens" 3419 | version = "0.39.0" 3420 | source = "registry+https://github.com/rust-lang/crates.io-index" 3421 | checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" 3422 | 3423 | [[package]] 3424 | name = "windows_aarch64_gnullvm" 3425 | version = "0.42.2" 3426 | source = "registry+https://github.com/rust-lang/crates.io-index" 3427 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 3428 | 3429 | [[package]] 3430 | name = "windows_aarch64_gnullvm" 3431 | version = "0.48.5" 3432 | source = "registry+https://github.com/rust-lang/crates.io-index" 3433 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 3434 | 3435 | [[package]] 3436 | name = "windows_aarch64_msvc" 3437 | version = "0.39.0" 3438 | source = "registry+https://github.com/rust-lang/crates.io-index" 3439 | checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" 3440 | 3441 | [[package]] 3442 | name = "windows_aarch64_msvc" 3443 | version = "0.42.2" 3444 | source = "registry+https://github.com/rust-lang/crates.io-index" 3445 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 3446 | 3447 | [[package]] 3448 | name = "windows_aarch64_msvc" 3449 | version = "0.48.5" 3450 | source = "registry+https://github.com/rust-lang/crates.io-index" 3451 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 3452 | 3453 | [[package]] 3454 | name = "windows_i686_gnu" 3455 | version = "0.39.0" 3456 | source = "registry+https://github.com/rust-lang/crates.io-index" 3457 | checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" 3458 | 3459 | [[package]] 3460 | name = "windows_i686_gnu" 3461 | version = "0.42.2" 3462 | source = "registry+https://github.com/rust-lang/crates.io-index" 3463 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 3464 | 3465 | [[package]] 3466 | name = "windows_i686_gnu" 3467 | version = "0.48.5" 3468 | source = "registry+https://github.com/rust-lang/crates.io-index" 3469 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 3470 | 3471 | [[package]] 3472 | name = "windows_i686_msvc" 3473 | version = "0.39.0" 3474 | source = "registry+https://github.com/rust-lang/crates.io-index" 3475 | checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" 3476 | 3477 | [[package]] 3478 | name = "windows_i686_msvc" 3479 | version = "0.42.2" 3480 | source = "registry+https://github.com/rust-lang/crates.io-index" 3481 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 3482 | 3483 | [[package]] 3484 | name = "windows_i686_msvc" 3485 | version = "0.48.5" 3486 | source = "registry+https://github.com/rust-lang/crates.io-index" 3487 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 3488 | 3489 | [[package]] 3490 | name = "windows_x86_64_gnu" 3491 | version = "0.39.0" 3492 | source = "registry+https://github.com/rust-lang/crates.io-index" 3493 | checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" 3494 | 3495 | [[package]] 3496 | name = "windows_x86_64_gnu" 3497 | version = "0.42.2" 3498 | source = "registry+https://github.com/rust-lang/crates.io-index" 3499 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 3500 | 3501 | [[package]] 3502 | name = "windows_x86_64_gnu" 3503 | version = "0.48.5" 3504 | source = "registry+https://github.com/rust-lang/crates.io-index" 3505 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 3506 | 3507 | [[package]] 3508 | name = "windows_x86_64_gnullvm" 3509 | version = "0.42.2" 3510 | source = "registry+https://github.com/rust-lang/crates.io-index" 3511 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 3512 | 3513 | [[package]] 3514 | name = "windows_x86_64_gnullvm" 3515 | version = "0.48.5" 3516 | source = "registry+https://github.com/rust-lang/crates.io-index" 3517 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 3518 | 3519 | [[package]] 3520 | name = "windows_x86_64_msvc" 3521 | version = "0.39.0" 3522 | source = "registry+https://github.com/rust-lang/crates.io-index" 3523 | checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" 3524 | 3525 | [[package]] 3526 | name = "windows_x86_64_msvc" 3527 | version = "0.42.2" 3528 | source = "registry+https://github.com/rust-lang/crates.io-index" 3529 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 3530 | 3531 | [[package]] 3532 | name = "windows_x86_64_msvc" 3533 | version = "0.48.5" 3534 | source = "registry+https://github.com/rust-lang/crates.io-index" 3535 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 3536 | 3537 | [[package]] 3538 | name = "winnow" 3539 | version = "0.5.15" 3540 | source = "registry+https://github.com/rust-lang/crates.io-index" 3541 | checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" 3542 | dependencies = [ 3543 | "memchr", 3544 | ] 3545 | 3546 | [[package]] 3547 | name = "winreg" 3548 | version = "0.51.0" 3549 | source = "registry+https://github.com/rust-lang/crates.io-index" 3550 | checksum = "937f3df7948156640f46aacef17a70db0de5917bda9c92b0f751f3a955b588fc" 3551 | dependencies = [ 3552 | "cfg-if", 3553 | "windows-sys 0.48.0", 3554 | ] 3555 | 3556 | [[package]] 3557 | name = "wry" 3558 | version = "0.24.3" 3559 | source = "registry+https://github.com/rust-lang/crates.io-index" 3560 | checksum = "33748f35413c8a98d45f7a08832d848c0c5915501803d1faade5a4ebcd258cea" 3561 | dependencies = [ 3562 | "base64 0.13.1", 3563 | "block", 3564 | "cocoa", 3565 | "core-graphics", 3566 | "crossbeam-channel", 3567 | "dunce", 3568 | "gdk", 3569 | "gio", 3570 | "glib", 3571 | "gtk", 3572 | "html5ever", 3573 | "http", 3574 | "kuchiki", 3575 | "libc", 3576 | "log", 3577 | "objc", 3578 | "objc_id", 3579 | "once_cell", 3580 | "serde", 3581 | "serde_json", 3582 | "sha2", 3583 | "soup2", 3584 | "tao", 3585 | "thiserror", 3586 | "url", 3587 | "webkit2gtk", 3588 | "webkit2gtk-sys", 3589 | "webview2-com", 3590 | "windows 0.39.0", 3591 | "windows-implement", 3592 | ] 3593 | 3594 | [[package]] 3595 | name = "x11" 3596 | version = "2.21.0" 3597 | source = "registry+https://github.com/rust-lang/crates.io-index" 3598 | checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" 3599 | dependencies = [ 3600 | "libc", 3601 | "pkg-config", 3602 | ] 3603 | 3604 | [[package]] 3605 | name = "x11-dl" 3606 | version = "2.21.0" 3607 | source = "registry+https://github.com/rust-lang/crates.io-index" 3608 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 3609 | dependencies = [ 3610 | "libc", 3611 | "once_cell", 3612 | "pkg-config", 3613 | ] 3614 | 3615 | [[package]] 3616 | name = "xattr" 3617 | version = "1.0.1" 3618 | source = "registry+https://github.com/rust-lang/crates.io-index" 3619 | checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" 3620 | dependencies = [ 3621 | "libc", 3622 | ] 3623 | -------------------------------------------------------------------------------- /backend/src-tauri/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "backend" 3 | version = "0.0.0" 4 | description = "A Tauri App" 5 | authors = ["you"] 6 | license = "" 7 | repository = "" 8 | edition = "2021" 9 | 10 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 11 | 12 | [build-dependencies] 13 | tauri-build = { version = "1.4", features = [] } 14 | 15 | [dependencies] 16 | tauri = { version = "1.4", features = [ "window-center", "window-set-size", "window-maximize", "process-exit", "macos-private-api", "system-tray", "shell-open"] } 17 | serde = { version = "1.0", features = ["derive"] } 18 | serde_json = "1.0" 19 | 20 | [features] 21 | # this feature is used for production builds or when `devPath` points to the filesystem 22 | # DO NOT REMOVE!! 23 | custom-protocol = ["tauri/custom-protocol"] 24 | -------------------------------------------------------------------------------- /backend/src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /backend/src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/128x128.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/128x128@2x.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/32x32.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square107x107Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square142x142Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square150x150Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square284x284Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square30x30Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square310x310Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square44x44Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square71x71Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/Square89x89Logo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/StoreLogo.png -------------------------------------------------------------------------------- /backend/src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/icon.icns -------------------------------------------------------------------------------- /backend/src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/icon.ico -------------------------------------------------------------------------------- /backend/src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /backend/src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | // Prevents additional console window on Windows in release, DO NOT REMOVE!! 2 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] 3 | 4 | use tauri::{Manager, SystemTray, SystemTrayEvent, SystemTrayMenu}; 5 | 6 | fn main() { 7 | let system_tray_menu = SystemTrayMenu::new(); 8 | tauri::Builder::default() 9 | .system_tray(SystemTray::new().with_menu(system_tray_menu)) 10 | // Remove the icon in the macos dock 11 | .setup(|app| { 12 | app.set_activation_policy(tauri::ActivationPolicy::Accessory); 13 | Ok(()) 14 | }) 15 | .on_system_tray_event(|app, event| match event { 16 | SystemTrayEvent::LeftClick { 17 | position: _, 18 | size: _, 19 | .. 20 | } => { 21 | let window = app.get_window("main").unwrap(); 22 | // toggle application window 23 | if window.is_visible().unwrap() { 24 | window.hide().unwrap(); 25 | } else { 26 | window.show().unwrap(); 27 | window.set_focus().unwrap(); 28 | } 29 | }, 30 | SystemTrayEvent::MenuItemClick { id, .. } => match id.as_str() { 31 | "quit" => { 32 | std::process::exit(0); 33 | } 34 | _ => {} 35 | }, 36 | _ => {} 37 | }) 38 | .on_window_event(|event| match event.event() { 39 | tauri::WindowEvent::Focused(is_focused) => { 40 | // detect click outside of the focused window and hide the app 41 | if !is_focused { 42 | event.window().hide().unwrap(); 43 | } 44 | } 45 | _ => {} 46 | }) 47 | .run(tauri::generate_context!()) 48 | .expect("error while running tauri application"); 49 | } 50 | -------------------------------------------------------------------------------- /backend/src-tauri/tauri.conf.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "beforeDevCommand": "npm run dev", 4 | "beforeBuildCommand": "npm run build", 5 | "devPath": "http://localhost:1420", 6 | "distDir": "../dist", 7 | "withGlobalTauri": true 8 | }, 9 | "package": { 10 | "productName": "endo", 11 | "version": "0.0.1" 12 | }, 13 | "tauri": { 14 | "allowlist": { 15 | "all": false, 16 | "shell": { 17 | "all": false, 18 | "open": true 19 | }, 20 | "process": { 21 | "all": false, 22 | "exit": true, 23 | "relaunch": false, 24 | "relaunchDangerousAllowSymlinkMacos": false 25 | }, 26 | "window": { 27 | "all": false, 28 | "center": true, 29 | "close": false, 30 | "create": false, 31 | "hide": false, 32 | "maximize": true, 33 | "minimize": false, 34 | "print": false, 35 | "requestUserAttention": false, 36 | "setAlwaysOnTop": false, 37 | "setClosable": false, 38 | "setContentProtected": false, 39 | "setCursorGrab": false, 40 | "setCursorIcon": false, 41 | "setCursorPosition": false, 42 | "setCursorVisible": false, 43 | "setDecorations": false, 44 | "setFocus": false, 45 | "setFullscreen": false, 46 | "setIcon": false, 47 | "setIgnoreCursorEvents": false, 48 | "setMaxSize": false, 49 | "setMaximizable": false, 50 | "setMinSize": false, 51 | "setMinimizable": false, 52 | "setPosition": false, 53 | "setResizable": false, 54 | "setSize": true, 55 | "setSkipTaskbar": false, 56 | "setTitle": false, 57 | "show": false, 58 | "startDragging": false, 59 | "unmaximize": false, 60 | "unminimize": false 61 | } 62 | }, 63 | "bundle": { 64 | "active": true, 65 | "targets": "all", 66 | "identifier": "com.endo.dev", 67 | "icon": [ 68 | "icons/32x32.png", 69 | "icons/128x128.png", 70 | "icons/128x128@2x.png", 71 | "icons/icon.icns", 72 | "icons/icon.ico" 73 | ] 74 | }, 75 | "security": { 76 | "csp": null, 77 | "dangerousRemoteDomainIpcAccess": [ 78 | { 79 | "windows": ["main"], 80 | "domain": "endo.vercel.app", 81 | "enableTauriAPI": true 82 | } 83 | ] 84 | }, 85 | "macOSPrivateApi": true, 86 | "windows": [ 87 | { 88 | "fullscreen": false, 89 | "height": 400, 90 | "resizable": false, 91 | "title": "Endo", 92 | "width": 600, 93 | "visible": false, 94 | "hiddenTitle": true, 95 | "decorations": false, 96 | "focus": false, 97 | "transparent": true, 98 | "center": true, 99 | "alwaysOnTop": true 100 | } 101 | ], 102 | "systemTray": { 103 | "iconPath": "icons/icon.png", 104 | "iconAsTemplate": true, 105 | "menuOnLeftClick": false 106 | } 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /backend/src/assets/tauri.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /backend/src/assets/typescript.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 10 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /backend/src/assets/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimrmalik/endo/95240cffaccd0b97644169ec36af95d9c4a23f35/backend/src/main.ts -------------------------------------------------------------------------------- /backend/src/styles.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: Inter, Avenir, Helvetica, Arial, sans-serif; 3 | font-size: 16px; 4 | line-height: 24px; 5 | font-weight: 400; 6 | 7 | color: #0f0f0f; 8 | background-color: #f6f6f6; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | -webkit-text-size-adjust: 100%; 15 | } 16 | 17 | .container { 18 | margin: 0; 19 | padding-top: 10vh; 20 | display: flex; 21 | flex-direction: column; 22 | justify-content: center; 23 | text-align: center; 24 | } 25 | 26 | .logo { 27 | height: 6em; 28 | padding: 1.5em; 29 | will-change: filter; 30 | transition: 0.75s; 31 | } 32 | 33 | .logo.tauri:hover { 34 | filter: drop-shadow(0 0 2em #24c8db); 35 | } 36 | 37 | .row { 38 | display: flex; 39 | justify-content: center; 40 | } 41 | 42 | a { 43 | font-weight: 500; 44 | color: #646cff; 45 | text-decoration: inherit; 46 | } 47 | 48 | a:hover { 49 | color: #535bf2; 50 | } 51 | 52 | h1 { 53 | text-align: center; 54 | } 55 | 56 | input, 57 | button { 58 | border-radius: 8px; 59 | border: 1px solid transparent; 60 | padding: 0.6em 1.2em; 61 | font-size: 1em; 62 | font-weight: 500; 63 | font-family: inherit; 64 | color: #0f0f0f; 65 | background-color: #ffffff; 66 | transition: border-color 0.25s; 67 | box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); 68 | } 69 | 70 | button { 71 | cursor: pointer; 72 | } 73 | 74 | button:hover { 75 | border-color: #396cd8; 76 | } 77 | button:active { 78 | border-color: #396cd8; 79 | background-color: #e8e8e8; 80 | } 81 | 82 | input, 83 | button { 84 | outline: none; 85 | } 86 | 87 | #greet-input { 88 | margin-right: 5px; 89 | } 90 | 91 | @media (prefers-color-scheme: dark) { 92 | :root { 93 | color: #f6f6f6; 94 | background-color: #2f2f2f; 95 | } 96 | 97 | a:hover { 98 | color: #24c8db; 99 | } 100 | 101 | input, 102 | button { 103 | color: #ffffff; 104 | background-color: #0f0f0f98; 105 | } 106 | button:active { 107 | background-color: #0f0f0f69; 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /backend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "resolveJsonModule": true, 13 | "isolatedModules": true, 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true 21 | }, 22 | "include": ["src"] 23 | } 24 | -------------------------------------------------------------------------------- /backend/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | 3 | // https://vitejs.dev/config/ 4 | export default defineConfig(async () => ({ 5 | // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` 6 | // 7 | // 1. prevent vite from obscuring rust errors 8 | clearScreen: false, 9 | // 2. tauri expects a fixed port, fail if that port is not available 10 | server: { 11 | port: 1420, 12 | strictPort: true, 13 | }, 14 | // 3. to make use of `TAURI_DEBUG` and other env variables 15 | // https://tauri.studio/v1/api/config#buildconfig.beforedevcommand 16 | envPrefix: ["VITE_", "TAURI_"], 17 | })); 18 | -------------------------------------------------------------------------------- /frontend/.env.example: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_SUPABASE_URL=your_supabase_url 2 | NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key 3 | OPENAI_API_KEY=your_openai_api_key -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules 5 | .pnp 6 | .pnp.js 7 | 8 | # testing 9 | coverage 10 | 11 | # next.js 12 | .next/ 13 | out/ 14 | build 15 | 16 | # misc 17 | .DS_Store 18 | *.pem 19 | 20 | # debug 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | 25 | # local env files 26 | .env 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | 32 | # turbo 33 | .turbo 34 | 35 | # vercel 36 | .vercel 37 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | # Frontend 2 | 3 | This is a Next.js project boostrapped with `create-next-app`. This directory is deployed to a web URL that is remotely called by the Tauri window (`./backend`). 4 | -------------------------------------------------------------------------------- /frontend/app/api/generate/route.ts: -------------------------------------------------------------------------------- 1 | import OpenAI from "openai"; 2 | import { OpenAIStream, StreamingTextResponse } from "ai"; 3 | import { kv } from "@vercel/kv"; 4 | import { Ratelimit } from "@upstash/ratelimit"; 5 | 6 | // Create an OpenAI API client (that's edge friendly!) 7 | const openai = new OpenAI({ 8 | apiKey: process.env.OPENAI_API_KEY || "", 9 | }); 10 | 11 | // IMPORTANT! Set the runtime to edge: https://vercel.com/docs/functions/edge-functions/edge-runtime 12 | export const runtime = "edge"; 13 | 14 | export async function POST(req: Request): Promise { 15 | // Check if the OPENAI_API_KEY is set, if not return 400 16 | if (!process.env.OPENAI_API_KEY || process.env.OPENAI_API_KEY === "") { 17 | return new Response( 18 | "Missing OPENAI_API_KEY – make sure to add it to your .env file.", 19 | { 20 | status: 400, 21 | } 22 | ); 23 | } 24 | if ( 25 | process.env.NODE_ENV != "development" && 26 | process.env.KV_REST_API_URL && 27 | process.env.KV_REST_API_TOKEN 28 | ) { 29 | const ip = req.headers.get("x-forwarded-for"); 30 | const ratelimit = new Ratelimit({ 31 | redis: kv, 32 | limiter: Ratelimit.slidingWindow(50, "1 d"), 33 | }); 34 | 35 | const { success, limit, reset, remaining } = await ratelimit.limit( 36 | `novel_ratelimit_${ip}` 37 | ); 38 | 39 | if (!success) { 40 | return new Response("You have reached your request limit for the day.", { 41 | status: 429, 42 | headers: { 43 | "X-RateLimit-Limit": limit.toString(), 44 | "X-RateLimit-Remaining": remaining.toString(), 45 | "X-RateLimit-Reset": reset.toString(), 46 | }, 47 | }); 48 | } 49 | } 50 | 51 | let { prompt } = await req.json(); 52 | 53 | const response = await openai.chat.completions.create({ 54 | model: "gpt-3.5-turbo", 55 | messages: [ 56 | { 57 | role: "system", 58 | content: 59 | "You are an AI writing assistant that continues existing text based on context from prior text. " + 60 | "Give more weight/priority to the later characters than the beginning ones. " + 61 | "Limit your response to no more than 200 characters, but make sure to construct complete sentences.", 62 | // we're disabling markdown for now until we can figure out a way to stream markdown text with proper formatting: https://github.com/steven-tey/novel/discussions/7 63 | // "Use Markdown formatting when appropriate.", 64 | }, 65 | { 66 | role: "user", 67 | content: prompt, 68 | }, 69 | ], 70 | temperature: 0.7, 71 | top_p: 1, 72 | frequency_penalty: 0, 73 | presence_penalty: 0, 74 | stream: true, 75 | n: 1, 76 | }); 77 | 78 | // Convert the response into a friendly text-stream 79 | const stream = OpenAIStream(response); 80 | 81 | // Respond with the stream 82 | return new StreamingTextResponse(stream); 83 | } 84 | -------------------------------------------------------------------------------- /frontend/app/bookmarks/page.tsx: -------------------------------------------------------------------------------- 1 | function Bookmarks() { 2 | return ( 3 |
4 |

Bookmarks

5 |
6 | ); 7 | } 8 | 9 | export default Bookmarks; 10 | -------------------------------------------------------------------------------- /frontend/app/components/bookmark-button.tsx: -------------------------------------------------------------------------------- 1 | "use client"; 2 | import { BookmarkIcon } from "lucide-react"; 3 | import { useRouter } from "next/navigation"; 4 | import Tooltip from "./tooltip"; 5 | 6 | function BookmarkButton() { 7 | const router = useRouter(); 8 | return ( 9 | 10 | 16 | 17 | ); 18 | } 19 | 20 | export default BookmarkButton; 21 | -------------------------------------------------------------------------------- /frontend/app/components/create-bookmark-dialog.tsx: -------------------------------------------------------------------------------- 1 | import { PlusIcon } from "lucide-react"; 2 | import { 3 | Dialog, 4 | DialogContent, 5 | DialogHeader, 6 | DialogTitle, 7 | DialogTrigger, 8 | } from "./dialog"; 9 | import { useState } from "react"; 10 | 11 | function CreateBookmarkDialog() { 12 | const [URL, setURl] = useState(""); 13 | const [notes, setNotes] = useState(""); 14 | 15 | return ( 16 | 17 | 18 | 21 | 22 | 23 | 24 | Add bookmark 25 |
26 | setURl(e.target.value)} 29 | value={URL} 30 | /> 31 |