schoolbox web extension :)
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: wxt

- content scripts don't work at the moment

Willow 8e17b1a0 c352c881

+586 -6503
+26 -3
.gitignore
··· 1 - *.DS_Store 2 - web-ext-artifacts/ 3 - node_modules/ 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 + .output 12 + stats.html 13 + stats-*.json 14 + .wxt 15 + web-ext.config.ts 4 16 dist/ 17 + 18 + # Editor directories and files 19 + .vscode/* 20 + !.vscode/extensions.json 21 + .idea 22 + .DS_Store 23 + *.suo 24 + *.ntvs* 25 + *.njsproj 26 + *.sln 27 + *.sw?
bun.lockb

This is a binary file and will not be displayed.

-5827
package-lock.json
··· 1 - { 2 - "name": "schooltape", 3 - "lockfileVersion": 3, 4 - "requires": true, 5 - "packages": { 6 - "": { 7 - "name": "schooltape", 8 - "license": "MIT", 9 - "devDependencies": { 10 - "@catppuccin/tailwindcss": "^0.1.6", 11 - "@sveltejs/vite-plugin-svelte": "^3.1.1", 12 - "@types/webextension-polyfill": "^0.10.7", 13 - "autoprefixer": "^10.4.19", 14 - "lucide-svelte": "^0.383.0", 15 - "postcss": "^8.4.38", 16 - "prettier": "^3.3.0", 17 - "prettier-plugin-svelte": "^3.2.3", 18 - "prettier-plugin-tailwindcss": "^0.5.14", 19 - "rollup-plugin-copy": "^3.5.0", 20 - "svelte": "^4.2.17", 21 - "svelte-routing": "^2.13.0", 22 - "tailwindcss": "^3.4.4", 23 - "tinro": "^0.6.12", 24 - "vite": "^5.2.12", 25 - "vite-plugin-web-extension": "^4.1.3", 26 - "webextension-polyfill": "^0.12.0" 27 - } 28 - }, 29 - "node_modules/@alloc/quick-lru": { 30 - "version": "5.2.0", 31 - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 32 - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 33 - "dev": true, 34 - "license": "MIT", 35 - "engines": { 36 - "node": ">=10" 37 - }, 38 - "funding": { 39 - "url": "https://github.com/sponsors/sindresorhus" 40 - } 41 - }, 42 - "node_modules/@ampproject/remapping": { 43 - "version": "2.3.0", 44 - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 45 - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 46 - "dev": true, 47 - "license": "Apache-2.0", 48 - "dependencies": { 49 - "@jridgewell/gen-mapping": "^0.3.5", 50 - "@jridgewell/trace-mapping": "^0.3.24" 51 - }, 52 - "engines": { 53 - "node": ">=6.0.0" 54 - } 55 - }, 56 - "node_modules/@babel/code-frame": { 57 - "version": "7.24.6", 58 - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", 59 - "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", 60 - "dev": true, 61 - "license": "MIT", 62 - "dependencies": { 63 - "@babel/highlight": "^7.24.6", 64 - "picocolors": "^1.0.0" 65 - }, 66 - "engines": { 67 - "node": ">=6.9.0" 68 - } 69 - }, 70 - "node_modules/@babel/helper-validator-identifier": { 71 - "version": "7.24.6", 72 - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", 73 - "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", 74 - "dev": true, 75 - "license": "MIT", 76 - "engines": { 77 - "node": ">=6.9.0" 78 - } 79 - }, 80 - "node_modules/@babel/highlight": { 81 - "version": "7.24.6", 82 - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", 83 - "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", 84 - "dev": true, 85 - "license": "MIT", 86 - "dependencies": { 87 - "@babel/helper-validator-identifier": "^7.24.6", 88 - "chalk": "^2.4.2", 89 - "js-tokens": "^4.0.0", 90 - "picocolors": "^1.0.0" 91 - }, 92 - "engines": { 93 - "node": ">=6.9.0" 94 - } 95 - }, 96 - "node_modules/@babel/runtime": { 97 - "version": "7.23.9", 98 - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", 99 - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", 100 - "dev": true, 101 - "license": "MIT", 102 - "dependencies": { 103 - "regenerator-runtime": "^0.14.0" 104 - }, 105 - "engines": { 106 - "node": ">=6.9.0" 107 - } 108 - }, 109 - "node_modules/@catppuccin/tailwindcss": { 110 - "version": "0.1.6", 111 - "resolved": "https://registry.npmjs.org/@catppuccin/tailwindcss/-/tailwindcss-0.1.6.tgz", 112 - "integrity": "sha512-V+Y0AwZ5SSyvOVAcDl7Ng30xy+m82OKnEJ+9+kcZZ7lRyXuZrAb2GScdq9XR3v+ggt8qiZ/G4TvaC9cJ88AAXA==", 113 - "dev": true, 114 - "license": "MIT", 115 - "peerDependencies": { 116 - "tailwindcss": ">=3.0.0" 117 - } 118 - }, 119 - "node_modules/@devicefarmer/adbkit": { 120 - "version": "3.2.6", 121 - "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit/-/adbkit-3.2.6.tgz", 122 - "integrity": "sha512-8lO1hSeTgtxcOHhp4tTWq/JaOysp5KNbbyFoxNEBnwkCDZu/Bji3ZfOaG++Riv9jN6c9bgdLBOZqJTC5VJPRKQ==", 123 - "dev": true, 124 - "license": "Apache-2.0", 125 - "dependencies": { 126 - "@devicefarmer/adbkit-logcat": "^2.1.2", 127 - "@devicefarmer/adbkit-monkey": "~1.2.1", 128 - "bluebird": "~3.7", 129 - "commander": "^9.1.0", 130 - "debug": "~4.3.1", 131 - "node-forge": "^1.3.1", 132 - "split": "~1.0.1" 133 - }, 134 - "bin": { 135 - "adbkit": "bin/adbkit" 136 - }, 137 - "engines": { 138 - "node": ">= 0.10.4" 139 - } 140 - }, 141 - "node_modules/@devicefarmer/adbkit-logcat": { 142 - "version": "2.1.3", 143 - "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit-logcat/-/adbkit-logcat-2.1.3.tgz", 144 - "integrity": "sha512-yeaGFjNBc/6+svbDeul1tNHtNChw6h8pSHAt5D+JsedUrMTN7tla7B15WLDyekxsuS2XlZHRxpuC6m92wiwCNw==", 145 - "dev": true, 146 - "license": "Apache-2.0", 147 - "engines": { 148 - "node": ">= 4" 149 - } 150 - }, 151 - "node_modules/@devicefarmer/adbkit-monkey": { 152 - "version": "1.2.1", 153 - "resolved": "https://registry.npmjs.org/@devicefarmer/adbkit-monkey/-/adbkit-monkey-1.2.1.tgz", 154 - "integrity": "sha512-ZzZY/b66W2Jd6NHbAhLyDWOEIBWC11VizGFk7Wx7M61JZRz7HR9Cq5P+65RKWUU7u6wgsE8Lmh9nE4Mz+U2eTg==", 155 - "dev": true, 156 - "license": "Apache-2.0", 157 - "engines": { 158 - "node": ">= 0.10.4" 159 - } 160 - }, 161 - "node_modules/@devicefarmer/adbkit/node_modules/commander": { 162 - "version": "9.5.0", 163 - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", 164 - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", 165 - "dev": true, 166 - "license": "MIT", 167 - "engines": { 168 - "node": "^12.20.0 || >=14" 169 - } 170 - }, 171 - "node_modules/@esbuild/aix-ppc64": { 172 - "version": "0.20.2", 173 - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", 174 - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", 175 - "cpu": [ 176 - "ppc64" 177 - ], 178 - "dev": true, 179 - "license": "MIT", 180 - "optional": true, 181 - "os": [ 182 - "aix" 183 - ], 184 - "engines": { 185 - "node": ">=12" 186 - } 187 - }, 188 - "node_modules/@esbuild/android-arm": { 189 - "version": "0.20.2", 190 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", 191 - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", 192 - "cpu": [ 193 - "arm" 194 - ], 195 - "dev": true, 196 - "license": "MIT", 197 - "optional": true, 198 - "os": [ 199 - "android" 200 - ], 201 - "engines": { 202 - "node": ">=12" 203 - } 204 - }, 205 - "node_modules/@esbuild/android-arm64": { 206 - "version": "0.20.2", 207 - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", 208 - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", 209 - "cpu": [ 210 - "arm64" 211 - ], 212 - "dev": true, 213 - "license": "MIT", 214 - "optional": true, 215 - "os": [ 216 - "android" 217 - ], 218 - "engines": { 219 - "node": ">=12" 220 - } 221 - }, 222 - "node_modules/@esbuild/android-x64": { 223 - "version": "0.20.2", 224 - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", 225 - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", 226 - "cpu": [ 227 - "x64" 228 - ], 229 - "dev": true, 230 - "license": "MIT", 231 - "optional": true, 232 - "os": [ 233 - "android" 234 - ], 235 - "engines": { 236 - "node": ">=12" 237 - } 238 - }, 239 - "node_modules/@esbuild/darwin-arm64": { 240 - "version": "0.20.2", 241 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", 242 - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", 243 - "cpu": [ 244 - "arm64" 245 - ], 246 - "dev": true, 247 - "license": "MIT", 248 - "optional": true, 249 - "os": [ 250 - "darwin" 251 - ], 252 - "engines": { 253 - "node": ">=12" 254 - } 255 - }, 256 - "node_modules/@esbuild/darwin-x64": { 257 - "version": "0.20.2", 258 - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", 259 - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", 260 - "cpu": [ 261 - "x64" 262 - ], 263 - "dev": true, 264 - "license": "MIT", 265 - "optional": true, 266 - "os": [ 267 - "darwin" 268 - ], 269 - "engines": { 270 - "node": ">=12" 271 - } 272 - }, 273 - "node_modules/@esbuild/freebsd-arm64": { 274 - "version": "0.20.2", 275 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", 276 - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", 277 - "cpu": [ 278 - "arm64" 279 - ], 280 - "dev": true, 281 - "license": "MIT", 282 - "optional": true, 283 - "os": [ 284 - "freebsd" 285 - ], 286 - "engines": { 287 - "node": ">=12" 288 - } 289 - }, 290 - "node_modules/@esbuild/freebsd-x64": { 291 - "version": "0.20.2", 292 - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", 293 - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", 294 - "cpu": [ 295 - "x64" 296 - ], 297 - "dev": true, 298 - "license": "MIT", 299 - "optional": true, 300 - "os": [ 301 - "freebsd" 302 - ], 303 - "engines": { 304 - "node": ">=12" 305 - } 306 - }, 307 - "node_modules/@esbuild/linux-arm": { 308 - "version": "0.20.2", 309 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", 310 - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", 311 - "cpu": [ 312 - "arm" 313 - ], 314 - "dev": true, 315 - "license": "MIT", 316 - "optional": true, 317 - "os": [ 318 - "linux" 319 - ], 320 - "engines": { 321 - "node": ">=12" 322 - } 323 - }, 324 - "node_modules/@esbuild/linux-arm64": { 325 - "version": "0.20.2", 326 - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", 327 - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", 328 - "cpu": [ 329 - "arm64" 330 - ], 331 - "dev": true, 332 - "license": "MIT", 333 - "optional": true, 334 - "os": [ 335 - "linux" 336 - ], 337 - "engines": { 338 - "node": ">=12" 339 - } 340 - }, 341 - "node_modules/@esbuild/linux-ia32": { 342 - "version": "0.20.2", 343 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", 344 - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", 345 - "cpu": [ 346 - "ia32" 347 - ], 348 - "dev": true, 349 - "license": "MIT", 350 - "optional": true, 351 - "os": [ 352 - "linux" 353 - ], 354 - "engines": { 355 - "node": ">=12" 356 - } 357 - }, 358 - "node_modules/@esbuild/linux-loong64": { 359 - "version": "0.20.2", 360 - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", 361 - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", 362 - "cpu": [ 363 - "loong64" 364 - ], 365 - "dev": true, 366 - "license": "MIT", 367 - "optional": true, 368 - "os": [ 369 - "linux" 370 - ], 371 - "engines": { 372 - "node": ">=12" 373 - } 374 - }, 375 - "node_modules/@esbuild/linux-mips64el": { 376 - "version": "0.20.2", 377 - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", 378 - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", 379 - "cpu": [ 380 - "mips64el" 381 - ], 382 - "dev": true, 383 - "license": "MIT", 384 - "optional": true, 385 - "os": [ 386 - "linux" 387 - ], 388 - "engines": { 389 - "node": ">=12" 390 - } 391 - }, 392 - "node_modules/@esbuild/linux-ppc64": { 393 - "version": "0.20.2", 394 - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", 395 - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", 396 - "cpu": [ 397 - "ppc64" 398 - ], 399 - "dev": true, 400 - "license": "MIT", 401 - "optional": true, 402 - "os": [ 403 - "linux" 404 - ], 405 - "engines": { 406 - "node": ">=12" 407 - } 408 - }, 409 - "node_modules/@esbuild/linux-riscv64": { 410 - "version": "0.20.2", 411 - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", 412 - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", 413 - "cpu": [ 414 - "riscv64" 415 - ], 416 - "dev": true, 417 - "license": "MIT", 418 - "optional": true, 419 - "os": [ 420 - "linux" 421 - ], 422 - "engines": { 423 - "node": ">=12" 424 - } 425 - }, 426 - "node_modules/@esbuild/linux-s390x": { 427 - "version": "0.20.2", 428 - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", 429 - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", 430 - "cpu": [ 431 - "s390x" 432 - ], 433 - "dev": true, 434 - "license": "MIT", 435 - "optional": true, 436 - "os": [ 437 - "linux" 438 - ], 439 - "engines": { 440 - "node": ">=12" 441 - } 442 - }, 443 - "node_modules/@esbuild/linux-x64": { 444 - "version": "0.20.2", 445 - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", 446 - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", 447 - "cpu": [ 448 - "x64" 449 - ], 450 - "dev": true, 451 - "license": "MIT", 452 - "optional": true, 453 - "os": [ 454 - "linux" 455 - ], 456 - "engines": { 457 - "node": ">=12" 458 - } 459 - }, 460 - "node_modules/@esbuild/netbsd-x64": { 461 - "version": "0.20.2", 462 - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", 463 - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", 464 - "cpu": [ 465 - "x64" 466 - ], 467 - "dev": true, 468 - "license": "MIT", 469 - "optional": true, 470 - "os": [ 471 - "netbsd" 472 - ], 473 - "engines": { 474 - "node": ">=12" 475 - } 476 - }, 477 - "node_modules/@esbuild/openbsd-x64": { 478 - "version": "0.20.2", 479 - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", 480 - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", 481 - "cpu": [ 482 - "x64" 483 - ], 484 - "dev": true, 485 - "license": "MIT", 486 - "optional": true, 487 - "os": [ 488 - "openbsd" 489 - ], 490 - "engines": { 491 - "node": ">=12" 492 - } 493 - }, 494 - "node_modules/@esbuild/sunos-x64": { 495 - "version": "0.20.2", 496 - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", 497 - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", 498 - "cpu": [ 499 - "x64" 500 - ], 501 - "dev": true, 502 - "license": "MIT", 503 - "optional": true, 504 - "os": [ 505 - "sunos" 506 - ], 507 - "engines": { 508 - "node": ">=12" 509 - } 510 - }, 511 - "node_modules/@esbuild/win32-arm64": { 512 - "version": "0.20.2", 513 - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", 514 - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", 515 - "cpu": [ 516 - "arm64" 517 - ], 518 - "dev": true, 519 - "license": "MIT", 520 - "optional": true, 521 - "os": [ 522 - "win32" 523 - ], 524 - "engines": { 525 - "node": ">=12" 526 - } 527 - }, 528 - "node_modules/@esbuild/win32-ia32": { 529 - "version": "0.20.2", 530 - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", 531 - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", 532 - "cpu": [ 533 - "ia32" 534 - ], 535 - "dev": true, 536 - "license": "MIT", 537 - "optional": true, 538 - "os": [ 539 - "win32" 540 - ], 541 - "engines": { 542 - "node": ">=12" 543 - } 544 - }, 545 - "node_modules/@esbuild/win32-x64": { 546 - "version": "0.20.2", 547 - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", 548 - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", 549 - "cpu": [ 550 - "x64" 551 - ], 552 - "dev": true, 553 - "license": "MIT", 554 - "optional": true, 555 - "os": [ 556 - "win32" 557 - ], 558 - "engines": { 559 - "node": ">=12" 560 - } 561 - }, 562 - "node_modules/@isaacs/cliui": { 563 - "version": "8.0.2", 564 - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 565 - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 566 - "dev": true, 567 - "license": "ISC", 568 - "dependencies": { 569 - "string-width": "^5.1.2", 570 - "string-width-cjs": "npm:string-width@^4.2.0", 571 - "strip-ansi": "^7.0.1", 572 - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 573 - "wrap-ansi": "^8.1.0", 574 - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 575 - }, 576 - "engines": { 577 - "node": ">=12" 578 - } 579 - }, 580 - "node_modules/@jridgewell/gen-mapping": { 581 - "version": "0.3.5", 582 - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 583 - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 584 - "dev": true, 585 - "license": "MIT", 586 - "dependencies": { 587 - "@jridgewell/set-array": "^1.2.1", 588 - "@jridgewell/sourcemap-codec": "^1.4.10", 589 - "@jridgewell/trace-mapping": "^0.3.24" 590 - }, 591 - "engines": { 592 - "node": ">=6.0.0" 593 - } 594 - }, 595 - "node_modules/@jridgewell/resolve-uri": { 596 - "version": "3.1.2", 597 - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 598 - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 599 - "dev": true, 600 - "license": "MIT", 601 - "engines": { 602 - "node": ">=6.0.0" 603 - } 604 - }, 605 - "node_modules/@jridgewell/set-array": { 606 - "version": "1.2.1", 607 - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 608 - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 609 - "dev": true, 610 - "license": "MIT", 611 - "engines": { 612 - "node": ">=6.0.0" 613 - } 614 - }, 615 - "node_modules/@jridgewell/sourcemap-codec": { 616 - "version": "1.4.15", 617 - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 618 - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 619 - "dev": true, 620 - "license": "MIT" 621 - }, 622 - "node_modules/@jridgewell/trace-mapping": { 623 - "version": "0.3.25", 624 - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 625 - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 626 - "dev": true, 627 - "license": "MIT", 628 - "dependencies": { 629 - "@jridgewell/resolve-uri": "^3.1.0", 630 - "@jridgewell/sourcemap-codec": "^1.4.14" 631 - } 632 - }, 633 - "node_modules/@nodelib/fs.scandir": { 634 - "version": "2.1.5", 635 - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 636 - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 637 - "dev": true, 638 - "license": "MIT", 639 - "dependencies": { 640 - "@nodelib/fs.stat": "2.0.5", 641 - "run-parallel": "^1.1.9" 642 - }, 643 - "engines": { 644 - "node": ">= 8" 645 - } 646 - }, 647 - "node_modules/@nodelib/fs.stat": { 648 - "version": "2.0.5", 649 - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 650 - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 651 - "dev": true, 652 - "license": "MIT", 653 - "engines": { 654 - "node": ">= 8" 655 - } 656 - }, 657 - "node_modules/@nodelib/fs.walk": { 658 - "version": "1.2.8", 659 - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 660 - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 661 - "dev": true, 662 - "license": "MIT", 663 - "dependencies": { 664 - "@nodelib/fs.scandir": "2.1.5", 665 - "fastq": "^1.6.0" 666 - }, 667 - "engines": { 668 - "node": ">= 8" 669 - } 670 - }, 671 - "node_modules/@pkgjs/parseargs": { 672 - "version": "0.11.0", 673 - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 674 - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 675 - "dev": true, 676 - "license": "MIT", 677 - "optional": true, 678 - "engines": { 679 - "node": ">=14" 680 - } 681 - }, 682 - "node_modules/@pnpm/config.env-replace": { 683 - "version": "1.1.0", 684 - "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", 685 - "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", 686 - "dev": true, 687 - "license": "MIT", 688 - "engines": { 689 - "node": ">=12.22.0" 690 - } 691 - }, 692 - "node_modules/@pnpm/network.ca-file": { 693 - "version": "1.0.2", 694 - "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", 695 - "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", 696 - "dev": true, 697 - "license": "MIT", 698 - "dependencies": { 699 - "graceful-fs": "4.2.10" 700 - }, 701 - "engines": { 702 - "node": ">=12.22.0" 703 - } 704 - }, 705 - "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { 706 - "version": "4.2.10", 707 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", 708 - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", 709 - "dev": true, 710 - "license": "ISC" 711 - }, 712 - "node_modules/@pnpm/npm-conf": { 713 - "version": "2.2.2", 714 - "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", 715 - "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", 716 - "dev": true, 717 - "license": "MIT", 718 - "dependencies": { 719 - "@pnpm/config.env-replace": "^1.1.0", 720 - "@pnpm/network.ca-file": "^1.0.1", 721 - "config-chain": "^1.1.11" 722 - }, 723 - "engines": { 724 - "node": ">=12" 725 - } 726 - }, 727 - "node_modules/@rollup/rollup-android-arm-eabi": { 728 - "version": "4.18.0", 729 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", 730 - "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", 731 - "cpu": [ 732 - "arm" 733 - ], 734 - "dev": true, 735 - "license": "MIT", 736 - "optional": true, 737 - "os": [ 738 - "android" 739 - ] 740 - }, 741 - "node_modules/@rollup/rollup-android-arm64": { 742 - "version": "4.18.0", 743 - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", 744 - "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", 745 - "cpu": [ 746 - "arm64" 747 - ], 748 - "dev": true, 749 - "license": "MIT", 750 - "optional": true, 751 - "os": [ 752 - "android" 753 - ] 754 - }, 755 - "node_modules/@rollup/rollup-darwin-arm64": { 756 - "version": "4.18.0", 757 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", 758 - "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", 759 - "cpu": [ 760 - "arm64" 761 - ], 762 - "dev": true, 763 - "license": "MIT", 764 - "optional": true, 765 - "os": [ 766 - "darwin" 767 - ] 768 - }, 769 - "node_modules/@rollup/rollup-darwin-x64": { 770 - "version": "4.18.0", 771 - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", 772 - "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", 773 - "cpu": [ 774 - "x64" 775 - ], 776 - "dev": true, 777 - "license": "MIT", 778 - "optional": true, 779 - "os": [ 780 - "darwin" 781 - ] 782 - }, 783 - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 784 - "version": "4.18.0", 785 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", 786 - "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", 787 - "cpu": [ 788 - "arm" 789 - ], 790 - "dev": true, 791 - "license": "MIT", 792 - "optional": true, 793 - "os": [ 794 - "linux" 795 - ] 796 - }, 797 - "node_modules/@rollup/rollup-linux-arm-musleabihf": { 798 - "version": "4.18.0", 799 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", 800 - "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", 801 - "cpu": [ 802 - "arm" 803 - ], 804 - "dev": true, 805 - "license": "MIT", 806 - "optional": true, 807 - "os": [ 808 - "linux" 809 - ] 810 - }, 811 - "node_modules/@rollup/rollup-linux-arm64-gnu": { 812 - "version": "4.18.0", 813 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", 814 - "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", 815 - "cpu": [ 816 - "arm64" 817 - ], 818 - "dev": true, 819 - "license": "MIT", 820 - "optional": true, 821 - "os": [ 822 - "linux" 823 - ] 824 - }, 825 - "node_modules/@rollup/rollup-linux-arm64-musl": { 826 - "version": "4.18.0", 827 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", 828 - "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", 829 - "cpu": [ 830 - "arm64" 831 - ], 832 - "dev": true, 833 - "license": "MIT", 834 - "optional": true, 835 - "os": [ 836 - "linux" 837 - ] 838 - }, 839 - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 840 - "version": "4.18.0", 841 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", 842 - "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", 843 - "cpu": [ 844 - "ppc64" 845 - ], 846 - "dev": true, 847 - "license": "MIT", 848 - "optional": true, 849 - "os": [ 850 - "linux" 851 - ] 852 - }, 853 - "node_modules/@rollup/rollup-linux-riscv64-gnu": { 854 - "version": "4.18.0", 855 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", 856 - "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", 857 - "cpu": [ 858 - "riscv64" 859 - ], 860 - "dev": true, 861 - "license": "MIT", 862 - "optional": true, 863 - "os": [ 864 - "linux" 865 - ] 866 - }, 867 - "node_modules/@rollup/rollup-linux-s390x-gnu": { 868 - "version": "4.18.0", 869 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", 870 - "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", 871 - "cpu": [ 872 - "s390x" 873 - ], 874 - "dev": true, 875 - "license": "MIT", 876 - "optional": true, 877 - "os": [ 878 - "linux" 879 - ] 880 - }, 881 - "node_modules/@rollup/rollup-linux-x64-gnu": { 882 - "version": "4.18.0", 883 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", 884 - "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", 885 - "cpu": [ 886 - "x64" 887 - ], 888 - "dev": true, 889 - "license": "MIT", 890 - "optional": true, 891 - "os": [ 892 - "linux" 893 - ] 894 - }, 895 - "node_modules/@rollup/rollup-linux-x64-musl": { 896 - "version": "4.18.0", 897 - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", 898 - "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", 899 - "cpu": [ 900 - "x64" 901 - ], 902 - "dev": true, 903 - "license": "MIT", 904 - "optional": true, 905 - "os": [ 906 - "linux" 907 - ] 908 - }, 909 - "node_modules/@rollup/rollup-win32-arm64-msvc": { 910 - "version": "4.18.0", 911 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", 912 - "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", 913 - "cpu": [ 914 - "arm64" 915 - ], 916 - "dev": true, 917 - "license": "MIT", 918 - "optional": true, 919 - "os": [ 920 - "win32" 921 - ] 922 - }, 923 - "node_modules/@rollup/rollup-win32-ia32-msvc": { 924 - "version": "4.18.0", 925 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", 926 - "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", 927 - "cpu": [ 928 - "ia32" 929 - ], 930 - "dev": true, 931 - "license": "MIT", 932 - "optional": true, 933 - "os": [ 934 - "win32" 935 - ] 936 - }, 937 - "node_modules/@rollup/rollup-win32-x64-msvc": { 938 - "version": "4.18.0", 939 - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", 940 - "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", 941 - "cpu": [ 942 - "x64" 943 - ], 944 - "dev": true, 945 - "license": "MIT", 946 - "optional": true, 947 - "os": [ 948 - "win32" 949 - ] 950 - }, 951 - "node_modules/@sindresorhus/is": { 952 - "version": "5.6.0", 953 - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", 954 - "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", 955 - "dev": true, 956 - "license": "MIT", 957 - "engines": { 958 - "node": ">=14.16" 959 - }, 960 - "funding": { 961 - "url": "https://github.com/sindresorhus/is?sponsor=1" 962 - } 963 - }, 964 - "node_modules/@sveltejs/vite-plugin-svelte": { 965 - "version": "3.1.1", 966 - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.1.tgz", 967 - "integrity": "sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==", 968 - "dev": true, 969 - "license": "MIT", 970 - "dependencies": { 971 - "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", 972 - "debug": "^4.3.4", 973 - "deepmerge": "^4.3.1", 974 - "kleur": "^4.1.5", 975 - "magic-string": "^0.30.10", 976 - "svelte-hmr": "^0.16.0", 977 - "vitefu": "^0.2.5" 978 - }, 979 - "engines": { 980 - "node": "^18.0.0 || >=20" 981 - }, 982 - "peerDependencies": { 983 - "svelte": "^4.0.0 || ^5.0.0-next.0", 984 - "vite": "^5.0.0" 985 - } 986 - }, 987 - "node_modules/@sveltejs/vite-plugin-svelte-inspector": { 988 - "version": "2.1.0", 989 - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", 990 - "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", 991 - "dev": true, 992 - "license": "MIT", 993 - "dependencies": { 994 - "debug": "^4.3.4" 995 - }, 996 - "engines": { 997 - "node": "^18.0.0 || >=20" 998 - }, 999 - "peerDependencies": { 1000 - "@sveltejs/vite-plugin-svelte": "^3.0.0", 1001 - "svelte": "^4.0.0 || ^5.0.0-next.0", 1002 - "vite": "^5.0.0" 1003 - } 1004 - }, 1005 - "node_modules/@szmarczak/http-timer": { 1006 - "version": "5.0.1", 1007 - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", 1008 - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", 1009 - "dev": true, 1010 - "license": "MIT", 1011 - "dependencies": { 1012 - "defer-to-connect": "^2.0.1" 1013 - }, 1014 - "engines": { 1015 - "node": ">=14.16" 1016 - } 1017 - }, 1018 - "node_modules/@types/estree": { 1019 - "version": "1.0.5", 1020 - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", 1021 - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", 1022 - "dev": true, 1023 - "license": "MIT" 1024 - }, 1025 - "node_modules/@types/fs-extra": { 1026 - "version": "8.1.5", 1027 - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz", 1028 - "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==", 1029 - "dev": true, 1030 - "license": "MIT", 1031 - "dependencies": { 1032 - "@types/node": "*" 1033 - } 1034 - }, 1035 - "node_modules/@types/glob": { 1036 - "version": "7.2.0", 1037 - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", 1038 - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", 1039 - "dev": true, 1040 - "license": "MIT", 1041 - "dependencies": { 1042 - "@types/minimatch": "*", 1043 - "@types/node": "*" 1044 - } 1045 - }, 1046 - "node_modules/@types/http-cache-semantics": { 1047 - "version": "4.0.4", 1048 - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", 1049 - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", 1050 - "dev": true, 1051 - "license": "MIT" 1052 - }, 1053 - "node_modules/@types/minimatch": { 1054 - "version": "3.0.5", 1055 - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", 1056 - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", 1057 - "dev": true, 1058 - "license": "MIT" 1059 - }, 1060 - "node_modules/@types/node": { 1061 - "version": "20.12.13", 1062 - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz", 1063 - "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==", 1064 - "dev": true, 1065 - "license": "MIT", 1066 - "dependencies": { 1067 - "undici-types": "~5.26.4" 1068 - } 1069 - }, 1070 - "node_modules/@types/webextension-polyfill": { 1071 - "version": "0.10.7", 1072 - "resolved": "https://registry.npmjs.org/@types/webextension-polyfill/-/webextension-polyfill-0.10.7.tgz", 1073 - "integrity": "sha512-10ql7A0qzBmFB+F+qAke/nP1PIonS0TXZAOMVOxEUsm+lGSW6uwVcISFNa0I4Oyj0884TZVWGGMIWeXOVSNFHw==", 1074 - "dev": true, 1075 - "license": "MIT" 1076 - }, 1077 - "node_modules/acorn": { 1078 - "version": "8.11.3", 1079 - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 1080 - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 1081 - "dev": true, 1082 - "license": "MIT", 1083 - "bin": { 1084 - "acorn": "bin/acorn" 1085 - }, 1086 - "engines": { 1087 - "node": ">=0.4.0" 1088 - } 1089 - }, 1090 - "node_modules/adm-zip": { 1091 - "version": "0.5.12", 1092 - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.12.tgz", 1093 - "integrity": "sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==", 1094 - "dev": true, 1095 - "license": "MIT", 1096 - "engines": { 1097 - "node": ">=6.0" 1098 - } 1099 - }, 1100 - "node_modules/ajv": { 1101 - "version": "8.14.0", 1102 - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.14.0.tgz", 1103 - "integrity": "sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==", 1104 - "dev": true, 1105 - "license": "MIT", 1106 - "dependencies": { 1107 - "fast-deep-equal": "^3.1.3", 1108 - "json-schema-traverse": "^1.0.0", 1109 - "require-from-string": "^2.0.2", 1110 - "uri-js": "^4.4.1" 1111 - }, 1112 - "funding": { 1113 - "type": "github", 1114 - "url": "https://github.com/sponsors/epoberezkin" 1115 - } 1116 - }, 1117 - "node_modules/ansi-align": { 1118 - "version": "3.0.1", 1119 - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", 1120 - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", 1121 - "dev": true, 1122 - "license": "ISC", 1123 - "dependencies": { 1124 - "string-width": "^4.1.0" 1125 - } 1126 - }, 1127 - "node_modules/ansi-align/node_modules/ansi-regex": { 1128 - "version": "5.0.1", 1129 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 1130 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 1131 - "dev": true, 1132 - "license": "MIT", 1133 - "engines": { 1134 - "node": ">=8" 1135 - } 1136 - }, 1137 - "node_modules/ansi-align/node_modules/emoji-regex": { 1138 - "version": "8.0.0", 1139 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1140 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1141 - "dev": true, 1142 - "license": "MIT" 1143 - }, 1144 - "node_modules/ansi-align/node_modules/string-width": { 1145 - "version": "4.2.3", 1146 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 1147 - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 1148 - "dev": true, 1149 - "license": "MIT", 1150 - "dependencies": { 1151 - "emoji-regex": "^8.0.0", 1152 - "is-fullwidth-code-point": "^3.0.0", 1153 - "strip-ansi": "^6.0.1" 1154 - }, 1155 - "engines": { 1156 - "node": ">=8" 1157 - } 1158 - }, 1159 - "node_modules/ansi-align/node_modules/strip-ansi": { 1160 - "version": "6.0.1", 1161 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1162 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1163 - "dev": true, 1164 - "license": "MIT", 1165 - "dependencies": { 1166 - "ansi-regex": "^5.0.1" 1167 - }, 1168 - "engines": { 1169 - "node": ">=8" 1170 - } 1171 - }, 1172 - "node_modules/ansi-regex": { 1173 - "version": "6.0.1", 1174 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 1175 - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 1176 - "dev": true, 1177 - "license": "MIT", 1178 - "engines": { 1179 - "node": ">=12" 1180 - }, 1181 - "funding": { 1182 - "url": "https://github.com/chalk/ansi-regex?sponsor=1" 1183 - } 1184 - }, 1185 - "node_modules/ansi-styles": { 1186 - "version": "6.2.1", 1187 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 1188 - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 1189 - "dev": true, 1190 - "license": "MIT", 1191 - "engines": { 1192 - "node": ">=12" 1193 - }, 1194 - "funding": { 1195 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1196 - } 1197 - }, 1198 - "node_modules/any-promise": { 1199 - "version": "1.3.0", 1200 - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 1201 - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 1202 - "dev": true, 1203 - "license": "MIT" 1204 - }, 1205 - "node_modules/anymatch": { 1206 - "version": "3.1.3", 1207 - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 1208 - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 1209 - "dev": true, 1210 - "license": "ISC", 1211 - "dependencies": { 1212 - "normalize-path": "^3.0.0", 1213 - "picomatch": "^2.0.4" 1214 - }, 1215 - "engines": { 1216 - "node": ">= 8" 1217 - } 1218 - }, 1219 - "node_modules/arg": { 1220 - "version": "5.0.2", 1221 - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 1222 - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 1223 - "dev": true, 1224 - "license": "MIT" 1225 - }, 1226 - "node_modules/aria-query": { 1227 - "version": "5.3.0", 1228 - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", 1229 - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", 1230 - "dev": true, 1231 - "license": "Apache-2.0", 1232 - "dependencies": { 1233 - "dequal": "^2.0.3" 1234 - } 1235 - }, 1236 - "node_modules/array-differ": { 1237 - "version": "4.0.0", 1238 - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", 1239 - "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", 1240 - "dev": true, 1241 - "license": "MIT", 1242 - "engines": { 1243 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1244 - }, 1245 - "funding": { 1246 - "url": "https://github.com/sponsors/sindresorhus" 1247 - } 1248 - }, 1249 - "node_modules/array-union": { 1250 - "version": "3.0.1", 1251 - "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", 1252 - "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", 1253 - "dev": true, 1254 - "license": "MIT", 1255 - "engines": { 1256 - "node": ">=12" 1257 - }, 1258 - "funding": { 1259 - "url": "https://github.com/sponsors/sindresorhus" 1260 - } 1261 - }, 1262 - "node_modules/async": { 1263 - "version": "3.2.5", 1264 - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", 1265 - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", 1266 - "dev": true, 1267 - "license": "MIT" 1268 - }, 1269 - "node_modules/async-lock": { 1270 - "version": "1.4.1", 1271 - "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", 1272 - "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", 1273 - "dev": true, 1274 - "license": "MIT" 1275 - }, 1276 - "node_modules/at-least-node": { 1277 - "version": "1.0.0", 1278 - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", 1279 - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", 1280 - "dev": true, 1281 - "license": "ISC", 1282 - "engines": { 1283 - "node": ">= 4.0.0" 1284 - } 1285 - }, 1286 - "node_modules/autoprefixer": { 1287 - "version": "10.4.19", 1288 - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", 1289 - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", 1290 - "dev": true, 1291 - "funding": [ 1292 - { 1293 - "type": "opencollective", 1294 - "url": "https://opencollective.com/postcss/" 1295 - }, 1296 - { 1297 - "type": "tidelift", 1298 - "url": "https://tidelift.com/funding/github/npm/autoprefixer" 1299 - }, 1300 - { 1301 - "type": "github", 1302 - "url": "https://github.com/sponsors/ai" 1303 - } 1304 - ], 1305 - "license": "MIT", 1306 - "dependencies": { 1307 - "browserslist": "^4.23.0", 1308 - "caniuse-lite": "^1.0.30001599", 1309 - "fraction.js": "^4.3.7", 1310 - "normalize-range": "^0.1.2", 1311 - "picocolors": "^1.0.0", 1312 - "postcss-value-parser": "^4.2.0" 1313 - }, 1314 - "bin": { 1315 - "autoprefixer": "bin/autoprefixer" 1316 - }, 1317 - "engines": { 1318 - "node": "^10 || ^12 || >=14" 1319 - }, 1320 - "peerDependencies": { 1321 - "postcss": "^8.1.0" 1322 - } 1323 - }, 1324 - "node_modules/axobject-query": { 1325 - "version": "4.0.0", 1326 - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", 1327 - "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", 1328 - "dev": true, 1329 - "license": "Apache-2.0", 1330 - "dependencies": { 1331 - "dequal": "^2.0.3" 1332 - } 1333 - }, 1334 - "node_modules/balanced-match": { 1335 - "version": "1.0.2", 1336 - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1337 - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1338 - "dev": true, 1339 - "license": "MIT" 1340 - }, 1341 - "node_modules/binary-extensions": { 1342 - "version": "2.3.0", 1343 - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 1344 - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 1345 - "dev": true, 1346 - "license": "MIT", 1347 - "engines": { 1348 - "node": ">=8" 1349 - }, 1350 - "funding": { 1351 - "url": "https://github.com/sponsors/sindresorhus" 1352 - } 1353 - }, 1354 - "node_modules/bluebird": { 1355 - "version": "3.7.2", 1356 - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 1357 - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 1358 - "dev": true, 1359 - "license": "MIT" 1360 - }, 1361 - "node_modules/boolbase": { 1362 - "version": "1.0.0", 1363 - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", 1364 - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", 1365 - "dev": true, 1366 - "license": "ISC" 1367 - }, 1368 - "node_modules/boxen": { 1369 - "version": "7.1.1", 1370 - "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", 1371 - "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", 1372 - "dev": true, 1373 - "license": "MIT", 1374 - "dependencies": { 1375 - "ansi-align": "^3.0.1", 1376 - "camelcase": "^7.0.1", 1377 - "chalk": "^5.2.0", 1378 - "cli-boxes": "^3.0.0", 1379 - "string-width": "^5.1.2", 1380 - "type-fest": "^2.13.0", 1381 - "widest-line": "^4.0.1", 1382 - "wrap-ansi": "^8.1.0" 1383 - }, 1384 - "engines": { 1385 - "node": ">=14.16" 1386 - }, 1387 - "funding": { 1388 - "url": "https://github.com/sponsors/sindresorhus" 1389 - } 1390 - }, 1391 - "node_modules/boxen/node_modules/chalk": { 1392 - "version": "5.3.0", 1393 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 1394 - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 1395 - "dev": true, 1396 - "license": "MIT", 1397 - "engines": { 1398 - "node": "^12.17.0 || ^14.13 || >=16.0.0" 1399 - }, 1400 - "funding": { 1401 - "url": "https://github.com/chalk/chalk?sponsor=1" 1402 - } 1403 - }, 1404 - "node_modules/boxen/node_modules/type-fest": { 1405 - "version": "2.19.0", 1406 - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", 1407 - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", 1408 - "dev": true, 1409 - "license": "(MIT OR CC0-1.0)", 1410 - "engines": { 1411 - "node": ">=12.20" 1412 - }, 1413 - "funding": { 1414 - "url": "https://github.com/sponsors/sindresorhus" 1415 - } 1416 - }, 1417 - "node_modules/brace-expansion": { 1418 - "version": "2.0.1", 1419 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1420 - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1421 - "dev": true, 1422 - "license": "MIT", 1423 - "dependencies": { 1424 - "balanced-match": "^1.0.0" 1425 - } 1426 - }, 1427 - "node_modules/braces": { 1428 - "version": "3.0.3", 1429 - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1430 - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1431 - "dev": true, 1432 - "license": "MIT", 1433 - "dependencies": { 1434 - "fill-range": "^7.1.1" 1435 - }, 1436 - "engines": { 1437 - "node": ">=8" 1438 - } 1439 - }, 1440 - "node_modules/browserslist": { 1441 - "version": "4.23.0", 1442 - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", 1443 - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", 1444 - "dev": true, 1445 - "funding": [ 1446 - { 1447 - "type": "opencollective", 1448 - "url": "https://opencollective.com/browserslist" 1449 - }, 1450 - { 1451 - "type": "tidelift", 1452 - "url": "https://tidelift.com/funding/github/npm/browserslist" 1453 - }, 1454 - { 1455 - "type": "github", 1456 - "url": "https://github.com/sponsors/ai" 1457 - } 1458 - ], 1459 - "license": "MIT", 1460 - "dependencies": { 1461 - "caniuse-lite": "^1.0.30001587", 1462 - "electron-to-chromium": "^1.4.668", 1463 - "node-releases": "^2.0.14", 1464 - "update-browserslist-db": "^1.0.13" 1465 - }, 1466 - "bin": { 1467 - "browserslist": "cli.js" 1468 - }, 1469 - "engines": { 1470 - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1471 - } 1472 - }, 1473 - "node_modules/buffer-from": { 1474 - "version": "1.1.2", 1475 - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", 1476 - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", 1477 - "dev": true, 1478 - "license": "MIT" 1479 - }, 1480 - "node_modules/bunyan": { 1481 - "version": "1.8.15", 1482 - "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz", 1483 - "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==", 1484 - "dev": true, 1485 - "engines": [ 1486 - "node >=0.10.0" 1487 - ], 1488 - "license": "MIT", 1489 - "bin": { 1490 - "bunyan": "bin/bunyan" 1491 - }, 1492 - "optionalDependencies": { 1493 - "dtrace-provider": "~0.8", 1494 - "moment": "^2.19.3", 1495 - "mv": "~2", 1496 - "safe-json-stringify": "~1" 1497 - } 1498 - }, 1499 - "node_modules/cacheable-lookup": { 1500 - "version": "7.0.0", 1501 - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", 1502 - "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", 1503 - "dev": true, 1504 - "license": "MIT", 1505 - "engines": { 1506 - "node": ">=14.16" 1507 - } 1508 - }, 1509 - "node_modules/cacheable-request": { 1510 - "version": "10.2.14", 1511 - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", 1512 - "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", 1513 - "dev": true, 1514 - "license": "MIT", 1515 - "dependencies": { 1516 - "@types/http-cache-semantics": "^4.0.2", 1517 - "get-stream": "^6.0.1", 1518 - "http-cache-semantics": "^4.1.1", 1519 - "keyv": "^4.5.3", 1520 - "mimic-response": "^4.0.0", 1521 - "normalize-url": "^8.0.0", 1522 - "responselike": "^3.0.0" 1523 - }, 1524 - "engines": { 1525 - "node": ">=14.16" 1526 - } 1527 - }, 1528 - "node_modules/camelcase": { 1529 - "version": "7.0.1", 1530 - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", 1531 - "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", 1532 - "dev": true, 1533 - "license": "MIT", 1534 - "engines": { 1535 - "node": ">=14.16" 1536 - }, 1537 - "funding": { 1538 - "url": "https://github.com/sponsors/sindresorhus" 1539 - } 1540 - }, 1541 - "node_modules/camelcase-css": { 1542 - "version": "2.0.1", 1543 - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1544 - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1545 - "dev": true, 1546 - "license": "MIT", 1547 - "engines": { 1548 - "node": ">= 6" 1549 - } 1550 - }, 1551 - "node_modules/caniuse-lite": { 1552 - "version": "1.0.30001625", 1553 - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001625.tgz", 1554 - "integrity": "sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w==", 1555 - "dev": true, 1556 - "funding": [ 1557 - { 1558 - "type": "opencollective", 1559 - "url": "https://opencollective.com/browserslist" 1560 - }, 1561 - { 1562 - "type": "tidelift", 1563 - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1564 - }, 1565 - { 1566 - "type": "github", 1567 - "url": "https://github.com/sponsors/ai" 1568 - } 1569 - ], 1570 - "license": "CC-BY-4.0" 1571 - }, 1572 - "node_modules/chalk": { 1573 - "version": "2.4.2", 1574 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1575 - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1576 - "dev": true, 1577 - "license": "MIT", 1578 - "dependencies": { 1579 - "ansi-styles": "^3.2.1", 1580 - "escape-string-regexp": "^1.0.5", 1581 - "supports-color": "^5.3.0" 1582 - }, 1583 - "engines": { 1584 - "node": ">=4" 1585 - } 1586 - }, 1587 - "node_modules/chalk/node_modules/ansi-styles": { 1588 - "version": "3.2.1", 1589 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1590 - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1591 - "dev": true, 1592 - "license": "MIT", 1593 - "dependencies": { 1594 - "color-convert": "^1.9.0" 1595 - }, 1596 - "engines": { 1597 - "node": ">=4" 1598 - } 1599 - }, 1600 - "node_modules/chalk/node_modules/color-convert": { 1601 - "version": "1.9.3", 1602 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1603 - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1604 - "dev": true, 1605 - "license": "MIT", 1606 - "dependencies": { 1607 - "color-name": "1.1.3" 1608 - } 1609 - }, 1610 - "node_modules/chalk/node_modules/color-name": { 1611 - "version": "1.1.3", 1612 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1613 - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 1614 - "dev": true, 1615 - "license": "MIT" 1616 - }, 1617 - "node_modules/chalk/node_modules/escape-string-regexp": { 1618 - "version": "1.0.5", 1619 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1620 - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1621 - "dev": true, 1622 - "license": "MIT", 1623 - "engines": { 1624 - "node": ">=0.8.0" 1625 - } 1626 - }, 1627 - "node_modules/charenc": { 1628 - "version": "0.0.2", 1629 - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", 1630 - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", 1631 - "dev": true, 1632 - "license": "BSD-3-Clause", 1633 - "engines": { 1634 - "node": "*" 1635 - } 1636 - }, 1637 - "node_modules/chokidar": { 1638 - "version": "3.6.0", 1639 - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 1640 - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 1641 - "dev": true, 1642 - "license": "MIT", 1643 - "dependencies": { 1644 - "anymatch": "~3.1.2", 1645 - "braces": "~3.0.2", 1646 - "glob-parent": "~5.1.2", 1647 - "is-binary-path": "~2.1.0", 1648 - "is-glob": "~4.0.1", 1649 - "normalize-path": "~3.0.0", 1650 - "readdirp": "~3.6.0" 1651 - }, 1652 - "engines": { 1653 - "node": ">= 8.10.0" 1654 - }, 1655 - "funding": { 1656 - "url": "https://paulmillr.com/funding/" 1657 - }, 1658 - "optionalDependencies": { 1659 - "fsevents": "~2.3.2" 1660 - } 1661 - }, 1662 - "node_modules/chokidar/node_modules/glob-parent": { 1663 - "version": "5.1.2", 1664 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1665 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1666 - "dev": true, 1667 - "license": "ISC", 1668 - "dependencies": { 1669 - "is-glob": "^4.0.1" 1670 - }, 1671 - "engines": { 1672 - "node": ">= 6" 1673 - } 1674 - }, 1675 - "node_modules/chrome-launcher": { 1676 - "version": "0.15.1", 1677 - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.1.tgz", 1678 - "integrity": "sha512-UugC8u59/w2AyX5sHLZUHoxBAiSiunUhZa3zZwMH6zPVis0C3dDKiRWyUGIo14tTbZHGVviWxv3PQWZ7taZ4fg==", 1679 - "dev": true, 1680 - "license": "Apache-2.0", 1681 - "dependencies": { 1682 - "@types/node": "*", 1683 - "escape-string-regexp": "^4.0.0", 1684 - "is-wsl": "^2.2.0", 1685 - "lighthouse-logger": "^1.0.0" 1686 - }, 1687 - "bin": { 1688 - "print-chrome-path": "bin/print-chrome-path.js" 1689 - }, 1690 - "engines": { 1691 - "node": ">=12.13.0" 1692 - } 1693 - }, 1694 - "node_modules/ci-info": { 1695 - "version": "3.9.0", 1696 - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", 1697 - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", 1698 - "dev": true, 1699 - "funding": [ 1700 - { 1701 - "type": "github", 1702 - "url": "https://github.com/sponsors/sibiraj-s" 1703 - } 1704 - ], 1705 - "license": "MIT", 1706 - "engines": { 1707 - "node": ">=8" 1708 - } 1709 - }, 1710 - "node_modules/cli-boxes": { 1711 - "version": "3.0.0", 1712 - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", 1713 - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", 1714 - "dev": true, 1715 - "license": "MIT", 1716 - "engines": { 1717 - "node": ">=10" 1718 - }, 1719 - "funding": { 1720 - "url": "https://github.com/sponsors/sindresorhus" 1721 - } 1722 - }, 1723 - "node_modules/code-red": { 1724 - "version": "1.0.4", 1725 - "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", 1726 - "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", 1727 - "dev": true, 1728 - "license": "MIT", 1729 - "dependencies": { 1730 - "@jridgewell/sourcemap-codec": "^1.4.15", 1731 - "@types/estree": "^1.0.1", 1732 - "acorn": "^8.10.0", 1733 - "estree-walker": "^3.0.3", 1734 - "periscopic": "^3.1.0" 1735 - } 1736 - }, 1737 - "node_modules/color-convert": { 1738 - "version": "2.0.1", 1739 - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1740 - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1741 - "dev": true, 1742 - "license": "MIT", 1743 - "dependencies": { 1744 - "color-name": "~1.1.4" 1745 - }, 1746 - "engines": { 1747 - "node": ">=7.0.0" 1748 - } 1749 - }, 1750 - "node_modules/color-name": { 1751 - "version": "1.1.4", 1752 - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1753 - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1754 - "dev": true, 1755 - "license": "MIT" 1756 - }, 1757 - "node_modules/colorette": { 1758 - "version": "1.4.0", 1759 - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", 1760 - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==", 1761 - "dev": true, 1762 - "license": "MIT" 1763 - }, 1764 - "node_modules/commander": { 1765 - "version": "4.1.1", 1766 - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1767 - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1768 - "dev": true, 1769 - "license": "MIT", 1770 - "engines": { 1771 - "node": ">= 6" 1772 - } 1773 - }, 1774 - "node_modules/concat-map": { 1775 - "version": "0.0.1", 1776 - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1777 - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1778 - "dev": true, 1779 - "license": "MIT" 1780 - }, 1781 - "node_modules/concat-stream": { 1782 - "version": "1.6.2", 1783 - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", 1784 - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", 1785 - "dev": true, 1786 - "engines": [ 1787 - "node >= 0.8" 1788 - ], 1789 - "license": "MIT", 1790 - "dependencies": { 1791 - "buffer-from": "^1.0.0", 1792 - "inherits": "^2.0.3", 1793 - "readable-stream": "^2.2.2", 1794 - "typedarray": "^0.0.6" 1795 - } 1796 - }, 1797 - "node_modules/config-chain": { 1798 - "version": "1.1.13", 1799 - "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", 1800 - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", 1801 - "dev": true, 1802 - "license": "MIT", 1803 - "dependencies": { 1804 - "ini": "^1.3.4", 1805 - "proto-list": "~1.2.1" 1806 - } 1807 - }, 1808 - "node_modules/config-chain/node_modules/ini": { 1809 - "version": "1.3.8", 1810 - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1811 - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 1812 - "dev": true, 1813 - "license": "ISC" 1814 - }, 1815 - "node_modules/configstore": { 1816 - "version": "6.0.0", 1817 - "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", 1818 - "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", 1819 - "dev": true, 1820 - "license": "BSD-2-Clause", 1821 - "dependencies": { 1822 - "dot-prop": "^6.0.1", 1823 - "graceful-fs": "^4.2.6", 1824 - "unique-string": "^3.0.0", 1825 - "write-file-atomic": "^3.0.3", 1826 - "xdg-basedir": "^5.0.1" 1827 - }, 1828 - "engines": { 1829 - "node": ">=12" 1830 - }, 1831 - "funding": { 1832 - "url": "https://github.com/yeoman/configstore?sponsor=1" 1833 - } 1834 - }, 1835 - "node_modules/core-util-is": { 1836 - "version": "1.0.3", 1837 - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", 1838 - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", 1839 - "dev": true, 1840 - "license": "MIT" 1841 - }, 1842 - "node_modules/cross-spawn": { 1843 - "version": "7.0.3", 1844 - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1845 - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1846 - "dev": true, 1847 - "license": "MIT", 1848 - "dependencies": { 1849 - "path-key": "^3.1.0", 1850 - "shebang-command": "^2.0.0", 1851 - "which": "^2.0.1" 1852 - }, 1853 - "engines": { 1854 - "node": ">= 8" 1855 - } 1856 - }, 1857 - "node_modules/crypt": { 1858 - "version": "0.0.2", 1859 - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", 1860 - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", 1861 - "dev": true, 1862 - "license": "BSD-3-Clause", 1863 - "engines": { 1864 - "node": "*" 1865 - } 1866 - }, 1867 - "node_modules/crypto-random-string": { 1868 - "version": "4.0.0", 1869 - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", 1870 - "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", 1871 - "dev": true, 1872 - "license": "MIT", 1873 - "dependencies": { 1874 - "type-fest": "^1.0.1" 1875 - }, 1876 - "engines": { 1877 - "node": ">=12" 1878 - }, 1879 - "funding": { 1880 - "url": "https://github.com/sponsors/sindresorhus" 1881 - } 1882 - }, 1883 - "node_modules/crypto-random-string/node_modules/type-fest": { 1884 - "version": "1.4.0", 1885 - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", 1886 - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", 1887 - "dev": true, 1888 - "license": "(MIT OR CC0-1.0)", 1889 - "engines": { 1890 - "node": ">=10" 1891 - }, 1892 - "funding": { 1893 - "url": "https://github.com/sponsors/sindresorhus" 1894 - } 1895 - }, 1896 - "node_modules/css-select": { 1897 - "version": "5.1.0", 1898 - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", 1899 - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", 1900 - "dev": true, 1901 - "license": "BSD-2-Clause", 1902 - "dependencies": { 1903 - "boolbase": "^1.0.0", 1904 - "css-what": "^6.1.0", 1905 - "domhandler": "^5.0.2", 1906 - "domutils": "^3.0.1", 1907 - "nth-check": "^2.0.1" 1908 - }, 1909 - "funding": { 1910 - "url": "https://github.com/sponsors/fb55" 1911 - } 1912 - }, 1913 - "node_modules/css-tree": { 1914 - "version": "2.3.1", 1915 - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 1916 - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 1917 - "dev": true, 1918 - "license": "MIT", 1919 - "dependencies": { 1920 - "mdn-data": "2.0.30", 1921 - "source-map-js": "^1.0.1" 1922 - }, 1923 - "engines": { 1924 - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 1925 - } 1926 - }, 1927 - "node_modules/css-what": { 1928 - "version": "6.1.0", 1929 - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", 1930 - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", 1931 - "dev": true, 1932 - "license": "BSD-2-Clause", 1933 - "engines": { 1934 - "node": ">= 6" 1935 - }, 1936 - "funding": { 1937 - "url": "https://github.com/sponsors/fb55" 1938 - } 1939 - }, 1940 - "node_modules/cssesc": { 1941 - "version": "3.0.0", 1942 - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1943 - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1944 - "dev": true, 1945 - "license": "MIT", 1946 - "bin": { 1947 - "cssesc": "bin/cssesc" 1948 - }, 1949 - "engines": { 1950 - "node": ">=4" 1951 - } 1952 - }, 1953 - "node_modules/cssom": { 1954 - "version": "0.5.0", 1955 - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", 1956 - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", 1957 - "dev": true, 1958 - "license": "MIT" 1959 - }, 1960 - "node_modules/debounce": { 1961 - "version": "1.2.1", 1962 - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", 1963 - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", 1964 - "dev": true, 1965 - "license": "MIT" 1966 - }, 1967 - "node_modules/debug": { 1968 - "version": "4.3.4", 1969 - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1970 - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1971 - "dev": true, 1972 - "license": "MIT", 1973 - "dependencies": { 1974 - "ms": "2.1.2" 1975 - }, 1976 - "engines": { 1977 - "node": ">=6.0" 1978 - }, 1979 - "peerDependenciesMeta": { 1980 - "supports-color": { 1981 - "optional": true 1982 - } 1983 - } 1984 - }, 1985 - "node_modules/decompress-response": { 1986 - "version": "6.0.0", 1987 - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 1988 - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 1989 - "dev": true, 1990 - "license": "MIT", 1991 - "dependencies": { 1992 - "mimic-response": "^3.1.0" 1993 - }, 1994 - "engines": { 1995 - "node": ">=10" 1996 - }, 1997 - "funding": { 1998 - "url": "https://github.com/sponsors/sindresorhus" 1999 - } 2000 - }, 2001 - "node_modules/decompress-response/node_modules/mimic-response": { 2002 - "version": "3.1.0", 2003 - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 2004 - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 2005 - "dev": true, 2006 - "license": "MIT", 2007 - "engines": { 2008 - "node": ">=10" 2009 - }, 2010 - "funding": { 2011 - "url": "https://github.com/sponsors/sindresorhus" 2012 - } 2013 - }, 2014 - "node_modules/deep-extend": { 2015 - "version": "0.6.0", 2016 - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 2017 - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 2018 - "dev": true, 2019 - "license": "MIT", 2020 - "engines": { 2021 - "node": ">=4.0.0" 2022 - } 2023 - }, 2024 - "node_modules/deepmerge": { 2025 - "version": "4.3.1", 2026 - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", 2027 - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", 2028 - "dev": true, 2029 - "license": "MIT", 2030 - "engines": { 2031 - "node": ">=0.10.0" 2032 - } 2033 - }, 2034 - "node_modules/defer-to-connect": { 2035 - "version": "2.0.1", 2036 - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", 2037 - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", 2038 - "dev": true, 2039 - "license": "MIT", 2040 - "engines": { 2041 - "node": ">=10" 2042 - } 2043 - }, 2044 - "node_modules/dequal": { 2045 - "version": "2.0.3", 2046 - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", 2047 - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", 2048 - "dev": true, 2049 - "license": "MIT", 2050 - "engines": { 2051 - "node": ">=6" 2052 - } 2053 - }, 2054 - "node_modules/didyoumean": { 2055 - "version": "1.2.2", 2056 - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 2057 - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 2058 - "dev": true, 2059 - "license": "Apache-2.0" 2060 - }, 2061 - "node_modules/dir-glob": { 2062 - "version": "3.0.1", 2063 - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 2064 - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 2065 - "dev": true, 2066 - "license": "MIT", 2067 - "dependencies": { 2068 - "path-type": "^4.0.0" 2069 - }, 2070 - "engines": { 2071 - "node": ">=8" 2072 - } 2073 - }, 2074 - "node_modules/dlv": { 2075 - "version": "1.1.3", 2076 - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 2077 - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 2078 - "dev": true, 2079 - "license": "MIT" 2080 - }, 2081 - "node_modules/dom-serializer": { 2082 - "version": "2.0.0", 2083 - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", 2084 - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", 2085 - "dev": true, 2086 - "license": "MIT", 2087 - "dependencies": { 2088 - "domelementtype": "^2.3.0", 2089 - "domhandler": "^5.0.2", 2090 - "entities": "^4.2.0" 2091 - }, 2092 - "funding": { 2093 - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" 2094 - } 2095 - }, 2096 - "node_modules/domelementtype": { 2097 - "version": "2.3.0", 2098 - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", 2099 - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", 2100 - "dev": true, 2101 - "funding": [ 2102 - { 2103 - "type": "github", 2104 - "url": "https://github.com/sponsors/fb55" 2105 - } 2106 - ], 2107 - "license": "BSD-2-Clause" 2108 - }, 2109 - "node_modules/domhandler": { 2110 - "version": "5.0.3", 2111 - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", 2112 - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", 2113 - "dev": true, 2114 - "license": "BSD-2-Clause", 2115 - "dependencies": { 2116 - "domelementtype": "^2.3.0" 2117 - }, 2118 - "engines": { 2119 - "node": ">= 4" 2120 - }, 2121 - "funding": { 2122 - "url": "https://github.com/fb55/domhandler?sponsor=1" 2123 - } 2124 - }, 2125 - "node_modules/domutils": { 2126 - "version": "3.1.0", 2127 - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", 2128 - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", 2129 - "dev": true, 2130 - "license": "BSD-2-Clause", 2131 - "dependencies": { 2132 - "dom-serializer": "^2.0.0", 2133 - "domelementtype": "^2.3.0", 2134 - "domhandler": "^5.0.3" 2135 - }, 2136 - "funding": { 2137 - "url": "https://github.com/fb55/domutils?sponsor=1" 2138 - } 2139 - }, 2140 - "node_modules/dot-prop": { 2141 - "version": "6.0.1", 2142 - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", 2143 - "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", 2144 - "dev": true, 2145 - "license": "MIT", 2146 - "dependencies": { 2147 - "is-obj": "^2.0.0" 2148 - }, 2149 - "engines": { 2150 - "node": ">=10" 2151 - }, 2152 - "funding": { 2153 - "url": "https://github.com/sponsors/sindresorhus" 2154 - } 2155 - }, 2156 - "node_modules/dtrace-provider": { 2157 - "version": "0.8.8", 2158 - "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz", 2159 - "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==", 2160 - "dev": true, 2161 - "hasInstallScript": true, 2162 - "license": "BSD-2-Clause", 2163 - "optional": true, 2164 - "dependencies": { 2165 - "nan": "^2.14.0" 2166 - }, 2167 - "engines": { 2168 - "node": ">=0.10" 2169 - } 2170 - }, 2171 - "node_modules/eastasianwidth": { 2172 - "version": "0.2.0", 2173 - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 2174 - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 2175 - "dev": true, 2176 - "license": "MIT" 2177 - }, 2178 - "node_modules/electron-to-chromium": { 2179 - "version": "1.4.786", 2180 - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.786.tgz", 2181 - "integrity": "sha512-i/A2UB0sxYViMN0M2zIotQFRIOt1jLuVXudACHBDiJ5gGuAUzf/crZxwlBTdA0O52Hy4CNtTzS7AKRAacs/08Q==", 2182 - "dev": true, 2183 - "license": "ISC" 2184 - }, 2185 - "node_modules/emoji-regex": { 2186 - "version": "9.2.2", 2187 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 2188 - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 2189 - "dev": true, 2190 - "license": "MIT" 2191 - }, 2192 - "node_modules/entities": { 2193 - "version": "4.5.0", 2194 - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 2195 - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 2196 - "dev": true, 2197 - "license": "BSD-2-Clause", 2198 - "engines": { 2199 - "node": ">=0.12" 2200 - }, 2201 - "funding": { 2202 - "url": "https://github.com/fb55/entities?sponsor=1" 2203 - } 2204 - }, 2205 - "node_modules/error-ex": { 2206 - "version": "1.3.2", 2207 - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 2208 - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 2209 - "dev": true, 2210 - "license": "MIT", 2211 - "dependencies": { 2212 - "is-arrayish": "^0.2.1" 2213 - } 2214 - }, 2215 - "node_modules/es6-error": { 2216 - "version": "4.1.1", 2217 - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", 2218 - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", 2219 - "dev": true, 2220 - "license": "MIT" 2221 - }, 2222 - "node_modules/esbuild": { 2223 - "version": "0.20.2", 2224 - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", 2225 - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", 2226 - "dev": true, 2227 - "hasInstallScript": true, 2228 - "license": "MIT", 2229 - "bin": { 2230 - "esbuild": "bin/esbuild" 2231 - }, 2232 - "engines": { 2233 - "node": ">=12" 2234 - }, 2235 - "optionalDependencies": { 2236 - "@esbuild/aix-ppc64": "0.20.2", 2237 - "@esbuild/android-arm": "0.20.2", 2238 - "@esbuild/android-arm64": "0.20.2", 2239 - "@esbuild/android-x64": "0.20.2", 2240 - "@esbuild/darwin-arm64": "0.20.2", 2241 - "@esbuild/darwin-x64": "0.20.2", 2242 - "@esbuild/freebsd-arm64": "0.20.2", 2243 - "@esbuild/freebsd-x64": "0.20.2", 2244 - "@esbuild/linux-arm": "0.20.2", 2245 - "@esbuild/linux-arm64": "0.20.2", 2246 - "@esbuild/linux-ia32": "0.20.2", 2247 - "@esbuild/linux-loong64": "0.20.2", 2248 - "@esbuild/linux-mips64el": "0.20.2", 2249 - "@esbuild/linux-ppc64": "0.20.2", 2250 - "@esbuild/linux-riscv64": "0.20.2", 2251 - "@esbuild/linux-s390x": "0.20.2", 2252 - "@esbuild/linux-x64": "0.20.2", 2253 - "@esbuild/netbsd-x64": "0.20.2", 2254 - "@esbuild/openbsd-x64": "0.20.2", 2255 - "@esbuild/sunos-x64": "0.20.2", 2256 - "@esbuild/win32-arm64": "0.20.2", 2257 - "@esbuild/win32-ia32": "0.20.2", 2258 - "@esbuild/win32-x64": "0.20.2" 2259 - } 2260 - }, 2261 - "node_modules/escalade": { 2262 - "version": "3.1.2", 2263 - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 2264 - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 2265 - "dev": true, 2266 - "license": "MIT", 2267 - "engines": { 2268 - "node": ">=6" 2269 - } 2270 - }, 2271 - "node_modules/escape-goat": { 2272 - "version": "4.0.0", 2273 - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", 2274 - "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", 2275 - "dev": true, 2276 - "license": "MIT", 2277 - "engines": { 2278 - "node": ">=12" 2279 - }, 2280 - "funding": { 2281 - "url": "https://github.com/sponsors/sindresorhus" 2282 - } 2283 - }, 2284 - "node_modules/escape-string-regexp": { 2285 - "version": "4.0.0", 2286 - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 2287 - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 2288 - "dev": true, 2289 - "license": "MIT", 2290 - "engines": { 2291 - "node": ">=10" 2292 - }, 2293 - "funding": { 2294 - "url": "https://github.com/sponsors/sindresorhus" 2295 - } 2296 - }, 2297 - "node_modules/estree-walker": { 2298 - "version": "3.0.3", 2299 - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 2300 - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 2301 - "dev": true, 2302 - "license": "MIT", 2303 - "dependencies": { 2304 - "@types/estree": "^1.0.0" 2305 - } 2306 - }, 2307 - "node_modules/fast-deep-equal": { 2308 - "version": "3.1.3", 2309 - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 2310 - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 2311 - "dev": true, 2312 - "license": "MIT" 2313 - }, 2314 - "node_modules/fast-glob": { 2315 - "version": "3.3.2", 2316 - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 2317 - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 2318 - "dev": true, 2319 - "license": "MIT", 2320 - "dependencies": { 2321 - "@nodelib/fs.stat": "^2.0.2", 2322 - "@nodelib/fs.walk": "^1.2.3", 2323 - "glob-parent": "^5.1.2", 2324 - "merge2": "^1.3.0", 2325 - "micromatch": "^4.0.4" 2326 - }, 2327 - "engines": { 2328 - "node": ">=8.6.0" 2329 - } 2330 - }, 2331 - "node_modules/fast-glob/node_modules/glob-parent": { 2332 - "version": "5.1.2", 2333 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 2334 - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 2335 - "dev": true, 2336 - "license": "ISC", 2337 - "dependencies": { 2338 - "is-glob": "^4.0.1" 2339 - }, 2340 - "engines": { 2341 - "node": ">= 6" 2342 - } 2343 - }, 2344 - "node_modules/fastq": { 2345 - "version": "1.17.1", 2346 - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 2347 - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 2348 - "dev": true, 2349 - "license": "ISC", 2350 - "dependencies": { 2351 - "reusify": "^1.0.4" 2352 - } 2353 - }, 2354 - "node_modules/fill-range": { 2355 - "version": "7.1.1", 2356 - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 2357 - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 2358 - "dev": true, 2359 - "license": "MIT", 2360 - "dependencies": { 2361 - "to-regex-range": "^5.0.1" 2362 - }, 2363 - "engines": { 2364 - "node": ">=8" 2365 - } 2366 - }, 2367 - "node_modules/firefox-profile": { 2368 - "version": "4.5.0", 2369 - "resolved": "https://registry.npmjs.org/firefox-profile/-/firefox-profile-4.5.0.tgz", 2370 - "integrity": "sha512-goE2XxbmYVSafvCjcy64/AK3xOr14HCUCD4+TpYWEIMy4nrJfNAacLGzwqKwZhCW0hHI2TYMGH+G/YBvOE8L6g==", 2371 - "dev": true, 2372 - "license": "MIT", 2373 - "dependencies": { 2374 - "adm-zip": "~0.5.x", 2375 - "fs-extra": "~9.0.1", 2376 - "ini": "~2.0.0", 2377 - "minimist": "^1.2.5", 2378 - "xml2js": "^0.5.0" 2379 - }, 2380 - "bin": { 2381 - "firefox-profile": "lib/cli.js" 2382 - } 2383 - }, 2384 - "node_modules/firefox-profile/node_modules/fs-extra": { 2385 - "version": "9.0.1", 2386 - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", 2387 - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", 2388 - "dev": true, 2389 - "license": "MIT", 2390 - "dependencies": { 2391 - "at-least-node": "^1.0.0", 2392 - "graceful-fs": "^4.2.0", 2393 - "jsonfile": "^6.0.1", 2394 - "universalify": "^1.0.0" 2395 - }, 2396 - "engines": { 2397 - "node": ">=10" 2398 - } 2399 - }, 2400 - "node_modules/firefox-profile/node_modules/universalify": { 2401 - "version": "1.0.0", 2402 - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", 2403 - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", 2404 - "dev": true, 2405 - "license": "MIT", 2406 - "engines": { 2407 - "node": ">= 10.0.0" 2408 - } 2409 - }, 2410 - "node_modules/foreground-child": { 2411 - "version": "3.1.1", 2412 - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", 2413 - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", 2414 - "dev": true, 2415 - "license": "ISC", 2416 - "dependencies": { 2417 - "cross-spawn": "^7.0.0", 2418 - "signal-exit": "^4.0.1" 2419 - }, 2420 - "engines": { 2421 - "node": ">=14" 2422 - }, 2423 - "funding": { 2424 - "url": "https://github.com/sponsors/isaacs" 2425 - } 2426 - }, 2427 - "node_modules/form-data-encoder": { 2428 - "version": "2.1.4", 2429 - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", 2430 - "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", 2431 - "dev": true, 2432 - "license": "MIT", 2433 - "engines": { 2434 - "node": ">= 14.17" 2435 - } 2436 - }, 2437 - "node_modules/fraction.js": { 2438 - "version": "4.3.7", 2439 - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 2440 - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 2441 - "dev": true, 2442 - "license": "MIT", 2443 - "engines": { 2444 - "node": "*" 2445 - }, 2446 - "funding": { 2447 - "type": "patreon", 2448 - "url": "https://github.com/sponsors/rawify" 2449 - } 2450 - }, 2451 - "node_modules/fs-extra": { 2452 - "version": "10.1.0", 2453 - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", 2454 - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", 2455 - "dev": true, 2456 - "license": "MIT", 2457 - "dependencies": { 2458 - "graceful-fs": "^4.2.0", 2459 - "jsonfile": "^6.0.1", 2460 - "universalify": "^2.0.0" 2461 - }, 2462 - "engines": { 2463 - "node": ">=12" 2464 - } 2465 - }, 2466 - "node_modules/fs.realpath": { 2467 - "version": "1.0.0", 2468 - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 2469 - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 2470 - "dev": true, 2471 - "license": "ISC" 2472 - }, 2473 - "node_modules/fsevents": { 2474 - "version": "2.3.3", 2475 - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2476 - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2477 - "dev": true, 2478 - "hasInstallScript": true, 2479 - "license": "MIT", 2480 - "optional": true, 2481 - "os": [ 2482 - "darwin" 2483 - ], 2484 - "engines": { 2485 - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2486 - } 2487 - }, 2488 - "node_modules/function-bind": { 2489 - "version": "1.1.2", 2490 - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 2491 - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 2492 - "dev": true, 2493 - "license": "MIT", 2494 - "funding": { 2495 - "url": "https://github.com/sponsors/ljharb" 2496 - } 2497 - }, 2498 - "node_modules/fx-runner": { 2499 - "version": "1.4.0", 2500 - "resolved": "https://registry.npmjs.org/fx-runner/-/fx-runner-1.4.0.tgz", 2501 - "integrity": "sha512-rci1g6U0rdTg6bAaBboP7XdRu01dzTAaKXxFf+PUqGuCv6Xu7o8NZdY1D5MvKGIjb6EdS1g3VlXOgksir1uGkg==", 2502 - "dev": true, 2503 - "license": "MPL-2.0", 2504 - "dependencies": { 2505 - "commander": "2.9.0", 2506 - "shell-quote": "1.7.3", 2507 - "spawn-sync": "1.0.15", 2508 - "when": "3.7.7", 2509 - "which": "1.2.4", 2510 - "winreg": "0.0.12" 2511 - }, 2512 - "bin": { 2513 - "fx-runner": "bin/fx-runner" 2514 - } 2515 - }, 2516 - "node_modules/fx-runner/node_modules/commander": { 2517 - "version": "2.9.0", 2518 - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", 2519 - "integrity": "sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==", 2520 - "dev": true, 2521 - "license": "MIT", 2522 - "dependencies": { 2523 - "graceful-readlink": ">= 1.0.0" 2524 - }, 2525 - "engines": { 2526 - "node": ">= 0.6.x" 2527 - } 2528 - }, 2529 - "node_modules/fx-runner/node_modules/isexe": { 2530 - "version": "1.1.2", 2531 - "resolved": "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz", 2532 - "integrity": "sha512-d2eJzK691yZwPHcv1LbeAOa91yMJ9QmfTgSO1oXB65ezVhXQsxBac2vEB4bMVms9cGzaA99n6V2viHMq82VLDw==", 2533 - "dev": true, 2534 - "license": "ISC" 2535 - }, 2536 - "node_modules/fx-runner/node_modules/which": { 2537 - "version": "1.2.4", 2538 - "resolved": "https://registry.npmjs.org/which/-/which-1.2.4.tgz", 2539 - "integrity": "sha512-zDRAqDSBudazdfM9zpiI30Fu9ve47htYXcGi3ln0wfKu2a7SmrT6F3VDoYONu//48V8Vz4TdCRNPjtvyRO3yBA==", 2540 - "dev": true, 2541 - "license": "ISC", 2542 - "dependencies": { 2543 - "is-absolute": "^0.1.7", 2544 - "isexe": "^1.1.1" 2545 - }, 2546 - "bin": { 2547 - "which": "bin/which" 2548 - } 2549 - }, 2550 - "node_modules/get-stream": { 2551 - "version": "6.0.1", 2552 - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", 2553 - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", 2554 - "dev": true, 2555 - "license": "MIT", 2556 - "engines": { 2557 - "node": ">=10" 2558 - }, 2559 - "funding": { 2560 - "url": "https://github.com/sponsors/sindresorhus" 2561 - } 2562 - }, 2563 - "node_modules/glob": { 2564 - "version": "10.4.1", 2565 - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz", 2566 - "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==", 2567 - "dev": true, 2568 - "license": "ISC", 2569 - "dependencies": { 2570 - "foreground-child": "^3.1.0", 2571 - "jackspeak": "^3.1.2", 2572 - "minimatch": "^9.0.4", 2573 - "minipass": "^7.1.2", 2574 - "path-scurry": "^1.11.1" 2575 - }, 2576 - "bin": { 2577 - "glob": "dist/esm/bin.mjs" 2578 - }, 2579 - "engines": { 2580 - "node": ">=16 || 14 >=14.18" 2581 - }, 2582 - "funding": { 2583 - "url": "https://github.com/sponsors/isaacs" 2584 - } 2585 - }, 2586 - "node_modules/glob-parent": { 2587 - "version": "6.0.2", 2588 - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 2589 - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 2590 - "dev": true, 2591 - "license": "ISC", 2592 - "dependencies": { 2593 - "is-glob": "^4.0.3" 2594 - }, 2595 - "engines": { 2596 - "node": ">=10.13.0" 2597 - } 2598 - }, 2599 - "node_modules/glob-to-regexp": { 2600 - "version": "0.4.1", 2601 - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 2602 - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", 2603 - "dev": true, 2604 - "license": "BSD-2-Clause" 2605 - }, 2606 - "node_modules/global-dirs": { 2607 - "version": "3.0.1", 2608 - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", 2609 - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", 2610 - "dev": true, 2611 - "license": "MIT", 2612 - "dependencies": { 2613 - "ini": "2.0.0" 2614 - }, 2615 - "engines": { 2616 - "node": ">=10" 2617 - }, 2618 - "funding": { 2619 - "url": "https://github.com/sponsors/sindresorhus" 2620 - } 2621 - }, 2622 - "node_modules/globby": { 2623 - "version": "10.0.1", 2624 - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz", 2625 - "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==", 2626 - "dev": true, 2627 - "license": "MIT", 2628 - "dependencies": { 2629 - "@types/glob": "^7.1.1", 2630 - "array-union": "^2.1.0", 2631 - "dir-glob": "^3.0.1", 2632 - "fast-glob": "^3.0.3", 2633 - "glob": "^7.1.3", 2634 - "ignore": "^5.1.1", 2635 - "merge2": "^1.2.3", 2636 - "slash": "^3.0.0" 2637 - }, 2638 - "engines": { 2639 - "node": ">=8" 2640 - } 2641 - }, 2642 - "node_modules/globby/node_modules/array-union": { 2643 - "version": "2.1.0", 2644 - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 2645 - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 2646 - "dev": true, 2647 - "license": "MIT", 2648 - "engines": { 2649 - "node": ">=8" 2650 - } 2651 - }, 2652 - "node_modules/globby/node_modules/brace-expansion": { 2653 - "version": "1.1.11", 2654 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2655 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2656 - "dev": true, 2657 - "license": "MIT", 2658 - "dependencies": { 2659 - "balanced-match": "^1.0.0", 2660 - "concat-map": "0.0.1" 2661 - } 2662 - }, 2663 - "node_modules/globby/node_modules/glob": { 2664 - "version": "7.2.3", 2665 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 2666 - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 2667 - "deprecated": "Glob versions prior to v9 are no longer supported", 2668 - "dev": true, 2669 - "license": "ISC", 2670 - "dependencies": { 2671 - "fs.realpath": "^1.0.0", 2672 - "inflight": "^1.0.4", 2673 - "inherits": "2", 2674 - "minimatch": "^3.1.1", 2675 - "once": "^1.3.0", 2676 - "path-is-absolute": "^1.0.0" 2677 - }, 2678 - "engines": { 2679 - "node": "*" 2680 - }, 2681 - "funding": { 2682 - "url": "https://github.com/sponsors/isaacs" 2683 - } 2684 - }, 2685 - "node_modules/globby/node_modules/minimatch": { 2686 - "version": "3.1.2", 2687 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2688 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2689 - "dev": true, 2690 - "license": "ISC", 2691 - "dependencies": { 2692 - "brace-expansion": "^1.1.7" 2693 - }, 2694 - "engines": { 2695 - "node": "*" 2696 - } 2697 - }, 2698 - "node_modules/got": { 2699 - "version": "12.6.1", 2700 - "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", 2701 - "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", 2702 - "dev": true, 2703 - "license": "MIT", 2704 - "dependencies": { 2705 - "@sindresorhus/is": "^5.2.0", 2706 - "@szmarczak/http-timer": "^5.0.1", 2707 - "cacheable-lookup": "^7.0.0", 2708 - "cacheable-request": "^10.2.8", 2709 - "decompress-response": "^6.0.0", 2710 - "form-data-encoder": "^2.1.2", 2711 - "get-stream": "^6.0.1", 2712 - "http2-wrapper": "^2.1.10", 2713 - "lowercase-keys": "^3.0.0", 2714 - "p-cancelable": "^3.0.0", 2715 - "responselike": "^3.0.0" 2716 - }, 2717 - "engines": { 2718 - "node": ">=14.16" 2719 - }, 2720 - "funding": { 2721 - "url": "https://github.com/sindresorhus/got?sponsor=1" 2722 - } 2723 - }, 2724 - "node_modules/graceful-fs": { 2725 - "version": "4.2.11", 2726 - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 2727 - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 2728 - "dev": true, 2729 - "license": "ISC" 2730 - }, 2731 - "node_modules/graceful-readlink": { 2732 - "version": "1.0.1", 2733 - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 2734 - "integrity": "sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==", 2735 - "dev": true, 2736 - "license": "MIT" 2737 - }, 2738 - "node_modules/growly": { 2739 - "version": "1.3.0", 2740 - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", 2741 - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", 2742 - "dev": true, 2743 - "license": "MIT" 2744 - }, 2745 - "node_modules/has-flag": { 2746 - "version": "3.0.0", 2747 - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 2748 - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 2749 - "dev": true, 2750 - "license": "MIT", 2751 - "engines": { 2752 - "node": ">=4" 2753 - } 2754 - }, 2755 - "node_modules/has-yarn": { 2756 - "version": "3.0.0", 2757 - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", 2758 - "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", 2759 - "dev": true, 2760 - "license": "MIT", 2761 - "engines": { 2762 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2763 - }, 2764 - "funding": { 2765 - "url": "https://github.com/sponsors/sindresorhus" 2766 - } 2767 - }, 2768 - "node_modules/hasown": { 2769 - "version": "2.0.2", 2770 - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 2771 - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 2772 - "dev": true, 2773 - "license": "MIT", 2774 - "dependencies": { 2775 - "function-bind": "^1.1.2" 2776 - }, 2777 - "engines": { 2778 - "node": ">= 0.4" 2779 - } 2780 - }, 2781 - "node_modules/html-escaper": { 2782 - "version": "3.0.3", 2783 - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", 2784 - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", 2785 - "dev": true, 2786 - "license": "MIT" 2787 - }, 2788 - "node_modules/htmlparser2": { 2789 - "version": "8.0.2", 2790 - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", 2791 - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", 2792 - "dev": true, 2793 - "funding": [ 2794 - "https://github.com/fb55/htmlparser2?sponsor=1", 2795 - { 2796 - "type": "github", 2797 - "url": "https://github.com/sponsors/fb55" 2798 - } 2799 - ], 2800 - "license": "MIT", 2801 - "dependencies": { 2802 - "domelementtype": "^2.3.0", 2803 - "domhandler": "^5.0.3", 2804 - "domutils": "^3.0.1", 2805 - "entities": "^4.4.0" 2806 - } 2807 - }, 2808 - "node_modules/http-cache-semantics": { 2809 - "version": "4.1.1", 2810 - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 2811 - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", 2812 - "dev": true, 2813 - "license": "BSD-2-Clause" 2814 - }, 2815 - "node_modules/http2-wrapper": { 2816 - "version": "2.2.1", 2817 - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", 2818 - "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", 2819 - "dev": true, 2820 - "license": "MIT", 2821 - "dependencies": { 2822 - "quick-lru": "^5.1.1", 2823 - "resolve-alpn": "^1.2.0" 2824 - }, 2825 - "engines": { 2826 - "node": ">=10.19.0" 2827 - } 2828 - }, 2829 - "node_modules/ignore": { 2830 - "version": "5.3.1", 2831 - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", 2832 - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", 2833 - "dev": true, 2834 - "license": "MIT", 2835 - "engines": { 2836 - "node": ">= 4" 2837 - } 2838 - }, 2839 - "node_modules/immediate": { 2840 - "version": "3.0.6", 2841 - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", 2842 - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", 2843 - "dev": true, 2844 - "license": "MIT" 2845 - }, 2846 - "node_modules/import-lazy": { 2847 - "version": "4.0.0", 2848 - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", 2849 - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", 2850 - "dev": true, 2851 - "license": "MIT", 2852 - "engines": { 2853 - "node": ">=8" 2854 - } 2855 - }, 2856 - "node_modules/imurmurhash": { 2857 - "version": "0.1.4", 2858 - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 2859 - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 2860 - "dev": true, 2861 - "license": "MIT", 2862 - "engines": { 2863 - "node": ">=0.8.19" 2864 - } 2865 - }, 2866 - "node_modules/inflight": { 2867 - "version": "1.0.6", 2868 - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 2869 - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 2870 - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 2871 - "dev": true, 2872 - "license": "ISC", 2873 - "dependencies": { 2874 - "once": "^1.3.0", 2875 - "wrappy": "1" 2876 - } 2877 - }, 2878 - "node_modules/inherits": { 2879 - "version": "2.0.4", 2880 - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 2881 - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 2882 - "dev": true, 2883 - "license": "ISC" 2884 - }, 2885 - "node_modules/ini": { 2886 - "version": "2.0.0", 2887 - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", 2888 - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", 2889 - "dev": true, 2890 - "license": "ISC", 2891 - "engines": { 2892 - "node": ">=10" 2893 - } 2894 - }, 2895 - "node_modules/is-absolute": { 2896 - "version": "0.1.7", 2897 - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", 2898 - "integrity": "sha512-Xi9/ZSn4NFapG8RP98iNPMOeaV3mXPisxKxzKtHVqr3g56j/fBn+yZmnxSVAA8lmZbl2J9b/a4kJvfU3hqQYgA==", 2899 - "dev": true, 2900 - "license": "MIT", 2901 - "dependencies": { 2902 - "is-relative": "^0.1.0" 2903 - }, 2904 - "engines": { 2905 - "node": ">=0.10.0" 2906 - } 2907 - }, 2908 - "node_modules/is-arrayish": { 2909 - "version": "0.2.1", 2910 - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 2911 - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", 2912 - "dev": true, 2913 - "license": "MIT" 2914 - }, 2915 - "node_modules/is-binary-path": { 2916 - "version": "2.1.0", 2917 - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2918 - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2919 - "dev": true, 2920 - "license": "MIT", 2921 - "dependencies": { 2922 - "binary-extensions": "^2.0.0" 2923 - }, 2924 - "engines": { 2925 - "node": ">=8" 2926 - } 2927 - }, 2928 - "node_modules/is-buffer": { 2929 - "version": "1.1.6", 2930 - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 2931 - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", 2932 - "dev": true, 2933 - "license": "MIT" 2934 - }, 2935 - "node_modules/is-ci": { 2936 - "version": "3.0.1", 2937 - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", 2938 - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", 2939 - "dev": true, 2940 - "license": "MIT", 2941 - "dependencies": { 2942 - "ci-info": "^3.2.0" 2943 - }, 2944 - "bin": { 2945 - "is-ci": "bin.js" 2946 - } 2947 - }, 2948 - "node_modules/is-core-module": { 2949 - "version": "2.13.1", 2950 - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 2951 - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 2952 - "dev": true, 2953 - "license": "MIT", 2954 - "dependencies": { 2955 - "hasown": "^2.0.0" 2956 - }, 2957 - "funding": { 2958 - "url": "https://github.com/sponsors/ljharb" 2959 - } 2960 - }, 2961 - "node_modules/is-docker": { 2962 - "version": "2.2.1", 2963 - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", 2964 - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", 2965 - "dev": true, 2966 - "license": "MIT", 2967 - "bin": { 2968 - "is-docker": "cli.js" 2969 - }, 2970 - "engines": { 2971 - "node": ">=8" 2972 - }, 2973 - "funding": { 2974 - "url": "https://github.com/sponsors/sindresorhus" 2975 - } 2976 - }, 2977 - "node_modules/is-extglob": { 2978 - "version": "2.1.1", 2979 - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2980 - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2981 - "dev": true, 2982 - "license": "MIT", 2983 - "engines": { 2984 - "node": ">=0.10.0" 2985 - } 2986 - }, 2987 - "node_modules/is-fullwidth-code-point": { 2988 - "version": "3.0.0", 2989 - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2990 - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2991 - "dev": true, 2992 - "license": "MIT", 2993 - "engines": { 2994 - "node": ">=8" 2995 - } 2996 - }, 2997 - "node_modules/is-glob": { 2998 - "version": "4.0.3", 2999 - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 3000 - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 3001 - "dev": true, 3002 - "license": "MIT", 3003 - "dependencies": { 3004 - "is-extglob": "^2.1.1" 3005 - }, 3006 - "engines": { 3007 - "node": ">=0.10.0" 3008 - } 3009 - }, 3010 - "node_modules/is-installed-globally": { 3011 - "version": "0.4.0", 3012 - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", 3013 - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", 3014 - "dev": true, 3015 - "license": "MIT", 3016 - "dependencies": { 3017 - "global-dirs": "^3.0.0", 3018 - "is-path-inside": "^3.0.2" 3019 - }, 3020 - "engines": { 3021 - "node": ">=10" 3022 - }, 3023 - "funding": { 3024 - "url": "https://github.com/sponsors/sindresorhus" 3025 - } 3026 - }, 3027 - "node_modules/is-npm": { 3028 - "version": "6.0.0", 3029 - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", 3030 - "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", 3031 - "dev": true, 3032 - "license": "MIT", 3033 - "engines": { 3034 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3035 - }, 3036 - "funding": { 3037 - "url": "https://github.com/sponsors/sindresorhus" 3038 - } 3039 - }, 3040 - "node_modules/is-number": { 3041 - "version": "7.0.0", 3042 - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 3043 - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 3044 - "dev": true, 3045 - "license": "MIT", 3046 - "engines": { 3047 - "node": ">=0.12.0" 3048 - } 3049 - }, 3050 - "node_modules/is-obj": { 3051 - "version": "2.0.0", 3052 - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", 3053 - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", 3054 - "dev": true, 3055 - "license": "MIT", 3056 - "engines": { 3057 - "node": ">=8" 3058 - } 3059 - }, 3060 - "node_modules/is-path-inside": { 3061 - "version": "3.0.3", 3062 - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", 3063 - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", 3064 - "dev": true, 3065 - "license": "MIT", 3066 - "engines": { 3067 - "node": ">=8" 3068 - } 3069 - }, 3070 - "node_modules/is-plain-object": { 3071 - "version": "3.0.1", 3072 - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", 3073 - "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==", 3074 - "dev": true, 3075 - "license": "MIT", 3076 - "engines": { 3077 - "node": ">=0.10.0" 3078 - } 3079 - }, 3080 - "node_modules/is-reference": { 3081 - "version": "3.0.2", 3082 - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", 3083 - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", 3084 - "dev": true, 3085 - "license": "MIT", 3086 - "dependencies": { 3087 - "@types/estree": "*" 3088 - } 3089 - }, 3090 - "node_modules/is-relative": { 3091 - "version": "0.1.3", 3092 - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", 3093 - "integrity": "sha512-wBOr+rNM4gkAZqoLRJI4myw5WzzIdQosFAAbnvfXP5z1LyzgAI3ivOKehC5KfqlQJZoihVhirgtCBj378Eg8GA==", 3094 - "dev": true, 3095 - "engines": { 3096 - "node": ">=0.10.0" 3097 - } 3098 - }, 3099 - "node_modules/is-typedarray": { 3100 - "version": "1.0.0", 3101 - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 3102 - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", 3103 - "dev": true, 3104 - "license": "MIT" 3105 - }, 3106 - "node_modules/is-wsl": { 3107 - "version": "2.2.0", 3108 - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", 3109 - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", 3110 - "dev": true, 3111 - "license": "MIT", 3112 - "dependencies": { 3113 - "is-docker": "^2.0.0" 3114 - }, 3115 - "engines": { 3116 - "node": ">=8" 3117 - } 3118 - }, 3119 - "node_modules/is-yarn-global": { 3120 - "version": "0.4.1", 3121 - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", 3122 - "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", 3123 - "dev": true, 3124 - "license": "MIT", 3125 - "engines": { 3126 - "node": ">=12" 3127 - } 3128 - }, 3129 - "node_modules/isarray": { 3130 - "version": "1.0.0", 3131 - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 3132 - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", 3133 - "dev": true, 3134 - "license": "MIT" 3135 - }, 3136 - "node_modules/isexe": { 3137 - "version": "2.0.0", 3138 - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 3139 - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 3140 - "dev": true, 3141 - "license": "ISC" 3142 - }, 3143 - "node_modules/jackspeak": { 3144 - "version": "3.1.2", 3145 - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", 3146 - "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", 3147 - "dev": true, 3148 - "license": "BlueOak-1.0.0", 3149 - "dependencies": { 3150 - "@isaacs/cliui": "^8.0.2" 3151 - }, 3152 - "engines": { 3153 - "node": ">=14" 3154 - }, 3155 - "funding": { 3156 - "url": "https://github.com/sponsors/isaacs" 3157 - }, 3158 - "optionalDependencies": { 3159 - "@pkgjs/parseargs": "^0.11.0" 3160 - } 3161 - }, 3162 - "node_modules/jiti": { 3163 - "version": "1.21.0", 3164 - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", 3165 - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", 3166 - "dev": true, 3167 - "license": "MIT", 3168 - "bin": { 3169 - "jiti": "bin/jiti.js" 3170 - } 3171 - }, 3172 - "node_modules/js-tokens": { 3173 - "version": "4.0.0", 3174 - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3175 - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 3176 - "dev": true, 3177 - "license": "MIT" 3178 - }, 3179 - "node_modules/json-buffer": { 3180 - "version": "3.0.1", 3181 - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 3182 - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", 3183 - "dev": true, 3184 - "license": "MIT" 3185 - }, 3186 - "node_modules/json-parse-even-better-errors": { 3187 - "version": "3.0.2", 3188 - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", 3189 - "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", 3190 - "dev": true, 3191 - "license": "MIT", 3192 - "engines": { 3193 - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" 3194 - } 3195 - }, 3196 - "node_modules/json-schema-traverse": { 3197 - "version": "1.0.0", 3198 - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 3199 - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 3200 - "dev": true, 3201 - "license": "MIT" 3202 - }, 3203 - "node_modules/json5": { 3204 - "version": "2.2.3", 3205 - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 3206 - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 3207 - "dev": true, 3208 - "license": "MIT", 3209 - "bin": { 3210 - "json5": "lib/cli.js" 3211 - }, 3212 - "engines": { 3213 - "node": ">=6" 3214 - } 3215 - }, 3216 - "node_modules/jsonfile": { 3217 - "version": "6.1.0", 3218 - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", 3219 - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", 3220 - "dev": true, 3221 - "license": "MIT", 3222 - "dependencies": { 3223 - "universalify": "^2.0.0" 3224 - }, 3225 - "optionalDependencies": { 3226 - "graceful-fs": "^4.1.6" 3227 - } 3228 - }, 3229 - "node_modules/jszip": { 3230 - "version": "3.10.1", 3231 - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", 3232 - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", 3233 - "dev": true, 3234 - "license": "(MIT OR GPL-3.0-or-later)", 3235 - "dependencies": { 3236 - "lie": "~3.3.0", 3237 - "pako": "~1.0.2", 3238 - "readable-stream": "~2.3.6", 3239 - "setimmediate": "^1.0.5" 3240 - } 3241 - }, 3242 - "node_modules/keyv": { 3243 - "version": "4.5.4", 3244 - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", 3245 - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", 3246 - "dev": true, 3247 - "license": "MIT", 3248 - "dependencies": { 3249 - "json-buffer": "3.0.1" 3250 - } 3251 - }, 3252 - "node_modules/kleur": { 3253 - "version": "4.1.5", 3254 - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", 3255 - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", 3256 - "dev": true, 3257 - "license": "MIT", 3258 - "engines": { 3259 - "node": ">=6" 3260 - } 3261 - }, 3262 - "node_modules/latest-version": { 3263 - "version": "7.0.0", 3264 - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", 3265 - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", 3266 - "dev": true, 3267 - "license": "MIT", 3268 - "dependencies": { 3269 - "package-json": "^8.1.0" 3270 - }, 3271 - "engines": { 3272 - "node": ">=14.16" 3273 - }, 3274 - "funding": { 3275 - "url": "https://github.com/sponsors/sindresorhus" 3276 - } 3277 - }, 3278 - "node_modules/lie": { 3279 - "version": "3.3.0", 3280 - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", 3281 - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", 3282 - "dev": true, 3283 - "license": "MIT", 3284 - "dependencies": { 3285 - "immediate": "~3.0.5" 3286 - } 3287 - }, 3288 - "node_modules/lighthouse-logger": { 3289 - "version": "1.4.2", 3290 - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", 3291 - "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", 3292 - "dev": true, 3293 - "license": "Apache-2.0", 3294 - "dependencies": { 3295 - "debug": "^2.6.9", 3296 - "marky": "^1.2.2" 3297 - } 3298 - }, 3299 - "node_modules/lighthouse-logger/node_modules/debug": { 3300 - "version": "2.6.9", 3301 - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 3302 - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 3303 - "dev": true, 3304 - "license": "MIT", 3305 - "dependencies": { 3306 - "ms": "2.0.0" 3307 - } 3308 - }, 3309 - "node_modules/lighthouse-logger/node_modules/ms": { 3310 - "version": "2.0.0", 3311 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 3312 - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 3313 - "dev": true, 3314 - "license": "MIT" 3315 - }, 3316 - "node_modules/lilconfig": { 3317 - "version": "2.1.0", 3318 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 3319 - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 3320 - "dev": true, 3321 - "license": "MIT", 3322 - "engines": { 3323 - "node": ">=10" 3324 - } 3325 - }, 3326 - "node_modules/lines-and-columns": { 3327 - "version": "1.2.4", 3328 - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 3329 - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 3330 - "dev": true, 3331 - "license": "MIT" 3332 - }, 3333 - "node_modules/linkedom": { 3334 - "version": "0.14.26", 3335 - "resolved": "https://registry.npmjs.org/linkedom/-/linkedom-0.14.26.tgz", 3336 - "integrity": "sha512-mK6TrydfFA7phrnp+1j57ycBwFI5bGSW6YXlw9acHoqF+mP/y+FooEYYyniOt5Ot57FSKB3iwmnuQ1UUyNLm5A==", 3337 - "dev": true, 3338 - "license": "ISC", 3339 - "dependencies": { 3340 - "css-select": "^5.1.0", 3341 - "cssom": "^0.5.0", 3342 - "html-escaper": "^3.0.3", 3343 - "htmlparser2": "^8.0.1", 3344 - "uhyphen": "^0.2.0" 3345 - } 3346 - }, 3347 - "node_modules/locate-character": { 3348 - "version": "3.0.0", 3349 - "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", 3350 - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", 3351 - "dev": true, 3352 - "license": "MIT" 3353 - }, 3354 - "node_modules/lodash.uniq": { 3355 - "version": "4.5.0", 3356 - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 3357 - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", 3358 - "dev": true, 3359 - "license": "MIT" 3360 - }, 3361 - "node_modules/lodash.uniqby": { 3362 - "version": "4.7.0", 3363 - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", 3364 - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", 3365 - "dev": true, 3366 - "license": "MIT" 3367 - }, 3368 - "node_modules/lowercase-keys": { 3369 - "version": "3.0.0", 3370 - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", 3371 - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", 3372 - "dev": true, 3373 - "license": "MIT", 3374 - "engines": { 3375 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3376 - }, 3377 - "funding": { 3378 - "url": "https://github.com/sponsors/sindresorhus" 3379 - } 3380 - }, 3381 - "node_modules/lru-cache": { 3382 - "version": "10.2.2", 3383 - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", 3384 - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", 3385 - "dev": true, 3386 - "license": "ISC", 3387 - "engines": { 3388 - "node": "14 || >=16.14" 3389 - } 3390 - }, 3391 - "node_modules/lucide-svelte": { 3392 - "version": "0.383.0", 3393 - "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.383.0.tgz", 3394 - "integrity": "sha512-jA4fd9v1gLuE/iNszC7VyIexDnWX06bYpFFTPfBwk0FKh3Paf7FULgotQ8UUY1Lsr6JIMWASh7zKhI2f1bePFw==", 3395 - "dev": true, 3396 - "license": "ISC", 3397 - "peerDependencies": { 3398 - "svelte": "^3 || ^4 || ^5.0.0-next.42" 3399 - } 3400 - }, 3401 - "node_modules/magic-string": { 3402 - "version": "0.30.10", 3403 - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", 3404 - "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", 3405 - "dev": true, 3406 - "license": "MIT", 3407 - "dependencies": { 3408 - "@jridgewell/sourcemap-codec": "^1.4.15" 3409 - } 3410 - }, 3411 - "node_modules/make-error": { 3412 - "version": "1.3.6", 3413 - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 3414 - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 3415 - "dev": true, 3416 - "license": "ISC" 3417 - }, 3418 - "node_modules/marky": { 3419 - "version": "1.2.5", 3420 - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", 3421 - "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", 3422 - "dev": true, 3423 - "license": "Apache-2.0" 3424 - }, 3425 - "node_modules/md5": { 3426 - "version": "2.3.0", 3427 - "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", 3428 - "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", 3429 - "dev": true, 3430 - "license": "BSD-3-Clause", 3431 - "dependencies": { 3432 - "charenc": "0.0.2", 3433 - "crypt": "0.0.2", 3434 - "is-buffer": "~1.1.6" 3435 - } 3436 - }, 3437 - "node_modules/mdn-data": { 3438 - "version": "2.0.30", 3439 - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 3440 - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 3441 - "dev": true, 3442 - "license": "CC0-1.0" 3443 - }, 3444 - "node_modules/merge2": { 3445 - "version": "1.4.1", 3446 - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 3447 - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 3448 - "dev": true, 3449 - "license": "MIT", 3450 - "engines": { 3451 - "node": ">= 8" 3452 - } 3453 - }, 3454 - "node_modules/micromatch": { 3455 - "version": "4.0.7", 3456 - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", 3457 - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", 3458 - "dev": true, 3459 - "license": "MIT", 3460 - "dependencies": { 3461 - "braces": "^3.0.3", 3462 - "picomatch": "^2.3.1" 3463 - }, 3464 - "engines": { 3465 - "node": ">=8.6" 3466 - } 3467 - }, 3468 - "node_modules/mimic-response": { 3469 - "version": "4.0.0", 3470 - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", 3471 - "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", 3472 - "dev": true, 3473 - "license": "MIT", 3474 - "engines": { 3475 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3476 - }, 3477 - "funding": { 3478 - "url": "https://github.com/sponsors/sindresorhus" 3479 - } 3480 - }, 3481 - "node_modules/minimatch": { 3482 - "version": "9.0.4", 3483 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", 3484 - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", 3485 - "dev": true, 3486 - "license": "ISC", 3487 - "dependencies": { 3488 - "brace-expansion": "^2.0.1" 3489 - }, 3490 - "engines": { 3491 - "node": ">=16 || 14 >=14.17" 3492 - }, 3493 - "funding": { 3494 - "url": "https://github.com/sponsors/isaacs" 3495 - } 3496 - }, 3497 - "node_modules/minimist": { 3498 - "version": "1.2.8", 3499 - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 3500 - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 3501 - "dev": true, 3502 - "license": "MIT", 3503 - "funding": { 3504 - "url": "https://github.com/sponsors/ljharb" 3505 - } 3506 - }, 3507 - "node_modules/minipass": { 3508 - "version": "7.1.2", 3509 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 3510 - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 3511 - "dev": true, 3512 - "license": "ISC", 3513 - "engines": { 3514 - "node": ">=16 || 14 >=14.17" 3515 - } 3516 - }, 3517 - "node_modules/mkdirp": { 3518 - "version": "1.0.4", 3519 - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 3520 - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 3521 - "dev": true, 3522 - "license": "MIT", 3523 - "bin": { 3524 - "mkdirp": "bin/cmd.js" 3525 - }, 3526 - "engines": { 3527 - "node": ">=10" 3528 - } 3529 - }, 3530 - "node_modules/moment": { 3531 - "version": "2.30.1", 3532 - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", 3533 - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", 3534 - "dev": true, 3535 - "license": "MIT", 3536 - "optional": true, 3537 - "engines": { 3538 - "node": "*" 3539 - } 3540 - }, 3541 - "node_modules/ms": { 3542 - "version": "2.1.2", 3543 - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3544 - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 3545 - "dev": true, 3546 - "license": "MIT" 3547 - }, 3548 - "node_modules/multimatch": { 3549 - "version": "6.0.0", 3550 - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-6.0.0.tgz", 3551 - "integrity": "sha512-I7tSVxHGPlmPN/enE3mS1aOSo6bWBfls+3HmuEeCUBCE7gWnm3cBXCBkpurzFjVRwC6Kld8lLaZ1Iv5vOcjvcQ==", 3552 - "dev": true, 3553 - "license": "MIT", 3554 - "dependencies": { 3555 - "@types/minimatch": "^3.0.5", 3556 - "array-differ": "^4.0.0", 3557 - "array-union": "^3.0.1", 3558 - "minimatch": "^3.0.4" 3559 - }, 3560 - "engines": { 3561 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3562 - }, 3563 - "funding": { 3564 - "url": "https://github.com/sponsors/sindresorhus" 3565 - } 3566 - }, 3567 - "node_modules/multimatch/node_modules/brace-expansion": { 3568 - "version": "1.1.11", 3569 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 3570 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 3571 - "dev": true, 3572 - "license": "MIT", 3573 - "dependencies": { 3574 - "balanced-match": "^1.0.0", 3575 - "concat-map": "0.0.1" 3576 - } 3577 - }, 3578 - "node_modules/multimatch/node_modules/minimatch": { 3579 - "version": "3.1.2", 3580 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3581 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3582 - "dev": true, 3583 - "license": "ISC", 3584 - "dependencies": { 3585 - "brace-expansion": "^1.1.7" 3586 - }, 3587 - "engines": { 3588 - "node": "*" 3589 - } 3590 - }, 3591 - "node_modules/mv": { 3592 - "version": "2.1.1", 3593 - "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", 3594 - "integrity": "sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==", 3595 - "dev": true, 3596 - "license": "MIT", 3597 - "optional": true, 3598 - "dependencies": { 3599 - "mkdirp": "~0.5.1", 3600 - "ncp": "~2.0.0", 3601 - "rimraf": "~2.4.0" 3602 - }, 3603 - "engines": { 3604 - "node": ">=0.8.0" 3605 - } 3606 - }, 3607 - "node_modules/mv/node_modules/mkdirp": { 3608 - "version": "0.5.6", 3609 - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", 3610 - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", 3611 - "dev": true, 3612 - "license": "MIT", 3613 - "optional": true, 3614 - "dependencies": { 3615 - "minimist": "^1.2.6" 3616 - }, 3617 - "bin": { 3618 - "mkdirp": "bin/cmd.js" 3619 - } 3620 - }, 3621 - "node_modules/mz": { 3622 - "version": "2.7.0", 3623 - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 3624 - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 3625 - "dev": true, 3626 - "license": "MIT", 3627 - "dependencies": { 3628 - "any-promise": "^1.0.0", 3629 - "object-assign": "^4.0.1", 3630 - "thenify-all": "^1.0.0" 3631 - } 3632 - }, 3633 - "node_modules/nan": { 3634 - "version": "2.19.0", 3635 - "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", 3636 - "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", 3637 - "dev": true, 3638 - "license": "MIT", 3639 - "optional": true 3640 - }, 3641 - "node_modules/nanoid": { 3642 - "version": "3.3.7", 3643 - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 3644 - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 3645 - "dev": true, 3646 - "funding": [ 3647 - { 3648 - "type": "github", 3649 - "url": "https://github.com/sponsors/ai" 3650 - } 3651 - ], 3652 - "license": "MIT", 3653 - "bin": { 3654 - "nanoid": "bin/nanoid.cjs" 3655 - }, 3656 - "engines": { 3657 - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 3658 - } 3659 - }, 3660 - "node_modules/ncp": { 3661 - "version": "2.0.0", 3662 - "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", 3663 - "integrity": "sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==", 3664 - "dev": true, 3665 - "license": "MIT", 3666 - "optional": true, 3667 - "bin": { 3668 - "ncp": "bin/ncp" 3669 - } 3670 - }, 3671 - "node_modules/node-forge": { 3672 - "version": "1.3.1", 3673 - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", 3674 - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", 3675 - "dev": true, 3676 - "license": "(BSD-3-Clause OR GPL-2.0)", 3677 - "engines": { 3678 - "node": ">= 6.13.0" 3679 - } 3680 - }, 3681 - "node_modules/node-notifier": { 3682 - "version": "10.0.1", 3683 - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", 3684 - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", 3685 - "dev": true, 3686 - "license": "MIT", 3687 - "dependencies": { 3688 - "growly": "^1.3.0", 3689 - "is-wsl": "^2.2.0", 3690 - "semver": "^7.3.5", 3691 - "shellwords": "^0.1.1", 3692 - "uuid": "^8.3.2", 3693 - "which": "^2.0.2" 3694 - } 3695 - }, 3696 - "node_modules/node-releases": { 3697 - "version": "2.0.14", 3698 - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 3699 - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 3700 - "dev": true, 3701 - "license": "MIT" 3702 - }, 3703 - "node_modules/normalize-path": { 3704 - "version": "3.0.0", 3705 - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 3706 - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 3707 - "dev": true, 3708 - "license": "MIT", 3709 - "engines": { 3710 - "node": ">=0.10.0" 3711 - } 3712 - }, 3713 - "node_modules/normalize-range": { 3714 - "version": "0.1.2", 3715 - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 3716 - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 3717 - "dev": true, 3718 - "license": "MIT", 3719 - "engines": { 3720 - "node": ">=0.10.0" 3721 - } 3722 - }, 3723 - "node_modules/normalize-url": { 3724 - "version": "8.0.1", 3725 - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", 3726 - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", 3727 - "dev": true, 3728 - "license": "MIT", 3729 - "engines": { 3730 - "node": ">=14.16" 3731 - }, 3732 - "funding": { 3733 - "url": "https://github.com/sponsors/sindresorhus" 3734 - } 3735 - }, 3736 - "node_modules/nth-check": { 3737 - "version": "2.1.1", 3738 - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", 3739 - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", 3740 - "dev": true, 3741 - "license": "BSD-2-Clause", 3742 - "dependencies": { 3743 - "boolbase": "^1.0.0" 3744 - }, 3745 - "funding": { 3746 - "url": "https://github.com/fb55/nth-check?sponsor=1" 3747 - } 3748 - }, 3749 - "node_modules/object-assign": { 3750 - "version": "4.1.1", 3751 - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3752 - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 3753 - "dev": true, 3754 - "license": "MIT", 3755 - "engines": { 3756 - "node": ">=0.10.0" 3757 - } 3758 - }, 3759 - "node_modules/object-hash": { 3760 - "version": "3.0.0", 3761 - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 3762 - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 3763 - "dev": true, 3764 - "license": "MIT", 3765 - "engines": { 3766 - "node": ">= 6" 3767 - } 3768 - }, 3769 - "node_modules/once": { 3770 - "version": "1.4.0", 3771 - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3772 - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 3773 - "dev": true, 3774 - "license": "ISC", 3775 - "dependencies": { 3776 - "wrappy": "1" 3777 - } 3778 - }, 3779 - "node_modules/os-shim": { 3780 - "version": "0.1.3", 3781 - "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", 3782 - "integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==", 3783 - "dev": true, 3784 - "engines": { 3785 - "node": ">= 0.4.0" 3786 - } 3787 - }, 3788 - "node_modules/p-cancelable": { 3789 - "version": "3.0.0", 3790 - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", 3791 - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", 3792 - "dev": true, 3793 - "license": "MIT", 3794 - "engines": { 3795 - "node": ">=12.20" 3796 - } 3797 - }, 3798 - "node_modules/package-json": { 3799 - "version": "8.1.1", 3800 - "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", 3801 - "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", 3802 - "dev": true, 3803 - "license": "MIT", 3804 - "dependencies": { 3805 - "got": "^12.1.0", 3806 - "registry-auth-token": "^5.0.1", 3807 - "registry-url": "^6.0.0", 3808 - "semver": "^7.3.7" 3809 - }, 3810 - "engines": { 3811 - "node": ">=14.16" 3812 - }, 3813 - "funding": { 3814 - "url": "https://github.com/sponsors/sindresorhus" 3815 - } 3816 - }, 3817 - "node_modules/pako": { 3818 - "version": "1.0.11", 3819 - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", 3820 - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", 3821 - "dev": true, 3822 - "license": "(MIT AND Zlib)" 3823 - }, 3824 - "node_modules/parse-json": { 3825 - "version": "7.1.1", 3826 - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", 3827 - "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", 3828 - "dev": true, 3829 - "license": "MIT", 3830 - "dependencies": { 3831 - "@babel/code-frame": "^7.21.4", 3832 - "error-ex": "^1.3.2", 3833 - "json-parse-even-better-errors": "^3.0.0", 3834 - "lines-and-columns": "^2.0.3", 3835 - "type-fest": "^3.8.0" 3836 - }, 3837 - "engines": { 3838 - "node": ">=16" 3839 - }, 3840 - "funding": { 3841 - "url": "https://github.com/sponsors/sindresorhus" 3842 - } 3843 - }, 3844 - "node_modules/parse-json/node_modules/lines-and-columns": { 3845 - "version": "2.0.4", 3846 - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", 3847 - "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", 3848 - "dev": true, 3849 - "license": "MIT", 3850 - "engines": { 3851 - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3852 - } 3853 - }, 3854 - "node_modules/path-is-absolute": { 3855 - "version": "1.0.1", 3856 - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3857 - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 3858 - "dev": true, 3859 - "license": "MIT", 3860 - "engines": { 3861 - "node": ">=0.10.0" 3862 - } 3863 - }, 3864 - "node_modules/path-key": { 3865 - "version": "3.1.1", 3866 - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 3867 - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 3868 - "dev": true, 3869 - "license": "MIT", 3870 - "engines": { 3871 - "node": ">=8" 3872 - } 3873 - }, 3874 - "node_modules/path-parse": { 3875 - "version": "1.0.7", 3876 - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 3877 - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 3878 - "dev": true, 3879 - "license": "MIT" 3880 - }, 3881 - "node_modules/path-scurry": { 3882 - "version": "1.11.1", 3883 - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 3884 - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 3885 - "dev": true, 3886 - "license": "BlueOak-1.0.0", 3887 - "dependencies": { 3888 - "lru-cache": "^10.2.0", 3889 - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 3890 - }, 3891 - "engines": { 3892 - "node": ">=16 || 14 >=14.18" 3893 - }, 3894 - "funding": { 3895 - "url": "https://github.com/sponsors/isaacs" 3896 - } 3897 - }, 3898 - "node_modules/path-type": { 3899 - "version": "4.0.0", 3900 - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 3901 - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 3902 - "dev": true, 3903 - "license": "MIT", 3904 - "engines": { 3905 - "node": ">=8" 3906 - } 3907 - }, 3908 - "node_modules/periscopic": { 3909 - "version": "3.1.0", 3910 - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", 3911 - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", 3912 - "dev": true, 3913 - "license": "MIT", 3914 - "dependencies": { 3915 - "@types/estree": "^1.0.0", 3916 - "estree-walker": "^3.0.0", 3917 - "is-reference": "^3.0.0" 3918 - } 3919 - }, 3920 - "node_modules/picocolors": { 3921 - "version": "1.0.1", 3922 - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", 3923 - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", 3924 - "dev": true, 3925 - "license": "ISC" 3926 - }, 3927 - "node_modules/picomatch": { 3928 - "version": "2.3.1", 3929 - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 3930 - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 3931 - "dev": true, 3932 - "license": "MIT", 3933 - "engines": { 3934 - "node": ">=8.6" 3935 - }, 3936 - "funding": { 3937 - "url": "https://github.com/sponsors/jonschlinkert" 3938 - } 3939 - }, 3940 - "node_modules/pify": { 3941 - "version": "2.3.0", 3942 - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 3943 - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 3944 - "dev": true, 3945 - "license": "MIT", 3946 - "engines": { 3947 - "node": ">=0.10.0" 3948 - } 3949 - }, 3950 - "node_modules/pirates": { 3951 - "version": "4.0.6", 3952 - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 3953 - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 3954 - "dev": true, 3955 - "license": "MIT", 3956 - "engines": { 3957 - "node": ">= 6" 3958 - } 3959 - }, 3960 - "node_modules/postcss": { 3961 - "version": "8.4.38", 3962 - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", 3963 - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", 3964 - "dev": true, 3965 - "funding": [ 3966 - { 3967 - "type": "opencollective", 3968 - "url": "https://opencollective.com/postcss/" 3969 - }, 3970 - { 3971 - "type": "tidelift", 3972 - "url": "https://tidelift.com/funding/github/npm/postcss" 3973 - }, 3974 - { 3975 - "type": "github", 3976 - "url": "https://github.com/sponsors/ai" 3977 - } 3978 - ], 3979 - "license": "MIT", 3980 - "dependencies": { 3981 - "nanoid": "^3.3.7", 3982 - "picocolors": "^1.0.0", 3983 - "source-map-js": "^1.2.0" 3984 - }, 3985 - "engines": { 3986 - "node": "^10 || ^12 || >=14" 3987 - } 3988 - }, 3989 - "node_modules/postcss-import": { 3990 - "version": "15.1.0", 3991 - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 3992 - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 3993 - "dev": true, 3994 - "license": "MIT", 3995 - "dependencies": { 3996 - "postcss-value-parser": "^4.0.0", 3997 - "read-cache": "^1.0.0", 3998 - "resolve": "^1.1.7" 3999 - }, 4000 - "engines": { 4001 - "node": ">=14.0.0" 4002 - }, 4003 - "peerDependencies": { 4004 - "postcss": "^8.0.0" 4005 - } 4006 - }, 4007 - "node_modules/postcss-js": { 4008 - "version": "4.0.1", 4009 - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 4010 - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 4011 - "dev": true, 4012 - "license": "MIT", 4013 - "dependencies": { 4014 - "camelcase-css": "^2.0.1" 4015 - }, 4016 - "engines": { 4017 - "node": "^12 || ^14 || >= 16" 4018 - }, 4019 - "funding": { 4020 - "type": "opencollective", 4021 - "url": "https://opencollective.com/postcss/" 4022 - }, 4023 - "peerDependencies": { 4024 - "postcss": "^8.4.21" 4025 - } 4026 - }, 4027 - "node_modules/postcss-load-config": { 4028 - "version": "4.0.2", 4029 - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 4030 - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 4031 - "dev": true, 4032 - "funding": [ 4033 - { 4034 - "type": "opencollective", 4035 - "url": "https://opencollective.com/postcss/" 4036 - }, 4037 - { 4038 - "type": "github", 4039 - "url": "https://github.com/sponsors/ai" 4040 - } 4041 - ], 4042 - "license": "MIT", 4043 - "dependencies": { 4044 - "lilconfig": "^3.0.0", 4045 - "yaml": "^2.3.4" 4046 - }, 4047 - "engines": { 4048 - "node": ">= 14" 4049 - }, 4050 - "peerDependencies": { 4051 - "postcss": ">=8.0.9", 4052 - "ts-node": ">=9.0.0" 4053 - }, 4054 - "peerDependenciesMeta": { 4055 - "postcss": { 4056 - "optional": true 4057 - }, 4058 - "ts-node": { 4059 - "optional": true 4060 - } 4061 - } 4062 - }, 4063 - "node_modules/postcss-load-config/node_modules/lilconfig": { 4064 - "version": "3.1.1", 4065 - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", 4066 - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", 4067 - "dev": true, 4068 - "license": "MIT", 4069 - "engines": { 4070 - "node": ">=14" 4071 - }, 4072 - "funding": { 4073 - "url": "https://github.com/sponsors/antonk52" 4074 - } 4075 - }, 4076 - "node_modules/postcss-nested": { 4077 - "version": "6.0.1", 4078 - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 4079 - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 4080 - "dev": true, 4081 - "license": "MIT", 4082 - "dependencies": { 4083 - "postcss-selector-parser": "^6.0.11" 4084 - }, 4085 - "engines": { 4086 - "node": ">=12.0" 4087 - }, 4088 - "funding": { 4089 - "type": "opencollective", 4090 - "url": "https://opencollective.com/postcss/" 4091 - }, 4092 - "peerDependencies": { 4093 - "postcss": "^8.2.14" 4094 - } 4095 - }, 4096 - "node_modules/postcss-selector-parser": { 4097 - "version": "6.1.0", 4098 - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", 4099 - "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", 4100 - "dev": true, 4101 - "license": "MIT", 4102 - "dependencies": { 4103 - "cssesc": "^3.0.0", 4104 - "util-deprecate": "^1.0.2" 4105 - }, 4106 - "engines": { 4107 - "node": ">=4" 4108 - } 4109 - }, 4110 - "node_modules/postcss-value-parser": { 4111 - "version": "4.2.0", 4112 - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 4113 - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 4114 - "dev": true, 4115 - "license": "MIT" 4116 - }, 4117 - "node_modules/prettier": { 4118 - "version": "3.3.0", 4119 - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.0.tgz", 4120 - "integrity": "sha512-J9odKxERhCQ10OC2yb93583f6UnYutOeiV5i0zEDS7UGTdUt0u+y8erxl3lBKvwo/JHyyoEdXjwp4dke9oyZ/g==", 4121 - "dev": true, 4122 - "license": "MIT", 4123 - "bin": { 4124 - "prettier": "bin/prettier.cjs" 4125 - }, 4126 - "engines": { 4127 - "node": ">=14" 4128 - }, 4129 - "funding": { 4130 - "url": "https://github.com/prettier/prettier?sponsor=1" 4131 - } 4132 - }, 4133 - "node_modules/prettier-plugin-svelte": { 4134 - "version": "3.2.3", 4135 - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.2.3.tgz", 4136 - "integrity": "sha512-wJq8RunyFlWco6U0WJV5wNCM7zpBFakS76UBSbmzMGpncpK98NZABaE+s7n8/APDCEVNHXC5Mpq+MLebQtsRlg==", 4137 - "dev": true, 4138 - "license": "MIT", 4139 - "peerDependencies": { 4140 - "prettier": "^3.0.0", 4141 - "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" 4142 - } 4143 - }, 4144 - "node_modules/prettier-plugin-tailwindcss": { 4145 - "version": "0.5.14", 4146 - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", 4147 - "integrity": "sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==", 4148 - "dev": true, 4149 - "license": "MIT", 4150 - "engines": { 4151 - "node": ">=14.21.3" 4152 - }, 4153 - "peerDependencies": { 4154 - "@ianvs/prettier-plugin-sort-imports": "*", 4155 - "@prettier/plugin-pug": "*", 4156 - "@shopify/prettier-plugin-liquid": "*", 4157 - "@trivago/prettier-plugin-sort-imports": "*", 4158 - "@zackad/prettier-plugin-twig-melody": "*", 4159 - "prettier": "^3.0", 4160 - "prettier-plugin-astro": "*", 4161 - "prettier-plugin-css-order": "*", 4162 - "prettier-plugin-import-sort": "*", 4163 - "prettier-plugin-jsdoc": "*", 4164 - "prettier-plugin-marko": "*", 4165 - "prettier-plugin-organize-attributes": "*", 4166 - "prettier-plugin-organize-imports": "*", 4167 - "prettier-plugin-sort-imports": "*", 4168 - "prettier-plugin-style-order": "*", 4169 - "prettier-plugin-svelte": "*" 4170 - }, 4171 - "peerDependenciesMeta": { 4172 - "@ianvs/prettier-plugin-sort-imports": { 4173 - "optional": true 4174 - }, 4175 - "@prettier/plugin-pug": { 4176 - "optional": true 4177 - }, 4178 - "@shopify/prettier-plugin-liquid": { 4179 - "optional": true 4180 - }, 4181 - "@trivago/prettier-plugin-sort-imports": { 4182 - "optional": true 4183 - }, 4184 - "@zackad/prettier-plugin-twig-melody": { 4185 - "optional": true 4186 - }, 4187 - "prettier-plugin-astro": { 4188 - "optional": true 4189 - }, 4190 - "prettier-plugin-css-order": { 4191 - "optional": true 4192 - }, 4193 - "prettier-plugin-import-sort": { 4194 - "optional": true 4195 - }, 4196 - "prettier-plugin-jsdoc": { 4197 - "optional": true 4198 - }, 4199 - "prettier-plugin-marko": { 4200 - "optional": true 4201 - }, 4202 - "prettier-plugin-organize-attributes": { 4203 - "optional": true 4204 - }, 4205 - "prettier-plugin-organize-imports": { 4206 - "optional": true 4207 - }, 4208 - "prettier-plugin-sort-imports": { 4209 - "optional": true 4210 - }, 4211 - "prettier-plugin-style-order": { 4212 - "optional": true 4213 - }, 4214 - "prettier-plugin-svelte": { 4215 - "optional": true 4216 - } 4217 - } 4218 - }, 4219 - "node_modules/process-nextick-args": { 4220 - "version": "2.0.1", 4221 - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", 4222 - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 4223 - "dev": true, 4224 - "license": "MIT" 4225 - }, 4226 - "node_modules/promise-toolbox": { 4227 - "version": "0.21.0", 4228 - "resolved": "https://registry.npmjs.org/promise-toolbox/-/promise-toolbox-0.21.0.tgz", 4229 - "integrity": "sha512-NV8aTmpwrZv+Iys54sSFOBx3tuVaOBvvrft5PNppnxy9xpU/akHbaWIril22AB22zaPgrgwKdD0KsrM0ptUtpg==", 4230 - "dev": true, 4231 - "license": "ISC", 4232 - "dependencies": { 4233 - "make-error": "^1.3.2" 4234 - }, 4235 - "engines": { 4236 - "node": ">=6" 4237 - } 4238 - }, 4239 - "node_modules/proto-list": { 4240 - "version": "1.2.4", 4241 - "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", 4242 - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", 4243 - "dev": true, 4244 - "license": "ISC" 4245 - }, 4246 - "node_modules/punycode": { 4247 - "version": "2.3.1", 4248 - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 4249 - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 4250 - "dev": true, 4251 - "license": "MIT", 4252 - "engines": { 4253 - "node": ">=6" 4254 - } 4255 - }, 4256 - "node_modules/pupa": { 4257 - "version": "3.1.0", 4258 - "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", 4259 - "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", 4260 - "dev": true, 4261 - "license": "MIT", 4262 - "dependencies": { 4263 - "escape-goat": "^4.0.0" 4264 - }, 4265 - "engines": { 4266 - "node": ">=12.20" 4267 - }, 4268 - "funding": { 4269 - "url": "https://github.com/sponsors/sindresorhus" 4270 - } 4271 - }, 4272 - "node_modules/queue-microtask": { 4273 - "version": "1.2.3", 4274 - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 4275 - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 4276 - "dev": true, 4277 - "funding": [ 4278 - { 4279 - "type": "github", 4280 - "url": "https://github.com/sponsors/feross" 4281 - }, 4282 - { 4283 - "type": "patreon", 4284 - "url": "https://www.patreon.com/feross" 4285 - }, 4286 - { 4287 - "type": "consulting", 4288 - "url": "https://feross.org/support" 4289 - } 4290 - ], 4291 - "license": "MIT" 4292 - }, 4293 - "node_modules/quick-lru": { 4294 - "version": "5.1.1", 4295 - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 4296 - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", 4297 - "dev": true, 4298 - "license": "MIT", 4299 - "engines": { 4300 - "node": ">=10" 4301 - }, 4302 - "funding": { 4303 - "url": "https://github.com/sponsors/sindresorhus" 4304 - } 4305 - }, 4306 - "node_modules/rc": { 4307 - "version": "1.2.8", 4308 - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 4309 - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 4310 - "dev": true, 4311 - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", 4312 - "dependencies": { 4313 - "deep-extend": "^0.6.0", 4314 - "ini": "~1.3.0", 4315 - "minimist": "^1.2.0", 4316 - "strip-json-comments": "~2.0.1" 4317 - }, 4318 - "bin": { 4319 - "rc": "cli.js" 4320 - } 4321 - }, 4322 - "node_modules/rc/node_modules/ini": { 4323 - "version": "1.3.8", 4324 - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 4325 - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 4326 - "dev": true, 4327 - "license": "ISC" 4328 - }, 4329 - "node_modules/rc/node_modules/strip-json-comments": { 4330 - "version": "2.0.1", 4331 - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 4332 - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 4333 - "dev": true, 4334 - "license": "MIT", 4335 - "engines": { 4336 - "node": ">=0.10.0" 4337 - } 4338 - }, 4339 - "node_modules/read-cache": { 4340 - "version": "1.0.0", 4341 - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 4342 - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 4343 - "dev": true, 4344 - "license": "MIT", 4345 - "dependencies": { 4346 - "pify": "^2.3.0" 4347 - } 4348 - }, 4349 - "node_modules/readable-stream": { 4350 - "version": "2.3.8", 4351 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 4352 - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 4353 - "dev": true, 4354 - "license": "MIT", 4355 - "dependencies": { 4356 - "core-util-is": "~1.0.0", 4357 - "inherits": "~2.0.3", 4358 - "isarray": "~1.0.0", 4359 - "process-nextick-args": "~2.0.0", 4360 - "safe-buffer": "~5.1.1", 4361 - "string_decoder": "~1.1.1", 4362 - "util-deprecate": "~1.0.1" 4363 - } 4364 - }, 4365 - "node_modules/readdirp": { 4366 - "version": "3.6.0", 4367 - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 4368 - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 4369 - "dev": true, 4370 - "license": "MIT", 4371 - "dependencies": { 4372 - "picomatch": "^2.2.1" 4373 - }, 4374 - "engines": { 4375 - "node": ">=8.10.0" 4376 - } 4377 - }, 4378 - "node_modules/regenerator-runtime": { 4379 - "version": "0.14.1", 4380 - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", 4381 - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", 4382 - "dev": true, 4383 - "license": "MIT" 4384 - }, 4385 - "node_modules/registry-auth-token": { 4386 - "version": "5.0.2", 4387 - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", 4388 - "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", 4389 - "dev": true, 4390 - "license": "MIT", 4391 - "dependencies": { 4392 - "@pnpm/npm-conf": "^2.1.0" 4393 - }, 4394 - "engines": { 4395 - "node": ">=14" 4396 - } 4397 - }, 4398 - "node_modules/registry-url": { 4399 - "version": "6.0.1", 4400 - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", 4401 - "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", 4402 - "dev": true, 4403 - "license": "MIT", 4404 - "dependencies": { 4405 - "rc": "1.2.8" 4406 - }, 4407 - "engines": { 4408 - "node": ">=12" 4409 - }, 4410 - "funding": { 4411 - "url": "https://github.com/sponsors/sindresorhus" 4412 - } 4413 - }, 4414 - "node_modules/require-from-string": { 4415 - "version": "2.0.2", 4416 - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 4417 - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 4418 - "dev": true, 4419 - "license": "MIT", 4420 - "engines": { 4421 - "node": ">=0.10.0" 4422 - } 4423 - }, 4424 - "node_modules/resolve": { 4425 - "version": "1.22.8", 4426 - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 4427 - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 4428 - "dev": true, 4429 - "license": "MIT", 4430 - "dependencies": { 4431 - "is-core-module": "^2.13.0", 4432 - "path-parse": "^1.0.7", 4433 - "supports-preserve-symlinks-flag": "^1.0.0" 4434 - }, 4435 - "bin": { 4436 - "resolve": "bin/resolve" 4437 - }, 4438 - "funding": { 4439 - "url": "https://github.com/sponsors/ljharb" 4440 - } 4441 - }, 4442 - "node_modules/resolve-alpn": { 4443 - "version": "1.2.1", 4444 - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", 4445 - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", 4446 - "dev": true, 4447 - "license": "MIT" 4448 - }, 4449 - "node_modules/responselike": { 4450 - "version": "3.0.0", 4451 - "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", 4452 - "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", 4453 - "dev": true, 4454 - "license": "MIT", 4455 - "dependencies": { 4456 - "lowercase-keys": "^3.0.0" 4457 - }, 4458 - "engines": { 4459 - "node": ">=14.16" 4460 - }, 4461 - "funding": { 4462 - "url": "https://github.com/sponsors/sindresorhus" 4463 - } 4464 - }, 4465 - "node_modules/reusify": { 4466 - "version": "1.0.4", 4467 - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 4468 - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 4469 - "dev": true, 4470 - "license": "MIT", 4471 - "engines": { 4472 - "iojs": ">=1.0.0", 4473 - "node": ">=0.10.0" 4474 - } 4475 - }, 4476 - "node_modules/rimraf": { 4477 - "version": "2.4.5", 4478 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", 4479 - "integrity": "sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==", 4480 - "deprecated": "Rimraf versions prior to v4 are no longer supported", 4481 - "dev": true, 4482 - "license": "ISC", 4483 - "optional": true, 4484 - "dependencies": { 4485 - "glob": "^6.0.1" 4486 - }, 4487 - "bin": { 4488 - "rimraf": "bin.js" 4489 - } 4490 - }, 4491 - "node_modules/rimraf/node_modules/brace-expansion": { 4492 - "version": "1.1.11", 4493 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 4494 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 4495 - "dev": true, 4496 - "license": "MIT", 4497 - "optional": true, 4498 - "dependencies": { 4499 - "balanced-match": "^1.0.0", 4500 - "concat-map": "0.0.1" 4501 - } 4502 - }, 4503 - "node_modules/rimraf/node_modules/glob": { 4504 - "version": "6.0.4", 4505 - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", 4506 - "integrity": "sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==", 4507 - "deprecated": "Glob versions prior to v9 are no longer supported", 4508 - "dev": true, 4509 - "license": "ISC", 4510 - "optional": true, 4511 - "dependencies": { 4512 - "inflight": "^1.0.4", 4513 - "inherits": "2", 4514 - "minimatch": "2 || 3", 4515 - "once": "^1.3.0", 4516 - "path-is-absolute": "^1.0.0" 4517 - }, 4518 - "engines": { 4519 - "node": "*" 4520 - } 4521 - }, 4522 - "node_modules/rimraf/node_modules/minimatch": { 4523 - "version": "3.1.2", 4524 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 4525 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 4526 - "dev": true, 4527 - "license": "ISC", 4528 - "optional": true, 4529 - "dependencies": { 4530 - "brace-expansion": "^1.1.7" 4531 - }, 4532 - "engines": { 4533 - "node": "*" 4534 - } 4535 - }, 4536 - "node_modules/rollup": { 4537 - "version": "4.18.0", 4538 - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", 4539 - "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", 4540 - "dev": true, 4541 - "license": "MIT", 4542 - "dependencies": { 4543 - "@types/estree": "1.0.5" 4544 - }, 4545 - "bin": { 4546 - "rollup": "dist/bin/rollup" 4547 - }, 4548 - "engines": { 4549 - "node": ">=18.0.0", 4550 - "npm": ">=8.0.0" 4551 - }, 4552 - "optionalDependencies": { 4553 - "@rollup/rollup-android-arm-eabi": "4.18.0", 4554 - "@rollup/rollup-android-arm64": "4.18.0", 4555 - "@rollup/rollup-darwin-arm64": "4.18.0", 4556 - "@rollup/rollup-darwin-x64": "4.18.0", 4557 - "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", 4558 - "@rollup/rollup-linux-arm-musleabihf": "4.18.0", 4559 - "@rollup/rollup-linux-arm64-gnu": "4.18.0", 4560 - "@rollup/rollup-linux-arm64-musl": "4.18.0", 4561 - "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", 4562 - "@rollup/rollup-linux-riscv64-gnu": "4.18.0", 4563 - "@rollup/rollup-linux-s390x-gnu": "4.18.0", 4564 - "@rollup/rollup-linux-x64-gnu": "4.18.0", 4565 - "@rollup/rollup-linux-x64-musl": "4.18.0", 4566 - "@rollup/rollup-win32-arm64-msvc": "4.18.0", 4567 - "@rollup/rollup-win32-ia32-msvc": "4.18.0", 4568 - "@rollup/rollup-win32-x64-msvc": "4.18.0", 4569 - "fsevents": "~2.3.2" 4570 - } 4571 - }, 4572 - "node_modules/rollup-plugin-copy": { 4573 - "version": "3.5.0", 4574 - "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz", 4575 - "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==", 4576 - "dev": true, 4577 - "license": "MIT", 4578 - "dependencies": { 4579 - "@types/fs-extra": "^8.0.1", 4580 - "colorette": "^1.1.0", 4581 - "fs-extra": "^8.1.0", 4582 - "globby": "10.0.1", 4583 - "is-plain-object": "^3.0.0" 4584 - }, 4585 - "engines": { 4586 - "node": ">=8.3" 4587 - } 4588 - }, 4589 - "node_modules/rollup-plugin-copy/node_modules/fs-extra": { 4590 - "version": "8.1.0", 4591 - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 4592 - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 4593 - "dev": true, 4594 - "license": "MIT", 4595 - "dependencies": { 4596 - "graceful-fs": "^4.2.0", 4597 - "jsonfile": "^4.0.0", 4598 - "universalify": "^0.1.0" 4599 - }, 4600 - "engines": { 4601 - "node": ">=6 <7 || >=8" 4602 - } 4603 - }, 4604 - "node_modules/rollup-plugin-copy/node_modules/jsonfile": { 4605 - "version": "4.0.0", 4606 - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 4607 - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", 4608 - "dev": true, 4609 - "license": "MIT", 4610 - "optionalDependencies": { 4611 - "graceful-fs": "^4.1.6" 4612 - } 4613 - }, 4614 - "node_modules/rollup-plugin-copy/node_modules/universalify": { 4615 - "version": "0.1.2", 4616 - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 4617 - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 4618 - "dev": true, 4619 - "license": "MIT", 4620 - "engines": { 4621 - "node": ">= 4.0.0" 4622 - } 4623 - }, 4624 - "node_modules/run-parallel": { 4625 - "version": "1.2.0", 4626 - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 4627 - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 4628 - "dev": true, 4629 - "funding": [ 4630 - { 4631 - "type": "github", 4632 - "url": "https://github.com/sponsors/feross" 4633 - }, 4634 - { 4635 - "type": "patreon", 4636 - "url": "https://www.patreon.com/feross" 4637 - }, 4638 - { 4639 - "type": "consulting", 4640 - "url": "https://feross.org/support" 4641 - } 4642 - ], 4643 - "license": "MIT", 4644 - "dependencies": { 4645 - "queue-microtask": "^1.2.2" 4646 - } 4647 - }, 4648 - "node_modules/safe-buffer": { 4649 - "version": "5.1.2", 4650 - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 4651 - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", 4652 - "dev": true, 4653 - "license": "MIT" 4654 - }, 4655 - "node_modules/safe-json-stringify": { 4656 - "version": "1.2.0", 4657 - "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", 4658 - "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", 4659 - "dev": true, 4660 - "license": "MIT", 4661 - "optional": true 4662 - }, 4663 - "node_modules/sax": { 4664 - "version": "1.4.1", 4665 - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", 4666 - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", 4667 - "dev": true, 4668 - "license": "ISC" 4669 - }, 4670 - "node_modules/semver": { 4671 - "version": "7.6.2", 4672 - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", 4673 - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", 4674 - "dev": true, 4675 - "license": "ISC", 4676 - "bin": { 4677 - "semver": "bin/semver.js" 4678 - }, 4679 - "engines": { 4680 - "node": ">=10" 4681 - } 4682 - }, 4683 - "node_modules/semver-diff": { 4684 - "version": "4.0.0", 4685 - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", 4686 - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", 4687 - "dev": true, 4688 - "license": "MIT", 4689 - "dependencies": { 4690 - "semver": "^7.3.5" 4691 - }, 4692 - "engines": { 4693 - "node": ">=12" 4694 - }, 4695 - "funding": { 4696 - "url": "https://github.com/sponsors/sindresorhus" 4697 - } 4698 - }, 4699 - "node_modules/setimmediate": { 4700 - "version": "1.0.5", 4701 - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 4702 - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", 4703 - "dev": true, 4704 - "license": "MIT" 4705 - }, 4706 - "node_modules/shebang-command": { 4707 - "version": "2.0.0", 4708 - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 4709 - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 4710 - "dev": true, 4711 - "license": "MIT", 4712 - "dependencies": { 4713 - "shebang-regex": "^3.0.0" 4714 - }, 4715 - "engines": { 4716 - "node": ">=8" 4717 - } 4718 - }, 4719 - "node_modules/shebang-regex": { 4720 - "version": "3.0.0", 4721 - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 4722 - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 4723 - "dev": true, 4724 - "license": "MIT", 4725 - "engines": { 4726 - "node": ">=8" 4727 - } 4728 - }, 4729 - "node_modules/shell-quote": { 4730 - "version": "1.7.3", 4731 - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", 4732 - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", 4733 - "dev": true, 4734 - "license": "MIT" 4735 - }, 4736 - "node_modules/shellwords": { 4737 - "version": "0.1.1", 4738 - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", 4739 - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", 4740 - "dev": true, 4741 - "license": "MIT" 4742 - }, 4743 - "node_modules/signal-exit": { 4744 - "version": "4.1.0", 4745 - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 4746 - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 4747 - "dev": true, 4748 - "license": "ISC", 4749 - "engines": { 4750 - "node": ">=14" 4751 - }, 4752 - "funding": { 4753 - "url": "https://github.com/sponsors/isaacs" 4754 - } 4755 - }, 4756 - "node_modules/slash": { 4757 - "version": "3.0.0", 4758 - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 4759 - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 4760 - "dev": true, 4761 - "license": "MIT", 4762 - "engines": { 4763 - "node": ">=8" 4764 - } 4765 - }, 4766 - "node_modules/source-map": { 4767 - "version": "0.6.1", 4768 - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 4769 - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 4770 - "dev": true, 4771 - "license": "BSD-3-Clause", 4772 - "engines": { 4773 - "node": ">=0.10.0" 4774 - } 4775 - }, 4776 - "node_modules/source-map-js": { 4777 - "version": "1.2.0", 4778 - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 4779 - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 4780 - "dev": true, 4781 - "license": "BSD-3-Clause", 4782 - "engines": { 4783 - "node": ">=0.10.0" 4784 - } 4785 - }, 4786 - "node_modules/source-map-support": { 4787 - "version": "0.5.21", 4788 - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 4789 - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 4790 - "dev": true, 4791 - "license": "MIT", 4792 - "dependencies": { 4793 - "buffer-from": "^1.0.0", 4794 - "source-map": "^0.6.0" 4795 - } 4796 - }, 4797 - "node_modules/spawn-sync": { 4798 - "version": "1.0.15", 4799 - "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", 4800 - "integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==", 4801 - "dev": true, 4802 - "hasInstallScript": true, 4803 - "license": "MIT", 4804 - "dependencies": { 4805 - "concat-stream": "^1.4.7", 4806 - "os-shim": "^0.1.2" 4807 - } 4808 - }, 4809 - "node_modules/split": { 4810 - "version": "1.0.1", 4811 - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", 4812 - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", 4813 - "dev": true, 4814 - "license": "MIT", 4815 - "dependencies": { 4816 - "through": "2" 4817 - }, 4818 - "engines": { 4819 - "node": "*" 4820 - } 4821 - }, 4822 - "node_modules/string_decoder": { 4823 - "version": "1.1.1", 4824 - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 4825 - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 4826 - "dev": true, 4827 - "license": "MIT", 4828 - "dependencies": { 4829 - "safe-buffer": "~5.1.0" 4830 - } 4831 - }, 4832 - "node_modules/string-width": { 4833 - "version": "5.1.2", 4834 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 4835 - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 4836 - "dev": true, 4837 - "license": "MIT", 4838 - "dependencies": { 4839 - "eastasianwidth": "^0.2.0", 4840 - "emoji-regex": "^9.2.2", 4841 - "strip-ansi": "^7.0.1" 4842 - }, 4843 - "engines": { 4844 - "node": ">=12" 4845 - }, 4846 - "funding": { 4847 - "url": "https://github.com/sponsors/sindresorhus" 4848 - } 4849 - }, 4850 - "node_modules/string-width-cjs": { 4851 - "name": "string-width", 4852 - "version": "4.2.3", 4853 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 4854 - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 4855 - "dev": true, 4856 - "license": "MIT", 4857 - "dependencies": { 4858 - "emoji-regex": "^8.0.0", 4859 - "is-fullwidth-code-point": "^3.0.0", 4860 - "strip-ansi": "^6.0.1" 4861 - }, 4862 - "engines": { 4863 - "node": ">=8" 4864 - } 4865 - }, 4866 - "node_modules/string-width-cjs/node_modules/ansi-regex": { 4867 - "version": "5.0.1", 4868 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 4869 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 4870 - "dev": true, 4871 - "license": "MIT", 4872 - "engines": { 4873 - "node": ">=8" 4874 - } 4875 - }, 4876 - "node_modules/string-width-cjs/node_modules/emoji-regex": { 4877 - "version": "8.0.0", 4878 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 4879 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 4880 - "dev": true, 4881 - "license": "MIT" 4882 - }, 4883 - "node_modules/string-width-cjs/node_modules/strip-ansi": { 4884 - "version": "6.0.1", 4885 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4886 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4887 - "dev": true, 4888 - "license": "MIT", 4889 - "dependencies": { 4890 - "ansi-regex": "^5.0.1" 4891 - }, 4892 - "engines": { 4893 - "node": ">=8" 4894 - } 4895 - }, 4896 - "node_modules/strip-ansi": { 4897 - "version": "7.1.0", 4898 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 4899 - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 4900 - "dev": true, 4901 - "license": "MIT", 4902 - "dependencies": { 4903 - "ansi-regex": "^6.0.1" 4904 - }, 4905 - "engines": { 4906 - "node": ">=12" 4907 - }, 4908 - "funding": { 4909 - "url": "https://github.com/chalk/strip-ansi?sponsor=1" 4910 - } 4911 - }, 4912 - "node_modules/strip-ansi-cjs": { 4913 - "name": "strip-ansi", 4914 - "version": "6.0.1", 4915 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4916 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4917 - "dev": true, 4918 - "license": "MIT", 4919 - "dependencies": { 4920 - "ansi-regex": "^5.0.1" 4921 - }, 4922 - "engines": { 4923 - "node": ">=8" 4924 - } 4925 - }, 4926 - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 4927 - "version": "5.0.1", 4928 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 4929 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 4930 - "dev": true, 4931 - "license": "MIT", 4932 - "engines": { 4933 - "node": ">=8" 4934 - } 4935 - }, 4936 - "node_modules/strip-bom": { 4937 - "version": "5.0.0", 4938 - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-5.0.0.tgz", 4939 - "integrity": "sha512-p+byADHF7SzEcVnLvc/r3uognM1hUhObuHXxJcgLCfD194XAkaLbjq3Wzb0N5G2tgIjH0dgT708Z51QxMeu60A==", 4940 - "dev": true, 4941 - "license": "MIT", 4942 - "engines": { 4943 - "node": ">=12" 4944 - }, 4945 - "funding": { 4946 - "url": "https://github.com/sponsors/sindresorhus" 4947 - } 4948 - }, 4949 - "node_modules/strip-json-comments": { 4950 - "version": "5.0.1", 4951 - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz", 4952 - "integrity": "sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==", 4953 - "dev": true, 4954 - "license": "MIT", 4955 - "engines": { 4956 - "node": ">=14.16" 4957 - }, 4958 - "funding": { 4959 - "url": "https://github.com/sponsors/sindresorhus" 4960 - } 4961 - }, 4962 - "node_modules/sucrase": { 4963 - "version": "3.35.0", 4964 - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 4965 - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 4966 - "dev": true, 4967 - "license": "MIT", 4968 - "dependencies": { 4969 - "@jridgewell/gen-mapping": "^0.3.2", 4970 - "commander": "^4.0.0", 4971 - "glob": "^10.3.10", 4972 - "lines-and-columns": "^1.1.6", 4973 - "mz": "^2.7.0", 4974 - "pirates": "^4.0.1", 4975 - "ts-interface-checker": "^0.1.9" 4976 - }, 4977 - "bin": { 4978 - "sucrase": "bin/sucrase", 4979 - "sucrase-node": "bin/sucrase-node" 4980 - }, 4981 - "engines": { 4982 - "node": ">=16 || 14 >=14.17" 4983 - } 4984 - }, 4985 - "node_modules/supports-color": { 4986 - "version": "5.5.0", 4987 - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 4988 - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 4989 - "dev": true, 4990 - "license": "MIT", 4991 - "dependencies": { 4992 - "has-flag": "^3.0.0" 4993 - }, 4994 - "engines": { 4995 - "node": ">=4" 4996 - } 4997 - }, 4998 - "node_modules/supports-preserve-symlinks-flag": { 4999 - "version": "1.0.0", 5000 - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 5001 - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 5002 - "dev": true, 5003 - "license": "MIT", 5004 - "engines": { 5005 - "node": ">= 0.4" 5006 - }, 5007 - "funding": { 5008 - "url": "https://github.com/sponsors/ljharb" 5009 - } 5010 - }, 5011 - "node_modules/svelte": { 5012 - "version": "4.2.17", 5013 - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.17.tgz", 5014 - "integrity": "sha512-N7m1YnoXtRf5wya5Gyx3TWuTddI4nAyayyIWFojiWV5IayDYNV5i2mRp/7qNGol4DtxEYxljmrbgp1HM6hUbmQ==", 5015 - "dev": true, 5016 - "license": "MIT", 5017 - "dependencies": { 5018 - "@ampproject/remapping": "^2.2.1", 5019 - "@jridgewell/sourcemap-codec": "^1.4.15", 5020 - "@jridgewell/trace-mapping": "^0.3.18", 5021 - "@types/estree": "^1.0.1", 5022 - "acorn": "^8.9.0", 5023 - "aria-query": "^5.3.0", 5024 - "axobject-query": "^4.0.0", 5025 - "code-red": "^1.0.3", 5026 - "css-tree": "^2.3.1", 5027 - "estree-walker": "^3.0.3", 5028 - "is-reference": "^3.0.1", 5029 - "locate-character": "^3.0.0", 5030 - "magic-string": "^0.30.4", 5031 - "periscopic": "^3.1.0" 5032 - }, 5033 - "engines": { 5034 - "node": ">=16" 5035 - } 5036 - }, 5037 - "node_modules/svelte-hmr": { 5038 - "version": "0.16.0", 5039 - "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", 5040 - "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", 5041 - "dev": true, 5042 - "license": "ISC", 5043 - "engines": { 5044 - "node": "^12.20 || ^14.13.1 || >= 16" 5045 - }, 5046 - "peerDependencies": { 5047 - "svelte": "^3.19.0 || ^4.0.0" 5048 - } 5049 - }, 5050 - "node_modules/svelte-routing": { 5051 - "version": "2.13.0", 5052 - "resolved": "https://registry.npmjs.org/svelte-routing/-/svelte-routing-2.13.0.tgz", 5053 - "integrity": "sha512-/NTxqTwLc7Dq306hARJrH2HLXOBtKd7hu8nxgoFDlK0AC4SOKnzisiX/9m8Uksei1QAWtlAEdF91YphNM8iDMg==", 5054 - "dev": true, 5055 - "license": "MIT" 5056 - }, 5057 - "node_modules/tailwindcss": { 5058 - "version": "3.4.4", 5059 - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", 5060 - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", 5061 - "dev": true, 5062 - "license": "MIT", 5063 - "dependencies": { 5064 - "@alloc/quick-lru": "^5.2.0", 5065 - "arg": "^5.0.2", 5066 - "chokidar": "^3.5.3", 5067 - "didyoumean": "^1.2.2", 5068 - "dlv": "^1.1.3", 5069 - "fast-glob": "^3.3.0", 5070 - "glob-parent": "^6.0.2", 5071 - "is-glob": "^4.0.3", 5072 - "jiti": "^1.21.0", 5073 - "lilconfig": "^2.1.0", 5074 - "micromatch": "^4.0.5", 5075 - "normalize-path": "^3.0.0", 5076 - "object-hash": "^3.0.0", 5077 - "picocolors": "^1.0.0", 5078 - "postcss": "^8.4.23", 5079 - "postcss-import": "^15.1.0", 5080 - "postcss-js": "^4.0.1", 5081 - "postcss-load-config": "^4.0.1", 5082 - "postcss-nested": "^6.0.1", 5083 - "postcss-selector-parser": "^6.0.11", 5084 - "resolve": "^1.22.2", 5085 - "sucrase": "^3.32.0" 5086 - }, 5087 - "bin": { 5088 - "tailwind": "lib/cli.js", 5089 - "tailwindcss": "lib/cli.js" 5090 - }, 5091 - "engines": { 5092 - "node": ">=14.0.0" 5093 - } 5094 - }, 5095 - "node_modules/thenify": { 5096 - "version": "3.3.1", 5097 - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 5098 - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 5099 - "dev": true, 5100 - "license": "MIT", 5101 - "dependencies": { 5102 - "any-promise": "^1.0.0" 5103 - } 5104 - }, 5105 - "node_modules/thenify-all": { 5106 - "version": "1.6.0", 5107 - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 5108 - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 5109 - "dev": true, 5110 - "license": "MIT", 5111 - "dependencies": { 5112 - "thenify": ">= 3.1.0 < 4" 5113 - }, 5114 - "engines": { 5115 - "node": ">=0.8" 5116 - } 5117 - }, 5118 - "node_modules/through": { 5119 - "version": "2.3.8", 5120 - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 5121 - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", 5122 - "dev": true, 5123 - "license": "MIT" 5124 - }, 5125 - "node_modules/tinro": { 5126 - "version": "0.6.12", 5127 - "resolved": "https://registry.npmjs.org/tinro/-/tinro-0.6.12.tgz", 5128 - "integrity": "sha512-YYLh0a21GXXpS66ilZbywfXcPTKQQ+bv3tihoqKqSFQP6/F11N7ZmtRbFWcyZXXPFRSzNxmPJBB8ZhP0GkoS0Q==", 5129 - "dev": true, 5130 - "license": "MIT" 5131 - }, 5132 - "node_modules/tmp": { 5133 - "version": "0.2.1", 5134 - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", 5135 - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", 5136 - "dev": true, 5137 - "license": "MIT", 5138 - "dependencies": { 5139 - "rimraf": "^3.0.0" 5140 - }, 5141 - "engines": { 5142 - "node": ">=8.17.0" 5143 - } 5144 - }, 5145 - "node_modules/tmp/node_modules/brace-expansion": { 5146 - "version": "1.1.11", 5147 - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 5148 - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 5149 - "dev": true, 5150 - "license": "MIT", 5151 - "dependencies": { 5152 - "balanced-match": "^1.0.0", 5153 - "concat-map": "0.0.1" 5154 - } 5155 - }, 5156 - "node_modules/tmp/node_modules/glob": { 5157 - "version": "7.2.3", 5158 - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 5159 - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 5160 - "deprecated": "Glob versions prior to v9 are no longer supported", 5161 - "dev": true, 5162 - "license": "ISC", 5163 - "dependencies": { 5164 - "fs.realpath": "^1.0.0", 5165 - "inflight": "^1.0.4", 5166 - "inherits": "2", 5167 - "minimatch": "^3.1.1", 5168 - "once": "^1.3.0", 5169 - "path-is-absolute": "^1.0.0" 5170 - }, 5171 - "engines": { 5172 - "node": "*" 5173 - }, 5174 - "funding": { 5175 - "url": "https://github.com/sponsors/isaacs" 5176 - } 5177 - }, 5178 - "node_modules/tmp/node_modules/minimatch": { 5179 - "version": "3.1.2", 5180 - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 5181 - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 5182 - "dev": true, 5183 - "license": "ISC", 5184 - "dependencies": { 5185 - "brace-expansion": "^1.1.7" 5186 - }, 5187 - "engines": { 5188 - "node": "*" 5189 - } 5190 - }, 5191 - "node_modules/tmp/node_modules/rimraf": { 5192 - "version": "3.0.2", 5193 - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 5194 - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 5195 - "deprecated": "Rimraf versions prior to v4 are no longer supported", 5196 - "dev": true, 5197 - "license": "ISC", 5198 - "dependencies": { 5199 - "glob": "^7.1.3" 5200 - }, 5201 - "bin": { 5202 - "rimraf": "bin.js" 5203 - }, 5204 - "funding": { 5205 - "url": "https://github.com/sponsors/isaacs" 5206 - } 5207 - }, 5208 - "node_modules/to-regex-range": { 5209 - "version": "5.0.1", 5210 - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 5211 - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 5212 - "dev": true, 5213 - "license": "MIT", 5214 - "dependencies": { 5215 - "is-number": "^7.0.0" 5216 - }, 5217 - "engines": { 5218 - "node": ">=8.0" 5219 - } 5220 - }, 5221 - "node_modules/ts-interface-checker": { 5222 - "version": "0.1.13", 5223 - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 5224 - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 5225 - "dev": true, 5226 - "license": "Apache-2.0" 5227 - }, 5228 - "node_modules/type-fest": { 5229 - "version": "3.13.1", 5230 - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", 5231 - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", 5232 - "dev": true, 5233 - "license": "(MIT OR CC0-1.0)", 5234 - "engines": { 5235 - "node": ">=14.16" 5236 - }, 5237 - "funding": { 5238 - "url": "https://github.com/sponsors/sindresorhus" 5239 - } 5240 - }, 5241 - "node_modules/typedarray": { 5242 - "version": "0.0.6", 5243 - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 5244 - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", 5245 - "dev": true, 5246 - "license": "MIT" 5247 - }, 5248 - "node_modules/typedarray-to-buffer": { 5249 - "version": "3.1.5", 5250 - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 5251 - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 5252 - "dev": true, 5253 - "license": "MIT", 5254 - "dependencies": { 5255 - "is-typedarray": "^1.0.0" 5256 - } 5257 - }, 5258 - "node_modules/uhyphen": { 5259 - "version": "0.2.0", 5260 - "resolved": "https://registry.npmjs.org/uhyphen/-/uhyphen-0.2.0.tgz", 5261 - "integrity": "sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==", 5262 - "dev": true, 5263 - "license": "ISC" 5264 - }, 5265 - "node_modules/undici-types": { 5266 - "version": "5.26.5", 5267 - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 5268 - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 5269 - "dev": true, 5270 - "license": "MIT" 5271 - }, 5272 - "node_modules/unique-string": { 5273 - "version": "3.0.0", 5274 - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", 5275 - "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", 5276 - "dev": true, 5277 - "license": "MIT", 5278 - "dependencies": { 5279 - "crypto-random-string": "^4.0.0" 5280 - }, 5281 - "engines": { 5282 - "node": ">=12" 5283 - }, 5284 - "funding": { 5285 - "url": "https://github.com/sponsors/sindresorhus" 5286 - } 5287 - }, 5288 - "node_modules/universalify": { 5289 - "version": "2.0.1", 5290 - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", 5291 - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", 5292 - "dev": true, 5293 - "license": "MIT", 5294 - "engines": { 5295 - "node": ">= 10.0.0" 5296 - } 5297 - }, 5298 - "node_modules/update-browserslist-db": { 5299 - "version": "1.0.16", 5300 - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", 5301 - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", 5302 - "dev": true, 5303 - "funding": [ 5304 - { 5305 - "type": "opencollective", 5306 - "url": "https://opencollective.com/browserslist" 5307 - }, 5308 - { 5309 - "type": "tidelift", 5310 - "url": "https://tidelift.com/funding/github/npm/browserslist" 5311 - }, 5312 - { 5313 - "type": "github", 5314 - "url": "https://github.com/sponsors/ai" 5315 - } 5316 - ], 5317 - "license": "MIT", 5318 - "dependencies": { 5319 - "escalade": "^3.1.2", 5320 - "picocolors": "^1.0.1" 5321 - }, 5322 - "bin": { 5323 - "update-browserslist-db": "cli.js" 5324 - }, 5325 - "peerDependencies": { 5326 - "browserslist": ">= 4.21.0" 5327 - } 5328 - }, 5329 - "node_modules/update-notifier": { 5330 - "version": "6.0.2", 5331 - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", 5332 - "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", 5333 - "dev": true, 5334 - "license": "BSD-2-Clause", 5335 - "dependencies": { 5336 - "boxen": "^7.0.0", 5337 - "chalk": "^5.0.1", 5338 - "configstore": "^6.0.0", 5339 - "has-yarn": "^3.0.0", 5340 - "import-lazy": "^4.0.0", 5341 - "is-ci": "^3.0.1", 5342 - "is-installed-globally": "^0.4.0", 5343 - "is-npm": "^6.0.0", 5344 - "is-yarn-global": "^0.4.0", 5345 - "latest-version": "^7.0.0", 5346 - "pupa": "^3.1.0", 5347 - "semver": "^7.3.7", 5348 - "semver-diff": "^4.0.0", 5349 - "xdg-basedir": "^5.1.0" 5350 - }, 5351 - "engines": { 5352 - "node": ">=14.16" 5353 - }, 5354 - "funding": { 5355 - "url": "https://github.com/yeoman/update-notifier?sponsor=1" 5356 - } 5357 - }, 5358 - "node_modules/update-notifier/node_modules/chalk": { 5359 - "version": "5.3.0", 5360 - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 5361 - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 5362 - "dev": true, 5363 - "license": "MIT", 5364 - "engines": { 5365 - "node": "^12.17.0 || ^14.13 || >=16.0.0" 5366 - }, 5367 - "funding": { 5368 - "url": "https://github.com/chalk/chalk?sponsor=1" 5369 - } 5370 - }, 5371 - "node_modules/uri-js": { 5372 - "version": "4.4.1", 5373 - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 5374 - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 5375 - "dev": true, 5376 - "license": "BSD-2-Clause", 5377 - "dependencies": { 5378 - "punycode": "^2.1.0" 5379 - } 5380 - }, 5381 - "node_modules/util-deprecate": { 5382 - "version": "1.0.2", 5383 - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 5384 - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 5385 - "dev": true, 5386 - "license": "MIT" 5387 - }, 5388 - "node_modules/uuid": { 5389 - "version": "8.3.2", 5390 - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 5391 - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 5392 - "dev": true, 5393 - "license": "MIT", 5394 - "bin": { 5395 - "uuid": "dist/bin/uuid" 5396 - } 5397 - }, 5398 - "node_modules/vite": { 5399 - "version": "5.2.12", 5400 - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.12.tgz", 5401 - "integrity": "sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==", 5402 - "dev": true, 5403 - "license": "MIT", 5404 - "dependencies": { 5405 - "esbuild": "^0.20.1", 5406 - "postcss": "^8.4.38", 5407 - "rollup": "^4.13.0" 5408 - }, 5409 - "bin": { 5410 - "vite": "bin/vite.js" 5411 - }, 5412 - "engines": { 5413 - "node": "^18.0.0 || >=20.0.0" 5414 - }, 5415 - "funding": { 5416 - "url": "https://github.com/vitejs/vite?sponsor=1" 5417 - }, 5418 - "optionalDependencies": { 5419 - "fsevents": "~2.3.3" 5420 - }, 5421 - "peerDependencies": { 5422 - "@types/node": "^18.0.0 || >=20.0.0", 5423 - "less": "*", 5424 - "lightningcss": "^1.21.0", 5425 - "sass": "*", 5426 - "stylus": "*", 5427 - "sugarss": "*", 5428 - "terser": "^5.4.0" 5429 - }, 5430 - "peerDependenciesMeta": { 5431 - "@types/node": { 5432 - "optional": true 5433 - }, 5434 - "less": { 5435 - "optional": true 5436 - }, 5437 - "lightningcss": { 5438 - "optional": true 5439 - }, 5440 - "sass": { 5441 - "optional": true 5442 - }, 5443 - "stylus": { 5444 - "optional": true 5445 - }, 5446 - "sugarss": { 5447 - "optional": true 5448 - }, 5449 - "terser": { 5450 - "optional": true 5451 - } 5452 - } 5453 - }, 5454 - "node_modules/vite-plugin-web-extension": { 5455 - "version": "4.1.3", 5456 - "resolved": "https://registry.npmjs.org/vite-plugin-web-extension/-/vite-plugin-web-extension-4.1.3.tgz", 5457 - "integrity": "sha512-xX+RF9SWi1D3UgR512nf8htQH5iL3BsoNhREIE/MnjKV9WDa89xQAM1Hkhyssykd5DQZ50FYTAqnvr2PmyHffg==", 5458 - "dev": true, 5459 - "license": "MIT", 5460 - "dependencies": { 5461 - "ajv": "^8.11.0", 5462 - "async-lock": "^1.3.2", 5463 - "fs-extra": "^10.1.0", 5464 - "json5": "^2.2.3", 5465 - "linkedom": "^0.14.21", 5466 - "lodash.uniq": "^4.5.0", 5467 - "lodash.uniqby": "^4.7.0", 5468 - "md5": "^2.3.0", 5469 - "vite": "^5.0.0 || ^4.1.4", 5470 - "web-ext-run": "^0.1.1", 5471 - "webextension-polyfill": "^0.10.0", 5472 - "yaml": "^2.3.4" 5473 - }, 5474 - "engines": { 5475 - "node": ">=16" 5476 - } 5477 - }, 5478 - "node_modules/vite-plugin-web-extension/node_modules/webextension-polyfill": { 5479 - "version": "0.10.0", 5480 - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", 5481 - "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==", 5482 - "dev": true, 5483 - "license": "MPL-2.0" 5484 - }, 5485 - "node_modules/vitefu": { 5486 - "version": "0.2.5", 5487 - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", 5488 - "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", 5489 - "dev": true, 5490 - "license": "MIT", 5491 - "peerDependencies": { 5492 - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" 5493 - }, 5494 - "peerDependenciesMeta": { 5495 - "vite": { 5496 - "optional": true 5497 - } 5498 - } 5499 - }, 5500 - "node_modules/watchpack": { 5501 - "version": "2.4.0", 5502 - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 5503 - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 5504 - "dev": true, 5505 - "license": "MIT", 5506 - "dependencies": { 5507 - "glob-to-regexp": "^0.4.1", 5508 - "graceful-fs": "^4.1.2" 5509 - }, 5510 - "engines": { 5511 - "node": ">=10.13.0" 5512 - } 5513 - }, 5514 - "node_modules/web-ext-run": { 5515 - "version": "0.1.2", 5516 - "resolved": "https://registry.npmjs.org/web-ext-run/-/web-ext-run-0.1.2.tgz", 5517 - "integrity": "sha512-VygO7lg10keonbku5Lbi21zEz1k91odkW+c6YB5DGb+mITcRMVM2zr/tJ+Suh6wxNUOOFNbinoqDlSUWdxt6YQ==", 5518 - "dev": true, 5519 - "license": "MPL-2.0", 5520 - "dependencies": { 5521 - "@babel/runtime": "7.23.9", 5522 - "@devicefarmer/adbkit": "3.2.6", 5523 - "bunyan": "1.8.15", 5524 - "chrome-launcher": "0.15.1", 5525 - "debounce": "1.2.1", 5526 - "es6-error": "4.1.1", 5527 - "firefox-profile": "4.5.0", 5528 - "fs-extra": "11.2.0", 5529 - "fx-runner": "1.4.0", 5530 - "mkdirp": "1.0.4", 5531 - "multimatch": "6.0.0", 5532 - "mz": "2.7.0", 5533 - "node-notifier": "10.0.1", 5534 - "parse-json": "7.1.1", 5535 - "promise-toolbox": "0.21.0", 5536 - "source-map-support": "0.5.21", 5537 - "strip-bom": "5.0.0", 5538 - "strip-json-comments": "5.0.1", 5539 - "tmp": "0.2.1", 5540 - "update-notifier": "6.0.2", 5541 - "watchpack": "2.4.0", 5542 - "ws": "8.16.0", 5543 - "zip-dir": "2.0.0" 5544 - }, 5545 - "engines": { 5546 - "node": ">=18.0.0", 5547 - "npm": ">=8.0.0" 5548 - } 5549 - }, 5550 - "node_modules/web-ext-run/node_modules/fs-extra": { 5551 - "version": "11.2.0", 5552 - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", 5553 - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", 5554 - "dev": true, 5555 - "license": "MIT", 5556 - "dependencies": { 5557 - "graceful-fs": "^4.2.0", 5558 - "jsonfile": "^6.0.1", 5559 - "universalify": "^2.0.0" 5560 - }, 5561 - "engines": { 5562 - "node": ">=14.14" 5563 - } 5564 - }, 5565 - "node_modules/webextension-polyfill": { 5566 - "version": "0.12.0", 5567 - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz", 5568 - "integrity": "sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q==", 5569 - "dev": true, 5570 - "license": "MPL-2.0" 5571 - }, 5572 - "node_modules/when": { 5573 - "version": "3.7.7", 5574 - "resolved": "https://registry.npmjs.org/when/-/when-3.7.7.tgz", 5575 - "integrity": "sha512-9lFZp/KHoqH6bPKjbWqa+3Dg/K/r2v0X/3/G2x4DBGchVS2QX2VXL3cZV994WQVnTM1/PD71Az25nAzryEUugw==", 5576 - "dev": true, 5577 - "license": "MIT" 5578 - }, 5579 - "node_modules/which": { 5580 - "version": "2.0.2", 5581 - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 5582 - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 5583 - "dev": true, 5584 - "license": "ISC", 5585 - "dependencies": { 5586 - "isexe": "^2.0.0" 5587 - }, 5588 - "bin": { 5589 - "node-which": "bin/node-which" 5590 - }, 5591 - "engines": { 5592 - "node": ">= 8" 5593 - } 5594 - }, 5595 - "node_modules/widest-line": { 5596 - "version": "4.0.1", 5597 - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", 5598 - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", 5599 - "dev": true, 5600 - "license": "MIT", 5601 - "dependencies": { 5602 - "string-width": "^5.0.1" 5603 - }, 5604 - "engines": { 5605 - "node": ">=12" 5606 - }, 5607 - "funding": { 5608 - "url": "https://github.com/sponsors/sindresorhus" 5609 - } 5610 - }, 5611 - "node_modules/winreg": { 5612 - "version": "0.0.12", 5613 - "resolved": "https://registry.npmjs.org/winreg/-/winreg-0.0.12.tgz", 5614 - "integrity": "sha512-typ/+JRmi7RqP1NanzFULK36vczznSNN8kWVA9vIqXyv8GhghUlwhGp1Xj3Nms1FsPcNnsQrJOR10N58/nQ9hQ==", 5615 - "dev": true, 5616 - "license": "BSD" 5617 - }, 5618 - "node_modules/wrap-ansi": { 5619 - "version": "8.1.0", 5620 - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 5621 - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 5622 - "dev": true, 5623 - "license": "MIT", 5624 - "dependencies": { 5625 - "ansi-styles": "^6.1.0", 5626 - "string-width": "^5.0.1", 5627 - "strip-ansi": "^7.0.1" 5628 - }, 5629 - "engines": { 5630 - "node": ">=12" 5631 - }, 5632 - "funding": { 5633 - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 5634 - } 5635 - }, 5636 - "node_modules/wrap-ansi-cjs": { 5637 - "name": "wrap-ansi", 5638 - "version": "7.0.0", 5639 - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 5640 - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 5641 - "dev": true, 5642 - "license": "MIT", 5643 - "dependencies": { 5644 - "ansi-styles": "^4.0.0", 5645 - "string-width": "^4.1.0", 5646 - "strip-ansi": "^6.0.0" 5647 - }, 5648 - "engines": { 5649 - "node": ">=10" 5650 - }, 5651 - "funding": { 5652 - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 5653 - } 5654 - }, 5655 - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 5656 - "version": "5.0.1", 5657 - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 5658 - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 5659 - "dev": true, 5660 - "license": "MIT", 5661 - "engines": { 5662 - "node": ">=8" 5663 - } 5664 - }, 5665 - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 5666 - "version": "4.3.0", 5667 - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 5668 - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 5669 - "dev": true, 5670 - "license": "MIT", 5671 - "dependencies": { 5672 - "color-convert": "^2.0.1" 5673 - }, 5674 - "engines": { 5675 - "node": ">=8" 5676 - }, 5677 - "funding": { 5678 - "url": "https://github.com/chalk/ansi-styles?sponsor=1" 5679 - } 5680 - }, 5681 - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 5682 - "version": "8.0.0", 5683 - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 5684 - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 5685 - "dev": true, 5686 - "license": "MIT" 5687 - }, 5688 - "node_modules/wrap-ansi-cjs/node_modules/string-width": { 5689 - "version": "4.2.3", 5690 - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 5691 - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 5692 - "dev": true, 5693 - "license": "MIT", 5694 - "dependencies": { 5695 - "emoji-regex": "^8.0.0", 5696 - "is-fullwidth-code-point": "^3.0.0", 5697 - "strip-ansi": "^6.0.1" 5698 - }, 5699 - "engines": { 5700 - "node": ">=8" 5701 - } 5702 - }, 5703 - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 5704 - "version": "6.0.1", 5705 - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 5706 - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 5707 - "dev": true, 5708 - "license": "MIT", 5709 - "dependencies": { 5710 - "ansi-regex": "^5.0.1" 5711 - }, 5712 - "engines": { 5713 - "node": ">=8" 5714 - } 5715 - }, 5716 - "node_modules/wrappy": { 5717 - "version": "1.0.2", 5718 - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 5719 - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 5720 - "dev": true, 5721 - "license": "ISC" 5722 - }, 5723 - "node_modules/write-file-atomic": { 5724 - "version": "3.0.3", 5725 - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", 5726 - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", 5727 - "dev": true, 5728 - "license": "ISC", 5729 - "dependencies": { 5730 - "imurmurhash": "^0.1.4", 5731 - "is-typedarray": "^1.0.0", 5732 - "signal-exit": "^3.0.2", 5733 - "typedarray-to-buffer": "^3.1.5" 5734 - } 5735 - }, 5736 - "node_modules/write-file-atomic/node_modules/signal-exit": { 5737 - "version": "3.0.7", 5738 - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 5739 - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 5740 - "dev": true, 5741 - "license": "ISC" 5742 - }, 5743 - "node_modules/ws": { 5744 - "version": "8.16.0", 5745 - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", 5746 - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", 5747 - "dev": true, 5748 - "license": "MIT", 5749 - "engines": { 5750 - "node": ">=10.0.0" 5751 - }, 5752 - "peerDependencies": { 5753 - "bufferutil": "^4.0.1", 5754 - "utf-8-validate": ">=5.0.2" 5755 - }, 5756 - "peerDependenciesMeta": { 5757 - "bufferutil": { 5758 - "optional": true 5759 - }, 5760 - "utf-8-validate": { 5761 - "optional": true 5762 - } 5763 - } 5764 - }, 5765 - "node_modules/xdg-basedir": { 5766 - "version": "5.1.0", 5767 - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", 5768 - "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", 5769 - "dev": true, 5770 - "license": "MIT", 5771 - "engines": { 5772 - "node": ">=12" 5773 - }, 5774 - "funding": { 5775 - "url": "https://github.com/sponsors/sindresorhus" 5776 - } 5777 - }, 5778 - "node_modules/xml2js": { 5779 - "version": "0.5.0", 5780 - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", 5781 - "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", 5782 - "dev": true, 5783 - "license": "MIT", 5784 - "dependencies": { 5785 - "sax": ">=0.6.0", 5786 - "xmlbuilder": "~11.0.0" 5787 - }, 5788 - "engines": { 5789 - "node": ">=4.0.0" 5790 - } 5791 - }, 5792 - "node_modules/xmlbuilder": { 5793 - "version": "11.0.1", 5794 - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 5795 - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 5796 - "dev": true, 5797 - "license": "MIT", 5798 - "engines": { 5799 - "node": ">=4.0" 5800 - } 5801 - }, 5802 - "node_modules/yaml": { 5803 - "version": "2.4.2", 5804 - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", 5805 - "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", 5806 - "dev": true, 5807 - "license": "ISC", 5808 - "bin": { 5809 - "yaml": "bin.mjs" 5810 - }, 5811 - "engines": { 5812 - "node": ">= 14" 5813 - } 5814 - }, 5815 - "node_modules/zip-dir": { 5816 - "version": "2.0.0", 5817 - "resolved": "https://registry.npmjs.org/zip-dir/-/zip-dir-2.0.0.tgz", 5818 - "integrity": "sha512-uhlsJZWz26FLYXOD6WVuq+fIcZ3aBPGo/cFdiLlv3KNwpa52IF3ISV8fLhQLiqVu5No3VhlqlgthN6gehil1Dg==", 5819 - "dev": true, 5820 - "license": "MIT", 5821 - "dependencies": { 5822 - "async": "^3.2.0", 5823 - "jszip": "^3.2.2" 5824 - } 5825 - } 5826 - } 5827 - }
+23 -15
package.json
··· 1 1 { 2 2 "name": "schooltape", 3 - "description": "Schooltape is a free, open-source, web extension that allows you to customise the look, feel, and functionality of Schoolbox!", 4 - "private": true, 5 - "type": "module", 6 - "scripts": { 7 - "build": "TARGET=chrome vite build --mode production", 8 - "build:firefox": "TARGET=firefox vite build --mode production", 9 - "dev": "TARGET=chrome vite dev --mode development", 10 - "dev:firefox": "TARGET=firefox vite dev --mode development", 11 - "format": "prettier --write ." 12 - }, 3 + "version": "3.0.0-beta", 13 4 "author": "42willow", 14 - "license": "MIT", 15 5 "devDependencies": { 16 6 "@catppuccin/tailwindcss": "^0.1.6", 17 7 "@sveltejs/vite-plugin-svelte": "^3.1.1", ··· 24 14 "prettier-plugin-tailwindcss": "^0.5.14", 25 15 "rollup-plugin-copy": "^3.5.0", 26 16 "svelte": "^4.2.17", 17 + "svelte-check": "^3.8.0", 27 18 "svelte-routing": "^2.13.0", 28 19 "tailwindcss": "^3.4.4", 29 20 "tinro": "^0.6.12", 30 - "vite": "^5.2.12", 31 - "vite-plugin-web-extension": "^4.1.3", 32 - "webextension-polyfill": "^0.12.0" 33 - } 21 + "tslib": "^2.6.3", 22 + "typescript": "^5.4.5", 23 + "webextension-polyfill": "^0.12.0", 24 + "wxt": "^0.18.4" 25 + }, 26 + "description": "Schooltape is a free, open-source, web extension that allows you to customise the look, feel, and functionality of Schoolbox!", 27 + "homepage_url": "https://github.com/42willow/schooltape", 28 + "license": "MIT", 29 + "private": true, 30 + "scripts": { 31 + "dev": "wxt", 32 + "dev:firefox": "wxt -b firefox", 33 + "build": "wxt build", 34 + "build:firefox": "wxt build -b firefox", 35 + "zip": "wxt zip", 36 + "zip:firefox": "wxt zip -b firefox", 37 + "check": "svelte-check --tsconfig ./tsconfig.json", 38 + "format": "prettier --write .", 39 + "postinstall": "wxt prepare" 40 + }, 41 + "type": "module" 34 42 }
public/assets/guest.png src/public/guest.png
public/assets/icon-128.png src/public/icon-128.png
public/assets/icon-16.png src/public/icon-16.png
public/assets/icon-48.png src/public/icon-48.png
public/plugins.json src/public/plugins.json
public/snippets.json src/public/snippets.json
public/themes/catppuccin.css src/assets/catppuccin.css
public/themes/catppuccin.json src/public/catppuccin.json
-3
src/.web-extension-id
··· 1 - # This file was created by https://github.com/mozilla/web-ext 2 - # Your auto-generated extension ID for addons.mozilla.org is: 3 - schooltape@schooltape-community.github.io
-317
src/background.js
··· 1 - import browser from "webextension-polyfill"; 2 - 3 - switch (__BROWSER__) { 4 - case "chrome": 5 - console.log("Service worker active!"); 6 - break; 7 - case "firefox": 8 - console.log("Background script active!"); 9 - break; 10 - } 11 - 12 - // ----------------- Variables ----------------- // 13 - const defaultSettings = { 14 - settings: { 15 - global: true, 16 - updates: { 17 - toast: true, 18 - desktop: false, 19 - }, 20 - urls: ["https://help.schoolbox.com.au"], 21 - }, 22 - snippets: { 23 - toggle: true, 24 - enabled: ["hide-pfp"], 25 - user: {}, 26 - }, 27 - plugins: { 28 - toggle: true, 29 - enabled: ["subheader", "scroll-segments", "tab-title", "scroll-period", "timetable-labels"], 30 - settings: {}, 31 - }, 32 - themes: { 33 - toggle: true, 34 - theme: "catppuccin", 35 - flavour: "macchiato", 36 - accent: "rosewater", 37 - logo: "schooltape.png", 38 - }, 39 - }; 40 - // ----------------- Install/Update ----------------- // 41 - 42 - // Check whether new version is installed 43 - browser.runtime.onInstalled.addListener(function (details) { 44 - if (details.reason === "install") { 45 - // Execute code when first installed 46 - browser.notifications.create("tutorial", { 47 - type: "basic", 48 - iconUrl: "assets/icon-128.png", 49 - title: "Thank you for installing Schooltape!", 50 - message: "Click here to look at the tutorial.", 51 - priority: 2, 52 - }); 53 - resetSettings(); 54 - } else if (details.reason === "update") { 55 - let thisVersion = browser.runtime.getManifest().version; 56 - // set default settings, if major number is increased 57 - if (details.previousVersion.split(".")[0] > thisVersion.split(".")[0]) { 58 - resetSettings(); 59 - print("New major version installed, reset settings"); 60 - } 61 - // Sends a notification to the user with the changelog 62 - console.log(`Updated from ${details.previousVersion} to ${thisVersion}!`); 63 - browser.notifications.create("updated", { 64 - type: "basic", 65 - iconUrl: "assets/icon-128.png", 66 - title: `Updated from ${details.previousVersion} to ${thisVersion}!`, 67 - message: "Click here to look at the release notes.", 68 - priority: 2, 69 - }); 70 - } 71 - updateBadge(); 72 - }); 73 - 74 - // ----------------- Listeners ----------------- // 75 - browser.runtime.onMessage.addListener(function (request, sender, sendResponse) { 76 - console.log("Message received: "); 77 - console.log(request); 78 - 79 - sendResponse({ messageReceived: true }); 80 - 81 - if (request.badgeText) { 82 - updateBadge(); 83 - console.log("Running update badge text function"); 84 - } 85 - 86 - if (request.inject) { 87 - console.log("Injecting " + request.inject); 88 - console.log(`tabid: ${sender.tab.id}`); 89 - // NOTE: see https://github.com/mozilla/webextension-polyfill?tab=readme-ov-file#tabsexecutescript 90 - browser.tabs.executeScript(sender.tab.id, { file: request.inject }); 91 - } 92 - 93 - // Switch to homepage 94 - if (request.toHomepage) { 95 - console.log("Changing tab to " + request.toHomepage); 96 - browser.tabs.query({ url: request.toHomepage }, function (tabs) { 97 - console.log(tabs); 98 - if (tabs.length > 0) { 99 - browser.tabs.update(tabs[0].id, { active: true }); 100 - } else { 101 - browser.tabs.update(sender.tab.id, { url: request.toHomepage }); 102 - } 103 - }); 104 - } 105 - 106 - // Reset settings 107 - if (request.resetSettings) { 108 - console.log("Resetting settings..."); 109 - resetSettings(); 110 - } 111 - 112 - // Check for updates 113 - if (request.checkForUpdates) { 114 - checkForUpdates(); 115 - } 116 - }); 117 - 118 - /* 119 - --------------------------------CONTEXT MENUS-------------------------------- 120 - */ 121 - // Context menus 122 - // let action = "action"; 123 - // switch (__BROWSER__) { 124 - // case "chrome": 125 - // action = "browser_action" 126 - // break; 127 - // case "firefox": 128 - // action = "action" 129 - // break; 130 - // } 131 - // console.log("created context menu"); 132 - // browser.contextMenus.removeAll(function () { 133 - // // Github 134 - // let github = browser.contextMenus.create({ 135 - // id: "github", 136 - // title: "GitHub", 137 - // contexts: [action], 138 - // }); 139 - // browser.contextMenus.create({ 140 - // id: "githubRepo", 141 - // parentId: github, 142 - // title: "Repository", 143 - // contexts: [action], 144 - // }); 145 - // browser.contextMenus.create({ 146 - // id: "githubIssues", 147 - // parentId: github, 148 - // title: "Issues", 149 - // contexts: [action], 150 - // }); 151 - // browser.contextMenus.create({ 152 - // id: "githubPRs", 153 - // parentId: github, 154 - // title: "Pull Requests", 155 - // contexts: [action], 156 - // }); 157 - // browser.contextMenus.create({ 158 - // id: "githubProjects", 159 - // parentId: github, 160 - // title: "Projects", 161 - // contexts: [action], 162 - // }); 163 - // browser.contextMenus.create({ 164 - // id: "githubWiki", 165 - // parentId: github, 166 - // title: "Wiki", 167 - // contexts: [action], 168 - // }); 169 - 170 - // browser.contextMenus.create({ 171 - // id: "extRefresh", 172 - // title: "Refresh Extension", 173 - // contexts: [action], 174 - // }); 175 - // }); 176 - 177 - // // Check which context menu button was clicked 178 - // function contextClick(info, tab) { 179 - // const { menuItemId } = info; 180 - // if (menuItemId === "githubRepo") { 181 - // let newURL = "https://github.com/42willow/schooltape"; 182 - // browser.tabs.create({ url: newURL }); 183 - // } else if (menuItemId === "githubIssues") { 184 - // let newURL = "https://github.com/42willow/schooltape/issues"; 185 - // browser.tabs.create({ url: newURL }); 186 - // } else if (menuItemId === "githubPRs") { 187 - // let newURL = "https://github.com/42willow/schooltape/pulls"; 188 - // browser.tabs.create({ url: newURL }); 189 - // } else if (menuItemId === "githubProjects") { 190 - // let newURL = "https://github.com/42willow/schooltape/projects"; 191 - // browser.tabs.create({ url: newURL }); 192 - // } else if (menuItemId === "githubWiki") { 193 - // let newURL = "https://github.com/42willow/schooltape/wiki"; 194 - // browser.tabs.create({ url: newURL }); 195 - // } else if (menuItemId === "extRefresh") { 196 - // console.log("Refreshing extension..."); 197 - // browser.runtime.reload(); 198 - // } 199 - // } 200 - // browser.contextMenus.onClicked.addListener(contextClick); 201 - 202 - // /* 203 - // // --------------------------------UPDATE NOTIFICATION CLICKED LISTERNER-------------------------------- 204 - // // */ 205 - // browser.notifications.onClicked.addListener(function (notifID) { 206 - // if (notifID === "update") { 207 - // browser.tabs.create({ 208 - // url: "https://github.com/42willow/schooltape/releases/latest", 209 - // }); 210 - // } 211 - // if (notifID === "tutorial") { 212 - // browser.tabs.create({ 213 - // url: "https://github.com/42Willow/schooltape/wiki/Getting-Started#configuring", 214 - // }); 215 - // } 216 - // if (notifID === "updated") { 217 - // let thisVersion = browser.runtime.getManifest().version; 218 - // let newURL = "https://github.com/42willow/schooltape/releases/tag/v" + thisVersion; 219 - // browser.tabs.create({ url: newURL }); 220 - // } 221 - // }); 222 - 223 - // /* 224 - // --------------------------------EXTENSION BUTTON CLICKED-------------------------------- 225 - // */ 226 - // On extension clicked 227 - // browser.action.onClicked.addListener((tab) => { 228 - // console.log("Button clicked!"); 229 - 230 - // // TOGGLE EXTENSION 231 - // browser.storage.local.get(["settings"], function (result) { 232 - // if (result.settings.global === true) { 233 - // let newSettings = result.settings; 234 - // newSettings.global = false; 235 - // browser.storage.local.set({ settings: newSettings }, function () {}); 236 - // browser.action.setBadgeText({ text: "OFF" }); 237 - // // Reload current tab 238 - // browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { 239 - // browser.tabs.reload(tabs[0].id); 240 - // }); 241 - // } else if (result.settings.global === false) { 242 - // let newSettings = result.settings; 243 - // newSettings.global = true; 244 - // browser.storage.local.set({ settings: newSettings }, function () {}); 245 - // browser.action.setBadgeText({ text: "ON" }); 246 - // browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { 247 - // browser.tabs.reload(tabs[0].id); 248 - // }); 249 - // } 250 - // browser.action.setBadgeBackgroundColor({ color: "#94DBF9" }); 251 - // browser.action.setBadgeTextColor({ color: "black" }); 252 - // }); 253 - // }); 254 - 255 - // // /* 256 - // // --------------------------------UPDATE BADGE-------------------------------- 257 - // // */ 258 - async function updateBadge() { 259 - console.log("Updating badge..."); 260 - const settings = await browser.storage.local.get("settings"); 261 - console.log(settings); 262 - // if (settings.global) { 263 - // console.log("Badge: ON"); 264 - // } else { 265 - // console.log("Badge: OFF"); 266 - // } 267 - } 268 - 269 - function resetSettings() { 270 - browser.storage.local.clear(); 271 - browser.storage.local.set({ 272 - settings: defaultSettings.settings, 273 - snippets: defaultSettings.snippets, 274 - plugins: defaultSettings.plugins, 275 - themes: defaultSettings.themes, 276 - }); 277 - updateBadge(); 278 - } 279 - 280 - function checkForUpdates() { 281 - if (!navigator.onLine) { 282 - console.error("You are currently offline. Please check your internet connection and try again."); 283 - } else { 284 - browser.storage.local.get("settings", function (result) { 285 - if (request.checkForUpdates && result.settings.updateReminder) { 286 - // Get latest and pre-release information from github 287 - fetch("https://api.github.com/repos/42willow/schooltape/releases/latest") 288 - .then((response) => response.json()) 289 - .then((data) => { 290 - // Get latest version without the "v" in front 291 - let latestVersion = data.tag_name.replace("v", ""); 292 - console.log("Latest version is " + latestVersion); 293 - // Get current version 294 - let currentVersion = browser.runtime.getManifest().version; 295 - console.log("Current version is " + currentVersion); 296 - // Compare versions 297 - if (latestVersion > currentVersion) { 298 - console.log("Update available"); 299 - // Send notification 300 - browser.notifications.create("update", { 301 - type: "basic", 302 - iconUrl: "assets/icon-128.png", 303 - title: "Update available!", 304 - message: `New version: ${latestVersion}\n(Currently installed: ${currentVersion})\nClick here to look at the release notes.`, 305 - priority: 2, 306 - }); 307 - } else { 308 - console.log("No update available"); 309 - } 310 - }) 311 - .catch((error) => { 312 - console.error("Error occurred while fetching latest release", error); 313 - }); 314 - } 315 - }); 316 - } 317 - }
+308
src/entrypoints/background.js
··· 1 + export default defineBackground(() => { 2 + // ----------------- Variables ----------------- // 3 + const defaultSettings = { 4 + settings: { 5 + global: true, 6 + updates: { 7 + toast: true, 8 + desktop: false, 9 + }, 10 + urls: ["https://help.schoolbox.com.au"], 11 + }, 12 + snippets: { 13 + toggle: true, 14 + enabled: ["hide-pfp"], 15 + user: {}, 16 + }, 17 + plugins: { 18 + toggle: true, 19 + enabled: ["subheader", "scroll-segments", "tab-title", "scroll-period", "timetable-labels"], 20 + settings: {}, 21 + }, 22 + themes: { 23 + toggle: true, 24 + theme: "catppuccin", 25 + flavour: "macchiato", 26 + accent: "rosewater", 27 + logo: "schooltape.png", 28 + }, 29 + }; 30 + // ----------------- Install/Update ----------------- // 31 + 32 + // Check whether new version is installed 33 + browser.runtime.onInstalled.addListener(function (details) { 34 + if (details.reason === "install") { 35 + // Execute code when first installed 36 + browser.notifications.create("tutorial", { 37 + type: "basic", 38 + iconUrl: "assets/icon-128.png", 39 + title: "Thank you for installing Schooltape!", 40 + message: "Click here to look at the tutorial.", 41 + priority: 2, 42 + }); 43 + resetSettings(); 44 + } else if (details.reason === "update") { 45 + let thisVersion = browser.runtime.getManifest().version; 46 + // set default settings, if major number is increased 47 + if (details.previousVersion.split(".")[0] > thisVersion.split(".")[0]) { 48 + resetSettings(); 49 + print("New major version installed, reset settings"); 50 + } 51 + // Sends a notification to the user with the changelog 52 + console.log(`Updated from ${details.previousVersion} to ${thisVersion}!`); 53 + browser.notifications.create("updated", { 54 + type: "basic", 55 + iconUrl: "assets/icon-128.png", 56 + title: `Updated from ${details.previousVersion} to ${thisVersion}!`, 57 + message: "Click here to look at the release notes.", 58 + priority: 2, 59 + }); 60 + } 61 + updateBadge(); 62 + }); 63 + 64 + // ----------------- Listeners ----------------- // 65 + browser.runtime.onMessage.addListener(function (request, sender, sendResponse) { 66 + console.log("Message received: "); 67 + console.log(request); 68 + 69 + sendResponse({ messageReceived: true }); 70 + 71 + if (request.badgeText) { 72 + updateBadge(); 73 + console.log("Running update badge text function"); 74 + } 75 + 76 + if (request.inject) { 77 + console.log("Injecting " + request.inject); 78 + console.log(`tabid: ${sender.tab.id}`); 79 + // NOTE: see https://github.com/mozilla/webextension-polyfill?tab=readme-ov-file#tabsexecutescript 80 + browser.tabs.executeScript(sender.tab.id, { file: request.inject }); 81 + } 82 + 83 + // Switch to homepage 84 + if (request.toHomepage) { 85 + console.log("Changing tab to " + request.toHomepage); 86 + browser.tabs.query({ url: request.toHomepage }, function (tabs) { 87 + console.log(tabs); 88 + if (tabs.length > 0) { 89 + browser.tabs.update(tabs[0].id, { active: true }); 90 + } else { 91 + browser.tabs.update(sender.tab.id, { url: request.toHomepage }); 92 + } 93 + }); 94 + } 95 + 96 + // Reset settings 97 + if (request.resetSettings) { 98 + console.log("Resetting settings..."); 99 + resetSettings(); 100 + } 101 + 102 + // Check for updates 103 + if (request.checkForUpdates) { 104 + checkForUpdates(); 105 + } 106 + }); 107 + 108 + /* 109 + --------------------------------CONTEXT MENUS-------------------------------- 110 + */ 111 + // Context menus 112 + // let action = "action"; 113 + // switch (__BROWSER__) { 114 + // case "chrome": 115 + // action = "browser_action" 116 + // break; 117 + // case "firefox": 118 + // action = "action" 119 + // break; 120 + // } 121 + // console.log("created context menu"); 122 + // browser.contextMenus.removeAll(function () { 123 + // // Github 124 + // let github = browser.contextMenus.create({ 125 + // id: "github", 126 + // title: "GitHub", 127 + // contexts: [action], 128 + // }); 129 + // browser.contextMenus.create({ 130 + // id: "githubRepo", 131 + // parentId: github, 132 + // title: "Repository", 133 + // contexts: [action], 134 + // }); 135 + // browser.contextMenus.create({ 136 + // id: "githubIssues", 137 + // parentId: github, 138 + // title: "Issues", 139 + // contexts: [action], 140 + // }); 141 + // browser.contextMenus.create({ 142 + // id: "githubPRs", 143 + // parentId: github, 144 + // title: "Pull Requests", 145 + // contexts: [action], 146 + // }); 147 + // browser.contextMenus.create({ 148 + // id: "githubProjects", 149 + // parentId: github, 150 + // title: "Projects", 151 + // contexts: [action], 152 + // }); 153 + // browser.contextMenus.create({ 154 + // id: "githubWiki", 155 + // parentId: github, 156 + // title: "Wiki", 157 + // contexts: [action], 158 + // }); 159 + 160 + // browser.contextMenus.create({ 161 + // id: "extRefresh", 162 + // title: "Refresh Extension", 163 + // contexts: [action], 164 + // }); 165 + // }); 166 + 167 + // // Check which context menu button was clicked 168 + // function contextClick(info, tab) { 169 + // const { menuItemId } = info; 170 + // if (menuItemId === "githubRepo") { 171 + // let newURL = "https://github.com/42willow/schooltape"; 172 + // browser.tabs.create({ url: newURL }); 173 + // } else if (menuItemId === "githubIssues") { 174 + // let newURL = "https://github.com/42willow/schooltape/issues"; 175 + // browser.tabs.create({ url: newURL }); 176 + // } else if (menuItemId === "githubPRs") { 177 + // let newURL = "https://github.com/42willow/schooltape/pulls"; 178 + // browser.tabs.create({ url: newURL }); 179 + // } else if (menuItemId === "githubProjects") { 180 + // let newURL = "https://github.com/42willow/schooltape/projects"; 181 + // browser.tabs.create({ url: newURL }); 182 + // } else if (menuItemId === "githubWiki") { 183 + // let newURL = "https://github.com/42willow/schooltape/wiki"; 184 + // browser.tabs.create({ url: newURL }); 185 + // } else if (menuItemId === "extRefresh") { 186 + // console.log("Refreshing extension..."); 187 + // browser.runtime.reload(); 188 + // } 189 + // } 190 + // browser.contextMenus.onClicked.addListener(contextClick); 191 + 192 + // /* 193 + // // --------------------------------UPDATE NOTIFICATION CLICKED LISTERNER-------------------------------- 194 + // // */ 195 + // browser.notifications.onClicked.addListener(function (notifID) { 196 + // if (notifID === "update") { 197 + // browser.tabs.create({ 198 + // url: "https://github.com/42willow/schooltape/releases/latest", 199 + // }); 200 + // } 201 + // if (notifID === "tutorial") { 202 + // browser.tabs.create({ 203 + // url: "https://github.com/42Willow/schooltape/wiki/Getting-Started#configuring", 204 + // }); 205 + // } 206 + // if (notifID === "updated") { 207 + // let thisVersion = browser.runtime.getManifest().version; 208 + // let newURL = "https://github.com/42willow/schooltape/releases/tag/v" + thisVersion; 209 + // browser.tabs.create({ url: newURL }); 210 + // } 211 + // }); 212 + 213 + // /* 214 + // --------------------------------EXTENSION BUTTON CLICKED-------------------------------- 215 + // */ 216 + // On extension clicked 217 + // browser.action.onClicked.addListener((tab) => { 218 + // console.log("Button clicked!"); 219 + 220 + // // TOGGLE EXTENSION 221 + // browser.storage.local.get(["settings"], function (result) { 222 + // if (result.settings.global === true) { 223 + // let newSettings = result.settings; 224 + // newSettings.global = false; 225 + // browser.storage.local.set({ settings: newSettings }, function () {}); 226 + // browser.action.setBadgeText({ text: "OFF" }); 227 + // // Reload current tab 228 + // browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { 229 + // browser.tabs.reload(tabs[0].id); 230 + // }); 231 + // } else if (result.settings.global === false) { 232 + // let newSettings = result.settings; 233 + // newSettings.global = true; 234 + // browser.storage.local.set({ settings: newSettings }, function () {}); 235 + // browser.action.setBadgeText({ text: "ON" }); 236 + // browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { 237 + // browser.tabs.reload(tabs[0].id); 238 + // }); 239 + // } 240 + // browser.action.setBadgeBackgroundColor({ color: "#94DBF9" }); 241 + // browser.action.setBadgeTextColor({ color: "black" }); 242 + // }); 243 + // }); 244 + 245 + // // /* 246 + // // --------------------------------UPDATE BADGE-------------------------------- 247 + // // */ 248 + async function updateBadge() { 249 + console.log("Updating badge..."); 250 + const settings = await browser.storage.local.get("settings"); 251 + console.log(settings); 252 + // if (settings.global) { 253 + // console.log("Badge: ON"); 254 + // } else { 255 + // console.log("Badge: OFF"); 256 + // } 257 + } 258 + 259 + function resetSettings() { 260 + browser.storage.local.clear(); 261 + browser.storage.local.set({ 262 + settings: defaultSettings.settings, 263 + snippets: defaultSettings.snippets, 264 + plugins: defaultSettings.plugins, 265 + themes: defaultSettings.themes, 266 + }); 267 + updateBadge(); 268 + } 269 + 270 + function checkForUpdates() { 271 + if (!navigator.onLine) { 272 + console.error("You are currently offline. Please check your internet connection and try again."); 273 + } else { 274 + browser.storage.local.get("settings", function (result) { 275 + if (request.checkForUpdates && result.settings.updateReminder) { 276 + // Get latest and pre-release information from github 277 + fetch("https://api.github.com/repos/42willow/schooltape/releases/latest") 278 + .then((response) => response.json()) 279 + .then((data) => { 280 + // Get latest version without the "v" in front 281 + let latestVersion = data.tag_name.replace("v", ""); 282 + console.log("Latest version is " + latestVersion); 283 + // Get current version 284 + let currentVersion = browser.runtime.getManifest().version; 285 + console.log("Current version is " + currentVersion); 286 + // Compare versions 287 + if (latestVersion > currentVersion) { 288 + console.log("Update available"); 289 + // Send notification 290 + browser.notifications.create("update", { 291 + type: "basic", 292 + iconUrl: "assets/icon-128.png", 293 + title: "Update available!", 294 + message: `New version: ${latestVersion}\n(Currently installed: ${currentVersion})\nClick here to look at the release notes.`, 295 + priority: 2, 296 + }); 297 + } else { 298 + console.log("No update available"); 299 + } 300 + }) 301 + .catch((error) => { 302 + console.error("Error occurred while fetching latest release", error); 303 + }); 304 + } 305 + }); 306 + } 307 + } 308 + });
+53
src/entrypoints/end.content.js
··· 1 + export default defineContentScript({ 2 + matches: ["<all_urls>"], 3 + runAt: "document_end", 4 + main() { 5 + console.log("Hello from document_end"); 6 + // browser.storage.local.get().then(function (storage) { 7 + // if (storage.settings.global && storage.settings.urls.includes(window.location.origin)) { 8 + // console.log("Schooltape is enabled on this site"); 9 + // } 10 + 11 + // let footer = document.querySelector("#footer > ul"); 12 + // if (footer.innerHTML.includes("Schoolbox")) { 13 + // let footerListItem = document.createElement("li"); 14 + // footerListItem.appendChild(document.createElement("a")).href = "https://github.com/42willow/schooltape"; 15 + // footerListItem.firstChild.textContent = `Schooltape v${browser.runtime.getManifest().version}`; 16 + // footer.appendChild(footerListItem); 17 + // if (!storage.settings.urls.includes(window.location.origin)) { 18 + // let newSettings = storage.settings; 19 + // newSettings.urls.push(window.location.origin); 20 + // browser.storage.local.set({ settings: newSettings }); 21 + // // TODO: hot reload 22 + // window.location.reload(); 23 + // } 24 + // } 25 + // }); 26 + }, 27 + }); 28 + 29 + // // // This is for: 30 + // // // - Plugins (that alter the DOM after is has been loaded) 31 + 32 + // // // inject enabled plugins if the current URL is stored as Schoolbox and extension is enabled 33 + // // browser.storage.local.get(["settings"], function (data) { 34 + // // if (data.settings.global) { 35 + // // if (data.settings.urls.includes(window.location.origin)) { 36 + // // for (let i = 0; i < data.settings.enabledPlugins.length; i++) { 37 + // // runUtilsFunction("injectPlugin", data.settings.enabledPlugins[i], "doc-end"); 38 + // // } 39 + // // } 40 + // // } 41 + // // }); 42 + 43 + // // check if the page is Schoolbox, if not add it to storage and reload the page 44 + 45 + // // async function runUtilsFunction(functionName, ...args) { 46 + // // const src = browser.runtime.getURL("scripts/scriptUtils.js"); 47 + // // const utils = await import(src); 48 + // // if (typeof utils[functionName] === "function") { 49 + // // utils[functionName](...args); 50 + // // } else { 51 + // // console.error(`Function ${functionName} does not exist in utils`); 52 + // // } 53 + // // }
+14
src/entrypoints/popup/index.html
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8" /> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 + <title>Schooltape Settings</title> 7 + <meta name="manifest.type" content="browser_action" /> 8 + </head> 9 + 10 + <body> 11 + <div id="app"></div> 12 + <script type="module" src="./main.ts"></script> 13 + </body> 14 + </html>
+8
src/entrypoints/popup/main.ts
··· 1 + import "./app.css"; 2 + import App from "./App.svelte"; 3 + 4 + const app = new App({ 5 + target: document.getElementById("app")!, 6 + }); 7 + 8 + export default app;
+120
src/entrypoints/start.content.js
··· 1 + export default defineContentScript({ 2 + matches: ["<all_urls>"], 3 + runAt: "document_start", 4 + main() { 5 + console.log("Hello from document_start"); 6 + // browser.storage.local.get().then(function (storage) { 7 + // console.log(storage); 8 + // if (storage.settings.global && storage.settings.urls.includes(window.location.origin)) { 9 + // console.log("Schooltape is enabled on this site"); 10 + // if (storage.themes.toggle) { 11 + // console.log(storage.themes); 12 + // injectCSS("/themes/catppuccin.css"); 13 + // injectCatppuccin(storage.themes.flavour, storage.themes.accent); 14 + // } 15 + // } 16 + // }); 17 + }, 18 + }); 19 + 20 + // // // This is for: 21 + // // // - Plugins (That inject stylesheets) 22 + // // // - Themes 23 + // // // - Snippets 24 + 25 + // // browser.runtime.sendMessage({ checkForUpdates: true }, function () {}); 26 + 27 + // // // check if the current url is saved in the storage and extension is enabled 28 + // // browser.storage.local.get(["settings"], function (data) { 29 + // // if (data.settings.global && data.settings.urls.includes(window.location.origin)) { 30 + // // for (let i = 0; i < data.settings.enabledPlugins.length; i++) { 31 + // // runUtilsFunction("injectPlugin", data.settings.enabledPlugins[i], "doc-start"); 32 + // // } 33 + 34 + // // if (data.settings.themes) { 35 + // // let theme = data.settings.currentTheme; 36 + // // // eg theme = "catppuccin-macchiato-pink" 37 + // // // now we have to split this into three sections, separated by the -'s 38 + // // let sections = theme.split("-"); 39 + // // // sections will be an array containing ["catppuccin", "macchiato", "pink"] 40 + // // // console.log(sections); 41 + // // if (sections[0] == "catppuccin") { 42 + // // injectCatppuccin(sections[1], sections[2]); 43 + // // runUtilsFunction("injectCSS", "/themes/catppuccin.css"); 44 + // // } 45 + // // } 46 + // // function injectCatppuccin(flavour, accent) { 47 + // // // console.log("injecting catppuccin theme"); 48 + // // fetch(browser.runtime.getURL("/themes/catppuccin.json")) 49 + // // .then((response) => response.json()) 50 + // // .then((palette) => injectStyles(palette, flavour, accent)); 51 + // // } 52 + // // function injectStyles(palette, flavour, accent) { 53 + // // let style = document.createElement("style"); 54 + // // style.classList.add("schooltape"); 55 + // // let cssText = ""; 56 + // // for (let color in palette[flavour]["colors"]) { 57 + // // let c = palette[flavour]["colors"][color]; 58 + // // let hsl = `${c.hsl.h} ${c.hsl.s * 100}% ${c.hsl.l * 100}%`; 59 + // // cssText += `:root { --ctp-${color}: ${hsl}; }\n`; 60 + // // } 61 + // // let a = palette[flavour]["colors"][accent].hsl; 62 + // // cssText += `:root { --ctp-accent: ${`${a.h} ${a.s * 100}% ${a.l * 100}%`}; }\n`; 63 + // // style.textContent = cssText; 64 + // // document.head.appendChild(style); 65 + // // } 66 + // // injectSnippets(); 67 + // // } 68 + // // }); 69 + 70 + // // // ----------------- Functions ----------------- // 71 + // // function injectSnippets() { 72 + // // fetch(browser.runtime.getURL("/snippets/snippets.json")) 73 + // // .then((response) => response.json()) 74 + // // .then((data) => { 75 + // // // console.log(data); 76 + // // browser.storage.local.get(["settings"], function (settingsData) { 77 + // // let snippets = Object.entries(data); 78 + // // // Inject inbuilt snippets 79 + // // snippets.forEach((snippet) => { 80 + // // let snippetID = snippet[0]; 81 + // // let snippetPath = snippet[1].path; 82 + // // let snippetToggled = settingsData.settings.enabledSnippets.includes(snippetID); 83 + // // if (snippetToggled) { 84 + // // runUtilsFunction("injectCSS", `/snippets/${snippetPath}`); 85 + // // } 86 + // // }); 87 + 88 + // // // Inject user snippets 89 + // // let userSnippets = settingsData.settings.userSnippets; 90 + // // userSnippets.forEach((snippet) => { 91 + // // let snippetID = Object.keys(snippet)[0]; 92 + // // let snippetAuthor = Object.values(snippet)[0].author; 93 + // // let snippetURL = `https://gist.githubusercontent.com/${snippetAuthor}/${snippetID}/raw`; 94 + // // let snippetToggled = settingsData.settings.enabledSnippets.includes(snippetID); 95 + // // if (snippetToggled) { 96 + // // if (snippetToggled) { 97 + // // fetch(snippetURL) 98 + // // .then((response) => response.text()) 99 + // // .then((css) => { 100 + // // let style = document.createElement("style"); 101 + // // style.textContent = css; 102 + // // style.classList.add("schooltape"); 103 + // // document.head.appendChild(style); 104 + // // }); 105 + // // } 106 + // // } 107 + // // }); 108 + // // }); 109 + // // }); 110 + // // } 111 + 112 + // // async function runUtilsFunction(functionName, ...args) { 113 + // // const src = browser.runtime.getURL("scripts/scriptUtils.js"); 114 + // // const utils = await import(src); 115 + // // if (typeof utils[functionName] === "function") { 116 + // // utils[functionName](...args); 117 + // // } else { 118 + // // console.error(`Function ${functionName} does not exist in utils`); 119 + // // } 120 + // // }
-68
src/manifest.json
··· 1 - { 2 - "{{chrome}}.manifest_version": 3, 3 - "{{firefox}}.manifest_version": 2, 4 - "name": "Schooltape", 5 - "version": "3.0.0", 6 - "description": "Schooltape is a free, open-source, web extension that allows you to customise the look, feel, and functionality of Schoolbox!", 7 - "homepage_url": "https://github.com/42willow/schooltape", 8 - "icons": { 9 - "16": "assets/icon-16.png", 10 - "48": "assets/icon-48.png", 11 - "128": "assets/icon-128.png" 12 - }, 13 - "background": { 14 - "{{chrome}}.service_worker": "src/background.js", 15 - "{{chrome}}.type": "module", 16 - "{{firefox}}.scripts": ["src/background.js"] 17 - }, 18 - "{{chrome}}.permissions": [ 19 - "storage", 20 - "contextMenus", 21 - "activeTab", 22 - "scripting", 23 - "webRequest", 24 - "notifications", 25 - "background" 26 - ], 27 - "{{chrome}}.host_permissions": ["<all_urls>"], 28 - "{{firefox}}.permissions": [ 29 - "storage", 30 - "contextMenus", 31 - "activeTab", 32 - "tabs", 33 - "notifications", 34 - "webRequest", 35 - "<all_urls>" 36 - ], 37 - "{{chrome}}.web_accessible_resources": [ 38 - { 39 - "matches": ["<all_urls>"], 40 - "resources": ["*"] 41 - } 42 - ], 43 - "{{firefox}}.web_accessible_resources": ["*"], 44 - "content_scripts": [ 45 - { 46 - "matches": ["<all_urls>"], 47 - "js": ["src/scripts/doc-end.js"], 48 - "run_at": "document_end" 49 - }, 50 - { 51 - "matches": ["<all_urls>"], 52 - "js": ["src/scripts/doc-start.js"], 53 - "run_at": "document_start" 54 - } 55 - ], 56 - "{{chrome}}.action": { 57 - "default_popup": "src/options/popup.html" 58 - }, 59 - "{{firefox}}.browser_action": { 60 - "default_popup": "src/options/popup.html" 61 - }, 62 - "{{firefox}}.browser_specific_settings": { 63 - "gecko": { 64 - "id": "schooltape@schooltape-community.github.io", 65 - "strict_min_version": "117.0" 66 - } 67 - } 68 - }
-1
src/options/Popup.svelte src/entrypoints/popup/App.svelte
··· 6 6 import Themes from "./pages/Themes.svelte"; 7 7 import Snippets from "./pages/Snippets.svelte"; 8 8 import { onMount, onDestroy } from "svelte"; 9 - import browser from "webextension-polyfill"; 10 9 11 10 let flavour = "macchiato"; 12 11 router.mode.hash(); // enables hash navigation method
+1 -2
src/options/components/Footer.svelte src/entrypoints/popup/components/Footer.svelte
··· 1 1 <script> 2 2 import { onMount } from "svelte"; 3 3 import { MessageCircleQuestion, BugPlay, RotateCcw } from "lucide-svelte"; 4 - import browser from "webextension-polyfill"; 5 4 6 5 let verNum; 7 6 onMount(async () => { ··· 20 19 } 21 20 22 21 function handleBugClick() { 23 - window.open(browser.runtime.getURL("src/options/popup.html"), "_blank"); 22 + window.open(browser.runtime.getURL("popup.html"), "_blank"); 24 23 } 25 24 </script> 26 25
-2
src/options/components/Title.svelte src/entrypoints/popup/components/Title.svelte
··· 1 1 <script> 2 - import browser from "webextension-polyfill"; 3 - 4 2 export let data = {}; 5 3 export let title = ""; 6 4 export let key = "";
-1
src/options/pages/Home.svelte src/entrypoints/popup/pages/Home.svelte
··· 1 1 <script> 2 2 import Footer from "../components/Footer.svelte"; 3 - import browser from "webextension-polyfill"; 4 3 import { onMount } from "svelte"; 5 4 6 5 let settings = {
-1
src/options/pages/Plugins.svelte src/entrypoints/popup/pages/Plugins.svelte
··· 1 1 <script> 2 2 import { onMount } from "svelte"; 3 - import browser from "webextension-polyfill"; 4 3 import Title from "../components/Title.svelte"; 5 4 6 5 let plugins = {
-1
src/options/pages/Snippets.svelte src/entrypoints/popup/pages/Snippets.svelte
··· 1 1 <script> 2 2 import { onMount } from "svelte"; 3 - import browser from "webextension-polyfill"; 4 3 import Title from "../components/Title.svelte"; 5 4 6 5 let snippets = {
-1
src/options/pages/Themes.svelte src/entrypoints/popup/pages/Themes.svelte
··· 1 1 <script> 2 2 import { onMount } from "svelte"; 3 - import browser from "webextension-polyfill"; 4 3 import Title from "../components/Title.svelte"; 5 4 6 5 const flavours = ["latte", "frappe", "macchiato", "mocha"];
src/options/popup.css src/entrypoints/popup/app.css
-14
src/options/popup.html
··· 1 - <!doctype html> 2 - <html lang="en"> 3 - <head> 4 - <meta charset="UTF-8" /> 5 - <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 6 - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 - <link rel="stylesheet" href="./popup.css" /> 8 - <title>Popup</title> 9 - </head> 10 - 11 - <body></body> 12 - 13 - <script type="module" src="./popup.js"></script> 14 - </html>
-3
src/options/popup.js
··· 1 - import Popup from "./Popup.svelte"; 2 - 3 - new Popup({ target: document.body });
src/options/utils.js

This is a binary file and will not be displayed.

-2
src/plugins/homepage-switcher/homepage-switcher.js .wip/plugins/homepage-switcher/homepage-switcher.js
··· 1 - import browser from "webextension-polyfill"; 2 - 3 1 let logos = Array.from(document.getElementsByClassName("logo")); 4 2 5 3 logos.forEach((logo) => {
src/plugins/legacy-timetable/legacy-timetable.js .wip/plugins/legacy-timetable/legacy-timetable.js
src/plugins/modern-icons/modern-icons.css .wip/plugins/modern-icons/modern-icons.css
-2
src/plugins/modern-icons/modern-icons.js .wip/plugins/modern-icons/modern-icons.js
··· 1 - import browser from "webextension-polyfill"; 2 - 3 1 // [className, iconName] (material icons) 4 2 const icons = [ 5 3 ["icon-teacher", "school"],
src/plugins/scroll-period/scroll-period.js .wip/plugins/scroll-period/scroll-period.js
src/plugins/scroll-segments/scroll-segments.css .wip/plugins/scroll-segments/scroll-segments.css
-2
src/plugins/scroll-segments/scroll-segments.js .wip/plugins/scroll-segments/scroll-segments.js
··· 1 - import browser from "webextension-polyfill"; 2 - 3 1 try { 4 2 const content = document.getElementById("content"); 5 3 const footer = document.getElementById("footer");
src/plugins/subheader/subheader.js .wip/plugins/subheader/subheader.js
src/plugins/tab-title/tab-title.js .wip/plugins/tab-title/tab-title.js
src/plugins/timetable-labels/timetable-labels.js .wip/plugins/timetable-labels/timetable-labels.js
-48
src/scripts/doc-end.js
··· 1 - import browser from "webextension-polyfill"; 2 - 3 - browser.storage.local.get().then(function (storage) { 4 - if (storage.settings.global && storage.settings.urls.includes(window.location.origin)) { 5 - console.log("Schooltape is enabled on this site"); 6 - } 7 - 8 - let footer = document.querySelector("#footer > ul"); 9 - if (footer.innerHTML.includes("Schoolbox")) { 10 - let footerListItem = document.createElement("li"); 11 - footerListItem.appendChild(document.createElement("a")).href = "https://github.com/42willow/schooltape"; 12 - footerListItem.firstChild.textContent = `Schooltape v${browser.runtime.getManifest().version}`; 13 - footer.appendChild(footerListItem); 14 - if (!storage.settings.urls.includes(window.location.origin)) { 15 - let newSettings = storage.settings; 16 - newSettings.urls.push(window.location.origin); 17 - browser.storage.local.set({ settings: newSettings }); 18 - // TODO: hot reload 19 - window.location.reload(); 20 - } 21 - } 22 - }); 23 - 24 - // // This is for: 25 - // // - Plugins (that alter the DOM after is has been loaded) 26 - 27 - // // inject enabled plugins if the current URL is stored as Schoolbox and extension is enabled 28 - // browser.storage.local.get(["settings"], function (data) { 29 - // if (data.settings.global) { 30 - // if (data.settings.urls.includes(window.location.origin)) { 31 - // for (let i = 0; i < data.settings.enabledPlugins.length; i++) { 32 - // runUtilsFunction("injectPlugin", data.settings.enabledPlugins[i], "doc-end"); 33 - // } 34 - // } 35 - // } 36 - // }); 37 - 38 - // check if the page is Schoolbox, if not add it to storage and reload the page 39 - 40 - // async function runUtilsFunction(functionName, ...args) { 41 - // const src = browser.runtime.getURL("scripts/scriptUtils.js"); 42 - // const utils = await import(src); 43 - // if (typeof utils[functionName] === "function") { 44 - // utils[functionName](...args); 45 - // } else { 46 - // console.error(`Function ${functionName} does not exist in utils`); 47 - // } 48 - // }
-116
src/scripts/doc-start.js
··· 1 - import browser from "webextension-polyfill"; 2 - import { injectCSS, injectCatppuccin } from "./script-utils.js"; 3 - 4 - browser.storage.local.get().then(function (storage) { 5 - console.log(storage); 6 - if (storage.settings.global && storage.settings.urls.includes(window.location.origin)) { 7 - console.log("Schooltape is enabled on this site"); 8 - if (storage.themes.toggle) { 9 - console.log(storage.themes); 10 - injectCSS("/themes/catppuccin.css"); 11 - injectCatppuccin(storage.themes.flavour, storage.themes.accent); 12 - } 13 - } 14 - }); 15 - 16 - // // This is for: 17 - // // - Plugins (That inject stylesheets) 18 - // // - Themes 19 - // // - Snippets 20 - 21 - // browser.runtime.sendMessage({ checkForUpdates: true }, function () {}); 22 - 23 - // // check if the current url is saved in the storage and extension is enabled 24 - // browser.storage.local.get(["settings"], function (data) { 25 - // if (data.settings.global && data.settings.urls.includes(window.location.origin)) { 26 - // for (let i = 0; i < data.settings.enabledPlugins.length; i++) { 27 - // runUtilsFunction("injectPlugin", data.settings.enabledPlugins[i], "doc-start"); 28 - // } 29 - 30 - // if (data.settings.themes) { 31 - // let theme = data.settings.currentTheme; 32 - // // eg theme = "catppuccin-macchiato-pink" 33 - // // now we have to split this into three sections, separated by the -'s 34 - // let sections = theme.split("-"); 35 - // // sections will be an array containing ["catppuccin", "macchiato", "pink"] 36 - // // console.log(sections); 37 - // if (sections[0] == "catppuccin") { 38 - // injectCatppuccin(sections[1], sections[2]); 39 - // runUtilsFunction("injectCSS", "/themes/catppuccin.css"); 40 - // } 41 - // } 42 - // function injectCatppuccin(flavour, accent) { 43 - // // console.log("injecting catppuccin theme"); 44 - // fetch(browser.runtime.getURL("/themes/catppuccin.json")) 45 - // .then((response) => response.json()) 46 - // .then((palette) => injectStyles(palette, flavour, accent)); 47 - // } 48 - // function injectStyles(palette, flavour, accent) { 49 - // let style = document.createElement("style"); 50 - // style.classList.add("schooltape"); 51 - // let cssText = ""; 52 - // for (let color in palette[flavour]["colors"]) { 53 - // let c = palette[flavour]["colors"][color]; 54 - // let hsl = `${c.hsl.h} ${c.hsl.s * 100}% ${c.hsl.l * 100}%`; 55 - // cssText += `:root { --ctp-${color}: ${hsl}; }\n`; 56 - // } 57 - // let a = palette[flavour]["colors"][accent].hsl; 58 - // cssText += `:root { --ctp-accent: ${`${a.h} ${a.s * 100}% ${a.l * 100}%`}; }\n`; 59 - // style.textContent = cssText; 60 - // document.head.appendChild(style); 61 - // } 62 - // injectSnippets(); 63 - // } 64 - // }); 65 - 66 - // // ----------------- Functions ----------------- // 67 - // function injectSnippets() { 68 - // fetch(browser.runtime.getURL("/snippets/snippets.json")) 69 - // .then((response) => response.json()) 70 - // .then((data) => { 71 - // // console.log(data); 72 - // browser.storage.local.get(["settings"], function (settingsData) { 73 - // let snippets = Object.entries(data); 74 - // // Inject inbuilt snippets 75 - // snippets.forEach((snippet) => { 76 - // let snippetID = snippet[0]; 77 - // let snippetPath = snippet[1].path; 78 - // let snippetToggled = settingsData.settings.enabledSnippets.includes(snippetID); 79 - // if (snippetToggled) { 80 - // runUtilsFunction("injectCSS", `/snippets/${snippetPath}`); 81 - // } 82 - // }); 83 - 84 - // // Inject user snippets 85 - // let userSnippets = settingsData.settings.userSnippets; 86 - // userSnippets.forEach((snippet) => { 87 - // let snippetID = Object.keys(snippet)[0]; 88 - // let snippetAuthor = Object.values(snippet)[0].author; 89 - // let snippetURL = `https://gist.githubusercontent.com/${snippetAuthor}/${snippetID}/raw`; 90 - // let snippetToggled = settingsData.settings.enabledSnippets.includes(snippetID); 91 - // if (snippetToggled) { 92 - // if (snippetToggled) { 93 - // fetch(snippetURL) 94 - // .then((response) => response.text()) 95 - // .then((css) => { 96 - // let style = document.createElement("style"); 97 - // style.textContent = css; 98 - // style.classList.add("schooltape"); 99 - // document.head.appendChild(style); 100 - // }); 101 - // } 102 - // } 103 - // }); 104 - // }); 105 - // }); 106 - // } 107 - 108 - // async function runUtilsFunction(functionName, ...args) { 109 - // const src = browser.runtime.getURL("scripts/scriptUtils.js"); 110 - // const utils = await import(src); 111 - // if (typeof utils[functionName] === "function") { 112 - // utils[functionName](...args); 113 - // } else { 114 - // console.error(`Function ${functionName} does not exist in utils`); 115 - // } 116 - // }
-2
src/scripts/script-utils.js src/utils/content-utils.js
··· 1 - import browser from "webextension-polyfill"; 2 - 3 1 export function injectCSS(css) { 4 2 let link = document.createElement("link"); 5 3 link.rel = "stylesheet";
src/snippets/censor.css .wip/snippets/censor.css
src/snippets/hide-pfp.css .wip/snippets/hide-pfp.css
-2
src/vite.env.d.ts
··· 1 - /// <reference types="svelte" /> 2 - /// <reference types="vite/client" />
+6
tsconfig.json
··· 1 + { 2 + "extends": "./.wxt/tsconfig.json", 3 + "compilerOptions": { 4 + "useDefineForClassFields": true 5 + } 6 + }
-70
vite.config.ts
··· 1 - import { defineConfig } from "vite"; 2 - import webExtension, { readJsonFile } from "vite-plugin-web-extension"; 3 - // import copy from 'rollup-plugin-copy'; 4 - import path from "path"; 5 - import { svelte } from "@sveltejs/vite-plugin-svelte"; 6 - 7 - // const APPID_CHROME = ''; 8 - const browser = process.env.TARGET || "chrome"; 9 - 10 - function generateManifest() { 11 - const manifest = readJsonFile("src/manifest.json"); 12 - const pkg = readJsonFile("package.json"); 13 - return { 14 - name: pkg.name, 15 - description: pkg.description, 16 - version: pkg.version, 17 - ...manifest, 18 - }; 19 - } 20 - 21 - export default defineConfig(({ mode }) => ({ 22 - resolve: { 23 - alias: { 24 - "@": path.resolve(__dirname, "./src"), 25 - }, 26 - }, 27 - plugins: [ 28 - svelte(), 29 - webExtension({ 30 - manifest: generateManifest, 31 - browser: process.env.TARGET || "chrome", 32 - watchFilePaths: ["package.json", "manifest.json"], 33 - }), 34 - // copy({ 35 - // targets: [ 36 - // { src: 'src/options', dest: 'dist/src/options' }, 37 - // ], 38 - // }), 39 - ], 40 - build: { 41 - assetsInlineLimit: 1024, 42 - rollupOptions: { 43 - output: { 44 - assetFileNames: (assetInfo) => { 45 - let extType = assetInfo.name?.split(".").at(1) || ""; 46 - if (/png|jpe?g|svg|gif|tiff|bmp|ico/i.test(extType)) { 47 - extType = "icons"; 48 - } 49 - return `src/assets/${extType}/[name][extname]`; 50 - }, 51 - }, 52 - }, 53 - 54 - emptyOutDir: true, 55 - // sourcemap: mode === 'development' ? 'inline' : false, 56 - minify: mode === "development" ? false : true, 57 - }, 58 - define: { 59 - "process.env": process.env, 60 - __EXTENSION_MODE__: JSON.stringify(mode), 61 - __DEV__: mode === "development", 62 - __PROD__: mode === "production", 63 - // __APP_ID__: JSON.stringify(APPID_CHROME), 64 - __BROWSER__: JSON.stringify(browser), 65 - }, 66 - // pre-bundle webextension-polyfill 67 - optimizeDeps: { 68 - include: ["webextension-polyfill"], 69 - }, 70 - }));
+1
wxt-env.d.ts
··· 1 + /// <reference types="svelte" />
+26
wxt.config.ts
··· 1 + import { defineConfig } from "wxt"; 2 + import { svelte, vitePreprocess } from "@sveltejs/vite-plugin-svelte"; 3 + 4 + // See https://wxt.dev/api/config.html 5 + export default defineConfig({ 6 + manifest: { 7 + name: "Schooltape", 8 + web_accessible_resources: [ 9 + { 10 + matches: ["<all_urls>"], 11 + resources: ["*"], 12 + }, 13 + ], 14 + permissions: ["storage", "contextMenus", "activeTab", "scripting", "webRequest", "notifications", "background"], 15 + }, 16 + srcDir: "src", 17 + vite: () => ({ 18 + plugins: [ 19 + svelte({ 20 + // Using a svelte.config.js file causes a segmentation fault when importing the file 21 + configFile: false, 22 + preprocess: [vitePreprocess()], 23 + }), 24 + ], 25 + }), 26 + });