├── frontend ├── .npmrc ├── .prettierignore ├── src │ ├── lib │ │ ├── index.ts │ │ └── schemas.ts │ ├── routes │ │ ├── +layout.svelte │ │ ├── api │ │ │ ├── status │ │ │ │ └── [job_name] │ │ │ │ │ └── [job_id] │ │ │ │ │ └── +server.ts │ │ │ └── submit │ │ │ │ └── +server.ts │ │ └── +page.svelte │ ├── app.css │ ├── app.d.ts │ └── app.html ├── static │ └── favicon.png ├── postcss.config.js ├── vite.config.ts ├── .prettierrc ├── .gitignore ├── tailwind.config.js ├── tsconfig.json ├── svelte.config.js ├── eslint.config.js ├── README.md ├── package.json └── pnpm-lock.yaml ├── .gitignore ├── executor-rust ├── templates │ └── rust │ │ ├── src │ │ └── main.rs │ │ ├── Cargo.lock │ │ └── Cargo.toml ├── Cargo.lock ├── Cargo.toml ├── Dockerfile └── src │ └── main.rs ├── public └── screenshot.png ├── .gitmodules ├── compose.yaml ├── backend ├── src │ ├── jobs │ │ ├── mod.rs │ │ ├── rust.rs │ │ └── job.rs │ ├── error.rs │ └── main.rs ├── Cargo.toml ├── Dockerfile └── Cargo.lock ├── README.md ├── LICENSE └── infrastructure └── jobs ├── backend.job.hcl └── traefik.job.hcl /frontend/.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/target 2 | .env 3 | 4 | # MAC 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /executor-rust/templates/rust/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | println!("Hello, world!"); 3 | } 4 | -------------------------------------------------------------------------------- /public/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknown/executor/main/public/screenshot.png -------------------------------------------------------------------------------- /frontend/.prettierignore: -------------------------------------------------------------------------------- 1 | # Package Managers 2 | package-lock.json 3 | pnpm-lock.yaml 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "nomad-rs"] 2 | path = nomad-rs 3 | url = git@github.com:unknown/nomad-rs.git 4 | -------------------------------------------------------------------------------- /frontend/src/lib/index.ts: -------------------------------------------------------------------------------- 1 | // place files you want to import through the `$lib` alias in this folder. 2 | -------------------------------------------------------------------------------- /frontend/static/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unknown/executor/main/frontend/static/favicon.png -------------------------------------------------------------------------------- /frontend/postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {} 5 | } 6 | }; 7 | -------------------------------------------------------------------------------- /compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | backend: 3 | build: 4 | context: backend 5 | executor-rust: 6 | build: 7 | context: executor-rust 8 | -------------------------------------------------------------------------------- /frontend/src/routes/+layout.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /backend/src/jobs/mod.rs: -------------------------------------------------------------------------------- 1 | mod job; 2 | mod rust; 3 | 4 | pub use job::get_job_output; 5 | pub use job::Job; 6 | pub use job::JobOutput; 7 | pub use rust::RustJob; 8 | -------------------------------------------------------------------------------- /frontend/src/app.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | @layer base { 6 | body { 7 | @apply antialiased; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /frontend/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { sveltekit } from '@sveltejs/kit/vite'; 2 | import { defineConfig } from 'vite'; 3 | 4 | export default defineConfig({ 5 | plugins: [sveltekit()] 6 | }); 7 | -------------------------------------------------------------------------------- /executor-rust/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "executor-rust" 7 | version = "0.1.0" 8 | -------------------------------------------------------------------------------- /executor-rust/templates/rust/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "rust" 7 | version = "0.1.0" 8 | -------------------------------------------------------------------------------- /executor-rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "executor-rust" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | -------------------------------------------------------------------------------- /executor-rust/templates/rust/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "rust" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | -------------------------------------------------------------------------------- /frontend/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "none", 4 | "printWidth": 100, 5 | "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], 6 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] 7 | } 8 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | # Output 4 | .output 5 | .vercel 6 | /.svelte-kit 7 | /build 8 | 9 | # OS 10 | .DS_Store 11 | Thumbs.db 12 | 13 | # Env 14 | .env 15 | .env.* 16 | !.env.example 17 | !.env.test 18 | 19 | # Vite 20 | vite.config.js.timestamp-* 21 | vite.config.ts.timestamp-* 22 | -------------------------------------------------------------------------------- /backend/src/error.rs: -------------------------------------------------------------------------------- 1 | use thiserror::Error; 2 | 3 | #[derive(Error, Debug)] 4 | pub enum ExecutionError { 5 | #[error(transparent)] 6 | NomadError(nomad_rs::NomadError), 7 | #[error("Invalid response: {0}")] 8 | InvalidResponse(String), 9 | #[error("Job timed out")] 10 | TimeoutError(), 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://kit.svelte.dev/docs/types#app 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface PageState {} 9 | // interface Platform {} 10 | } 11 | } 12 | 13 | export {}; 14 | -------------------------------------------------------------------------------- /frontend/tailwind.config.js: -------------------------------------------------------------------------------- 1 | import defaultTheme from 'tailwindcss/defaultTheme'; 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | export default { 5 | content: ['./src/**/*.{html,js,svelte,ts}'], 6 | theme: { 7 | extend: { 8 | fontFamily: { 9 | sans: ['Inter Variable', ...defaultTheme.fontFamily.sans] 10 | } 11 | } 12 | }, 13 | plugins: [] 14 | }; 15 | -------------------------------------------------------------------------------- /frontend/src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %sveltekit.head% 8 | 9 | 10 |
%sveltekit.body%
11 | 12 | 13 | -------------------------------------------------------------------------------- /frontend/src/routes/api/status/[job_name]/[job_id]/+server.ts: -------------------------------------------------------------------------------- 1 | import { EXECUTOR_BASE_URL } from '$env/static/private'; 2 | import type { RequestHandler } from './$types'; 3 | import { json } from '@sveltejs/kit'; 4 | 5 | export const GET: RequestHandler = async ({ params }) => { 6 | const response = await fetch( 7 | `${EXECUTOR_BASE_URL}/execution-output/${params.job_name}/${params.job_id}`, 8 | { method: 'GET' } 9 | ); 10 | return json(await response.json()); 11 | }; 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Executor 2 | 3 | Executor is a code playground that runs code from the browser, similar to [Go Playground](https://go.dev/play/) and [Rust Playground](https://play.rust-lang.org/). It compiles and runs submitted code and returns the output. Under the hood, Executor uses [Nomad](https://www.nomadproject.io/) to run the code in a Docker container. 4 | 5 |

6 | 7 | 8 |
9 | executor.dmo.ooo 10 |
11 |

12 | -------------------------------------------------------------------------------- /frontend/src/routes/api/submit/+server.ts: -------------------------------------------------------------------------------- 1 | import { json } from '@sveltejs/kit'; 2 | import type { RequestHandler } from './$types'; 3 | import { EXECUTOR_BASE_URL } from '$env/static/private'; 4 | 5 | export const POST: RequestHandler = async ({ request }) => { 6 | const body = await request.json(); 7 | const response = await fetch(`${EXECUTOR_BASE_URL}/execute-rust`, { 8 | method: 'POST', 9 | headers: { 10 | 'Content-Type': 'application/json' 11 | }, 12 | body: JSON.stringify(body) 13 | }); 14 | return json(await response.json()); 15 | }; 16 | -------------------------------------------------------------------------------- /backend/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "backend" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 | 8 | [dependencies] 9 | async-trait = "0.1.80" 10 | axum = "0.7.5" 11 | # nomad-rs = { path = "../nomad-rs" } 12 | nomad-rs = "0.0.1-beta.3" 13 | serde = { version = "1.0.203", features = ["derive"] } 14 | serde_json = "1.0.117" 15 | thiserror = "1.0.61" 16 | tokio = { version = "1.38.0", features = ["macros", "rt-multi-thread"] } 17 | uuid = { version = "1.8.0", features = ["v4"] } 18 | -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- 1 | # based off of https://verzettelung.com/22/12/29/ 2 | FROM rust:1.66 as build 3 | 4 | # create empty project 5 | RUN cargo new app --lib --vcs=none 6 | WORKDIR /app 7 | 8 | # copy manifests 9 | COPY ./Cargo.lock ./Cargo.toml ./ 10 | 11 | # build dependencies to cache them 12 | RUN cargo build --release --lib 13 | 14 | # copy source files 15 | COPY ./src ./src 16 | 17 | # update lib.rs timestamp and build release target 18 | RUN touch src/lib.rs && cargo build --release 19 | 20 | # final base 21 | FROM debian:bullseye-slim 22 | 23 | # copy build artifact 24 | COPY --from=build /app/target/release/backend . 25 | 26 | # set entrypoint to run our binary 27 | ENTRYPOINT [ "./backend" ] 28 | -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./.svelte-kit/tsconfig.json", 3 | "compilerOptions": { 4 | "allowJs": true, 5 | "checkJs": true, 6 | "esModuleInterop": true, 7 | "forceConsistentCasingInFileNames": true, 8 | "resolveJsonModule": true, 9 | "skipLibCheck": true, 10 | "sourceMap": true, 11 | "strict": true, 12 | "moduleResolution": "bundler" 13 | } 14 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias 15 | // except $lib which is handled by https://kit.svelte.dev/docs/configuration#files 16 | // 17 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes 18 | // from the referenced tsconfig.json - TypeScript does not merge them in 19 | } 20 | -------------------------------------------------------------------------------- /frontend/svelte.config.js: -------------------------------------------------------------------------------- 1 | import adapter from '@sveltejs/adapter-auto'; 2 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; 3 | 4 | /** @type {import('@sveltejs/kit').Config} */ 5 | const config = { 6 | // Consult https://kit.svelte.dev/docs/integrations#preprocessors 7 | // for more information about preprocessors 8 | preprocess: vitePreprocess(), 9 | 10 | kit: { 11 | // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. 12 | // If your environment is not supported, or you settled on a specific environment, switch out the adapter. 13 | // See https://kit.svelte.dev/docs/adapters for more information about adapters. 14 | adapter: adapter() 15 | } 16 | }; 17 | 18 | export default config; 19 | -------------------------------------------------------------------------------- /executor-rust/Dockerfile: -------------------------------------------------------------------------------- 1 | # based off of https://verzettelung.com/22/12/29/ 2 | FROM rust:1.66-slim as build 3 | 4 | # create empty project 5 | RUN cargo new app --lib --vcs=none 6 | WORKDIR /app 7 | 8 | # copy manifests 9 | COPY ./Cargo.lock ./Cargo.toml ./ 10 | 11 | # build dependencies to cache them 12 | RUN cargo build --release --lib 13 | 14 | # copy source files 15 | COPY ./src ./src 16 | 17 | # update lib.rs timestamp and build release target 18 | RUN touch src/lib.rs && cargo build --release 19 | 20 | # final base 21 | FROM rust:1.66-slim 22 | 23 | # copy templates 24 | COPY ./templates ./templates 25 | 26 | # copy build artifact 27 | COPY --from=build /app/target/release/executor-rust . 28 | 29 | # set entrypoint to run our binary 30 | ENTRYPOINT [ "./executor-rust" ] 31 | -------------------------------------------------------------------------------- /frontend/eslint.config.js: -------------------------------------------------------------------------------- 1 | import js from '@eslint/js'; 2 | import ts from 'typescript-eslint'; 3 | import svelte from 'eslint-plugin-svelte'; 4 | import prettier from 'eslint-config-prettier'; 5 | import globals from 'globals'; 6 | 7 | /** @type {import('eslint').Linter.FlatConfig[]} */ 8 | export default [ 9 | js.configs.recommended, 10 | ...ts.configs.recommended, 11 | ...svelte.configs['flat/recommended'], 12 | prettier, 13 | ...svelte.configs['flat/prettier'], 14 | { 15 | languageOptions: { 16 | globals: { 17 | ...globals.browser, 18 | ...globals.node 19 | } 20 | } 21 | }, 22 | { 23 | files: ['**/*.svelte'], 24 | languageOptions: { 25 | parserOptions: { 26 | parser: ts.parser 27 | } 28 | } 29 | }, 30 | { 31 | ignores: ['build/', '.svelte-kit/', 'dist/'] 32 | } 33 | ]; 34 | -------------------------------------------------------------------------------- /frontend/src/lib/schemas.ts: -------------------------------------------------------------------------------- 1 | import { z } from 'zod'; 2 | 3 | export const submitSchema = z.discriminatedUnion('status', [ 4 | z.object({ 5 | status: z.literal('Success'), 6 | job_id: z.string(), 7 | job_name: z.string() 8 | }), 9 | z.object({ 10 | status: z.literal('Error'), 11 | error: z.string() 12 | }) 13 | ]); 14 | 15 | export type SubmitResponse = z.infer; 16 | 17 | export const executionOutputSchema = z.discriminatedUnion('status', [ 18 | z.object({ 19 | status: z.literal('Success'), 20 | output: z.object({ 21 | pending: z.boolean(), 22 | stdout: z.string(), 23 | stderr: z.string() 24 | }) 25 | }), 26 | z.object({ 27 | status: z.literal('Error'), 28 | error: z.string() 29 | }) 30 | ]); 31 | 32 | export type ExecutionOutputResponse = z.infer; 33 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | # create-svelte 2 | 3 | Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte). 4 | 5 | ## Creating a project 6 | 7 | If you're seeing this, you've probably already done this step. Congrats! 8 | 9 | ```bash 10 | # create a new project in the current directory 11 | npm create svelte@latest 12 | 13 | # create a new project in my-app 14 | npm create svelte@latest my-app 15 | ``` 16 | 17 | ## Developing 18 | 19 | Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: 20 | 21 | ```bash 22 | npm run dev 23 | 24 | # or start the server and open the app in a new browser tab 25 | npm run dev -- --open 26 | ``` 27 | 28 | ## Building 29 | 30 | To create a production version of your app: 31 | 32 | ```bash 33 | npm run build 34 | ``` 35 | 36 | You can preview the production build with `npm run preview`. 37 | 38 | > To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 David Mo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /executor-rust/src/main.rs: -------------------------------------------------------------------------------- 1 | use std::{ 2 | io, 3 | path::Path, 4 | process::{self, Command, Output}, 5 | }; 6 | 7 | fn compile_program() -> io::Result { 8 | Command::new("cargo") 9 | .arg("build") 10 | .arg("--release") 11 | .current_dir("./templates/rust/") 12 | .output() 13 | } 14 | 15 | fn execute_binary(binary_path: &Path) -> io::Result { 16 | Command::new(binary_path).output() 17 | } 18 | 19 | fn run() -> io::Result<()> { 20 | let compile_output = compile_program()?; 21 | if !compile_output.status.success() { 22 | let stderr = String::from_utf8_lossy(&compile_output.stderr); 23 | eprint!("{}", stderr); 24 | process::exit(0); 25 | } 26 | 27 | let binary_path = Path::new("./templates/rust/target/release/rust"); 28 | let exec_output = execute_binary(binary_path)?; 29 | let stdout = String::from_utf8_lossy(&exec_output.stdout); 30 | let stderr = String::from_utf8_lossy(&exec_output.stderr); 31 | print!("{}", stdout); 32 | eprint!("{}", stderr); 33 | 34 | Ok(()) 35 | } 36 | 37 | fn main() { 38 | if let Err(e) = run() { 39 | eprintln!("{}", e); 40 | process::exit(0); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /infrastructure/jobs/backend.job.hcl: -------------------------------------------------------------------------------- 1 | job "executor-backend" { 2 | datacenters = ["dc1"] 3 | type = "service" 4 | 5 | group "executor-backend" { 6 | count = 1 7 | 8 | network { 9 | port "http" { 10 | to = "3000" 11 | } 12 | } 13 | 14 | service { 15 | name = "backend" 16 | port = "http" 17 | 18 | tags = [ 19 | "traefik.enable=true", 20 | "traefik.http.routers.backend.rule=PathPrefix(`/`)", 21 | ] 22 | 23 | check { 24 | type = "http" 25 | path = "/" 26 | interval = "2s" 27 | timeout = "2s" 28 | } 29 | } 30 | 31 | task "backend" { 32 | driver = "docker" 33 | 34 | config { 35 | image = "dmo1010/executor-backend:0.1.6" 36 | ports = ["http"] 37 | } 38 | 39 | vault {} 40 | 41 | template { 42 | data = < Self { 19 | RustJob { 20 | uuid: Uuid::new_v4().to_string(), 21 | code: code.to_owned(), 22 | } 23 | } 24 | } 25 | 26 | #[async_trait] 27 | impl crate::jobs::Job for RustJob { 28 | fn job_id(&self) -> String { 29 | format!("execute-rust-{}", self.uuid) 30 | } 31 | 32 | fn job_name(&self) -> String { 33 | "execute-rust".to_string() 34 | } 35 | 36 | fn create_job_request(&self) -> JobCreateRequest { 37 | JobCreateRequest { 38 | job: Job { 39 | id: Some(self.job_id()), 40 | name: Some(self.job_name()), 41 | _type: Some("batch".to_string()), 42 | 43 | task_groups: Some(vec![TaskGroup { 44 | name: Some(self.job_name()), 45 | 46 | reschedule_policy: Some(ReschedulePolicy { 47 | attempts: Some(0), 48 | unlimited: Some(false), 49 | ..Default::default() 50 | }), 51 | 52 | restart_policy: Some(RestartPolicy { 53 | attempts: Some(0), 54 | mode: Some("fail".to_string()), 55 | ..Default::default() 56 | }), 57 | 58 | tasks: Some(vec![Task { 59 | name: Some(self.job_name()), 60 | driver: Some("docker".to_string()), 61 | 62 | config: Some( 63 | serde_json::from_value(json!({ 64 | "image": env::var("RUST_IMAGE").expect("RUST_IMAGE must be set"), 65 | "mount": [ 66 | { 67 | "source": "local/main.rs", 68 | "target": "/templates/rust/src/main.rs", 69 | "type": "bind" 70 | } 71 | ] 72 | })) 73 | .unwrap(), 74 | ), 75 | 76 | templates: Some(vec![Template { 77 | embedded_tmpl: Some(self.code.to_owned()), 78 | dest_path: Some("local/main.rs".to_string()), 79 | ..Default::default() 80 | }]), 81 | ..Default::default() 82 | }]), 83 | ..Default::default() 84 | }]), 85 | ..Default::default() 86 | }, 87 | ..Default::default() 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /backend/src/main.rs: -------------------------------------------------------------------------------- 1 | mod error; 2 | mod jobs; 3 | 4 | use std::time::Duration; 5 | 6 | use axum::{ 7 | extract, 8 | http::StatusCode, 9 | routing::{get, post}, 10 | Json, Router, 11 | }; 12 | use jobs::{get_job_output, Job, JobOutput, RustJob}; 13 | use nomad_rs::Nomad; 14 | use serde::{Deserialize, Serialize}; 15 | use tokio::time::timeout; 16 | 17 | #[tokio::main] 18 | async fn main() { 19 | let app = Router::new() 20 | .route("/", get(|| async { "Heartbeat" })) 21 | .route("/execute-rust", post(execute_rust)) 22 | .route("/execution-output/:job_name/:job_id", get(execution_output)); 23 | 24 | let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); 25 | axum::serve(listener, app).await.unwrap(); 26 | } 27 | 28 | #[derive(Debug, Deserialize)] 29 | struct ExecuteRustRequest { 30 | code: String, 31 | } 32 | 33 | #[derive(Debug, Serialize)] 34 | #[serde(tag = "status")] 35 | enum ExecuteRustResponse { 36 | Success { job_id: String, job_name: String }, 37 | Error { error: String }, 38 | } 39 | 40 | async fn execute_rust( 41 | extract::Json(payload): extract::Json, 42 | ) -> (StatusCode, Json) { 43 | let nomad = Nomad::default(); 44 | let job = RustJob::new(&payload.code); 45 | let timeout_duration = Duration::from_secs(20); 46 | let interval_duration = Duration::from_secs(1); 47 | 48 | if let Err(error) = job.submit(&nomad).await { 49 | eprintln!("Failed to start job: {}", error); 50 | return ( 51 | StatusCode::INTERNAL_SERVER_ERROR, 52 | Json(ExecuteRustResponse::Error { 53 | error: "Failed to submit job".to_string(), 54 | }), 55 | ); 56 | } 57 | 58 | // TODO: these clones?? 59 | let nomad_clone = nomad.clone(); 60 | let job_clone = job.clone(); 61 | tokio::spawn(async move { 62 | let execution_future = job_clone.poll_job_until_dead(&nomad_clone, interval_duration); 63 | if let Err(_) = timeout(timeout_duration, execution_future).await { 64 | if let Err(error) = job_clone.stop(&nomad_clone).await { 65 | eprintln!("Failed to stop job: {}", error); 66 | } 67 | } 68 | }); 69 | 70 | ( 71 | StatusCode::OK, 72 | Json(ExecuteRustResponse::Success { 73 | job_id: job.job_id(), 74 | job_name: job.job_name(), 75 | }), 76 | ) 77 | } 78 | 79 | #[derive(Debug, Serialize)] 80 | #[serde(tag = "status")] 81 | enum ExecutionOutputResponse { 82 | Success { output: JobOutput }, 83 | Error { error: String }, 84 | } 85 | 86 | async fn execution_output( 87 | extract::Path((job_name, job_id)): extract::Path<(String, String)>, 88 | ) -> (StatusCode, Json) { 89 | let nomad = Nomad::default(); 90 | match get_job_output(&nomad, &job_id, &job_name).await { 91 | Ok(output) => ( 92 | StatusCode::OK, 93 | Json(ExecutionOutputResponse::Success { output }), 94 | ), 95 | Err(error) => ( 96 | StatusCode::INTERNAL_SERVER_ERROR, 97 | Json(ExecutionOutputResponse::Error { 98 | error: error.to_string(), 99 | }), 100 | ), 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /backend/src/jobs/job.rs: -------------------------------------------------------------------------------- 1 | use std::time::Duration; 2 | 3 | use async_trait::async_trait; 4 | use nomad_rs::{ 5 | api::job::models::{JobCreateRequest, JobListAllocationsParams, JobStopParams}, 6 | Nomad, 7 | }; 8 | use serde::Serialize; 9 | use tokio::time::interval; 10 | 11 | use crate::error::ExecutionError; 12 | 13 | #[derive(Debug, Serialize)] 14 | pub struct JobOutput { 15 | pending: bool, 16 | stdout: String, 17 | stderr: String, 18 | } 19 | 20 | #[async_trait] 21 | pub trait Job { 22 | fn job_id(&self) -> String; 23 | fn job_name(&self) -> String; 24 | fn create_job_request(&self) -> JobCreateRequest; 25 | 26 | async fn submit(&self, nomad: &Nomad) -> Result<(), ExecutionError> { 27 | nomad 28 | .job_create(&self.create_job_request()) 29 | .await 30 | .map_err(|error| ExecutionError::NomadError(error))?; 31 | Ok(()) 32 | } 33 | 34 | async fn stop(&self, nomad: &Nomad) -> Result<(), ExecutionError> { 35 | nomad 36 | .job_stop(&self.job_id(), &JobStopParams::default()) 37 | .await 38 | .map_err(|error| ExecutionError::NomadError(error))?; 39 | Ok(()) 40 | } 41 | 42 | // TODO: use blocking queries instead of a polling interval 43 | // see https://developer.hashicorp.com/nomad/api-docs#blocking-queries 44 | async fn poll_job_until_dead( 45 | &self, 46 | nomad: &Nomad, 47 | interval_duration: Duration, 48 | ) -> Result<(), ExecutionError> { 49 | let mut interval = interval(interval_duration); 50 | 51 | loop { 52 | interval.tick().await; 53 | 54 | let job = nomad 55 | .job_read(&self.job_id()) 56 | .await 57 | .map_err(|error| ExecutionError::NomadError(error))?; 58 | 59 | if job.status.as_deref() == Some("dead") { 60 | return Ok(()); 61 | } 62 | } 63 | } 64 | } 65 | 66 | // TODO: assumes submitting job only creates one allocation 67 | pub async fn get_job_output( 68 | nomad: &Nomad, 69 | job_id: &str, 70 | job_name: &str, 71 | ) -> Result { 72 | let allocations = nomad 73 | .job_list_allocations(job_id, &JobListAllocationsParams::default()) 74 | .await 75 | .map_err(|error| ExecutionError::NomadError(error))?; 76 | let allocation = allocations 77 | .first() 78 | .ok_or_else(|| ExecutionError::InvalidResponse("No allocations".to_string()))?; 79 | 80 | if allocation.client_status.as_deref() == Some("pending") { 81 | return Ok(JobOutput { 82 | pending: true, 83 | stdout: "".to_string(), 84 | stderr: "".to_string(), 85 | }); 86 | } 87 | 88 | // TODO: assumes task name is same as job name 89 | let task_state = allocation 90 | .task_states 91 | .as_ref() 92 | .ok_or_else(|| ExecutionError::InvalidResponse("Missing task states".to_string()))? 93 | .get(job_name) 94 | .ok_or_else(|| { 95 | ExecutionError::InvalidResponse(format!("Missing task state for {}", job_id)) 96 | })?; 97 | 98 | let running = task_state.state.as_deref() != Some("dead"); 99 | if !running { 100 | let termination_event = task_state 101 | .events 102 | .as_ref() 103 | .ok_or_else(|| ExecutionError::InvalidResponse("Missing events".to_string()))? 104 | .iter() 105 | .find(|event| event._type.as_deref() == Some("Terminated")) 106 | .ok_or_else(|| { 107 | ExecutionError::InvalidResponse("Missing termination event".to_string()) 108 | })?; 109 | 110 | if task_state.failed == Some(true) { 111 | return Err(ExecutionError::InvalidResponse( 112 | termination_event 113 | .message 114 | .clone() 115 | .unwrap_or_else(|| "Job failed".to_string()), 116 | )); 117 | } 118 | 119 | if termination_event.exit_code != Some(0) { 120 | return Err(ExecutionError::TimeoutError()); 121 | } 122 | } 123 | 124 | let alloc_id = allocation 125 | .to_owned() 126 | .id 127 | .ok_or_else(|| ExecutionError::InvalidResponse("Missing allocation ID".to_string()))?; 128 | 129 | let stdout = nomad 130 | .client_read_file(&alloc_id, &format!("alloc/logs/{}.stdout.0", job_name)) 131 | .await 132 | .map_err(|error| ExecutionError::NomadError(error))?; 133 | let stderr = nomad 134 | .client_read_file(&alloc_id, &format!("alloc/logs/{}.stderr.0", job_name)) 135 | .await 136 | .map_err(|error| ExecutionError::NomadError(error))?; 137 | 138 | Ok(JobOutput { 139 | stdout, 140 | stderr, 141 | pending: running, 142 | }) 143 | } 144 | -------------------------------------------------------------------------------- /frontend/src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 88 | 89 |
90 |
91 |
92 |

Executor

93 |
94 | 106 |
107 |
108 |
109 |
110 | 111 | 112 | 121 | 122 | 123 |
126 | 127 | 128 |
129 |
130 |

Standard output

131 | 132 | {stdout} 133 | 134 |
135 |
136 |

Standard error

137 | 138 | {stderr} 139 | 140 |
141 |
142 |
143 | 144 |
145 |
146 | -------------------------------------------------------------------------------- /backend/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.22.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "async-trait" 22 | version = "0.1.80" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" 25 | dependencies = [ 26 | "proc-macro2", 27 | "quote", 28 | "syn", 29 | ] 30 | 31 | [[package]] 32 | name = "atomic-waker" 33 | version = "1.1.2" 34 | source = "registry+https://github.com/rust-lang/crates.io-index" 35 | checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 36 | 37 | [[package]] 38 | name = "autocfg" 39 | version = "1.3.0" 40 | source = "registry+https://github.com/rust-lang/crates.io-index" 41 | checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 42 | 43 | [[package]] 44 | name = "axum" 45 | version = "0.7.5" 46 | source = "registry+https://github.com/rust-lang/crates.io-index" 47 | checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" 48 | dependencies = [ 49 | "async-trait", 50 | "axum-core", 51 | "bytes", 52 | "futures-util", 53 | "http", 54 | "http-body", 55 | "http-body-util", 56 | "hyper", 57 | "hyper-util", 58 | "itoa", 59 | "matchit", 60 | "memchr", 61 | "mime", 62 | "percent-encoding", 63 | "pin-project-lite", 64 | "rustversion", 65 | "serde", 66 | "serde_json", 67 | "serde_path_to_error", 68 | "serde_urlencoded", 69 | "sync_wrapper 1.0.1", 70 | "tokio", 71 | "tower", 72 | "tower-layer", 73 | "tower-service", 74 | "tracing", 75 | ] 76 | 77 | [[package]] 78 | name = "axum-core" 79 | version = "0.4.3" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" 82 | dependencies = [ 83 | "async-trait", 84 | "bytes", 85 | "futures-util", 86 | "http", 87 | "http-body", 88 | "http-body-util", 89 | "mime", 90 | "pin-project-lite", 91 | "rustversion", 92 | "sync_wrapper 0.1.2", 93 | "tower-layer", 94 | "tower-service", 95 | "tracing", 96 | ] 97 | 98 | [[package]] 99 | name = "backend" 100 | version = "0.1.0" 101 | dependencies = [ 102 | "async-trait", 103 | "axum", 104 | "nomad-rs", 105 | "serde", 106 | "serde_json", 107 | "thiserror", 108 | "tokio", 109 | "uuid", 110 | ] 111 | 112 | [[package]] 113 | name = "backtrace" 114 | version = "0.3.73" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" 117 | dependencies = [ 118 | "addr2line", 119 | "cc", 120 | "cfg-if", 121 | "libc", 122 | "miniz_oxide", 123 | "object", 124 | "rustc-demangle", 125 | ] 126 | 127 | [[package]] 128 | name = "base64" 129 | version = "0.22.1" 130 | source = "registry+https://github.com/rust-lang/crates.io-index" 131 | checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 132 | 133 | [[package]] 134 | name = "bitflags" 135 | version = "1.3.2" 136 | source = "registry+https://github.com/rust-lang/crates.io-index" 137 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 138 | 139 | [[package]] 140 | name = "bitflags" 141 | version = "2.5.0" 142 | source = "registry+https://github.com/rust-lang/crates.io-index" 143 | checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 144 | 145 | [[package]] 146 | name = "bumpalo" 147 | version = "3.16.0" 148 | source = "registry+https://github.com/rust-lang/crates.io-index" 149 | checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 150 | 151 | [[package]] 152 | name = "bytes" 153 | version = "1.6.0" 154 | source = "registry+https://github.com/rust-lang/crates.io-index" 155 | checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 156 | 157 | [[package]] 158 | name = "cc" 159 | version = "1.0.100" 160 | source = "registry+https://github.com/rust-lang/crates.io-index" 161 | checksum = "c891175c3fb232128f48de6590095e59198bbeb8620c310be349bfc3afd12c7b" 162 | 163 | [[package]] 164 | name = "cfg-if" 165 | version = "1.0.0" 166 | source = "registry+https://github.com/rust-lang/crates.io-index" 167 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 168 | 169 | [[package]] 170 | name = "core-foundation" 171 | version = "0.9.4" 172 | source = "registry+https://github.com/rust-lang/crates.io-index" 173 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 174 | dependencies = [ 175 | "core-foundation-sys", 176 | "libc", 177 | ] 178 | 179 | [[package]] 180 | name = "core-foundation-sys" 181 | version = "0.8.6" 182 | source = "registry+https://github.com/rust-lang/crates.io-index" 183 | checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 184 | 185 | [[package]] 186 | name = "encoding_rs" 187 | version = "0.8.34" 188 | source = "registry+https://github.com/rust-lang/crates.io-index" 189 | checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" 190 | dependencies = [ 191 | "cfg-if", 192 | ] 193 | 194 | [[package]] 195 | name = "equivalent" 196 | version = "1.0.1" 197 | source = "registry+https://github.com/rust-lang/crates.io-index" 198 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 199 | 200 | [[package]] 201 | name = "errno" 202 | version = "0.3.9" 203 | source = "registry+https://github.com/rust-lang/crates.io-index" 204 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 205 | dependencies = [ 206 | "libc", 207 | "windows-sys 0.52.0", 208 | ] 209 | 210 | [[package]] 211 | name = "fastrand" 212 | version = "2.1.0" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 215 | 216 | [[package]] 217 | name = "fnv" 218 | version = "1.0.7" 219 | source = "registry+https://github.com/rust-lang/crates.io-index" 220 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 221 | 222 | [[package]] 223 | name = "foreign-types" 224 | version = "0.3.2" 225 | source = "registry+https://github.com/rust-lang/crates.io-index" 226 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 227 | dependencies = [ 228 | "foreign-types-shared", 229 | ] 230 | 231 | [[package]] 232 | name = "foreign-types-shared" 233 | version = "0.1.1" 234 | source = "registry+https://github.com/rust-lang/crates.io-index" 235 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 236 | 237 | [[package]] 238 | name = "form_urlencoded" 239 | version = "1.2.1" 240 | source = "registry+https://github.com/rust-lang/crates.io-index" 241 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 242 | dependencies = [ 243 | "percent-encoding", 244 | ] 245 | 246 | [[package]] 247 | name = "futures-channel" 248 | version = "0.3.30" 249 | source = "registry+https://github.com/rust-lang/crates.io-index" 250 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 251 | dependencies = [ 252 | "futures-core", 253 | ] 254 | 255 | [[package]] 256 | name = "futures-core" 257 | version = "0.3.30" 258 | source = "registry+https://github.com/rust-lang/crates.io-index" 259 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 260 | 261 | [[package]] 262 | name = "futures-io" 263 | version = "0.3.30" 264 | source = "registry+https://github.com/rust-lang/crates.io-index" 265 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 266 | 267 | [[package]] 268 | name = "futures-macro" 269 | version = "0.3.30" 270 | source = "registry+https://github.com/rust-lang/crates.io-index" 271 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 272 | dependencies = [ 273 | "proc-macro2", 274 | "quote", 275 | "syn", 276 | ] 277 | 278 | [[package]] 279 | name = "futures-sink" 280 | version = "0.3.30" 281 | source = "registry+https://github.com/rust-lang/crates.io-index" 282 | checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 283 | 284 | [[package]] 285 | name = "futures-task" 286 | version = "0.3.30" 287 | source = "registry+https://github.com/rust-lang/crates.io-index" 288 | checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 289 | 290 | [[package]] 291 | name = "futures-util" 292 | version = "0.3.30" 293 | source = "registry+https://github.com/rust-lang/crates.io-index" 294 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 295 | dependencies = [ 296 | "futures-core", 297 | "futures-io", 298 | "futures-macro", 299 | "futures-sink", 300 | "futures-task", 301 | "memchr", 302 | "pin-project-lite", 303 | "pin-utils", 304 | "slab", 305 | ] 306 | 307 | [[package]] 308 | name = "getrandom" 309 | version = "0.2.15" 310 | source = "registry+https://github.com/rust-lang/crates.io-index" 311 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 312 | dependencies = [ 313 | "cfg-if", 314 | "libc", 315 | "wasi", 316 | ] 317 | 318 | [[package]] 319 | name = "gimli" 320 | version = "0.29.0" 321 | source = "registry+https://github.com/rust-lang/crates.io-index" 322 | checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" 323 | 324 | [[package]] 325 | name = "h2" 326 | version = "0.4.5" 327 | source = "registry+https://github.com/rust-lang/crates.io-index" 328 | checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" 329 | dependencies = [ 330 | "atomic-waker", 331 | "bytes", 332 | "fnv", 333 | "futures-core", 334 | "futures-sink", 335 | "http", 336 | "indexmap", 337 | "slab", 338 | "tokio", 339 | "tokio-util", 340 | "tracing", 341 | ] 342 | 343 | [[package]] 344 | name = "hashbrown" 345 | version = "0.14.5" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 348 | 349 | [[package]] 350 | name = "hermit-abi" 351 | version = "0.3.9" 352 | source = "registry+https://github.com/rust-lang/crates.io-index" 353 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 354 | 355 | [[package]] 356 | name = "http" 357 | version = "1.1.0" 358 | source = "registry+https://github.com/rust-lang/crates.io-index" 359 | checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 360 | dependencies = [ 361 | "bytes", 362 | "fnv", 363 | "itoa", 364 | ] 365 | 366 | [[package]] 367 | name = "http-body" 368 | version = "1.0.0" 369 | source = "registry+https://github.com/rust-lang/crates.io-index" 370 | checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" 371 | dependencies = [ 372 | "bytes", 373 | "http", 374 | ] 375 | 376 | [[package]] 377 | name = "http-body-util" 378 | version = "0.1.2" 379 | source = "registry+https://github.com/rust-lang/crates.io-index" 380 | checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" 381 | dependencies = [ 382 | "bytes", 383 | "futures-util", 384 | "http", 385 | "http-body", 386 | "pin-project-lite", 387 | ] 388 | 389 | [[package]] 390 | name = "httparse" 391 | version = "1.9.4" 392 | source = "registry+https://github.com/rust-lang/crates.io-index" 393 | checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" 394 | 395 | [[package]] 396 | name = "httpdate" 397 | version = "1.0.3" 398 | source = "registry+https://github.com/rust-lang/crates.io-index" 399 | checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 400 | 401 | [[package]] 402 | name = "hyper" 403 | version = "1.3.1" 404 | source = "registry+https://github.com/rust-lang/crates.io-index" 405 | checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" 406 | dependencies = [ 407 | "bytes", 408 | "futures-channel", 409 | "futures-util", 410 | "h2", 411 | "http", 412 | "http-body", 413 | "httparse", 414 | "httpdate", 415 | "itoa", 416 | "pin-project-lite", 417 | "smallvec", 418 | "tokio", 419 | "want", 420 | ] 421 | 422 | [[package]] 423 | name = "hyper-rustls" 424 | version = "0.27.2" 425 | source = "registry+https://github.com/rust-lang/crates.io-index" 426 | checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" 427 | dependencies = [ 428 | "futures-util", 429 | "http", 430 | "hyper", 431 | "hyper-util", 432 | "rustls", 433 | "rustls-pki-types", 434 | "tokio", 435 | "tokio-rustls", 436 | "tower-service", 437 | "webpki-roots", 438 | ] 439 | 440 | [[package]] 441 | name = "hyper-tls" 442 | version = "0.6.0" 443 | source = "registry+https://github.com/rust-lang/crates.io-index" 444 | checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" 445 | dependencies = [ 446 | "bytes", 447 | "http-body-util", 448 | "hyper", 449 | "hyper-util", 450 | "native-tls", 451 | "tokio", 452 | "tokio-native-tls", 453 | "tower-service", 454 | ] 455 | 456 | [[package]] 457 | name = "hyper-util" 458 | version = "0.1.5" 459 | source = "registry+https://github.com/rust-lang/crates.io-index" 460 | checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" 461 | dependencies = [ 462 | "bytes", 463 | "futures-channel", 464 | "futures-util", 465 | "http", 466 | "http-body", 467 | "hyper", 468 | "pin-project-lite", 469 | "socket2", 470 | "tokio", 471 | "tower", 472 | "tower-service", 473 | "tracing", 474 | ] 475 | 476 | [[package]] 477 | name = "idna" 478 | version = "0.5.0" 479 | source = "registry+https://github.com/rust-lang/crates.io-index" 480 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 481 | dependencies = [ 482 | "unicode-bidi", 483 | "unicode-normalization", 484 | ] 485 | 486 | [[package]] 487 | name = "indexmap" 488 | version = "2.2.6" 489 | source = "registry+https://github.com/rust-lang/crates.io-index" 490 | checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 491 | dependencies = [ 492 | "equivalent", 493 | "hashbrown", 494 | ] 495 | 496 | [[package]] 497 | name = "ipnet" 498 | version = "2.9.0" 499 | source = "registry+https://github.com/rust-lang/crates.io-index" 500 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" 501 | 502 | [[package]] 503 | name = "itoa" 504 | version = "1.0.11" 505 | source = "registry+https://github.com/rust-lang/crates.io-index" 506 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 507 | 508 | [[package]] 509 | name = "js-sys" 510 | version = "0.3.69" 511 | source = "registry+https://github.com/rust-lang/crates.io-index" 512 | checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 513 | dependencies = [ 514 | "wasm-bindgen", 515 | ] 516 | 517 | [[package]] 518 | name = "libc" 519 | version = "0.2.155" 520 | source = "registry+https://github.com/rust-lang/crates.io-index" 521 | checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 522 | 523 | [[package]] 524 | name = "linux-raw-sys" 525 | version = "0.4.14" 526 | source = "registry+https://github.com/rust-lang/crates.io-index" 527 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 528 | 529 | [[package]] 530 | name = "lock_api" 531 | version = "0.4.12" 532 | source = "registry+https://github.com/rust-lang/crates.io-index" 533 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 534 | dependencies = [ 535 | "autocfg", 536 | "scopeguard", 537 | ] 538 | 539 | [[package]] 540 | name = "log" 541 | version = "0.4.21" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 544 | 545 | [[package]] 546 | name = "matchit" 547 | version = "0.7.3" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" 550 | 551 | [[package]] 552 | name = "memchr" 553 | version = "2.7.4" 554 | source = "registry+https://github.com/rust-lang/crates.io-index" 555 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 556 | 557 | [[package]] 558 | name = "mime" 559 | version = "0.3.17" 560 | source = "registry+https://github.com/rust-lang/crates.io-index" 561 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 562 | 563 | [[package]] 564 | name = "miniz_oxide" 565 | version = "0.7.4" 566 | source = "registry+https://github.com/rust-lang/crates.io-index" 567 | checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" 568 | dependencies = [ 569 | "adler", 570 | ] 571 | 572 | [[package]] 573 | name = "mio" 574 | version = "0.8.11" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 577 | dependencies = [ 578 | "libc", 579 | "wasi", 580 | "windows-sys 0.48.0", 581 | ] 582 | 583 | [[package]] 584 | name = "native-tls" 585 | version = "0.2.12" 586 | source = "registry+https://github.com/rust-lang/crates.io-index" 587 | checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" 588 | dependencies = [ 589 | "libc", 590 | "log", 591 | "openssl", 592 | "openssl-probe", 593 | "openssl-sys", 594 | "schannel", 595 | "security-framework", 596 | "security-framework-sys", 597 | "tempfile", 598 | ] 599 | 600 | [[package]] 601 | name = "nomad-rs" 602 | version = "0.0.1-beta.3" 603 | source = "registry+https://github.com/rust-lang/crates.io-index" 604 | checksum = "2f604474a0c52d219606282489e78d3ba0ab9a83603ea74d465bf9abaa39fb01" 605 | dependencies = [ 606 | "reqwest", 607 | "serde", 608 | "serde_json", 609 | "thiserror", 610 | "tokio", 611 | ] 612 | 613 | [[package]] 614 | name = "num_cpus" 615 | version = "1.16.0" 616 | source = "registry+https://github.com/rust-lang/crates.io-index" 617 | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 618 | dependencies = [ 619 | "hermit-abi", 620 | "libc", 621 | ] 622 | 623 | [[package]] 624 | name = "object" 625 | version = "0.36.0" 626 | source = "registry+https://github.com/rust-lang/crates.io-index" 627 | checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" 628 | dependencies = [ 629 | "memchr", 630 | ] 631 | 632 | [[package]] 633 | name = "once_cell" 634 | version = "1.19.0" 635 | source = "registry+https://github.com/rust-lang/crates.io-index" 636 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 637 | 638 | [[package]] 639 | name = "openssl" 640 | version = "0.10.64" 641 | source = "registry+https://github.com/rust-lang/crates.io-index" 642 | checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" 643 | dependencies = [ 644 | "bitflags 2.5.0", 645 | "cfg-if", 646 | "foreign-types", 647 | "libc", 648 | "once_cell", 649 | "openssl-macros", 650 | "openssl-sys", 651 | ] 652 | 653 | [[package]] 654 | name = "openssl-macros" 655 | version = "0.1.1" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 658 | dependencies = [ 659 | "proc-macro2", 660 | "quote", 661 | "syn", 662 | ] 663 | 664 | [[package]] 665 | name = "openssl-probe" 666 | version = "0.1.5" 667 | source = "registry+https://github.com/rust-lang/crates.io-index" 668 | checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 669 | 670 | [[package]] 671 | name = "openssl-sys" 672 | version = "0.9.102" 673 | source = "registry+https://github.com/rust-lang/crates.io-index" 674 | checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" 675 | dependencies = [ 676 | "cc", 677 | "libc", 678 | "pkg-config", 679 | "vcpkg", 680 | ] 681 | 682 | [[package]] 683 | name = "parking_lot" 684 | version = "0.12.3" 685 | source = "registry+https://github.com/rust-lang/crates.io-index" 686 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 687 | dependencies = [ 688 | "lock_api", 689 | "parking_lot_core", 690 | ] 691 | 692 | [[package]] 693 | name = "parking_lot_core" 694 | version = "0.9.10" 695 | source = "registry+https://github.com/rust-lang/crates.io-index" 696 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 697 | dependencies = [ 698 | "cfg-if", 699 | "libc", 700 | "redox_syscall", 701 | "smallvec", 702 | "windows-targets 0.52.5", 703 | ] 704 | 705 | [[package]] 706 | name = "percent-encoding" 707 | version = "2.3.1" 708 | source = "registry+https://github.com/rust-lang/crates.io-index" 709 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 710 | 711 | [[package]] 712 | name = "pin-project" 713 | version = "1.1.5" 714 | source = "registry+https://github.com/rust-lang/crates.io-index" 715 | checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" 716 | dependencies = [ 717 | "pin-project-internal", 718 | ] 719 | 720 | [[package]] 721 | name = "pin-project-internal" 722 | version = "1.1.5" 723 | source = "registry+https://github.com/rust-lang/crates.io-index" 724 | checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" 725 | dependencies = [ 726 | "proc-macro2", 727 | "quote", 728 | "syn", 729 | ] 730 | 731 | [[package]] 732 | name = "pin-project-lite" 733 | version = "0.2.14" 734 | source = "registry+https://github.com/rust-lang/crates.io-index" 735 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 736 | 737 | [[package]] 738 | name = "pin-utils" 739 | version = "0.1.0" 740 | source = "registry+https://github.com/rust-lang/crates.io-index" 741 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 742 | 743 | [[package]] 744 | name = "pkg-config" 745 | version = "0.3.30" 746 | source = "registry+https://github.com/rust-lang/crates.io-index" 747 | checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 748 | 749 | [[package]] 750 | name = "ppv-lite86" 751 | version = "0.2.17" 752 | source = "registry+https://github.com/rust-lang/crates.io-index" 753 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 754 | 755 | [[package]] 756 | name = "proc-macro2" 757 | version = "1.0.86" 758 | source = "registry+https://github.com/rust-lang/crates.io-index" 759 | checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" 760 | dependencies = [ 761 | "unicode-ident", 762 | ] 763 | 764 | [[package]] 765 | name = "quinn" 766 | version = "0.11.2" 767 | source = "registry+https://github.com/rust-lang/crates.io-index" 768 | checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" 769 | dependencies = [ 770 | "bytes", 771 | "pin-project-lite", 772 | "quinn-proto", 773 | "quinn-udp", 774 | "rustc-hash", 775 | "rustls", 776 | "thiserror", 777 | "tokio", 778 | "tracing", 779 | ] 780 | 781 | [[package]] 782 | name = "quinn-proto" 783 | version = "0.11.3" 784 | source = "registry+https://github.com/rust-lang/crates.io-index" 785 | checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe" 786 | dependencies = [ 787 | "bytes", 788 | "rand", 789 | "ring", 790 | "rustc-hash", 791 | "rustls", 792 | "slab", 793 | "thiserror", 794 | "tinyvec", 795 | "tracing", 796 | ] 797 | 798 | [[package]] 799 | name = "quinn-udp" 800 | version = "0.5.2" 801 | source = "registry+https://github.com/rust-lang/crates.io-index" 802 | checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46" 803 | dependencies = [ 804 | "libc", 805 | "once_cell", 806 | "socket2", 807 | "tracing", 808 | "windows-sys 0.52.0", 809 | ] 810 | 811 | [[package]] 812 | name = "quote" 813 | version = "1.0.36" 814 | source = "registry+https://github.com/rust-lang/crates.io-index" 815 | checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 816 | dependencies = [ 817 | "proc-macro2", 818 | ] 819 | 820 | [[package]] 821 | name = "rand" 822 | version = "0.8.5" 823 | source = "registry+https://github.com/rust-lang/crates.io-index" 824 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 825 | dependencies = [ 826 | "libc", 827 | "rand_chacha", 828 | "rand_core", 829 | ] 830 | 831 | [[package]] 832 | name = "rand_chacha" 833 | version = "0.3.1" 834 | source = "registry+https://github.com/rust-lang/crates.io-index" 835 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 836 | dependencies = [ 837 | "ppv-lite86", 838 | "rand_core", 839 | ] 840 | 841 | [[package]] 842 | name = "rand_core" 843 | version = "0.6.4" 844 | source = "registry+https://github.com/rust-lang/crates.io-index" 845 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 846 | dependencies = [ 847 | "getrandom", 848 | ] 849 | 850 | [[package]] 851 | name = "redox_syscall" 852 | version = "0.5.2" 853 | source = "registry+https://github.com/rust-lang/crates.io-index" 854 | checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" 855 | dependencies = [ 856 | "bitflags 2.5.0", 857 | ] 858 | 859 | [[package]] 860 | name = "reqwest" 861 | version = "0.12.5" 862 | source = "registry+https://github.com/rust-lang/crates.io-index" 863 | checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" 864 | dependencies = [ 865 | "base64", 866 | "bytes", 867 | "encoding_rs", 868 | "futures-core", 869 | "futures-util", 870 | "h2", 871 | "http", 872 | "http-body", 873 | "http-body-util", 874 | "hyper", 875 | "hyper-rustls", 876 | "hyper-tls", 877 | "hyper-util", 878 | "ipnet", 879 | "js-sys", 880 | "log", 881 | "mime", 882 | "native-tls", 883 | "once_cell", 884 | "percent-encoding", 885 | "pin-project-lite", 886 | "quinn", 887 | "rustls", 888 | "rustls-pemfile", 889 | "rustls-pki-types", 890 | "serde", 891 | "serde_json", 892 | "serde_urlencoded", 893 | "sync_wrapper 1.0.1", 894 | "system-configuration", 895 | "tokio", 896 | "tokio-native-tls", 897 | "tokio-rustls", 898 | "tokio-util", 899 | "tower-service", 900 | "url", 901 | "wasm-bindgen", 902 | "wasm-bindgen-futures", 903 | "wasm-streams", 904 | "web-sys", 905 | "webpki-roots", 906 | "winreg", 907 | ] 908 | 909 | [[package]] 910 | name = "ring" 911 | version = "0.17.8" 912 | source = "registry+https://github.com/rust-lang/crates.io-index" 913 | checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" 914 | dependencies = [ 915 | "cc", 916 | "cfg-if", 917 | "getrandom", 918 | "libc", 919 | "spin", 920 | "untrusted", 921 | "windows-sys 0.52.0", 922 | ] 923 | 924 | [[package]] 925 | name = "rustc-demangle" 926 | version = "0.1.24" 927 | source = "registry+https://github.com/rust-lang/crates.io-index" 928 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 929 | 930 | [[package]] 931 | name = "rustc-hash" 932 | version = "1.1.0" 933 | source = "registry+https://github.com/rust-lang/crates.io-index" 934 | checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" 935 | 936 | [[package]] 937 | name = "rustix" 938 | version = "0.38.34" 939 | source = "registry+https://github.com/rust-lang/crates.io-index" 940 | checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" 941 | dependencies = [ 942 | "bitflags 2.5.0", 943 | "errno", 944 | "libc", 945 | "linux-raw-sys", 946 | "windows-sys 0.52.0", 947 | ] 948 | 949 | [[package]] 950 | name = "rustls" 951 | version = "0.23.10" 952 | source = "registry+https://github.com/rust-lang/crates.io-index" 953 | checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" 954 | dependencies = [ 955 | "once_cell", 956 | "ring", 957 | "rustls-pki-types", 958 | "rustls-webpki", 959 | "subtle", 960 | "zeroize", 961 | ] 962 | 963 | [[package]] 964 | name = "rustls-pemfile" 965 | version = "2.1.2" 966 | source = "registry+https://github.com/rust-lang/crates.io-index" 967 | checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" 968 | dependencies = [ 969 | "base64", 970 | "rustls-pki-types", 971 | ] 972 | 973 | [[package]] 974 | name = "rustls-pki-types" 975 | version = "1.7.0" 976 | source = "registry+https://github.com/rust-lang/crates.io-index" 977 | checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" 978 | 979 | [[package]] 980 | name = "rustls-webpki" 981 | version = "0.102.4" 982 | source = "registry+https://github.com/rust-lang/crates.io-index" 983 | checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" 984 | dependencies = [ 985 | "ring", 986 | "rustls-pki-types", 987 | "untrusted", 988 | ] 989 | 990 | [[package]] 991 | name = "rustversion" 992 | version = "1.0.17" 993 | source = "registry+https://github.com/rust-lang/crates.io-index" 994 | checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" 995 | 996 | [[package]] 997 | name = "ryu" 998 | version = "1.0.18" 999 | source = "registry+https://github.com/rust-lang/crates.io-index" 1000 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1001 | 1002 | [[package]] 1003 | name = "schannel" 1004 | version = "0.1.23" 1005 | source = "registry+https://github.com/rust-lang/crates.io-index" 1006 | checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 1007 | dependencies = [ 1008 | "windows-sys 0.52.0", 1009 | ] 1010 | 1011 | [[package]] 1012 | name = "scopeguard" 1013 | version = "1.2.0" 1014 | source = "registry+https://github.com/rust-lang/crates.io-index" 1015 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1016 | 1017 | [[package]] 1018 | name = "security-framework" 1019 | version = "2.11.0" 1020 | source = "registry+https://github.com/rust-lang/crates.io-index" 1021 | checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" 1022 | dependencies = [ 1023 | "bitflags 2.5.0", 1024 | "core-foundation", 1025 | "core-foundation-sys", 1026 | "libc", 1027 | "security-framework-sys", 1028 | ] 1029 | 1030 | [[package]] 1031 | name = "security-framework-sys" 1032 | version = "2.11.0" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" 1035 | dependencies = [ 1036 | "core-foundation-sys", 1037 | "libc", 1038 | ] 1039 | 1040 | [[package]] 1041 | name = "serde" 1042 | version = "1.0.203" 1043 | source = "registry+https://github.com/rust-lang/crates.io-index" 1044 | checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" 1045 | dependencies = [ 1046 | "serde_derive", 1047 | ] 1048 | 1049 | [[package]] 1050 | name = "serde_derive" 1051 | version = "1.0.203" 1052 | source = "registry+https://github.com/rust-lang/crates.io-index" 1053 | checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" 1054 | dependencies = [ 1055 | "proc-macro2", 1056 | "quote", 1057 | "syn", 1058 | ] 1059 | 1060 | [[package]] 1061 | name = "serde_json" 1062 | version = "1.0.117" 1063 | source = "registry+https://github.com/rust-lang/crates.io-index" 1064 | checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 1065 | dependencies = [ 1066 | "itoa", 1067 | "ryu", 1068 | "serde", 1069 | ] 1070 | 1071 | [[package]] 1072 | name = "serde_path_to_error" 1073 | version = "0.1.16" 1074 | source = "registry+https://github.com/rust-lang/crates.io-index" 1075 | checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" 1076 | dependencies = [ 1077 | "itoa", 1078 | "serde", 1079 | ] 1080 | 1081 | [[package]] 1082 | name = "serde_urlencoded" 1083 | version = "0.7.1" 1084 | source = "registry+https://github.com/rust-lang/crates.io-index" 1085 | checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1086 | dependencies = [ 1087 | "form_urlencoded", 1088 | "itoa", 1089 | "ryu", 1090 | "serde", 1091 | ] 1092 | 1093 | [[package]] 1094 | name = "signal-hook-registry" 1095 | version = "1.4.2" 1096 | source = "registry+https://github.com/rust-lang/crates.io-index" 1097 | checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 1098 | dependencies = [ 1099 | "libc", 1100 | ] 1101 | 1102 | [[package]] 1103 | name = "slab" 1104 | version = "0.4.9" 1105 | source = "registry+https://github.com/rust-lang/crates.io-index" 1106 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1107 | dependencies = [ 1108 | "autocfg", 1109 | ] 1110 | 1111 | [[package]] 1112 | name = "smallvec" 1113 | version = "1.13.2" 1114 | source = "registry+https://github.com/rust-lang/crates.io-index" 1115 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 1116 | 1117 | [[package]] 1118 | name = "socket2" 1119 | version = "0.5.7" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 1122 | dependencies = [ 1123 | "libc", 1124 | "windows-sys 0.52.0", 1125 | ] 1126 | 1127 | [[package]] 1128 | name = "spin" 1129 | version = "0.9.8" 1130 | source = "registry+https://github.com/rust-lang/crates.io-index" 1131 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1132 | 1133 | [[package]] 1134 | name = "subtle" 1135 | version = "2.6.0" 1136 | source = "registry+https://github.com/rust-lang/crates.io-index" 1137 | checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" 1138 | 1139 | [[package]] 1140 | name = "syn" 1141 | version = "2.0.68" 1142 | source = "registry+https://github.com/rust-lang/crates.io-index" 1143 | checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" 1144 | dependencies = [ 1145 | "proc-macro2", 1146 | "quote", 1147 | "unicode-ident", 1148 | ] 1149 | 1150 | [[package]] 1151 | name = "sync_wrapper" 1152 | version = "0.1.2" 1153 | source = "registry+https://github.com/rust-lang/crates.io-index" 1154 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 1155 | 1156 | [[package]] 1157 | name = "sync_wrapper" 1158 | version = "1.0.1" 1159 | source = "registry+https://github.com/rust-lang/crates.io-index" 1160 | checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" 1161 | 1162 | [[package]] 1163 | name = "system-configuration" 1164 | version = "0.5.1" 1165 | source = "registry+https://github.com/rust-lang/crates.io-index" 1166 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" 1167 | dependencies = [ 1168 | "bitflags 1.3.2", 1169 | "core-foundation", 1170 | "system-configuration-sys", 1171 | ] 1172 | 1173 | [[package]] 1174 | name = "system-configuration-sys" 1175 | version = "0.5.0" 1176 | source = "registry+https://github.com/rust-lang/crates.io-index" 1177 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" 1178 | dependencies = [ 1179 | "core-foundation-sys", 1180 | "libc", 1181 | ] 1182 | 1183 | [[package]] 1184 | name = "tempfile" 1185 | version = "3.10.1" 1186 | source = "registry+https://github.com/rust-lang/crates.io-index" 1187 | checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" 1188 | dependencies = [ 1189 | "cfg-if", 1190 | "fastrand", 1191 | "rustix", 1192 | "windows-sys 0.52.0", 1193 | ] 1194 | 1195 | [[package]] 1196 | name = "thiserror" 1197 | version = "1.0.61" 1198 | source = "registry+https://github.com/rust-lang/crates.io-index" 1199 | checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 1200 | dependencies = [ 1201 | "thiserror-impl", 1202 | ] 1203 | 1204 | [[package]] 1205 | name = "thiserror-impl" 1206 | version = "1.0.61" 1207 | source = "registry+https://github.com/rust-lang/crates.io-index" 1208 | checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 1209 | dependencies = [ 1210 | "proc-macro2", 1211 | "quote", 1212 | "syn", 1213 | ] 1214 | 1215 | [[package]] 1216 | name = "tinyvec" 1217 | version = "1.6.0" 1218 | source = "registry+https://github.com/rust-lang/crates.io-index" 1219 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1220 | dependencies = [ 1221 | "tinyvec_macros", 1222 | ] 1223 | 1224 | [[package]] 1225 | name = "tinyvec_macros" 1226 | version = "0.1.1" 1227 | source = "registry+https://github.com/rust-lang/crates.io-index" 1228 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 1229 | 1230 | [[package]] 1231 | name = "tokio" 1232 | version = "1.38.0" 1233 | source = "registry+https://github.com/rust-lang/crates.io-index" 1234 | checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" 1235 | dependencies = [ 1236 | "backtrace", 1237 | "bytes", 1238 | "libc", 1239 | "mio", 1240 | "num_cpus", 1241 | "parking_lot", 1242 | "pin-project-lite", 1243 | "signal-hook-registry", 1244 | "socket2", 1245 | "tokio-macros", 1246 | "windows-sys 0.48.0", 1247 | ] 1248 | 1249 | [[package]] 1250 | name = "tokio-macros" 1251 | version = "2.3.0" 1252 | source = "registry+https://github.com/rust-lang/crates.io-index" 1253 | checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" 1254 | dependencies = [ 1255 | "proc-macro2", 1256 | "quote", 1257 | "syn", 1258 | ] 1259 | 1260 | [[package]] 1261 | name = "tokio-native-tls" 1262 | version = "0.3.1" 1263 | source = "registry+https://github.com/rust-lang/crates.io-index" 1264 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" 1265 | dependencies = [ 1266 | "native-tls", 1267 | "tokio", 1268 | ] 1269 | 1270 | [[package]] 1271 | name = "tokio-rustls" 1272 | version = "0.26.0" 1273 | source = "registry+https://github.com/rust-lang/crates.io-index" 1274 | checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" 1275 | dependencies = [ 1276 | "rustls", 1277 | "rustls-pki-types", 1278 | "tokio", 1279 | ] 1280 | 1281 | [[package]] 1282 | name = "tokio-util" 1283 | version = "0.7.11" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" 1286 | dependencies = [ 1287 | "bytes", 1288 | "futures-core", 1289 | "futures-sink", 1290 | "pin-project-lite", 1291 | "tokio", 1292 | ] 1293 | 1294 | [[package]] 1295 | name = "tower" 1296 | version = "0.4.13" 1297 | source = "registry+https://github.com/rust-lang/crates.io-index" 1298 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 1299 | dependencies = [ 1300 | "futures-core", 1301 | "futures-util", 1302 | "pin-project", 1303 | "pin-project-lite", 1304 | "tokio", 1305 | "tower-layer", 1306 | "tower-service", 1307 | "tracing", 1308 | ] 1309 | 1310 | [[package]] 1311 | name = "tower-layer" 1312 | version = "0.3.2" 1313 | source = "registry+https://github.com/rust-lang/crates.io-index" 1314 | checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 1315 | 1316 | [[package]] 1317 | name = "tower-service" 1318 | version = "0.3.2" 1319 | source = "registry+https://github.com/rust-lang/crates.io-index" 1320 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1321 | 1322 | [[package]] 1323 | name = "tracing" 1324 | version = "0.1.40" 1325 | source = "registry+https://github.com/rust-lang/crates.io-index" 1326 | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1327 | dependencies = [ 1328 | "log", 1329 | "pin-project-lite", 1330 | "tracing-attributes", 1331 | "tracing-core", 1332 | ] 1333 | 1334 | [[package]] 1335 | name = "tracing-attributes" 1336 | version = "0.1.27" 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" 1338 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 1339 | dependencies = [ 1340 | "proc-macro2", 1341 | "quote", 1342 | "syn", 1343 | ] 1344 | 1345 | [[package]] 1346 | name = "tracing-core" 1347 | version = "0.1.32" 1348 | source = "registry+https://github.com/rust-lang/crates.io-index" 1349 | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1350 | dependencies = [ 1351 | "once_cell", 1352 | ] 1353 | 1354 | [[package]] 1355 | name = "try-lock" 1356 | version = "0.2.5" 1357 | source = "registry+https://github.com/rust-lang/crates.io-index" 1358 | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1359 | 1360 | [[package]] 1361 | name = "unicode-bidi" 1362 | version = "0.3.15" 1363 | source = "registry+https://github.com/rust-lang/crates.io-index" 1364 | checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 1365 | 1366 | [[package]] 1367 | name = "unicode-ident" 1368 | version = "1.0.12" 1369 | source = "registry+https://github.com/rust-lang/crates.io-index" 1370 | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 1371 | 1372 | [[package]] 1373 | name = "unicode-normalization" 1374 | version = "0.1.23" 1375 | source = "registry+https://github.com/rust-lang/crates.io-index" 1376 | checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" 1377 | dependencies = [ 1378 | "tinyvec", 1379 | ] 1380 | 1381 | [[package]] 1382 | name = "untrusted" 1383 | version = "0.9.0" 1384 | source = "registry+https://github.com/rust-lang/crates.io-index" 1385 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 1386 | 1387 | [[package]] 1388 | name = "url" 1389 | version = "2.5.2" 1390 | source = "registry+https://github.com/rust-lang/crates.io-index" 1391 | checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" 1392 | dependencies = [ 1393 | "form_urlencoded", 1394 | "idna", 1395 | "percent-encoding", 1396 | ] 1397 | 1398 | [[package]] 1399 | name = "uuid" 1400 | version = "1.9.0" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "3ea73390fe27785838dcbf75b91b1d84799e28f1ce71e6f372a5dc2200c80de5" 1403 | dependencies = [ 1404 | "getrandom", 1405 | ] 1406 | 1407 | [[package]] 1408 | name = "vcpkg" 1409 | version = "0.2.15" 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" 1411 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1412 | 1413 | [[package]] 1414 | name = "want" 1415 | version = "0.3.1" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1418 | dependencies = [ 1419 | "try-lock", 1420 | ] 1421 | 1422 | [[package]] 1423 | name = "wasi" 1424 | version = "0.11.0+wasi-snapshot-preview1" 1425 | source = "registry+https://github.com/rust-lang/crates.io-index" 1426 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1427 | 1428 | [[package]] 1429 | name = "wasm-bindgen" 1430 | version = "0.2.92" 1431 | source = "registry+https://github.com/rust-lang/crates.io-index" 1432 | checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 1433 | dependencies = [ 1434 | "cfg-if", 1435 | "wasm-bindgen-macro", 1436 | ] 1437 | 1438 | [[package]] 1439 | name = "wasm-bindgen-backend" 1440 | version = "0.2.92" 1441 | source = "registry+https://github.com/rust-lang/crates.io-index" 1442 | checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 1443 | dependencies = [ 1444 | "bumpalo", 1445 | "log", 1446 | "once_cell", 1447 | "proc-macro2", 1448 | "quote", 1449 | "syn", 1450 | "wasm-bindgen-shared", 1451 | ] 1452 | 1453 | [[package]] 1454 | name = "wasm-bindgen-futures" 1455 | version = "0.4.42" 1456 | source = "registry+https://github.com/rust-lang/crates.io-index" 1457 | checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" 1458 | dependencies = [ 1459 | "cfg-if", 1460 | "js-sys", 1461 | "wasm-bindgen", 1462 | "web-sys", 1463 | ] 1464 | 1465 | [[package]] 1466 | name = "wasm-bindgen-macro" 1467 | version = "0.2.92" 1468 | source = "registry+https://github.com/rust-lang/crates.io-index" 1469 | checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 1470 | dependencies = [ 1471 | "quote", 1472 | "wasm-bindgen-macro-support", 1473 | ] 1474 | 1475 | [[package]] 1476 | name = "wasm-bindgen-macro-support" 1477 | version = "0.2.92" 1478 | source = "registry+https://github.com/rust-lang/crates.io-index" 1479 | checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 1480 | dependencies = [ 1481 | "proc-macro2", 1482 | "quote", 1483 | "syn", 1484 | "wasm-bindgen-backend", 1485 | "wasm-bindgen-shared", 1486 | ] 1487 | 1488 | [[package]] 1489 | name = "wasm-bindgen-shared" 1490 | version = "0.2.92" 1491 | source = "registry+https://github.com/rust-lang/crates.io-index" 1492 | checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 1493 | 1494 | [[package]] 1495 | name = "wasm-streams" 1496 | version = "0.4.0" 1497 | source = "registry+https://github.com/rust-lang/crates.io-index" 1498 | checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" 1499 | dependencies = [ 1500 | "futures-util", 1501 | "js-sys", 1502 | "wasm-bindgen", 1503 | "wasm-bindgen-futures", 1504 | "web-sys", 1505 | ] 1506 | 1507 | [[package]] 1508 | name = "web-sys" 1509 | version = "0.3.69" 1510 | source = "registry+https://github.com/rust-lang/crates.io-index" 1511 | checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" 1512 | dependencies = [ 1513 | "js-sys", 1514 | "wasm-bindgen", 1515 | ] 1516 | 1517 | [[package]] 1518 | name = "webpki-roots" 1519 | version = "0.26.3" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" 1522 | dependencies = [ 1523 | "rustls-pki-types", 1524 | ] 1525 | 1526 | [[package]] 1527 | name = "windows-sys" 1528 | version = "0.48.0" 1529 | source = "registry+https://github.com/rust-lang/crates.io-index" 1530 | checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1531 | dependencies = [ 1532 | "windows-targets 0.48.5", 1533 | ] 1534 | 1535 | [[package]] 1536 | name = "windows-sys" 1537 | version = "0.52.0" 1538 | source = "registry+https://github.com/rust-lang/crates.io-index" 1539 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1540 | dependencies = [ 1541 | "windows-targets 0.52.5", 1542 | ] 1543 | 1544 | [[package]] 1545 | name = "windows-targets" 1546 | version = "0.48.5" 1547 | source = "registry+https://github.com/rust-lang/crates.io-index" 1548 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1549 | dependencies = [ 1550 | "windows_aarch64_gnullvm 0.48.5", 1551 | "windows_aarch64_msvc 0.48.5", 1552 | "windows_i686_gnu 0.48.5", 1553 | "windows_i686_msvc 0.48.5", 1554 | "windows_x86_64_gnu 0.48.5", 1555 | "windows_x86_64_gnullvm 0.48.5", 1556 | "windows_x86_64_msvc 0.48.5", 1557 | ] 1558 | 1559 | [[package]] 1560 | name = "windows-targets" 1561 | version = "0.52.5" 1562 | source = "registry+https://github.com/rust-lang/crates.io-index" 1563 | checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 1564 | dependencies = [ 1565 | "windows_aarch64_gnullvm 0.52.5", 1566 | "windows_aarch64_msvc 0.52.5", 1567 | "windows_i686_gnu 0.52.5", 1568 | "windows_i686_gnullvm", 1569 | "windows_i686_msvc 0.52.5", 1570 | "windows_x86_64_gnu 0.52.5", 1571 | "windows_x86_64_gnullvm 0.52.5", 1572 | "windows_x86_64_msvc 0.52.5", 1573 | ] 1574 | 1575 | [[package]] 1576 | name = "windows_aarch64_gnullvm" 1577 | version = "0.48.5" 1578 | source = "registry+https://github.com/rust-lang/crates.io-index" 1579 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1580 | 1581 | [[package]] 1582 | name = "windows_aarch64_gnullvm" 1583 | version = "0.52.5" 1584 | source = "registry+https://github.com/rust-lang/crates.io-index" 1585 | checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 1586 | 1587 | [[package]] 1588 | name = "windows_aarch64_msvc" 1589 | version = "0.48.5" 1590 | source = "registry+https://github.com/rust-lang/crates.io-index" 1591 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1592 | 1593 | [[package]] 1594 | name = "windows_aarch64_msvc" 1595 | version = "0.52.5" 1596 | source = "registry+https://github.com/rust-lang/crates.io-index" 1597 | checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 1598 | 1599 | [[package]] 1600 | name = "windows_i686_gnu" 1601 | version = "0.48.5" 1602 | source = "registry+https://github.com/rust-lang/crates.io-index" 1603 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1604 | 1605 | [[package]] 1606 | name = "windows_i686_gnu" 1607 | version = "0.52.5" 1608 | source = "registry+https://github.com/rust-lang/crates.io-index" 1609 | checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 1610 | 1611 | [[package]] 1612 | name = "windows_i686_gnullvm" 1613 | version = "0.52.5" 1614 | source = "registry+https://github.com/rust-lang/crates.io-index" 1615 | checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 1616 | 1617 | [[package]] 1618 | name = "windows_i686_msvc" 1619 | version = "0.48.5" 1620 | source = "registry+https://github.com/rust-lang/crates.io-index" 1621 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1622 | 1623 | [[package]] 1624 | name = "windows_i686_msvc" 1625 | version = "0.52.5" 1626 | source = "registry+https://github.com/rust-lang/crates.io-index" 1627 | checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 1628 | 1629 | [[package]] 1630 | name = "windows_x86_64_gnu" 1631 | version = "0.48.5" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1634 | 1635 | [[package]] 1636 | name = "windows_x86_64_gnu" 1637 | version = "0.52.5" 1638 | source = "registry+https://github.com/rust-lang/crates.io-index" 1639 | checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 1640 | 1641 | [[package]] 1642 | name = "windows_x86_64_gnullvm" 1643 | version = "0.48.5" 1644 | source = "registry+https://github.com/rust-lang/crates.io-index" 1645 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1646 | 1647 | [[package]] 1648 | name = "windows_x86_64_gnullvm" 1649 | version = "0.52.5" 1650 | source = "registry+https://github.com/rust-lang/crates.io-index" 1651 | checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 1652 | 1653 | [[package]] 1654 | name = "windows_x86_64_msvc" 1655 | version = "0.48.5" 1656 | source = "registry+https://github.com/rust-lang/crates.io-index" 1657 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 1658 | 1659 | [[package]] 1660 | name = "windows_x86_64_msvc" 1661 | version = "0.52.5" 1662 | source = "registry+https://github.com/rust-lang/crates.io-index" 1663 | checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 1664 | 1665 | [[package]] 1666 | name = "winreg" 1667 | version = "0.52.0" 1668 | source = "registry+https://github.com/rust-lang/crates.io-index" 1669 | checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" 1670 | dependencies = [ 1671 | "cfg-if", 1672 | "windows-sys 0.48.0", 1673 | ] 1674 | 1675 | [[package]] 1676 | name = "zeroize" 1677 | version = "1.8.1" 1678 | source = "registry+https://github.com/rust-lang/crates.io-index" 1679 | checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 1680 | -------------------------------------------------------------------------------- /frontend/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@codemirror/lang-rust': 12 | specifier: ^6.0.1 13 | version: 6.0.1 14 | '@fontsource-variable/inter': 15 | specifier: ^5.0.19 16 | version: 5.0.19 17 | lucide-svelte: 18 | specifier: ^0.408.0 19 | version: 0.408.0(svelte@4.2.18) 20 | paneforge: 21 | specifier: ^0.0.5 22 | version: 0.0.5(svelte@4.2.18) 23 | svelte-codemirror-editor: 24 | specifier: ^1.4.0 25 | version: 1.4.0(codemirror@6.0.1(@lezer/common@1.2.1))(svelte@4.2.18) 26 | zod: 27 | specifier: ^3.23.8 28 | version: 3.23.8 29 | devDependencies: 30 | '@sveltejs/adapter-auto': 31 | specifier: ^3.0.0 32 | version: 3.2.2(@sveltejs/kit@2.5.17(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1)) 33 | '@sveltejs/kit': 34 | specifier: ^2.0.0 35 | version: 2.5.17(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1) 36 | '@sveltejs/vite-plugin-svelte': 37 | specifier: ^3.0.0 38 | version: 3.1.1(svelte@4.2.18)(vite@5.3.1) 39 | '@types/eslint': 40 | specifier: ^8.56.7 41 | version: 8.56.10 42 | autoprefixer: 43 | specifier: ^10.4.19 44 | version: 10.4.19(postcss@8.4.38) 45 | eslint: 46 | specifier: ^9.0.0 47 | version: 9.5.0 48 | eslint-config-prettier: 49 | specifier: ^9.1.0 50 | version: 9.1.0(eslint@9.5.0) 51 | eslint-plugin-svelte: 52 | specifier: ^2.36.0 53 | version: 2.40.0(eslint@9.5.0)(svelte@4.2.18) 54 | globals: 55 | specifier: ^15.0.0 56 | version: 15.6.0 57 | postcss: 58 | specifier: ^8.4.38 59 | version: 8.4.38 60 | prettier: 61 | specifier: ^3.1.1 62 | version: 3.3.2 63 | prettier-plugin-svelte: 64 | specifier: ^3.1.2 65 | version: 3.2.5(prettier@3.3.2)(svelte@4.2.18) 66 | prettier-plugin-tailwindcss: 67 | specifier: ^0.6.5 68 | version: 0.6.5(prettier-plugin-svelte@3.2.5(prettier@3.3.2)(svelte@4.2.18))(prettier@3.3.2) 69 | svelte: 70 | specifier: ^4.2.7 71 | version: 4.2.18 72 | svelte-check: 73 | specifier: ^3.6.0 74 | version: 3.8.1(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.18) 75 | tailwindcss: 76 | specifier: ^3.4.4 77 | version: 3.4.4 78 | tslib: 79 | specifier: ^2.4.1 80 | version: 2.6.3 81 | typescript: 82 | specifier: ^5.0.0 83 | version: 5.5.2 84 | typescript-eslint: 85 | specifier: ^8.0.0-alpha.20 86 | version: 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 87 | vite: 88 | specifier: ^5.0.3 89 | version: 5.3.1 90 | 91 | packages: 92 | 93 | '@alloc/quick-lru@5.2.0': 94 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} 95 | engines: {node: '>=10'} 96 | 97 | '@ampproject/remapping@2.3.0': 98 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 99 | engines: {node: '>=6.0.0'} 100 | 101 | '@codemirror/autocomplete@6.16.3': 102 | resolution: {integrity: sha512-Vl/tIeRVVUCRDuOG48lttBasNQu8usGgXQawBXI7WJAiUDSFOfzflmEsZFZo48mAvAaa4FZ/4/yLLxFtdJaKYA==} 103 | peerDependencies: 104 | '@codemirror/language': ^6.0.0 105 | '@codemirror/state': ^6.0.0 106 | '@codemirror/view': ^6.0.0 107 | '@lezer/common': ^1.0.0 108 | 109 | '@codemirror/commands@6.6.0': 110 | resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==} 111 | 112 | '@codemirror/lang-rust@6.0.1': 113 | resolution: {integrity: sha512-344EMWFBzWArHWdZn/NcgkwMvZIWUR1GEBdwG8FEp++6o6vT6KL9V7vGs2ONsKxxFUPXKI0SPcWhyYyl2zPYxQ==} 114 | 115 | '@codemirror/language@6.10.2': 116 | resolution: {integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==} 117 | 118 | '@codemirror/lint@6.8.1': 119 | resolution: {integrity: sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==} 120 | 121 | '@codemirror/search@6.5.6': 122 | resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==} 123 | 124 | '@codemirror/state@6.4.1': 125 | resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} 126 | 127 | '@codemirror/view@6.28.3': 128 | resolution: {integrity: sha512-QVqP+ko078/h9yrW+u5grX3rQhC+BkGKADRrlDaJznfPngJOv5zObiVf0+SgAWhL/Yt0nvZ+10rO3L+gU5IbFw==} 129 | 130 | '@esbuild/aix-ppc64@0.21.5': 131 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 132 | engines: {node: '>=12'} 133 | cpu: [ppc64] 134 | os: [aix] 135 | 136 | '@esbuild/android-arm64@0.21.5': 137 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 138 | engines: {node: '>=12'} 139 | cpu: [arm64] 140 | os: [android] 141 | 142 | '@esbuild/android-arm@0.21.5': 143 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 144 | engines: {node: '>=12'} 145 | cpu: [arm] 146 | os: [android] 147 | 148 | '@esbuild/android-x64@0.21.5': 149 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 150 | engines: {node: '>=12'} 151 | cpu: [x64] 152 | os: [android] 153 | 154 | '@esbuild/darwin-arm64@0.21.5': 155 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 156 | engines: {node: '>=12'} 157 | cpu: [arm64] 158 | os: [darwin] 159 | 160 | '@esbuild/darwin-x64@0.21.5': 161 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 162 | engines: {node: '>=12'} 163 | cpu: [x64] 164 | os: [darwin] 165 | 166 | '@esbuild/freebsd-arm64@0.21.5': 167 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 168 | engines: {node: '>=12'} 169 | cpu: [arm64] 170 | os: [freebsd] 171 | 172 | '@esbuild/freebsd-x64@0.21.5': 173 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 174 | engines: {node: '>=12'} 175 | cpu: [x64] 176 | os: [freebsd] 177 | 178 | '@esbuild/linux-arm64@0.21.5': 179 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 180 | engines: {node: '>=12'} 181 | cpu: [arm64] 182 | os: [linux] 183 | 184 | '@esbuild/linux-arm@0.21.5': 185 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 186 | engines: {node: '>=12'} 187 | cpu: [arm] 188 | os: [linux] 189 | 190 | '@esbuild/linux-ia32@0.21.5': 191 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 192 | engines: {node: '>=12'} 193 | cpu: [ia32] 194 | os: [linux] 195 | 196 | '@esbuild/linux-loong64@0.21.5': 197 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 198 | engines: {node: '>=12'} 199 | cpu: [loong64] 200 | os: [linux] 201 | 202 | '@esbuild/linux-mips64el@0.21.5': 203 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 204 | engines: {node: '>=12'} 205 | cpu: [mips64el] 206 | os: [linux] 207 | 208 | '@esbuild/linux-ppc64@0.21.5': 209 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 210 | engines: {node: '>=12'} 211 | cpu: [ppc64] 212 | os: [linux] 213 | 214 | '@esbuild/linux-riscv64@0.21.5': 215 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 216 | engines: {node: '>=12'} 217 | cpu: [riscv64] 218 | os: [linux] 219 | 220 | '@esbuild/linux-s390x@0.21.5': 221 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 222 | engines: {node: '>=12'} 223 | cpu: [s390x] 224 | os: [linux] 225 | 226 | '@esbuild/linux-x64@0.21.5': 227 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 228 | engines: {node: '>=12'} 229 | cpu: [x64] 230 | os: [linux] 231 | 232 | '@esbuild/netbsd-x64@0.21.5': 233 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 234 | engines: {node: '>=12'} 235 | cpu: [x64] 236 | os: [netbsd] 237 | 238 | '@esbuild/openbsd-x64@0.21.5': 239 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 240 | engines: {node: '>=12'} 241 | cpu: [x64] 242 | os: [openbsd] 243 | 244 | '@esbuild/sunos-x64@0.21.5': 245 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 246 | engines: {node: '>=12'} 247 | cpu: [x64] 248 | os: [sunos] 249 | 250 | '@esbuild/win32-arm64@0.21.5': 251 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 252 | engines: {node: '>=12'} 253 | cpu: [arm64] 254 | os: [win32] 255 | 256 | '@esbuild/win32-ia32@0.21.5': 257 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 258 | engines: {node: '>=12'} 259 | cpu: [ia32] 260 | os: [win32] 261 | 262 | '@esbuild/win32-x64@0.21.5': 263 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 264 | engines: {node: '>=12'} 265 | cpu: [x64] 266 | os: [win32] 267 | 268 | '@eslint-community/eslint-utils@4.4.0': 269 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 270 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 271 | peerDependencies: 272 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 273 | 274 | '@eslint-community/regexpp@4.10.1': 275 | resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} 276 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 277 | 278 | '@eslint/config-array@0.16.0': 279 | resolution: {integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==} 280 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 281 | 282 | '@eslint/eslintrc@3.1.0': 283 | resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} 284 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 285 | 286 | '@eslint/js@9.5.0': 287 | resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} 288 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 289 | 290 | '@eslint/object-schema@2.1.4': 291 | resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} 292 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 293 | 294 | '@fontsource-variable/inter@5.0.19': 295 | resolution: {integrity: sha512-V5KPpF5o0sI1uNWAdFArC87NDOb/ZJDPXLomEiKmDCYMlDUCTn2flkuAZkyME2rtGOKO7vzCuDJAND0m/5PhDA==} 296 | 297 | '@humanwhocodes/module-importer@1.0.1': 298 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 299 | engines: {node: '>=12.22'} 300 | 301 | '@humanwhocodes/retry@0.3.0': 302 | resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} 303 | engines: {node: '>=18.18'} 304 | 305 | '@isaacs/cliui@8.0.2': 306 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 307 | engines: {node: '>=12'} 308 | 309 | '@jridgewell/gen-mapping@0.3.5': 310 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 311 | engines: {node: '>=6.0.0'} 312 | 313 | '@jridgewell/resolve-uri@3.1.2': 314 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 315 | engines: {node: '>=6.0.0'} 316 | 317 | '@jridgewell/set-array@1.2.1': 318 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 319 | engines: {node: '>=6.0.0'} 320 | 321 | '@jridgewell/sourcemap-codec@1.4.15': 322 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 323 | 324 | '@jridgewell/trace-mapping@0.3.25': 325 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 326 | 327 | '@lezer/common@1.2.1': 328 | resolution: {integrity: sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==} 329 | 330 | '@lezer/highlight@1.2.0': 331 | resolution: {integrity: sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==} 332 | 333 | '@lezer/lr@1.4.1': 334 | resolution: {integrity: sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==} 335 | 336 | '@lezer/rust@1.0.2': 337 | resolution: {integrity: sha512-Lz5sIPBdF2FUXcWeCu1//ojFAZqzTQNRga0aYv6dYXqJqPfMdCAI0NzajWUd4Xijj1IKJLtjoXRPMvTKWBcqKg==} 338 | 339 | '@nodelib/fs.scandir@2.1.5': 340 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 341 | engines: {node: '>= 8'} 342 | 343 | '@nodelib/fs.stat@2.0.5': 344 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 345 | engines: {node: '>= 8'} 346 | 347 | '@nodelib/fs.walk@1.2.8': 348 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 349 | engines: {node: '>= 8'} 350 | 351 | '@pkgjs/parseargs@0.11.0': 352 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 353 | engines: {node: '>=14'} 354 | 355 | '@polka/url@1.0.0-next.25': 356 | resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} 357 | 358 | '@rollup/rollup-android-arm-eabi@4.18.0': 359 | resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} 360 | cpu: [arm] 361 | os: [android] 362 | 363 | '@rollup/rollup-android-arm64@4.18.0': 364 | resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} 365 | cpu: [arm64] 366 | os: [android] 367 | 368 | '@rollup/rollup-darwin-arm64@4.18.0': 369 | resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} 370 | cpu: [arm64] 371 | os: [darwin] 372 | 373 | '@rollup/rollup-darwin-x64@4.18.0': 374 | resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} 375 | cpu: [x64] 376 | os: [darwin] 377 | 378 | '@rollup/rollup-linux-arm-gnueabihf@4.18.0': 379 | resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} 380 | cpu: [arm] 381 | os: [linux] 382 | 383 | '@rollup/rollup-linux-arm-musleabihf@4.18.0': 384 | resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} 385 | cpu: [arm] 386 | os: [linux] 387 | 388 | '@rollup/rollup-linux-arm64-gnu@4.18.0': 389 | resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} 390 | cpu: [arm64] 391 | os: [linux] 392 | 393 | '@rollup/rollup-linux-arm64-musl@4.18.0': 394 | resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} 395 | cpu: [arm64] 396 | os: [linux] 397 | 398 | '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': 399 | resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} 400 | cpu: [ppc64] 401 | os: [linux] 402 | 403 | '@rollup/rollup-linux-riscv64-gnu@4.18.0': 404 | resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} 405 | cpu: [riscv64] 406 | os: [linux] 407 | 408 | '@rollup/rollup-linux-s390x-gnu@4.18.0': 409 | resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} 410 | cpu: [s390x] 411 | os: [linux] 412 | 413 | '@rollup/rollup-linux-x64-gnu@4.18.0': 414 | resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} 415 | cpu: [x64] 416 | os: [linux] 417 | 418 | '@rollup/rollup-linux-x64-musl@4.18.0': 419 | resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} 420 | cpu: [x64] 421 | os: [linux] 422 | 423 | '@rollup/rollup-win32-arm64-msvc@4.18.0': 424 | resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} 425 | cpu: [arm64] 426 | os: [win32] 427 | 428 | '@rollup/rollup-win32-ia32-msvc@4.18.0': 429 | resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} 430 | cpu: [ia32] 431 | os: [win32] 432 | 433 | '@rollup/rollup-win32-x64-msvc@4.18.0': 434 | resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} 435 | cpu: [x64] 436 | os: [win32] 437 | 438 | '@sveltejs/adapter-auto@3.2.2': 439 | resolution: {integrity: sha512-Mso5xPCA8zgcKrv+QioVlqMZkyUQ5MjDJiEPuG/Z7cV/5tmwV7LmcVWk5tZ+H0NCOV1x12AsoSpt/CwFwuVXMA==} 440 | peerDependencies: 441 | '@sveltejs/kit': ^2.0.0 442 | 443 | '@sveltejs/kit@2.5.17': 444 | resolution: {integrity: sha512-wiADwq7VreR3ctOyxilAZOfPz3Jiy2IIp2C8gfafhTdQaVuGIHllfqQm8dXZKADymKr3uShxzgLZFT+a+CM4kA==} 445 | engines: {node: '>=18.13'} 446 | hasBin: true 447 | peerDependencies: 448 | '@sveltejs/vite-plugin-svelte': ^3.0.0 449 | svelte: ^4.0.0 || ^5.0.0-next.0 450 | vite: ^5.0.3 451 | 452 | '@sveltejs/vite-plugin-svelte-inspector@2.1.0': 453 | resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==} 454 | engines: {node: ^18.0.0 || >=20} 455 | peerDependencies: 456 | '@sveltejs/vite-plugin-svelte': ^3.0.0 457 | svelte: ^4.0.0 || ^5.0.0-next.0 458 | vite: ^5.0.0 459 | 460 | '@sveltejs/vite-plugin-svelte@3.1.1': 461 | resolution: {integrity: sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==} 462 | engines: {node: ^18.0.0 || >=20} 463 | peerDependencies: 464 | svelte: ^4.0.0 || ^5.0.0-next.0 465 | vite: ^5.0.0 466 | 467 | '@types/cookie@0.6.0': 468 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 469 | 470 | '@types/eslint@8.56.10': 471 | resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} 472 | 473 | '@types/estree@1.0.5': 474 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 475 | 476 | '@types/json-schema@7.0.15': 477 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 478 | 479 | '@types/pug@2.0.10': 480 | resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} 481 | 482 | '@typescript-eslint/eslint-plugin@8.0.0-alpha.30': 483 | resolution: {integrity: sha512-2CBUupdkfbE3eATph4QeZejvT+M+1bVur+zXlVx09WN31phap51ps/qemeclnCbGEz6kTgBDmScrr9XmmF8/Pg==} 484 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 485 | peerDependencies: 486 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 487 | eslint: ^8.57.0 || ^9.0.0 488 | typescript: '*' 489 | peerDependenciesMeta: 490 | typescript: 491 | optional: true 492 | 493 | '@typescript-eslint/parser@8.0.0-alpha.30': 494 | resolution: {integrity: sha512-tAYgFmgXU1MlCK3nbblUvJlDSibBvxtAQXGrF3IG0KmnRza9FXILZifHWL0rrwacDn40K53K607Fk2QkMjiGgw==} 495 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 496 | peerDependencies: 497 | eslint: ^8.57.0 || ^9.0.0 498 | typescript: '*' 499 | peerDependenciesMeta: 500 | typescript: 501 | optional: true 502 | 503 | '@typescript-eslint/scope-manager@8.0.0-alpha.30': 504 | resolution: {integrity: sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg==} 505 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 506 | 507 | '@typescript-eslint/type-utils@8.0.0-alpha.30': 508 | resolution: {integrity: sha512-FrnhlCKEKZKRbpDviHkIU9tayIUGTOfa+SjvrRv6p/AJIUv6QT8oRboRjLH/cCuwUEbM0k5UtRWYug4albHUqQ==} 509 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 510 | peerDependencies: 511 | typescript: '*' 512 | peerDependenciesMeta: 513 | typescript: 514 | optional: true 515 | 516 | '@typescript-eslint/types@8.0.0-alpha.30': 517 | resolution: {integrity: sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg==} 518 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 519 | 520 | '@typescript-eslint/typescript-estree@8.0.0-alpha.30': 521 | resolution: {integrity: sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q==} 522 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 523 | peerDependencies: 524 | typescript: '*' 525 | peerDependenciesMeta: 526 | typescript: 527 | optional: true 528 | 529 | '@typescript-eslint/utils@8.0.0-alpha.30': 530 | resolution: {integrity: sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g==} 531 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 532 | peerDependencies: 533 | eslint: ^8.57.0 || ^9.0.0 534 | 535 | '@typescript-eslint/visitor-keys@8.0.0-alpha.30': 536 | resolution: {integrity: sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA==} 537 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 538 | 539 | acorn-jsx@5.3.2: 540 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 541 | peerDependencies: 542 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 543 | 544 | acorn@8.12.0: 545 | resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} 546 | engines: {node: '>=0.4.0'} 547 | hasBin: true 548 | 549 | ajv@6.12.6: 550 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 551 | 552 | ansi-regex@5.0.1: 553 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 554 | engines: {node: '>=8'} 555 | 556 | ansi-regex@6.0.1: 557 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 558 | engines: {node: '>=12'} 559 | 560 | ansi-styles@4.3.0: 561 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 562 | engines: {node: '>=8'} 563 | 564 | ansi-styles@6.2.1: 565 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 566 | engines: {node: '>=12'} 567 | 568 | any-promise@1.3.0: 569 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 570 | 571 | anymatch@3.1.3: 572 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 573 | engines: {node: '>= 8'} 574 | 575 | arg@5.0.2: 576 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} 577 | 578 | argparse@2.0.1: 579 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 580 | 581 | aria-query@5.3.0: 582 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 583 | 584 | array-union@2.1.0: 585 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 586 | engines: {node: '>=8'} 587 | 588 | autoprefixer@10.4.19: 589 | resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} 590 | engines: {node: ^10 || ^12 || >=14} 591 | hasBin: true 592 | peerDependencies: 593 | postcss: ^8.1.0 594 | 595 | axobject-query@4.0.0: 596 | resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} 597 | 598 | balanced-match@1.0.2: 599 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 600 | 601 | binary-extensions@2.3.0: 602 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 603 | engines: {node: '>=8'} 604 | 605 | brace-expansion@1.1.11: 606 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 607 | 608 | brace-expansion@2.0.1: 609 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 610 | 611 | braces@3.0.3: 612 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 613 | engines: {node: '>=8'} 614 | 615 | browserslist@4.23.1: 616 | resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} 617 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 618 | hasBin: true 619 | 620 | buffer-crc32@1.0.0: 621 | resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} 622 | engines: {node: '>=8.0.0'} 623 | 624 | callsites@3.1.0: 625 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 626 | engines: {node: '>=6'} 627 | 628 | camelcase-css@2.0.1: 629 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} 630 | engines: {node: '>= 6'} 631 | 632 | caniuse-lite@1.0.30001636: 633 | resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} 634 | 635 | chalk@4.1.2: 636 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 637 | engines: {node: '>=10'} 638 | 639 | chokidar@3.6.0: 640 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 641 | engines: {node: '>= 8.10.0'} 642 | 643 | code-red@1.0.4: 644 | resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} 645 | 646 | codemirror@6.0.1: 647 | resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} 648 | 649 | color-convert@2.0.1: 650 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 651 | engines: {node: '>=7.0.0'} 652 | 653 | color-name@1.1.4: 654 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 655 | 656 | commander@4.1.1: 657 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 658 | engines: {node: '>= 6'} 659 | 660 | concat-map@0.0.1: 661 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 662 | 663 | cookie@0.6.0: 664 | resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} 665 | engines: {node: '>= 0.6'} 666 | 667 | crelt@1.0.6: 668 | resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} 669 | 670 | cross-spawn@7.0.3: 671 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 672 | engines: {node: '>= 8'} 673 | 674 | css-tree@2.3.1: 675 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 676 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 677 | 678 | cssesc@3.0.0: 679 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 680 | engines: {node: '>=4'} 681 | hasBin: true 682 | 683 | debug@4.3.5: 684 | resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} 685 | engines: {node: '>=6.0'} 686 | peerDependencies: 687 | supports-color: '*' 688 | peerDependenciesMeta: 689 | supports-color: 690 | optional: true 691 | 692 | deep-is@0.1.4: 693 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 694 | 695 | deepmerge@4.3.1: 696 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 697 | engines: {node: '>=0.10.0'} 698 | 699 | dequal@2.0.3: 700 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 701 | engines: {node: '>=6'} 702 | 703 | detect-indent@6.1.0: 704 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 705 | engines: {node: '>=8'} 706 | 707 | devalue@5.0.0: 708 | resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} 709 | 710 | didyoumean@1.2.2: 711 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} 712 | 713 | dir-glob@3.0.1: 714 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 715 | engines: {node: '>=8'} 716 | 717 | dlv@1.1.3: 718 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} 719 | 720 | eastasianwidth@0.2.0: 721 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 722 | 723 | electron-to-chromium@1.4.808: 724 | resolution: {integrity: sha512-0ItWyhPYnww2VOuCGF4s1LTfbrdAV2ajy/TN+ZTuhR23AHI6rWHCrBXJ/uxoXOvRRqw8qjYVrG81HFI7x/2wdQ==} 725 | 726 | emoji-regex@8.0.0: 727 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 728 | 729 | emoji-regex@9.2.2: 730 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 731 | 732 | es6-promise@3.3.1: 733 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} 734 | 735 | esbuild@0.21.5: 736 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 737 | engines: {node: '>=12'} 738 | hasBin: true 739 | 740 | escalade@3.1.2: 741 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 742 | engines: {node: '>=6'} 743 | 744 | escape-string-regexp@4.0.0: 745 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 746 | engines: {node: '>=10'} 747 | 748 | eslint-compat-utils@0.5.1: 749 | resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} 750 | engines: {node: '>=12'} 751 | peerDependencies: 752 | eslint: '>=6.0.0' 753 | 754 | eslint-config-prettier@9.1.0: 755 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} 756 | hasBin: true 757 | peerDependencies: 758 | eslint: '>=7.0.0' 759 | 760 | eslint-plugin-svelte@2.40.0: 761 | resolution: {integrity: sha512-JuOzmfVaMeEkBASL7smHu3tIU4D9rWkHuRNV+zm/5zgAwiZVvxrXM7TcfIOS+U7VXOr4uCZuE+kZTVTzS0IE+Q==} 762 | engines: {node: ^14.17.0 || >=16.0.0} 763 | peerDependencies: 764 | eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 765 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.155 766 | peerDependenciesMeta: 767 | svelte: 768 | optional: true 769 | 770 | eslint-scope@7.2.2: 771 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} 772 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 773 | 774 | eslint-scope@8.0.1: 775 | resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} 776 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 777 | 778 | eslint-visitor-keys@3.4.3: 779 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 780 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 781 | 782 | eslint-visitor-keys@4.0.0: 783 | resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} 784 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 785 | 786 | eslint@9.5.0: 787 | resolution: {integrity: sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==} 788 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 789 | hasBin: true 790 | 791 | esm-env@1.0.0: 792 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} 793 | 794 | espree@10.1.0: 795 | resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} 796 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 797 | 798 | espree@9.6.1: 799 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 800 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 801 | 802 | esquery@1.5.0: 803 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 804 | engines: {node: '>=0.10'} 805 | 806 | esrecurse@4.3.0: 807 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 808 | engines: {node: '>=4.0'} 809 | 810 | estraverse@5.3.0: 811 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 812 | engines: {node: '>=4.0'} 813 | 814 | estree-walker@3.0.3: 815 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 816 | 817 | esutils@2.0.3: 818 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 819 | engines: {node: '>=0.10.0'} 820 | 821 | fast-deep-equal@3.1.3: 822 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 823 | 824 | fast-glob@3.3.2: 825 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 826 | engines: {node: '>=8.6.0'} 827 | 828 | fast-json-stable-stringify@2.1.0: 829 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 830 | 831 | fast-levenshtein@2.0.6: 832 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 833 | 834 | fastq@1.17.1: 835 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 836 | 837 | file-entry-cache@8.0.0: 838 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 839 | engines: {node: '>=16.0.0'} 840 | 841 | fill-range@7.1.1: 842 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 843 | engines: {node: '>=8'} 844 | 845 | find-up@5.0.0: 846 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 847 | engines: {node: '>=10'} 848 | 849 | flat-cache@4.0.1: 850 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 851 | engines: {node: '>=16'} 852 | 853 | flatted@3.3.1: 854 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 855 | 856 | foreground-child@3.2.1: 857 | resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} 858 | engines: {node: '>=14'} 859 | 860 | fraction.js@4.3.7: 861 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 862 | 863 | fs.realpath@1.0.0: 864 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 865 | 866 | fsevents@2.3.3: 867 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 868 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 869 | os: [darwin] 870 | 871 | function-bind@1.1.2: 872 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 873 | 874 | glob-parent@5.1.2: 875 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 876 | engines: {node: '>= 6'} 877 | 878 | glob-parent@6.0.2: 879 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 880 | engines: {node: '>=10.13.0'} 881 | 882 | glob@10.4.2: 883 | resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} 884 | engines: {node: '>=16 || 14 >=14.18'} 885 | hasBin: true 886 | 887 | glob@7.2.3: 888 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 889 | deprecated: Glob versions prior to v9 are no longer supported 890 | 891 | globals@14.0.0: 892 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 893 | engines: {node: '>=18'} 894 | 895 | globals@15.6.0: 896 | resolution: {integrity: sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==} 897 | engines: {node: '>=18'} 898 | 899 | globalyzer@0.1.0: 900 | resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} 901 | 902 | globby@11.1.0: 903 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 904 | engines: {node: '>=10'} 905 | 906 | globrex@0.1.2: 907 | resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} 908 | 909 | graceful-fs@4.2.11: 910 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 911 | 912 | graphemer@1.4.0: 913 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 914 | 915 | has-flag@4.0.0: 916 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 917 | engines: {node: '>=8'} 918 | 919 | hasown@2.0.2: 920 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 921 | engines: {node: '>= 0.4'} 922 | 923 | ignore@5.3.1: 924 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 925 | engines: {node: '>= 4'} 926 | 927 | import-fresh@3.3.0: 928 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 929 | engines: {node: '>=6'} 930 | 931 | import-meta-resolve@4.1.0: 932 | resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} 933 | 934 | imurmurhash@0.1.4: 935 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 936 | engines: {node: '>=0.8.19'} 937 | 938 | inflight@1.0.6: 939 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 940 | 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. 941 | 942 | inherits@2.0.4: 943 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 944 | 945 | is-binary-path@2.1.0: 946 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 947 | engines: {node: '>=8'} 948 | 949 | is-core-module@2.14.0: 950 | resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} 951 | engines: {node: '>= 0.4'} 952 | 953 | is-extglob@2.1.1: 954 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 955 | engines: {node: '>=0.10.0'} 956 | 957 | is-fullwidth-code-point@3.0.0: 958 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 959 | engines: {node: '>=8'} 960 | 961 | is-glob@4.0.3: 962 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 963 | engines: {node: '>=0.10.0'} 964 | 965 | is-number@7.0.0: 966 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 967 | engines: {node: '>=0.12.0'} 968 | 969 | is-path-inside@3.0.3: 970 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 971 | engines: {node: '>=8'} 972 | 973 | is-reference@3.0.2: 974 | resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} 975 | 976 | isexe@2.0.0: 977 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 978 | 979 | jackspeak@3.4.0: 980 | resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} 981 | engines: {node: '>=14'} 982 | 983 | jiti@1.21.6: 984 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} 985 | hasBin: true 986 | 987 | js-yaml@4.1.0: 988 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 989 | hasBin: true 990 | 991 | json-buffer@3.0.1: 992 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 993 | 994 | json-schema-traverse@0.4.1: 995 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 996 | 997 | json-stable-stringify-without-jsonify@1.0.1: 998 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 999 | 1000 | keyv@4.5.4: 1001 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1002 | 1003 | kleur@4.1.5: 1004 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1005 | engines: {node: '>=6'} 1006 | 1007 | known-css-properties@0.32.0: 1008 | resolution: {integrity: sha512-PXuex21brpp7qENI143ZL5cWQcMR4IZVeeZv9ew6dg+bZX2xRUu/NzGKudZJY5DO4APiMkNPYIF8VGIdY08Tdw==} 1009 | 1010 | levn@0.4.1: 1011 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1012 | engines: {node: '>= 0.8.0'} 1013 | 1014 | lilconfig@2.1.0: 1015 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1016 | engines: {node: '>=10'} 1017 | 1018 | lilconfig@3.1.2: 1019 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 1020 | engines: {node: '>=14'} 1021 | 1022 | lines-and-columns@1.2.4: 1023 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1024 | 1025 | locate-character@3.0.0: 1026 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 1027 | 1028 | locate-path@6.0.0: 1029 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1030 | engines: {node: '>=10'} 1031 | 1032 | lodash.merge@4.6.2: 1033 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1034 | 1035 | lru-cache@10.2.2: 1036 | resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} 1037 | engines: {node: 14 || >=16.14} 1038 | 1039 | lucide-svelte@0.408.0: 1040 | resolution: {integrity: sha512-5rJvcnHvE+K/2ebff/tKvG1FmIut01hDUaibMk6pG2Je+82TCPflVvhMvgCjP0fkM0ztj5t/ma1s5WYyketOSA==} 1041 | peerDependencies: 1042 | svelte: ^3 || ^4 || ^5.0.0-next.42 1043 | 1044 | magic-string@0.30.10: 1045 | resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} 1046 | 1047 | mdn-data@2.0.30: 1048 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 1049 | 1050 | merge2@1.4.1: 1051 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1052 | engines: {node: '>= 8'} 1053 | 1054 | micromatch@4.0.7: 1055 | resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} 1056 | engines: {node: '>=8.6'} 1057 | 1058 | min-indent@1.0.1: 1059 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1060 | engines: {node: '>=4'} 1061 | 1062 | minimatch@3.1.2: 1063 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1064 | 1065 | minimatch@9.0.4: 1066 | resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} 1067 | engines: {node: '>=16 || 14 >=14.17'} 1068 | 1069 | minimist@1.2.8: 1070 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1071 | 1072 | minipass@7.1.2: 1073 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1074 | engines: {node: '>=16 || 14 >=14.17'} 1075 | 1076 | mkdirp@0.5.6: 1077 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 1078 | hasBin: true 1079 | 1080 | mri@1.2.0: 1081 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1082 | engines: {node: '>=4'} 1083 | 1084 | mrmime@2.0.0: 1085 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 1086 | engines: {node: '>=10'} 1087 | 1088 | ms@2.1.2: 1089 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1090 | 1091 | mz@2.7.0: 1092 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1093 | 1094 | nanoid@3.3.7: 1095 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1096 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1097 | hasBin: true 1098 | 1099 | nanoid@5.0.7: 1100 | resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} 1101 | engines: {node: ^18 || >=20} 1102 | hasBin: true 1103 | 1104 | natural-compare@1.4.0: 1105 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1106 | 1107 | node-releases@2.0.14: 1108 | resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} 1109 | 1110 | normalize-path@3.0.0: 1111 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1112 | engines: {node: '>=0.10.0'} 1113 | 1114 | normalize-range@0.1.2: 1115 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1116 | engines: {node: '>=0.10.0'} 1117 | 1118 | object-assign@4.1.1: 1119 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1120 | engines: {node: '>=0.10.0'} 1121 | 1122 | object-hash@3.0.0: 1123 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} 1124 | engines: {node: '>= 6'} 1125 | 1126 | once@1.4.0: 1127 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1128 | 1129 | optionator@0.9.4: 1130 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1131 | engines: {node: '>= 0.8.0'} 1132 | 1133 | p-limit@3.1.0: 1134 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1135 | engines: {node: '>=10'} 1136 | 1137 | p-locate@5.0.0: 1138 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1139 | engines: {node: '>=10'} 1140 | 1141 | package-json-from-dist@1.0.0: 1142 | resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} 1143 | 1144 | paneforge@0.0.5: 1145 | resolution: {integrity: sha512-98QHobaN/KeQhqqglbvjUmNCTRC4h4iqDxpSV8jCGhRLttgGlRXZNzWNr4Firni5rwasAZjOza0k/JdwppB/AQ==} 1146 | peerDependencies: 1147 | svelte: ^4.0.0 || ^5.0.0-next.1 1148 | 1149 | parent-module@1.0.1: 1150 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1151 | engines: {node: '>=6'} 1152 | 1153 | path-exists@4.0.0: 1154 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1155 | engines: {node: '>=8'} 1156 | 1157 | path-is-absolute@1.0.1: 1158 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1159 | engines: {node: '>=0.10.0'} 1160 | 1161 | path-key@3.1.1: 1162 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1163 | engines: {node: '>=8'} 1164 | 1165 | path-parse@1.0.7: 1166 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1167 | 1168 | path-scurry@1.11.1: 1169 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1170 | engines: {node: '>=16 || 14 >=14.18'} 1171 | 1172 | path-type@4.0.0: 1173 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1174 | engines: {node: '>=8'} 1175 | 1176 | periscopic@3.1.0: 1177 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} 1178 | 1179 | picocolors@1.0.1: 1180 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 1181 | 1182 | picomatch@2.3.1: 1183 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1184 | engines: {node: '>=8.6'} 1185 | 1186 | pify@2.3.0: 1187 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1188 | engines: {node: '>=0.10.0'} 1189 | 1190 | pirates@4.0.6: 1191 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1192 | engines: {node: '>= 6'} 1193 | 1194 | postcss-import@15.1.0: 1195 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} 1196 | engines: {node: '>=14.0.0'} 1197 | peerDependencies: 1198 | postcss: ^8.0.0 1199 | 1200 | postcss-js@4.0.1: 1201 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} 1202 | engines: {node: ^12 || ^14 || >= 16} 1203 | peerDependencies: 1204 | postcss: ^8.4.21 1205 | 1206 | postcss-load-config@3.1.4: 1207 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1208 | engines: {node: '>= 10'} 1209 | peerDependencies: 1210 | postcss: '>=8.0.9' 1211 | ts-node: '>=9.0.0' 1212 | peerDependenciesMeta: 1213 | postcss: 1214 | optional: true 1215 | ts-node: 1216 | optional: true 1217 | 1218 | postcss-load-config@4.0.2: 1219 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1220 | engines: {node: '>= 14'} 1221 | peerDependencies: 1222 | postcss: '>=8.0.9' 1223 | ts-node: '>=9.0.0' 1224 | peerDependenciesMeta: 1225 | postcss: 1226 | optional: true 1227 | ts-node: 1228 | optional: true 1229 | 1230 | postcss-nested@6.0.1: 1231 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} 1232 | engines: {node: '>=12.0'} 1233 | peerDependencies: 1234 | postcss: ^8.2.14 1235 | 1236 | postcss-safe-parser@6.0.0: 1237 | resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} 1238 | engines: {node: '>=12.0'} 1239 | peerDependencies: 1240 | postcss: ^8.3.3 1241 | 1242 | postcss-scss@4.0.9: 1243 | resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} 1244 | engines: {node: '>=12.0'} 1245 | peerDependencies: 1246 | postcss: ^8.4.29 1247 | 1248 | postcss-selector-parser@6.1.0: 1249 | resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} 1250 | engines: {node: '>=4'} 1251 | 1252 | postcss-value-parser@4.2.0: 1253 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1254 | 1255 | postcss@8.4.38: 1256 | resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} 1257 | engines: {node: ^10 || ^12 || >=14} 1258 | 1259 | prelude-ls@1.2.1: 1260 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1261 | engines: {node: '>= 0.8.0'} 1262 | 1263 | prettier-plugin-svelte@3.2.5: 1264 | resolution: {integrity: sha512-vP/M/Goc8z4iVIvrwXwbrYVjJgA0Hf8PO1G4LBh/ocSt6vUP6sLvyu9F3ABEGr+dbKyxZjEKLkeFsWy/yYl0HQ==} 1265 | peerDependencies: 1266 | prettier: ^3.0.0 1267 | svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 1268 | 1269 | prettier-plugin-tailwindcss@0.6.5: 1270 | resolution: {integrity: sha512-axfeOArc/RiGHjOIy9HytehlC0ZLeMaqY09mm8YCkMzznKiDkwFzOpBvtuhuv3xG5qB73+Mj7OCe2j/L1ryfuQ==} 1271 | engines: {node: '>=14.21.3'} 1272 | peerDependencies: 1273 | '@ianvs/prettier-plugin-sort-imports': '*' 1274 | '@prettier/plugin-pug': '*' 1275 | '@shopify/prettier-plugin-liquid': '*' 1276 | '@trivago/prettier-plugin-sort-imports': '*' 1277 | '@zackad/prettier-plugin-twig-melody': '*' 1278 | prettier: ^3.0 1279 | prettier-plugin-astro: '*' 1280 | prettier-plugin-css-order: '*' 1281 | prettier-plugin-import-sort: '*' 1282 | prettier-plugin-jsdoc: '*' 1283 | prettier-plugin-marko: '*' 1284 | prettier-plugin-organize-attributes: '*' 1285 | prettier-plugin-organize-imports: '*' 1286 | prettier-plugin-sort-imports: '*' 1287 | prettier-plugin-style-order: '*' 1288 | prettier-plugin-svelte: '*' 1289 | peerDependenciesMeta: 1290 | '@ianvs/prettier-plugin-sort-imports': 1291 | optional: true 1292 | '@prettier/plugin-pug': 1293 | optional: true 1294 | '@shopify/prettier-plugin-liquid': 1295 | optional: true 1296 | '@trivago/prettier-plugin-sort-imports': 1297 | optional: true 1298 | '@zackad/prettier-plugin-twig-melody': 1299 | optional: true 1300 | prettier-plugin-astro: 1301 | optional: true 1302 | prettier-plugin-css-order: 1303 | optional: true 1304 | prettier-plugin-import-sort: 1305 | optional: true 1306 | prettier-plugin-jsdoc: 1307 | optional: true 1308 | prettier-plugin-marko: 1309 | optional: true 1310 | prettier-plugin-organize-attributes: 1311 | optional: true 1312 | prettier-plugin-organize-imports: 1313 | optional: true 1314 | prettier-plugin-sort-imports: 1315 | optional: true 1316 | prettier-plugin-style-order: 1317 | optional: true 1318 | prettier-plugin-svelte: 1319 | optional: true 1320 | 1321 | prettier@3.3.2: 1322 | resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} 1323 | engines: {node: '>=14'} 1324 | hasBin: true 1325 | 1326 | punycode@2.3.1: 1327 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1328 | engines: {node: '>=6'} 1329 | 1330 | queue-microtask@1.2.3: 1331 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1332 | 1333 | read-cache@1.0.0: 1334 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} 1335 | 1336 | readdirp@3.6.0: 1337 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1338 | engines: {node: '>=8.10.0'} 1339 | 1340 | resolve-from@4.0.0: 1341 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1342 | engines: {node: '>=4'} 1343 | 1344 | resolve@1.22.8: 1345 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1346 | hasBin: true 1347 | 1348 | reusify@1.0.4: 1349 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1350 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1351 | 1352 | rimraf@2.7.1: 1353 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} 1354 | deprecated: Rimraf versions prior to v4 are no longer supported 1355 | hasBin: true 1356 | 1357 | rollup@4.18.0: 1358 | resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} 1359 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1360 | hasBin: true 1361 | 1362 | run-parallel@1.2.0: 1363 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1364 | 1365 | sade@1.8.1: 1366 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 1367 | engines: {node: '>=6'} 1368 | 1369 | sander@0.5.1: 1370 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} 1371 | 1372 | semver@7.6.2: 1373 | resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} 1374 | engines: {node: '>=10'} 1375 | hasBin: true 1376 | 1377 | set-cookie-parser@2.6.0: 1378 | resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} 1379 | 1380 | shebang-command@2.0.0: 1381 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1382 | engines: {node: '>=8'} 1383 | 1384 | shebang-regex@3.0.0: 1385 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1386 | engines: {node: '>=8'} 1387 | 1388 | signal-exit@4.1.0: 1389 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1390 | engines: {node: '>=14'} 1391 | 1392 | sirv@2.0.4: 1393 | resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} 1394 | engines: {node: '>= 10'} 1395 | 1396 | slash@3.0.0: 1397 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1398 | engines: {node: '>=8'} 1399 | 1400 | sorcery@0.11.1: 1401 | resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} 1402 | hasBin: true 1403 | 1404 | source-map-js@1.2.0: 1405 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 1406 | engines: {node: '>=0.10.0'} 1407 | 1408 | string-width@4.2.3: 1409 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1410 | engines: {node: '>=8'} 1411 | 1412 | string-width@5.1.2: 1413 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1414 | engines: {node: '>=12'} 1415 | 1416 | strip-ansi@6.0.1: 1417 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1418 | engines: {node: '>=8'} 1419 | 1420 | strip-ansi@7.1.0: 1421 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1422 | engines: {node: '>=12'} 1423 | 1424 | strip-indent@3.0.0: 1425 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 1426 | engines: {node: '>=8'} 1427 | 1428 | strip-json-comments@3.1.1: 1429 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1430 | engines: {node: '>=8'} 1431 | 1432 | style-mod@4.1.2: 1433 | resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} 1434 | 1435 | sucrase@3.35.0: 1436 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1437 | engines: {node: '>=16 || 14 >=14.17'} 1438 | hasBin: true 1439 | 1440 | supports-color@7.2.0: 1441 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1442 | engines: {node: '>=8'} 1443 | 1444 | supports-preserve-symlinks-flag@1.0.0: 1445 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1446 | engines: {node: '>= 0.4'} 1447 | 1448 | svelte-check@3.8.1: 1449 | resolution: {integrity: sha512-KlQ0TRVe01mdvh49Ylkr9FQxO/UWbQOtaIrccl3gjgkvby1TxY41VkT7ijCl6i29FjaJPE4m6YGmhdqov0MfkA==} 1450 | hasBin: true 1451 | peerDependencies: 1452 | svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 1453 | 1454 | svelte-codemirror-editor@1.4.0: 1455 | resolution: {integrity: sha512-1Izqz48OfyzyHiloG9RAG6gDHHzZ9+P9SfnYkL8I+QJ1nOMjcftOI1HSds5bStZzCN5EGY1iBLYwOl4A+Xg8fA==} 1456 | peerDependencies: 1457 | codemirror: ^6.0.0 1458 | svelte: ^3.0.0 || ^4.0.0 1459 | 1460 | svelte-eslint-parser@0.39.1: 1461 | resolution: {integrity: sha512-0VR9gq2TOdSrJW94Qf2F3XrzXRQomXQtRZGFS3FEUr3G4J8DcpqXfBF1HJyOa3dACyGsKiBbOPF56pBgYaqXBA==} 1462 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1463 | peerDependencies: 1464 | svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.115 1465 | peerDependenciesMeta: 1466 | svelte: 1467 | optional: true 1468 | 1469 | svelte-hmr@0.16.0: 1470 | resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==} 1471 | engines: {node: ^12.20 || ^14.13.1 || >= 16} 1472 | peerDependencies: 1473 | svelte: ^3.19.0 || ^4.0.0 1474 | 1475 | svelte-preprocess@5.1.4: 1476 | resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==} 1477 | engines: {node: '>= 16.0.0'} 1478 | peerDependencies: 1479 | '@babel/core': ^7.10.2 1480 | coffeescript: ^2.5.1 1481 | less: ^3.11.3 || ^4.0.0 1482 | postcss: ^7 || ^8 1483 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 1484 | pug: ^3.0.0 1485 | sass: ^1.26.8 1486 | stylus: ^0.55.0 1487 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 1488 | svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 1489 | typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' 1490 | peerDependenciesMeta: 1491 | '@babel/core': 1492 | optional: true 1493 | coffeescript: 1494 | optional: true 1495 | less: 1496 | optional: true 1497 | postcss: 1498 | optional: true 1499 | postcss-load-config: 1500 | optional: true 1501 | pug: 1502 | optional: true 1503 | sass: 1504 | optional: true 1505 | stylus: 1506 | optional: true 1507 | sugarss: 1508 | optional: true 1509 | typescript: 1510 | optional: true 1511 | 1512 | svelte@4.2.18: 1513 | resolution: {integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==} 1514 | engines: {node: '>=16'} 1515 | 1516 | tailwindcss@3.4.4: 1517 | resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} 1518 | engines: {node: '>=14.0.0'} 1519 | hasBin: true 1520 | 1521 | text-table@0.2.0: 1522 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1523 | 1524 | thenify-all@1.6.0: 1525 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1526 | engines: {node: '>=0.8'} 1527 | 1528 | thenify@3.3.1: 1529 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1530 | 1531 | tiny-glob@0.2.9: 1532 | resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} 1533 | 1534 | to-regex-range@5.0.1: 1535 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1536 | engines: {node: '>=8.0'} 1537 | 1538 | totalist@3.0.1: 1539 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1540 | engines: {node: '>=6'} 1541 | 1542 | ts-api-utils@1.3.0: 1543 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1544 | engines: {node: '>=16'} 1545 | peerDependencies: 1546 | typescript: '>=4.2.0' 1547 | 1548 | ts-interface-checker@0.1.13: 1549 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1550 | 1551 | tslib@2.6.3: 1552 | resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} 1553 | 1554 | type-check@0.4.0: 1555 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1556 | engines: {node: '>= 0.8.0'} 1557 | 1558 | typescript-eslint@8.0.0-alpha.30: 1559 | resolution: {integrity: sha512-/vGhBMsK1TpadQh1eQ02c5pyiPGmKR9cVzX5C9plZ+LC0HPLpWoJbbTVfQN7BkIK7tUxDt2BFr3pFL5hDDrx7g==} 1560 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1561 | peerDependencies: 1562 | typescript: '*' 1563 | peerDependenciesMeta: 1564 | typescript: 1565 | optional: true 1566 | 1567 | typescript@5.5.2: 1568 | resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} 1569 | engines: {node: '>=14.17'} 1570 | hasBin: true 1571 | 1572 | update-browserslist-db@1.0.16: 1573 | resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} 1574 | hasBin: true 1575 | peerDependencies: 1576 | browserslist: '>= 4.21.0' 1577 | 1578 | uri-js@4.4.1: 1579 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1580 | 1581 | util-deprecate@1.0.2: 1582 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1583 | 1584 | vite@5.3.1: 1585 | resolution: {integrity: sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==} 1586 | engines: {node: ^18.0.0 || >=20.0.0} 1587 | hasBin: true 1588 | peerDependencies: 1589 | '@types/node': ^18.0.0 || >=20.0.0 1590 | less: '*' 1591 | lightningcss: ^1.21.0 1592 | sass: '*' 1593 | stylus: '*' 1594 | sugarss: '*' 1595 | terser: ^5.4.0 1596 | peerDependenciesMeta: 1597 | '@types/node': 1598 | optional: true 1599 | less: 1600 | optional: true 1601 | lightningcss: 1602 | optional: true 1603 | sass: 1604 | optional: true 1605 | stylus: 1606 | optional: true 1607 | sugarss: 1608 | optional: true 1609 | terser: 1610 | optional: true 1611 | 1612 | vitefu@0.2.5: 1613 | resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} 1614 | peerDependencies: 1615 | vite: ^3.0.0 || ^4.0.0 || ^5.0.0 1616 | peerDependenciesMeta: 1617 | vite: 1618 | optional: true 1619 | 1620 | w3c-keyname@2.2.8: 1621 | resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} 1622 | 1623 | which@2.0.2: 1624 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1625 | engines: {node: '>= 8'} 1626 | hasBin: true 1627 | 1628 | word-wrap@1.2.5: 1629 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1630 | engines: {node: '>=0.10.0'} 1631 | 1632 | wrap-ansi@7.0.0: 1633 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1634 | engines: {node: '>=10'} 1635 | 1636 | wrap-ansi@8.1.0: 1637 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1638 | engines: {node: '>=12'} 1639 | 1640 | wrappy@1.0.2: 1641 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1642 | 1643 | yaml@1.10.2: 1644 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1645 | engines: {node: '>= 6'} 1646 | 1647 | yaml@2.4.5: 1648 | resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} 1649 | engines: {node: '>= 14'} 1650 | hasBin: true 1651 | 1652 | yocto-queue@0.1.0: 1653 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1654 | engines: {node: '>=10'} 1655 | 1656 | zod@3.23.8: 1657 | resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} 1658 | 1659 | snapshots: 1660 | 1661 | '@alloc/quick-lru@5.2.0': {} 1662 | 1663 | '@ampproject/remapping@2.3.0': 1664 | dependencies: 1665 | '@jridgewell/gen-mapping': 0.3.5 1666 | '@jridgewell/trace-mapping': 0.3.25 1667 | 1668 | '@codemirror/autocomplete@6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.3)(@lezer/common@1.2.1)': 1669 | dependencies: 1670 | '@codemirror/language': 6.10.2 1671 | '@codemirror/state': 6.4.1 1672 | '@codemirror/view': 6.28.3 1673 | '@lezer/common': 1.2.1 1674 | 1675 | '@codemirror/commands@6.6.0': 1676 | dependencies: 1677 | '@codemirror/language': 6.10.2 1678 | '@codemirror/state': 6.4.1 1679 | '@codemirror/view': 6.28.3 1680 | '@lezer/common': 1.2.1 1681 | 1682 | '@codemirror/lang-rust@6.0.1': 1683 | dependencies: 1684 | '@codemirror/language': 6.10.2 1685 | '@lezer/rust': 1.0.2 1686 | 1687 | '@codemirror/language@6.10.2': 1688 | dependencies: 1689 | '@codemirror/state': 6.4.1 1690 | '@codemirror/view': 6.28.3 1691 | '@lezer/common': 1.2.1 1692 | '@lezer/highlight': 1.2.0 1693 | '@lezer/lr': 1.4.1 1694 | style-mod: 4.1.2 1695 | 1696 | '@codemirror/lint@6.8.1': 1697 | dependencies: 1698 | '@codemirror/state': 6.4.1 1699 | '@codemirror/view': 6.28.3 1700 | crelt: 1.0.6 1701 | 1702 | '@codemirror/search@6.5.6': 1703 | dependencies: 1704 | '@codemirror/state': 6.4.1 1705 | '@codemirror/view': 6.28.3 1706 | crelt: 1.0.6 1707 | 1708 | '@codemirror/state@6.4.1': {} 1709 | 1710 | '@codemirror/view@6.28.3': 1711 | dependencies: 1712 | '@codemirror/state': 6.4.1 1713 | style-mod: 4.1.2 1714 | w3c-keyname: 2.2.8 1715 | 1716 | '@esbuild/aix-ppc64@0.21.5': 1717 | optional: true 1718 | 1719 | '@esbuild/android-arm64@0.21.5': 1720 | optional: true 1721 | 1722 | '@esbuild/android-arm@0.21.5': 1723 | optional: true 1724 | 1725 | '@esbuild/android-x64@0.21.5': 1726 | optional: true 1727 | 1728 | '@esbuild/darwin-arm64@0.21.5': 1729 | optional: true 1730 | 1731 | '@esbuild/darwin-x64@0.21.5': 1732 | optional: true 1733 | 1734 | '@esbuild/freebsd-arm64@0.21.5': 1735 | optional: true 1736 | 1737 | '@esbuild/freebsd-x64@0.21.5': 1738 | optional: true 1739 | 1740 | '@esbuild/linux-arm64@0.21.5': 1741 | optional: true 1742 | 1743 | '@esbuild/linux-arm@0.21.5': 1744 | optional: true 1745 | 1746 | '@esbuild/linux-ia32@0.21.5': 1747 | optional: true 1748 | 1749 | '@esbuild/linux-loong64@0.21.5': 1750 | optional: true 1751 | 1752 | '@esbuild/linux-mips64el@0.21.5': 1753 | optional: true 1754 | 1755 | '@esbuild/linux-ppc64@0.21.5': 1756 | optional: true 1757 | 1758 | '@esbuild/linux-riscv64@0.21.5': 1759 | optional: true 1760 | 1761 | '@esbuild/linux-s390x@0.21.5': 1762 | optional: true 1763 | 1764 | '@esbuild/linux-x64@0.21.5': 1765 | optional: true 1766 | 1767 | '@esbuild/netbsd-x64@0.21.5': 1768 | optional: true 1769 | 1770 | '@esbuild/openbsd-x64@0.21.5': 1771 | optional: true 1772 | 1773 | '@esbuild/sunos-x64@0.21.5': 1774 | optional: true 1775 | 1776 | '@esbuild/win32-arm64@0.21.5': 1777 | optional: true 1778 | 1779 | '@esbuild/win32-ia32@0.21.5': 1780 | optional: true 1781 | 1782 | '@esbuild/win32-x64@0.21.5': 1783 | optional: true 1784 | 1785 | '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': 1786 | dependencies: 1787 | eslint: 9.5.0 1788 | eslint-visitor-keys: 3.4.3 1789 | 1790 | '@eslint-community/regexpp@4.10.1': {} 1791 | 1792 | '@eslint/config-array@0.16.0': 1793 | dependencies: 1794 | '@eslint/object-schema': 2.1.4 1795 | debug: 4.3.5 1796 | minimatch: 3.1.2 1797 | transitivePeerDependencies: 1798 | - supports-color 1799 | 1800 | '@eslint/eslintrc@3.1.0': 1801 | dependencies: 1802 | ajv: 6.12.6 1803 | debug: 4.3.5 1804 | espree: 10.1.0 1805 | globals: 14.0.0 1806 | ignore: 5.3.1 1807 | import-fresh: 3.3.0 1808 | js-yaml: 4.1.0 1809 | minimatch: 3.1.2 1810 | strip-json-comments: 3.1.1 1811 | transitivePeerDependencies: 1812 | - supports-color 1813 | 1814 | '@eslint/js@9.5.0': {} 1815 | 1816 | '@eslint/object-schema@2.1.4': {} 1817 | 1818 | '@fontsource-variable/inter@5.0.19': {} 1819 | 1820 | '@humanwhocodes/module-importer@1.0.1': {} 1821 | 1822 | '@humanwhocodes/retry@0.3.0': {} 1823 | 1824 | '@isaacs/cliui@8.0.2': 1825 | dependencies: 1826 | string-width: 5.1.2 1827 | string-width-cjs: string-width@4.2.3 1828 | strip-ansi: 7.1.0 1829 | strip-ansi-cjs: strip-ansi@6.0.1 1830 | wrap-ansi: 8.1.0 1831 | wrap-ansi-cjs: wrap-ansi@7.0.0 1832 | 1833 | '@jridgewell/gen-mapping@0.3.5': 1834 | dependencies: 1835 | '@jridgewell/set-array': 1.2.1 1836 | '@jridgewell/sourcemap-codec': 1.4.15 1837 | '@jridgewell/trace-mapping': 0.3.25 1838 | 1839 | '@jridgewell/resolve-uri@3.1.2': {} 1840 | 1841 | '@jridgewell/set-array@1.2.1': {} 1842 | 1843 | '@jridgewell/sourcemap-codec@1.4.15': {} 1844 | 1845 | '@jridgewell/trace-mapping@0.3.25': 1846 | dependencies: 1847 | '@jridgewell/resolve-uri': 3.1.2 1848 | '@jridgewell/sourcemap-codec': 1.4.15 1849 | 1850 | '@lezer/common@1.2.1': {} 1851 | 1852 | '@lezer/highlight@1.2.0': 1853 | dependencies: 1854 | '@lezer/common': 1.2.1 1855 | 1856 | '@lezer/lr@1.4.1': 1857 | dependencies: 1858 | '@lezer/common': 1.2.1 1859 | 1860 | '@lezer/rust@1.0.2': 1861 | dependencies: 1862 | '@lezer/common': 1.2.1 1863 | '@lezer/highlight': 1.2.0 1864 | '@lezer/lr': 1.4.1 1865 | 1866 | '@nodelib/fs.scandir@2.1.5': 1867 | dependencies: 1868 | '@nodelib/fs.stat': 2.0.5 1869 | run-parallel: 1.2.0 1870 | 1871 | '@nodelib/fs.stat@2.0.5': {} 1872 | 1873 | '@nodelib/fs.walk@1.2.8': 1874 | dependencies: 1875 | '@nodelib/fs.scandir': 2.1.5 1876 | fastq: 1.17.1 1877 | 1878 | '@pkgjs/parseargs@0.11.0': 1879 | optional: true 1880 | 1881 | '@polka/url@1.0.0-next.25': {} 1882 | 1883 | '@rollup/rollup-android-arm-eabi@4.18.0': 1884 | optional: true 1885 | 1886 | '@rollup/rollup-android-arm64@4.18.0': 1887 | optional: true 1888 | 1889 | '@rollup/rollup-darwin-arm64@4.18.0': 1890 | optional: true 1891 | 1892 | '@rollup/rollup-darwin-x64@4.18.0': 1893 | optional: true 1894 | 1895 | '@rollup/rollup-linux-arm-gnueabihf@4.18.0': 1896 | optional: true 1897 | 1898 | '@rollup/rollup-linux-arm-musleabihf@4.18.0': 1899 | optional: true 1900 | 1901 | '@rollup/rollup-linux-arm64-gnu@4.18.0': 1902 | optional: true 1903 | 1904 | '@rollup/rollup-linux-arm64-musl@4.18.0': 1905 | optional: true 1906 | 1907 | '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': 1908 | optional: true 1909 | 1910 | '@rollup/rollup-linux-riscv64-gnu@4.18.0': 1911 | optional: true 1912 | 1913 | '@rollup/rollup-linux-s390x-gnu@4.18.0': 1914 | optional: true 1915 | 1916 | '@rollup/rollup-linux-x64-gnu@4.18.0': 1917 | optional: true 1918 | 1919 | '@rollup/rollup-linux-x64-musl@4.18.0': 1920 | optional: true 1921 | 1922 | '@rollup/rollup-win32-arm64-msvc@4.18.0': 1923 | optional: true 1924 | 1925 | '@rollup/rollup-win32-ia32-msvc@4.18.0': 1926 | optional: true 1927 | 1928 | '@rollup/rollup-win32-x64-msvc@4.18.0': 1929 | optional: true 1930 | 1931 | '@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.17(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1))': 1932 | dependencies: 1933 | '@sveltejs/kit': 2.5.17(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1) 1934 | import-meta-resolve: 4.1.0 1935 | 1936 | '@sveltejs/kit@2.5.17(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1)': 1937 | dependencies: 1938 | '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.1) 1939 | '@types/cookie': 0.6.0 1940 | cookie: 0.6.0 1941 | devalue: 5.0.0 1942 | esm-env: 1.0.0 1943 | import-meta-resolve: 4.1.0 1944 | kleur: 4.1.5 1945 | magic-string: 0.30.10 1946 | mrmime: 2.0.0 1947 | sade: 1.8.1 1948 | set-cookie-parser: 2.6.0 1949 | sirv: 2.0.4 1950 | svelte: 4.2.18 1951 | tiny-glob: 0.2.9 1952 | vite: 5.3.1 1953 | 1954 | '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1)': 1955 | dependencies: 1956 | '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.3.1) 1957 | debug: 4.3.5 1958 | svelte: 4.2.18 1959 | vite: 5.3.1 1960 | transitivePeerDependencies: 1961 | - supports-color 1962 | 1963 | '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1)': 1964 | dependencies: 1965 | '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.3.1))(svelte@4.2.18)(vite@5.3.1) 1966 | debug: 4.3.5 1967 | deepmerge: 4.3.1 1968 | kleur: 4.1.5 1969 | magic-string: 0.30.10 1970 | svelte: 4.2.18 1971 | svelte-hmr: 0.16.0(svelte@4.2.18) 1972 | vite: 5.3.1 1973 | vitefu: 0.2.5(vite@5.3.1) 1974 | transitivePeerDependencies: 1975 | - supports-color 1976 | 1977 | '@types/cookie@0.6.0': {} 1978 | 1979 | '@types/eslint@8.56.10': 1980 | dependencies: 1981 | '@types/estree': 1.0.5 1982 | '@types/json-schema': 7.0.15 1983 | 1984 | '@types/estree@1.0.5': {} 1985 | 1986 | '@types/json-schema@7.0.15': {} 1987 | 1988 | '@types/pug@2.0.10': {} 1989 | 1990 | '@typescript-eslint/eslint-plugin@8.0.0-alpha.30(@typescript-eslint/parser@8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(typescript@5.5.2)': 1991 | dependencies: 1992 | '@eslint-community/regexpp': 4.10.1 1993 | '@typescript-eslint/parser': 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 1994 | '@typescript-eslint/scope-manager': 8.0.0-alpha.30 1995 | '@typescript-eslint/type-utils': 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 1996 | '@typescript-eslint/utils': 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 1997 | '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 1998 | eslint: 9.5.0 1999 | graphemer: 1.4.0 2000 | ignore: 5.3.1 2001 | natural-compare: 1.4.0 2002 | ts-api-utils: 1.3.0(typescript@5.5.2) 2003 | optionalDependencies: 2004 | typescript: 5.5.2 2005 | transitivePeerDependencies: 2006 | - supports-color 2007 | 2008 | '@typescript-eslint/parser@8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2)': 2009 | dependencies: 2010 | '@typescript-eslint/scope-manager': 8.0.0-alpha.30 2011 | '@typescript-eslint/types': 8.0.0-alpha.30 2012 | '@typescript-eslint/typescript-estree': 8.0.0-alpha.30(typescript@5.5.2) 2013 | '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 2014 | debug: 4.3.5 2015 | eslint: 9.5.0 2016 | optionalDependencies: 2017 | typescript: 5.5.2 2018 | transitivePeerDependencies: 2019 | - supports-color 2020 | 2021 | '@typescript-eslint/scope-manager@8.0.0-alpha.30': 2022 | dependencies: 2023 | '@typescript-eslint/types': 8.0.0-alpha.30 2024 | '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 2025 | 2026 | '@typescript-eslint/type-utils@8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2)': 2027 | dependencies: 2028 | '@typescript-eslint/typescript-estree': 8.0.0-alpha.30(typescript@5.5.2) 2029 | '@typescript-eslint/utils': 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 2030 | debug: 4.3.5 2031 | ts-api-utils: 1.3.0(typescript@5.5.2) 2032 | optionalDependencies: 2033 | typescript: 5.5.2 2034 | transitivePeerDependencies: 2035 | - eslint 2036 | - supports-color 2037 | 2038 | '@typescript-eslint/types@8.0.0-alpha.30': {} 2039 | 2040 | '@typescript-eslint/typescript-estree@8.0.0-alpha.30(typescript@5.5.2)': 2041 | dependencies: 2042 | '@typescript-eslint/types': 8.0.0-alpha.30 2043 | '@typescript-eslint/visitor-keys': 8.0.0-alpha.30 2044 | debug: 4.3.5 2045 | globby: 11.1.0 2046 | is-glob: 4.0.3 2047 | minimatch: 9.0.4 2048 | semver: 7.6.2 2049 | ts-api-utils: 1.3.0(typescript@5.5.2) 2050 | optionalDependencies: 2051 | typescript: 5.5.2 2052 | transitivePeerDependencies: 2053 | - supports-color 2054 | 2055 | '@typescript-eslint/utils@8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2)': 2056 | dependencies: 2057 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) 2058 | '@typescript-eslint/scope-manager': 8.0.0-alpha.30 2059 | '@typescript-eslint/types': 8.0.0-alpha.30 2060 | '@typescript-eslint/typescript-estree': 8.0.0-alpha.30(typescript@5.5.2) 2061 | eslint: 9.5.0 2062 | transitivePeerDependencies: 2063 | - supports-color 2064 | - typescript 2065 | 2066 | '@typescript-eslint/visitor-keys@8.0.0-alpha.30': 2067 | dependencies: 2068 | '@typescript-eslint/types': 8.0.0-alpha.30 2069 | eslint-visitor-keys: 3.4.3 2070 | 2071 | acorn-jsx@5.3.2(acorn@8.12.0): 2072 | dependencies: 2073 | acorn: 8.12.0 2074 | 2075 | acorn@8.12.0: {} 2076 | 2077 | ajv@6.12.6: 2078 | dependencies: 2079 | fast-deep-equal: 3.1.3 2080 | fast-json-stable-stringify: 2.1.0 2081 | json-schema-traverse: 0.4.1 2082 | uri-js: 4.4.1 2083 | 2084 | ansi-regex@5.0.1: {} 2085 | 2086 | ansi-regex@6.0.1: {} 2087 | 2088 | ansi-styles@4.3.0: 2089 | dependencies: 2090 | color-convert: 2.0.1 2091 | 2092 | ansi-styles@6.2.1: {} 2093 | 2094 | any-promise@1.3.0: {} 2095 | 2096 | anymatch@3.1.3: 2097 | dependencies: 2098 | normalize-path: 3.0.0 2099 | picomatch: 2.3.1 2100 | 2101 | arg@5.0.2: {} 2102 | 2103 | argparse@2.0.1: {} 2104 | 2105 | aria-query@5.3.0: 2106 | dependencies: 2107 | dequal: 2.0.3 2108 | 2109 | array-union@2.1.0: {} 2110 | 2111 | autoprefixer@10.4.19(postcss@8.4.38): 2112 | dependencies: 2113 | browserslist: 4.23.1 2114 | caniuse-lite: 1.0.30001636 2115 | fraction.js: 4.3.7 2116 | normalize-range: 0.1.2 2117 | picocolors: 1.0.1 2118 | postcss: 8.4.38 2119 | postcss-value-parser: 4.2.0 2120 | 2121 | axobject-query@4.0.0: 2122 | dependencies: 2123 | dequal: 2.0.3 2124 | 2125 | balanced-match@1.0.2: {} 2126 | 2127 | binary-extensions@2.3.0: {} 2128 | 2129 | brace-expansion@1.1.11: 2130 | dependencies: 2131 | balanced-match: 1.0.2 2132 | concat-map: 0.0.1 2133 | 2134 | brace-expansion@2.0.1: 2135 | dependencies: 2136 | balanced-match: 1.0.2 2137 | 2138 | braces@3.0.3: 2139 | dependencies: 2140 | fill-range: 7.1.1 2141 | 2142 | browserslist@4.23.1: 2143 | dependencies: 2144 | caniuse-lite: 1.0.30001636 2145 | electron-to-chromium: 1.4.808 2146 | node-releases: 2.0.14 2147 | update-browserslist-db: 1.0.16(browserslist@4.23.1) 2148 | 2149 | buffer-crc32@1.0.0: {} 2150 | 2151 | callsites@3.1.0: {} 2152 | 2153 | camelcase-css@2.0.1: {} 2154 | 2155 | caniuse-lite@1.0.30001636: {} 2156 | 2157 | chalk@4.1.2: 2158 | dependencies: 2159 | ansi-styles: 4.3.0 2160 | supports-color: 7.2.0 2161 | 2162 | chokidar@3.6.0: 2163 | dependencies: 2164 | anymatch: 3.1.3 2165 | braces: 3.0.3 2166 | glob-parent: 5.1.2 2167 | is-binary-path: 2.1.0 2168 | is-glob: 4.0.3 2169 | normalize-path: 3.0.0 2170 | readdirp: 3.6.0 2171 | optionalDependencies: 2172 | fsevents: 2.3.3 2173 | 2174 | code-red@1.0.4: 2175 | dependencies: 2176 | '@jridgewell/sourcemap-codec': 1.4.15 2177 | '@types/estree': 1.0.5 2178 | acorn: 8.12.0 2179 | estree-walker: 3.0.3 2180 | periscopic: 3.1.0 2181 | 2182 | codemirror@6.0.1(@lezer/common@1.2.1): 2183 | dependencies: 2184 | '@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.3)(@lezer/common@1.2.1) 2185 | '@codemirror/commands': 6.6.0 2186 | '@codemirror/language': 6.10.2 2187 | '@codemirror/lint': 6.8.1 2188 | '@codemirror/search': 6.5.6 2189 | '@codemirror/state': 6.4.1 2190 | '@codemirror/view': 6.28.3 2191 | transitivePeerDependencies: 2192 | - '@lezer/common' 2193 | 2194 | color-convert@2.0.1: 2195 | dependencies: 2196 | color-name: 1.1.4 2197 | 2198 | color-name@1.1.4: {} 2199 | 2200 | commander@4.1.1: {} 2201 | 2202 | concat-map@0.0.1: {} 2203 | 2204 | cookie@0.6.0: {} 2205 | 2206 | crelt@1.0.6: {} 2207 | 2208 | cross-spawn@7.0.3: 2209 | dependencies: 2210 | path-key: 3.1.1 2211 | shebang-command: 2.0.0 2212 | which: 2.0.2 2213 | 2214 | css-tree@2.3.1: 2215 | dependencies: 2216 | mdn-data: 2.0.30 2217 | source-map-js: 1.2.0 2218 | 2219 | cssesc@3.0.0: {} 2220 | 2221 | debug@4.3.5: 2222 | dependencies: 2223 | ms: 2.1.2 2224 | 2225 | deep-is@0.1.4: {} 2226 | 2227 | deepmerge@4.3.1: {} 2228 | 2229 | dequal@2.0.3: {} 2230 | 2231 | detect-indent@6.1.0: {} 2232 | 2233 | devalue@5.0.0: {} 2234 | 2235 | didyoumean@1.2.2: {} 2236 | 2237 | dir-glob@3.0.1: 2238 | dependencies: 2239 | path-type: 4.0.0 2240 | 2241 | dlv@1.1.3: {} 2242 | 2243 | eastasianwidth@0.2.0: {} 2244 | 2245 | electron-to-chromium@1.4.808: {} 2246 | 2247 | emoji-regex@8.0.0: {} 2248 | 2249 | emoji-regex@9.2.2: {} 2250 | 2251 | es6-promise@3.3.1: {} 2252 | 2253 | esbuild@0.21.5: 2254 | optionalDependencies: 2255 | '@esbuild/aix-ppc64': 0.21.5 2256 | '@esbuild/android-arm': 0.21.5 2257 | '@esbuild/android-arm64': 0.21.5 2258 | '@esbuild/android-x64': 0.21.5 2259 | '@esbuild/darwin-arm64': 0.21.5 2260 | '@esbuild/darwin-x64': 0.21.5 2261 | '@esbuild/freebsd-arm64': 0.21.5 2262 | '@esbuild/freebsd-x64': 0.21.5 2263 | '@esbuild/linux-arm': 0.21.5 2264 | '@esbuild/linux-arm64': 0.21.5 2265 | '@esbuild/linux-ia32': 0.21.5 2266 | '@esbuild/linux-loong64': 0.21.5 2267 | '@esbuild/linux-mips64el': 0.21.5 2268 | '@esbuild/linux-ppc64': 0.21.5 2269 | '@esbuild/linux-riscv64': 0.21.5 2270 | '@esbuild/linux-s390x': 0.21.5 2271 | '@esbuild/linux-x64': 0.21.5 2272 | '@esbuild/netbsd-x64': 0.21.5 2273 | '@esbuild/openbsd-x64': 0.21.5 2274 | '@esbuild/sunos-x64': 0.21.5 2275 | '@esbuild/win32-arm64': 0.21.5 2276 | '@esbuild/win32-ia32': 0.21.5 2277 | '@esbuild/win32-x64': 0.21.5 2278 | 2279 | escalade@3.1.2: {} 2280 | 2281 | escape-string-regexp@4.0.0: {} 2282 | 2283 | eslint-compat-utils@0.5.1(eslint@9.5.0): 2284 | dependencies: 2285 | eslint: 9.5.0 2286 | semver: 7.6.2 2287 | 2288 | eslint-config-prettier@9.1.0(eslint@9.5.0): 2289 | dependencies: 2290 | eslint: 9.5.0 2291 | 2292 | eslint-plugin-svelte@2.40.0(eslint@9.5.0)(svelte@4.2.18): 2293 | dependencies: 2294 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) 2295 | '@jridgewell/sourcemap-codec': 1.4.15 2296 | eslint: 9.5.0 2297 | eslint-compat-utils: 0.5.1(eslint@9.5.0) 2298 | esutils: 2.0.3 2299 | known-css-properties: 0.32.0 2300 | postcss: 8.4.38 2301 | postcss-load-config: 3.1.4(postcss@8.4.38) 2302 | postcss-safe-parser: 6.0.0(postcss@8.4.38) 2303 | postcss-selector-parser: 6.1.0 2304 | semver: 7.6.2 2305 | svelte-eslint-parser: 0.39.1(svelte@4.2.18) 2306 | optionalDependencies: 2307 | svelte: 4.2.18 2308 | transitivePeerDependencies: 2309 | - ts-node 2310 | 2311 | eslint-scope@7.2.2: 2312 | dependencies: 2313 | esrecurse: 4.3.0 2314 | estraverse: 5.3.0 2315 | 2316 | eslint-scope@8.0.1: 2317 | dependencies: 2318 | esrecurse: 4.3.0 2319 | estraverse: 5.3.0 2320 | 2321 | eslint-visitor-keys@3.4.3: {} 2322 | 2323 | eslint-visitor-keys@4.0.0: {} 2324 | 2325 | eslint@9.5.0: 2326 | dependencies: 2327 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) 2328 | '@eslint-community/regexpp': 4.10.1 2329 | '@eslint/config-array': 0.16.0 2330 | '@eslint/eslintrc': 3.1.0 2331 | '@eslint/js': 9.5.0 2332 | '@humanwhocodes/module-importer': 1.0.1 2333 | '@humanwhocodes/retry': 0.3.0 2334 | '@nodelib/fs.walk': 1.2.8 2335 | ajv: 6.12.6 2336 | chalk: 4.1.2 2337 | cross-spawn: 7.0.3 2338 | debug: 4.3.5 2339 | escape-string-regexp: 4.0.0 2340 | eslint-scope: 8.0.1 2341 | eslint-visitor-keys: 4.0.0 2342 | espree: 10.1.0 2343 | esquery: 1.5.0 2344 | esutils: 2.0.3 2345 | fast-deep-equal: 3.1.3 2346 | file-entry-cache: 8.0.0 2347 | find-up: 5.0.0 2348 | glob-parent: 6.0.2 2349 | ignore: 5.3.1 2350 | imurmurhash: 0.1.4 2351 | is-glob: 4.0.3 2352 | is-path-inside: 3.0.3 2353 | json-stable-stringify-without-jsonify: 1.0.1 2354 | levn: 0.4.1 2355 | lodash.merge: 4.6.2 2356 | minimatch: 3.1.2 2357 | natural-compare: 1.4.0 2358 | optionator: 0.9.4 2359 | strip-ansi: 6.0.1 2360 | text-table: 0.2.0 2361 | transitivePeerDependencies: 2362 | - supports-color 2363 | 2364 | esm-env@1.0.0: {} 2365 | 2366 | espree@10.1.0: 2367 | dependencies: 2368 | acorn: 8.12.0 2369 | acorn-jsx: 5.3.2(acorn@8.12.0) 2370 | eslint-visitor-keys: 4.0.0 2371 | 2372 | espree@9.6.1: 2373 | dependencies: 2374 | acorn: 8.12.0 2375 | acorn-jsx: 5.3.2(acorn@8.12.0) 2376 | eslint-visitor-keys: 3.4.3 2377 | 2378 | esquery@1.5.0: 2379 | dependencies: 2380 | estraverse: 5.3.0 2381 | 2382 | esrecurse@4.3.0: 2383 | dependencies: 2384 | estraverse: 5.3.0 2385 | 2386 | estraverse@5.3.0: {} 2387 | 2388 | estree-walker@3.0.3: 2389 | dependencies: 2390 | '@types/estree': 1.0.5 2391 | 2392 | esutils@2.0.3: {} 2393 | 2394 | fast-deep-equal@3.1.3: {} 2395 | 2396 | fast-glob@3.3.2: 2397 | dependencies: 2398 | '@nodelib/fs.stat': 2.0.5 2399 | '@nodelib/fs.walk': 1.2.8 2400 | glob-parent: 5.1.2 2401 | merge2: 1.4.1 2402 | micromatch: 4.0.7 2403 | 2404 | fast-json-stable-stringify@2.1.0: {} 2405 | 2406 | fast-levenshtein@2.0.6: {} 2407 | 2408 | fastq@1.17.1: 2409 | dependencies: 2410 | reusify: 1.0.4 2411 | 2412 | file-entry-cache@8.0.0: 2413 | dependencies: 2414 | flat-cache: 4.0.1 2415 | 2416 | fill-range@7.1.1: 2417 | dependencies: 2418 | to-regex-range: 5.0.1 2419 | 2420 | find-up@5.0.0: 2421 | dependencies: 2422 | locate-path: 6.0.0 2423 | path-exists: 4.0.0 2424 | 2425 | flat-cache@4.0.1: 2426 | dependencies: 2427 | flatted: 3.3.1 2428 | keyv: 4.5.4 2429 | 2430 | flatted@3.3.1: {} 2431 | 2432 | foreground-child@3.2.1: 2433 | dependencies: 2434 | cross-spawn: 7.0.3 2435 | signal-exit: 4.1.0 2436 | 2437 | fraction.js@4.3.7: {} 2438 | 2439 | fs.realpath@1.0.0: {} 2440 | 2441 | fsevents@2.3.3: 2442 | optional: true 2443 | 2444 | function-bind@1.1.2: {} 2445 | 2446 | glob-parent@5.1.2: 2447 | dependencies: 2448 | is-glob: 4.0.3 2449 | 2450 | glob-parent@6.0.2: 2451 | dependencies: 2452 | is-glob: 4.0.3 2453 | 2454 | glob@10.4.2: 2455 | dependencies: 2456 | foreground-child: 3.2.1 2457 | jackspeak: 3.4.0 2458 | minimatch: 9.0.4 2459 | minipass: 7.1.2 2460 | package-json-from-dist: 1.0.0 2461 | path-scurry: 1.11.1 2462 | 2463 | glob@7.2.3: 2464 | dependencies: 2465 | fs.realpath: 1.0.0 2466 | inflight: 1.0.6 2467 | inherits: 2.0.4 2468 | minimatch: 3.1.2 2469 | once: 1.4.0 2470 | path-is-absolute: 1.0.1 2471 | 2472 | globals@14.0.0: {} 2473 | 2474 | globals@15.6.0: {} 2475 | 2476 | globalyzer@0.1.0: {} 2477 | 2478 | globby@11.1.0: 2479 | dependencies: 2480 | array-union: 2.1.0 2481 | dir-glob: 3.0.1 2482 | fast-glob: 3.3.2 2483 | ignore: 5.3.1 2484 | merge2: 1.4.1 2485 | slash: 3.0.0 2486 | 2487 | globrex@0.1.2: {} 2488 | 2489 | graceful-fs@4.2.11: {} 2490 | 2491 | graphemer@1.4.0: {} 2492 | 2493 | has-flag@4.0.0: {} 2494 | 2495 | hasown@2.0.2: 2496 | dependencies: 2497 | function-bind: 1.1.2 2498 | 2499 | ignore@5.3.1: {} 2500 | 2501 | import-fresh@3.3.0: 2502 | dependencies: 2503 | parent-module: 1.0.1 2504 | resolve-from: 4.0.0 2505 | 2506 | import-meta-resolve@4.1.0: {} 2507 | 2508 | imurmurhash@0.1.4: {} 2509 | 2510 | inflight@1.0.6: 2511 | dependencies: 2512 | once: 1.4.0 2513 | wrappy: 1.0.2 2514 | 2515 | inherits@2.0.4: {} 2516 | 2517 | is-binary-path@2.1.0: 2518 | dependencies: 2519 | binary-extensions: 2.3.0 2520 | 2521 | is-core-module@2.14.0: 2522 | dependencies: 2523 | hasown: 2.0.2 2524 | 2525 | is-extglob@2.1.1: {} 2526 | 2527 | is-fullwidth-code-point@3.0.0: {} 2528 | 2529 | is-glob@4.0.3: 2530 | dependencies: 2531 | is-extglob: 2.1.1 2532 | 2533 | is-number@7.0.0: {} 2534 | 2535 | is-path-inside@3.0.3: {} 2536 | 2537 | is-reference@3.0.2: 2538 | dependencies: 2539 | '@types/estree': 1.0.5 2540 | 2541 | isexe@2.0.0: {} 2542 | 2543 | jackspeak@3.4.0: 2544 | dependencies: 2545 | '@isaacs/cliui': 8.0.2 2546 | optionalDependencies: 2547 | '@pkgjs/parseargs': 0.11.0 2548 | 2549 | jiti@1.21.6: {} 2550 | 2551 | js-yaml@4.1.0: 2552 | dependencies: 2553 | argparse: 2.0.1 2554 | 2555 | json-buffer@3.0.1: {} 2556 | 2557 | json-schema-traverse@0.4.1: {} 2558 | 2559 | json-stable-stringify-without-jsonify@1.0.1: {} 2560 | 2561 | keyv@4.5.4: 2562 | dependencies: 2563 | json-buffer: 3.0.1 2564 | 2565 | kleur@4.1.5: {} 2566 | 2567 | known-css-properties@0.32.0: {} 2568 | 2569 | levn@0.4.1: 2570 | dependencies: 2571 | prelude-ls: 1.2.1 2572 | type-check: 0.4.0 2573 | 2574 | lilconfig@2.1.0: {} 2575 | 2576 | lilconfig@3.1.2: {} 2577 | 2578 | lines-and-columns@1.2.4: {} 2579 | 2580 | locate-character@3.0.0: {} 2581 | 2582 | locate-path@6.0.0: 2583 | dependencies: 2584 | p-locate: 5.0.0 2585 | 2586 | lodash.merge@4.6.2: {} 2587 | 2588 | lru-cache@10.2.2: {} 2589 | 2590 | lucide-svelte@0.408.0(svelte@4.2.18): 2591 | dependencies: 2592 | svelte: 4.2.18 2593 | 2594 | magic-string@0.30.10: 2595 | dependencies: 2596 | '@jridgewell/sourcemap-codec': 1.4.15 2597 | 2598 | mdn-data@2.0.30: {} 2599 | 2600 | merge2@1.4.1: {} 2601 | 2602 | micromatch@4.0.7: 2603 | dependencies: 2604 | braces: 3.0.3 2605 | picomatch: 2.3.1 2606 | 2607 | min-indent@1.0.1: {} 2608 | 2609 | minimatch@3.1.2: 2610 | dependencies: 2611 | brace-expansion: 1.1.11 2612 | 2613 | minimatch@9.0.4: 2614 | dependencies: 2615 | brace-expansion: 2.0.1 2616 | 2617 | minimist@1.2.8: {} 2618 | 2619 | minipass@7.1.2: {} 2620 | 2621 | mkdirp@0.5.6: 2622 | dependencies: 2623 | minimist: 1.2.8 2624 | 2625 | mri@1.2.0: {} 2626 | 2627 | mrmime@2.0.0: {} 2628 | 2629 | ms@2.1.2: {} 2630 | 2631 | mz@2.7.0: 2632 | dependencies: 2633 | any-promise: 1.3.0 2634 | object-assign: 4.1.1 2635 | thenify-all: 1.6.0 2636 | 2637 | nanoid@3.3.7: {} 2638 | 2639 | nanoid@5.0.7: {} 2640 | 2641 | natural-compare@1.4.0: {} 2642 | 2643 | node-releases@2.0.14: {} 2644 | 2645 | normalize-path@3.0.0: {} 2646 | 2647 | normalize-range@0.1.2: {} 2648 | 2649 | object-assign@4.1.1: {} 2650 | 2651 | object-hash@3.0.0: {} 2652 | 2653 | once@1.4.0: 2654 | dependencies: 2655 | wrappy: 1.0.2 2656 | 2657 | optionator@0.9.4: 2658 | dependencies: 2659 | deep-is: 0.1.4 2660 | fast-levenshtein: 2.0.6 2661 | levn: 0.4.1 2662 | prelude-ls: 1.2.1 2663 | type-check: 0.4.0 2664 | word-wrap: 1.2.5 2665 | 2666 | p-limit@3.1.0: 2667 | dependencies: 2668 | yocto-queue: 0.1.0 2669 | 2670 | p-locate@5.0.0: 2671 | dependencies: 2672 | p-limit: 3.1.0 2673 | 2674 | package-json-from-dist@1.0.0: {} 2675 | 2676 | paneforge@0.0.5(svelte@4.2.18): 2677 | dependencies: 2678 | nanoid: 5.0.7 2679 | svelte: 4.2.18 2680 | 2681 | parent-module@1.0.1: 2682 | dependencies: 2683 | callsites: 3.1.0 2684 | 2685 | path-exists@4.0.0: {} 2686 | 2687 | path-is-absolute@1.0.1: {} 2688 | 2689 | path-key@3.1.1: {} 2690 | 2691 | path-parse@1.0.7: {} 2692 | 2693 | path-scurry@1.11.1: 2694 | dependencies: 2695 | lru-cache: 10.2.2 2696 | minipass: 7.1.2 2697 | 2698 | path-type@4.0.0: {} 2699 | 2700 | periscopic@3.1.0: 2701 | dependencies: 2702 | '@types/estree': 1.0.5 2703 | estree-walker: 3.0.3 2704 | is-reference: 3.0.2 2705 | 2706 | picocolors@1.0.1: {} 2707 | 2708 | picomatch@2.3.1: {} 2709 | 2710 | pify@2.3.0: {} 2711 | 2712 | pirates@4.0.6: {} 2713 | 2714 | postcss-import@15.1.0(postcss@8.4.38): 2715 | dependencies: 2716 | postcss: 8.4.38 2717 | postcss-value-parser: 4.2.0 2718 | read-cache: 1.0.0 2719 | resolve: 1.22.8 2720 | 2721 | postcss-js@4.0.1(postcss@8.4.38): 2722 | dependencies: 2723 | camelcase-css: 2.0.1 2724 | postcss: 8.4.38 2725 | 2726 | postcss-load-config@3.1.4(postcss@8.4.38): 2727 | dependencies: 2728 | lilconfig: 2.1.0 2729 | yaml: 1.10.2 2730 | optionalDependencies: 2731 | postcss: 8.4.38 2732 | 2733 | postcss-load-config@4.0.2(postcss@8.4.38): 2734 | dependencies: 2735 | lilconfig: 3.1.2 2736 | yaml: 2.4.5 2737 | optionalDependencies: 2738 | postcss: 8.4.38 2739 | 2740 | postcss-nested@6.0.1(postcss@8.4.38): 2741 | dependencies: 2742 | postcss: 8.4.38 2743 | postcss-selector-parser: 6.1.0 2744 | 2745 | postcss-safe-parser@6.0.0(postcss@8.4.38): 2746 | dependencies: 2747 | postcss: 8.4.38 2748 | 2749 | postcss-scss@4.0.9(postcss@8.4.38): 2750 | dependencies: 2751 | postcss: 8.4.38 2752 | 2753 | postcss-selector-parser@6.1.0: 2754 | dependencies: 2755 | cssesc: 3.0.0 2756 | util-deprecate: 1.0.2 2757 | 2758 | postcss-value-parser@4.2.0: {} 2759 | 2760 | postcss@8.4.38: 2761 | dependencies: 2762 | nanoid: 3.3.7 2763 | picocolors: 1.0.1 2764 | source-map-js: 1.2.0 2765 | 2766 | prelude-ls@1.2.1: {} 2767 | 2768 | prettier-plugin-svelte@3.2.5(prettier@3.3.2)(svelte@4.2.18): 2769 | dependencies: 2770 | prettier: 3.3.2 2771 | svelte: 4.2.18 2772 | 2773 | prettier-plugin-tailwindcss@0.6.5(prettier-plugin-svelte@3.2.5(prettier@3.3.2)(svelte@4.2.18))(prettier@3.3.2): 2774 | dependencies: 2775 | prettier: 3.3.2 2776 | optionalDependencies: 2777 | prettier-plugin-svelte: 3.2.5(prettier@3.3.2)(svelte@4.2.18) 2778 | 2779 | prettier@3.3.2: {} 2780 | 2781 | punycode@2.3.1: {} 2782 | 2783 | queue-microtask@1.2.3: {} 2784 | 2785 | read-cache@1.0.0: 2786 | dependencies: 2787 | pify: 2.3.0 2788 | 2789 | readdirp@3.6.0: 2790 | dependencies: 2791 | picomatch: 2.3.1 2792 | 2793 | resolve-from@4.0.0: {} 2794 | 2795 | resolve@1.22.8: 2796 | dependencies: 2797 | is-core-module: 2.14.0 2798 | path-parse: 1.0.7 2799 | supports-preserve-symlinks-flag: 1.0.0 2800 | 2801 | reusify@1.0.4: {} 2802 | 2803 | rimraf@2.7.1: 2804 | dependencies: 2805 | glob: 7.2.3 2806 | 2807 | rollup@4.18.0: 2808 | dependencies: 2809 | '@types/estree': 1.0.5 2810 | optionalDependencies: 2811 | '@rollup/rollup-android-arm-eabi': 4.18.0 2812 | '@rollup/rollup-android-arm64': 4.18.0 2813 | '@rollup/rollup-darwin-arm64': 4.18.0 2814 | '@rollup/rollup-darwin-x64': 4.18.0 2815 | '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 2816 | '@rollup/rollup-linux-arm-musleabihf': 4.18.0 2817 | '@rollup/rollup-linux-arm64-gnu': 4.18.0 2818 | '@rollup/rollup-linux-arm64-musl': 4.18.0 2819 | '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 2820 | '@rollup/rollup-linux-riscv64-gnu': 4.18.0 2821 | '@rollup/rollup-linux-s390x-gnu': 4.18.0 2822 | '@rollup/rollup-linux-x64-gnu': 4.18.0 2823 | '@rollup/rollup-linux-x64-musl': 4.18.0 2824 | '@rollup/rollup-win32-arm64-msvc': 4.18.0 2825 | '@rollup/rollup-win32-ia32-msvc': 4.18.0 2826 | '@rollup/rollup-win32-x64-msvc': 4.18.0 2827 | fsevents: 2.3.3 2828 | 2829 | run-parallel@1.2.0: 2830 | dependencies: 2831 | queue-microtask: 1.2.3 2832 | 2833 | sade@1.8.1: 2834 | dependencies: 2835 | mri: 1.2.0 2836 | 2837 | sander@0.5.1: 2838 | dependencies: 2839 | es6-promise: 3.3.1 2840 | graceful-fs: 4.2.11 2841 | mkdirp: 0.5.6 2842 | rimraf: 2.7.1 2843 | 2844 | semver@7.6.2: {} 2845 | 2846 | set-cookie-parser@2.6.0: {} 2847 | 2848 | shebang-command@2.0.0: 2849 | dependencies: 2850 | shebang-regex: 3.0.0 2851 | 2852 | shebang-regex@3.0.0: {} 2853 | 2854 | signal-exit@4.1.0: {} 2855 | 2856 | sirv@2.0.4: 2857 | dependencies: 2858 | '@polka/url': 1.0.0-next.25 2859 | mrmime: 2.0.0 2860 | totalist: 3.0.1 2861 | 2862 | slash@3.0.0: {} 2863 | 2864 | sorcery@0.11.1: 2865 | dependencies: 2866 | '@jridgewell/sourcemap-codec': 1.4.15 2867 | buffer-crc32: 1.0.0 2868 | minimist: 1.2.8 2869 | sander: 0.5.1 2870 | 2871 | source-map-js@1.2.0: {} 2872 | 2873 | string-width@4.2.3: 2874 | dependencies: 2875 | emoji-regex: 8.0.0 2876 | is-fullwidth-code-point: 3.0.0 2877 | strip-ansi: 6.0.1 2878 | 2879 | string-width@5.1.2: 2880 | dependencies: 2881 | eastasianwidth: 0.2.0 2882 | emoji-regex: 9.2.2 2883 | strip-ansi: 7.1.0 2884 | 2885 | strip-ansi@6.0.1: 2886 | dependencies: 2887 | ansi-regex: 5.0.1 2888 | 2889 | strip-ansi@7.1.0: 2890 | dependencies: 2891 | ansi-regex: 6.0.1 2892 | 2893 | strip-indent@3.0.0: 2894 | dependencies: 2895 | min-indent: 1.0.1 2896 | 2897 | strip-json-comments@3.1.1: {} 2898 | 2899 | style-mod@4.1.2: {} 2900 | 2901 | sucrase@3.35.0: 2902 | dependencies: 2903 | '@jridgewell/gen-mapping': 0.3.5 2904 | commander: 4.1.1 2905 | glob: 10.4.2 2906 | lines-and-columns: 1.2.4 2907 | mz: 2.7.0 2908 | pirates: 4.0.6 2909 | ts-interface-checker: 0.1.13 2910 | 2911 | supports-color@7.2.0: 2912 | dependencies: 2913 | has-flag: 4.0.0 2914 | 2915 | supports-preserve-symlinks-flag@1.0.0: {} 2916 | 2917 | svelte-check@3.8.1(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.18): 2918 | dependencies: 2919 | '@jridgewell/trace-mapping': 0.3.25 2920 | chokidar: 3.6.0 2921 | fast-glob: 3.3.2 2922 | import-fresh: 3.3.0 2923 | picocolors: 1.0.1 2924 | sade: 1.8.1 2925 | svelte: 4.2.18 2926 | svelte-preprocess: 5.1.4(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.18)(typescript@5.5.2) 2927 | typescript: 5.5.2 2928 | transitivePeerDependencies: 2929 | - '@babel/core' 2930 | - coffeescript 2931 | - less 2932 | - postcss 2933 | - postcss-load-config 2934 | - pug 2935 | - sass 2936 | - stylus 2937 | - sugarss 2938 | 2939 | svelte-codemirror-editor@1.4.0(codemirror@6.0.1(@lezer/common@1.2.1))(svelte@4.2.18): 2940 | dependencies: 2941 | codemirror: 6.0.1(@lezer/common@1.2.1) 2942 | svelte: 4.2.18 2943 | 2944 | svelte-eslint-parser@0.39.1(svelte@4.2.18): 2945 | dependencies: 2946 | eslint-scope: 7.2.2 2947 | eslint-visitor-keys: 3.4.3 2948 | espree: 9.6.1 2949 | postcss: 8.4.38 2950 | postcss-scss: 4.0.9(postcss@8.4.38) 2951 | optionalDependencies: 2952 | svelte: 4.2.18 2953 | 2954 | svelte-hmr@0.16.0(svelte@4.2.18): 2955 | dependencies: 2956 | svelte: 4.2.18 2957 | 2958 | svelte-preprocess@5.1.4(postcss-load-config@4.0.2(postcss@8.4.38))(postcss@8.4.38)(svelte@4.2.18)(typescript@5.5.2): 2959 | dependencies: 2960 | '@types/pug': 2.0.10 2961 | detect-indent: 6.1.0 2962 | magic-string: 0.30.10 2963 | sorcery: 0.11.1 2964 | strip-indent: 3.0.0 2965 | svelte: 4.2.18 2966 | optionalDependencies: 2967 | postcss: 8.4.38 2968 | postcss-load-config: 4.0.2(postcss@8.4.38) 2969 | typescript: 5.5.2 2970 | 2971 | svelte@4.2.18: 2972 | dependencies: 2973 | '@ampproject/remapping': 2.3.0 2974 | '@jridgewell/sourcemap-codec': 1.4.15 2975 | '@jridgewell/trace-mapping': 0.3.25 2976 | '@types/estree': 1.0.5 2977 | acorn: 8.12.0 2978 | aria-query: 5.3.0 2979 | axobject-query: 4.0.0 2980 | code-red: 1.0.4 2981 | css-tree: 2.3.1 2982 | estree-walker: 3.0.3 2983 | is-reference: 3.0.2 2984 | locate-character: 3.0.0 2985 | magic-string: 0.30.10 2986 | periscopic: 3.1.0 2987 | 2988 | tailwindcss@3.4.4: 2989 | dependencies: 2990 | '@alloc/quick-lru': 5.2.0 2991 | arg: 5.0.2 2992 | chokidar: 3.6.0 2993 | didyoumean: 1.2.2 2994 | dlv: 1.1.3 2995 | fast-glob: 3.3.2 2996 | glob-parent: 6.0.2 2997 | is-glob: 4.0.3 2998 | jiti: 1.21.6 2999 | lilconfig: 2.1.0 3000 | micromatch: 4.0.7 3001 | normalize-path: 3.0.0 3002 | object-hash: 3.0.0 3003 | picocolors: 1.0.1 3004 | postcss: 8.4.38 3005 | postcss-import: 15.1.0(postcss@8.4.38) 3006 | postcss-js: 4.0.1(postcss@8.4.38) 3007 | postcss-load-config: 4.0.2(postcss@8.4.38) 3008 | postcss-nested: 6.0.1(postcss@8.4.38) 3009 | postcss-selector-parser: 6.1.0 3010 | resolve: 1.22.8 3011 | sucrase: 3.35.0 3012 | transitivePeerDependencies: 3013 | - ts-node 3014 | 3015 | text-table@0.2.0: {} 3016 | 3017 | thenify-all@1.6.0: 3018 | dependencies: 3019 | thenify: 3.3.1 3020 | 3021 | thenify@3.3.1: 3022 | dependencies: 3023 | any-promise: 1.3.0 3024 | 3025 | tiny-glob@0.2.9: 3026 | dependencies: 3027 | globalyzer: 0.1.0 3028 | globrex: 0.1.2 3029 | 3030 | to-regex-range@5.0.1: 3031 | dependencies: 3032 | is-number: 7.0.0 3033 | 3034 | totalist@3.0.1: {} 3035 | 3036 | ts-api-utils@1.3.0(typescript@5.5.2): 3037 | dependencies: 3038 | typescript: 5.5.2 3039 | 3040 | ts-interface-checker@0.1.13: {} 3041 | 3042 | tslib@2.6.3: {} 3043 | 3044 | type-check@0.4.0: 3045 | dependencies: 3046 | prelude-ls: 1.2.1 3047 | 3048 | typescript-eslint@8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2): 3049 | dependencies: 3050 | '@typescript-eslint/eslint-plugin': 8.0.0-alpha.30(@typescript-eslint/parser@8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(typescript@5.5.2) 3051 | '@typescript-eslint/parser': 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 3052 | '@typescript-eslint/utils': 8.0.0-alpha.30(eslint@9.5.0)(typescript@5.5.2) 3053 | optionalDependencies: 3054 | typescript: 5.5.2 3055 | transitivePeerDependencies: 3056 | - eslint 3057 | - supports-color 3058 | 3059 | typescript@5.5.2: {} 3060 | 3061 | update-browserslist-db@1.0.16(browserslist@4.23.1): 3062 | dependencies: 3063 | browserslist: 4.23.1 3064 | escalade: 3.1.2 3065 | picocolors: 1.0.1 3066 | 3067 | uri-js@4.4.1: 3068 | dependencies: 3069 | punycode: 2.3.1 3070 | 3071 | util-deprecate@1.0.2: {} 3072 | 3073 | vite@5.3.1: 3074 | dependencies: 3075 | esbuild: 0.21.5 3076 | postcss: 8.4.38 3077 | rollup: 4.18.0 3078 | optionalDependencies: 3079 | fsevents: 2.3.3 3080 | 3081 | vitefu@0.2.5(vite@5.3.1): 3082 | optionalDependencies: 3083 | vite: 5.3.1 3084 | 3085 | w3c-keyname@2.2.8: {} 3086 | 3087 | which@2.0.2: 3088 | dependencies: 3089 | isexe: 2.0.0 3090 | 3091 | word-wrap@1.2.5: {} 3092 | 3093 | wrap-ansi@7.0.0: 3094 | dependencies: 3095 | ansi-styles: 4.3.0 3096 | string-width: 4.2.3 3097 | strip-ansi: 6.0.1 3098 | 3099 | wrap-ansi@8.1.0: 3100 | dependencies: 3101 | ansi-styles: 6.2.1 3102 | string-width: 5.1.2 3103 | strip-ansi: 7.1.0 3104 | 3105 | wrappy@1.0.2: {} 3106 | 3107 | yaml@1.10.2: {} 3108 | 3109 | yaml@2.4.5: {} 3110 | 3111 | yocto-queue@0.1.0: {} 3112 | 3113 | zod@3.23.8: {} 3114 | --------------------------------------------------------------------------------