authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-03-19 02:53:02-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-03-20 01:17:10-07:00
log8e7f246a0e706c2fcdf48be112d652492568b74d
tree383ac15a5c17b645c53ce730d4389c243869159b
signaturebadge-check Signed by SSH key SHA256:xbd+BjjhyBfwk7GVoURf9Yx0gzDerHbvYv7SddNWmAs

feat: initial demo with project goals


22 files changed, 5462 insertions(+), 0 deletions(-)

.gitignore created+4
...@@ -0,0 +1,4 @@
1node_modules
2dist
3*.log
4.DS_Store
README.md created+67
...@@ -0,0 +1,67 @@
1# `@clo/react-markdown`
2
3This package exports a React component to render markdown using the [unified]
4ecosystem's markdown tools ([remark], [rehype]). The exported `<Markdown />`
5component is extremely memoized, making it suitable for streaming situations
6such as LLM chat interfaces.
7
8- **Bring your Existing Pipeline**: The primary option for configuration is
9 providing a `unified.Processor` with or without the `rehypeReact` plugin.
10 Additionally, you can override the element renderers with the `components`
11 attribute. By default, `@clo/react-markdown` applies a bare bones config so you
12 can get started with just `<Markdown content="hi" />`. Configuration is done
13 either with a provider, or right at the component level.
14- **Handle Partial Markdown**: When the `predict` prop is set, sequences like
15 `hello **world` will be emitted as `hello <strong>world</strong>`.
16
17The motivation for this package is to have an easy to understand version of
18[Streamdown]. With me banning all Vercel software across the company I work at,
19we needed a simple, trustable solution for this problem. Some other differences
20with their library:
21
22- **Better Memoization**: All inline components will preserve their state, even
23 as adjacent content changes. This is done to preserve remounts for things like
24 custom `<a>` tags or other components. (For example, if a custom `<a>` fetches
25 previewing data and provides a hover card, that card won't flicker).
26- **Not Drop-In Replacement**: This APIs is new, and targets most use cases with
27 a small migration.
28- **Headless UI**: No built in styles or components, bring your own CSS to blend
29 your markdown with your existing theme. `@clo/react-markdown` simply takes in your
30 existing `unified` pipeline and works off of that.
31- **Easy to Audit**: Just a few hundred lines of highly commented code
32
33[Streamdown]: https://streamdown.ai
34[unified]: https://unifiedjs.com/
35[remark]: https://remark.js.org/
36
37## Getting Started
38
39```tsx
40import { Markdown } from "@clo/react-markdown";
41import remarkGfm from "remark-gfm";
42import remarkParse from "remark-parse";
43import { unified } from "unified";
44
45// Define any unified processing pipeline. We expect that your
46// app already has one of these.
47const processor = unified().use(remarkParse).use(remarkGfm);
48
49// Define custom components. (maps to rehypeReact's option)
50const components = {
51 a: MarkdownLink,
52 code: InlineCode,
53};
54
55export function HelloWorld() {
56 return (
57 <Markdown
58 content="hello **world"
59 // Predict closing tags for streaming use case
60 predict
61 // These are optional, and can be set via `MarkdownOptionsProvider`
62 processor={processor}
63 components={components}
64 />
65 );
66}
67```
example/App.tsx created+87
...@@ -0,0 +1,87 @@
1import { useDeferredValue, useState } from "react";
2import { Streamdown } from "streamdown";
3import { Markdown } from "../src/mod";
4import { components, streamdownComponents } from "./markdown-components";
5import { initialMarkdown, processor } from "./markdown-demo";
6
7type Renderer = "memo" | "streamdown";
8const rendererOptions: Array<{ label: string; value: Renderer }> = [
9 { label: "MemoMarkdown", value: "memo" },
10 { label: "Streamdown", value: "streamdown" },
11];
12
13function getRendererButtonClass(isActive: boolean) {
14 return isActive
15 ? "rounded bg-white px-2.5 py-1 text-xs font-medium text-stone-900 shadow-sm"
16 : "rounded px-2.5 py-1 text-xs text-stone-600 hover:text-stone-900";
17}
18
19export function App() {
20 const [content, setContent] = useState(initialMarkdown);
21 const deferredContent = useDeferredValue(content);
22 const [renderer, setRenderer] = useState<Renderer>("memo");
23
24 return (
25 <main className="mx-auto flex h-dvh max-w-6xl flex-col overflow-hidden px-4 py-4">
26 <section className="grid min-h-0 flex-1 gap-4 lg:grid-cols-2 lg:grid-rows-1">
27 <div className="flex min-h-0 flex-col overflow-hidden rounded-lg border border-stone-200 bg-white">
28 <div className="flex h-14 shrink-0 items-center justify-between border-b border-stone-200 px-4">
29 <h2 className="text-sm font-medium text-stone-700">Source</h2>
30 <button
31 className="rounded border border-stone-300 px-2.5 py-1 text-xs text-stone-700 hover:bg-stone-50"
32 onClick={() => setContent(initialMarkdown)}
33 type="button"
34 >
35 Reset
36 </button>
37 </div>
38 <label className="block min-h-0 flex-1">
39 <span className="sr-only">Markdown source</span>
40 <textarea
41 className="h-full min-h-0 w-full resize-none overflow-auto bg-transparent p-4 font-mono text-sm leading-6 text-stone-900 outline-none"
42 onChange={(event) => setContent(event.target.value)}
43 placeholder="Write markdown here..."
44 spellCheck={false}
45 value={content}
46 />
47 </label>
48 </div>
49
50 <div className="flex min-h-0 flex-col overflow-hidden rounded-lg border border-stone-200 bg-white">
51 <div className="flex h-14 shrink-0 items-center justify-between gap-3 border-b border-stone-200 px-4">
52 <h2 className="text-sm font-medium text-stone-700">Preview</h2>
53 <div
54 aria-label="Preview renderer"
55 className="inline-flex rounded-md border border-stone-300 bg-stone-50 p-0.5"
56 role="tablist"
57 >
58 {rendererOptions.map(({ label, value }) => (
59 <button
60 key={value}
61 aria-selected={renderer === value}
62 className={getRendererButtonClass(renderer === value)}
63 onClick={() => setRenderer(value)}
64 role="tab"
65 type="button"
66 >
67 {label}
68 </button>
69 ))}
70 </div>
71 </div>
72 <div className="min-h-0 flex-1 overflow-auto p-4">
73 {renderer === "memo" ? (
74 <div className="preview-prose">
75 <Markdown components={components} content={deferredContent} processor={processor} />
76 </div>
77 ) : (
78 <Streamdown className="preview-prose" components={streamdownComponents}>
79 {deferredContent}
80 </Streamdown>
81 )}
82 </div>
83 </div>
84 </section>
85 </main>
86 );
87}
example/index.css created+27
...@@ -0,0 +1,27 @@
1@import "tailwindcss";
2@plugin "@tailwindcss/typography";
3
4:root {
5 color: #1c1917;
6 background: #f8fafc;
7}
8
9html,
10body,
11#root {
12 height: 100%;
13}
14
15body {
16 margin: 0;
17 font-family: ui-sans-serif, system-ui, sans-serif;
18 overflow: hidden;
19}
20
21.preview-prose {
22 @apply prose prose-stone max-w-none;
23 @apply prose-headings:text-stone-900 prose-p:text-stone-700 prose-li:text-stone-700;
24 @apply prose-a:text-blue-700;
25 @apply prose-pre:overflow-x-auto;
26 @apply prose-code:before:content-none prose-code:after:content-none;
27}
example/main.tsx created+22
...@@ -0,0 +1,22 @@
1import { StrictMode } from "react";
2import { createRoot } from "react-dom/client";
3import { scan } from "react-scan";
4import { App } from "./App";
5import "./index.css";
6
7const container = document.getElementById("root");
8
9if (!container) throw new Error("Expected a #root element for the example playground.");
10
11scan({
12 animationSpeed: "off",
13 enabled: true,
14 showToolbar: true,
15 dangerouslyForceRunInProduction: true,
16});
17
18createRoot(container).render(
19 <StrictMode>
20 <App />
21 </StrictMode>,
22);
example/markdown-components.tsx created+149
...@@ -0,0 +1,149 @@
1import { memo, type ComponentPropsWithoutRef, type JSX } from "react";
2import { type Components as MemoComponents } from "rehype-react";
3import { type Components as StreamdownComponents } from "streamdown";
4
5type MarkdownProps<Tag extends keyof JSX.IntrinsicElements> = ComponentPropsWithoutRef<Tag> & {
6 node?: unknown;
7};
8
9function randomHighlightColor() {
10 return `hsl(${Math.floor(Math.random() * 360)} 95% 78%)`;
11}
12
13function omitNode<Props extends { node?: unknown }>(props: Props): Omit<Props, "node"> {
14 const { node, ...rest } = props;
15 void node;
16 return rest;
17}
18
19function MarkdownParagraph(props: MarkdownProps<"p">) {
20 return <p {...omitNode(props)} />;
21}
22
23function MarkdownH1(props: MarkdownProps<"h1">) {
24 return <h1 {...omitNode(props)} />;
25}
26
27function MarkdownH2(props: MarkdownProps<"h2">) {
28 return <h2 {...omitNode(props)} />;
29}
30
31function MarkdownH3(props: MarkdownProps<"h3">) {
32 return <h3 {...omitNode(props)} />;
33}
34
35function MarkdownH4(props: MarkdownProps<"h4">) {
36 return <h4 {...omitNode(props)} />;
37}
38
39function MarkdownH5(props: MarkdownProps<"h5">) {
40 return <h5 {...omitNode(props)} />;
41}
42
43function MarkdownH6(props: MarkdownProps<"h6">) {
44 return <h6 {...omitNode(props)} />;
45}
46
47function MarkdownUnorderedList(props: MarkdownProps<"ul">) {
48 return <ul {...omitNode(props)} />;
49}
50
51function MarkdownOrderedList(props: MarkdownProps<"ol">) {
52 return <ol {...omitNode(props)} />;
53}
54
55function MarkdownListItem(props: MarkdownProps<"li">) {
56 return <li {...omitNode(props)} />;
57}
58
59function MarkdownBlockquote(props: MarkdownProps<"blockquote">) {
60 return <blockquote {...omitNode(props)} />;
61}
62
63function MarkdownPre(props: MarkdownProps<"pre">) {
64 return <pre {...omitNode(props)} />;
65}
66
67function MarkdownCode(props: MarkdownProps<"code">) {
68 return <code {...omitNode(props)} />;
69}
70
71function MarkdownLink(props: MarkdownProps<"a">) {
72 return <a {...omitNode(props)} />;
73}
74
75function MarkdownStrong(props: MarkdownProps<"strong">) {
76 const { style, ...rest } = omitNode(props);
77 return <strong {...rest} style={{ ...style, backgroundColor: randomHighlightColor() }} />;
78}
79
80function MarkdownEmphasis(props: MarkdownProps<"em">) {
81 const { style, ...rest } = omitNode(props);
82 return <em {...rest} style={{ ...style, backgroundColor: randomHighlightColor() }} />;
83}
84
85function MarkdownDelete(props: MarkdownProps<"del">) {
86 return <del {...omitNode(props)} />;
87}
88
89function MarkdownHorizontalRule(props: MarkdownProps<"hr">) {
90 return <hr {...omitNode(props)} />;
91}
92
93function MarkdownTable(props: MarkdownProps<"table">) {
94 return <table {...omitNode(props)} />;
95}
96
97function MarkdownTableHead(props: MarkdownProps<"thead">) {
98 return <thead {...omitNode(props)} />;
99}
100
101function MarkdownTableBody(props: MarkdownProps<"tbody">) {
102 return <tbody {...omitNode(props)} />;
103}
104
105function MarkdownTableRow(props: MarkdownProps<"tr">) {
106 return <tr {...omitNode(props)} />;
107}
108
109function MarkdownTableHeader(props: MarkdownProps<"th">) {
110 return <th {...omitNode(props)} />;
111}
112
113function MarkdownTableCell(props: MarkdownProps<"td">) {
114 return <td {...omitNode(props)} />;
115}
116
117function MarkdownInput(props: MarkdownProps<"input">) {
118 return <input {...omitNode(props)} />;
119}
120
121export const components: Partial<MemoComponents> = {
122 a: MarkdownLink,
123 blockquote: MarkdownBlockquote,
124 code: MarkdownCode,
125 del: MarkdownDelete,
126 em: MarkdownEmphasis,
127 h1: MarkdownH1,
128 h2: MarkdownH2,
129 h3: MarkdownH3,
130 h4: MarkdownH4,
131 h5: MarkdownH5,
132 h6: MarkdownH6,
133 hr: MarkdownHorizontalRule,
134 input: MarkdownInput,
135 li: MarkdownListItem,
136 ol: MarkdownOrderedList,
137 p: memo(MarkdownParagraph),
138 pre: MarkdownPre,
139 strong: MarkdownStrong,
140 table: MarkdownTable,
141 tbody: MarkdownTableBody,
142 td: MarkdownTableCell,
143 th: MarkdownTableHeader,
144 thead: MarkdownTableHead,
145 tr: MarkdownTableRow,
146 ul: MarkdownUnorderedList,
147};
148
149export const streamdownComponents = components as StreamdownComponents;
example/markdown-demo.ts created+7
...@@ -0,0 +1,7 @@
1import remarkGfm from "remark-gfm";
2import remarkParse from "remark-parse";
3import { unified } from "unified";
4import projectReadme from "../README.md?raw";
5
6export const initialMarkdown = projectReadme;
7export const processor = unified().use(remarkParse).use(remarkGfm);
example/vite-env.d.ts created+13
...@@ -0,0 +1,13 @@
1interface ImportMetaEnv {
2 readonly DEV: boolean;
3}
4
5interface ImportMeta {
6 readonly env: ImportMetaEnv;
7}
8
9declare module "*.css";
10declare module "*.md?raw" {
11 const content: string;
12 export default content;
13}
index.html created+12
...@@ -0,0 +1,12 @@
1<!doctype html>
2<html lang="en">
3 <head>
4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6 <title>Clover React Markdown Playground</title>
7 </head>
8 <body>
9 <div id="root"></div>
10 <script type="module" src="/example/main.tsx"></script>
11 </body>
12</html>
package.json created+59
...@@ -0,0 +1,59 @@
1{
2 "license": "ISC",
3 "files": [
4 "dist"
5 ],
6 "type": "module",
7 "exports": {
8 ".": "./src/mod.ts"
9 },
10 "publishConfig": {
11 "access": "public"
12 },
13 "scripts": {
14 "build": "vp pack",
15 "dev": "vp dev",
16 "test": "vp test",
17 "check": "vp check",
18 "prepublishOnly": "vp run build"
19 },
20 "dependencies": {
21 "@clo/lib": "jsr:^3.0.0",
22 "@types/unist": "^3.0.3",
23 "mdast-util-from-markdown": "^2.0.3",
24 "rehype-react": "^8.0.0",
25 "rehype-stringify": "^10.0.1",
26 "remark-gfm": "^4.0.1",
27 "remark-parse": "^11.0.0",
28 "remark-rehype": "^11.1.2",
29 "remark-stringify": "^11.0.0",
30 "unified": "^11.0.5"
31 },
32 "devDependencies": {
33 "@tailwindcss/typography": "^0.5.19",
34 "@tailwindcss/vite": "^4.2.2",
35 "@types/node": "^25.5.0",
36 "@types/react": "^19.2.14",
37 "@types/react-dom": "^19.2.3",
38 "@typescript/native-preview": "7.0.0-dev.20260318.1",
39 "@vitejs/plugin-react": "^6.0.1",
40 "react": "^19.2.4",
41 "react-dom": "^19.2.4",
42 "react-scan": "^0.5.3",
43 "streamdown": "^2.5.0",
44 "tailwindcss": "^4.2.2",
45 "typescript": "^5.9.3",
46 "unified": "^11.0.5",
47 "vite-plus": "^0.1.11"
48 },
49 "peerDependencies": {
50 "react": "*"
51 },
52 "packageManager": "pnpm@10.26.1",
53 "pnpm": {
54 "overrides": {
55 "vite": "npm:@voidzero-dev/vite-plus-core@latest",
56 "vitest": "npm:@voidzero-dev/vite-plus-test@latest"
57 }
58 }
59}
pnpm-lock.yaml created+4623
...@@ -0,0 +1,4623 @@
1lockfileVersion: '9.0'
2
3settings:
4 autoInstallPeers: true
5 excludeLinksFromLockfile: false
6
7overrides:
8 vite: npm:@voidzero-dev/vite-plus-core@latest
9 vitest: npm:@voidzero-dev/vite-plus-test@latest
10
11importers:
12
13 .:
14 dependencies:
15 '@clo/lib':
16 specifier: jsr:^3.0.0
17 version: '@jsr/clo__lib@3.0.0'
18 '@types/unist':
19 specifier: ^3.0.3
20 version: 3.0.3
21 mdast-util-from-markdown:
22 specifier: ^2.0.3
23 version: 2.0.3
24 rehype-react:
25 specifier: ^8.0.0
26 version: 8.0.0
27 rehype-stringify:
28 specifier: ^10.0.1
29 version: 10.0.1
30 remark-gfm:
31 specifier: ^4.0.1
32 version: 4.0.1
33 remark-parse:
34 specifier: ^11.0.0
35 version: 11.0.0
36 remark-rehype:
37 specifier: ^11.1.2
38 version: 11.1.2
39 remark-stringify:
40 specifier: ^11.0.0
41 version: 11.0.0
42 typescript:
43 specifier: ^5.9.3
44 version: 5.9.3
45 unified:
46 specifier: ^11.0.5
47 version: 11.0.5
48 devDependencies:
49 '@tailwindcss/typography':
50 specifier: ^0.5.19
51 version: 0.5.19(tailwindcss@4.2.2)
52 '@tailwindcss/vite':
53 specifier: ^4.2.2
54 version: 4.2.2(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))
55 '@types/node':
56 specifier: ^25.5.0
57 version: 25.5.0
58 '@types/react':
59 specifier: ^19.2.14
60 version: 19.2.14
61 '@types/react-dom':
62 specifier: ^19.2.3
63 version: 19.2.3(@types/react@19.2.14)
64 '@typescript/native-preview':
65 specifier: 7.0.0-dev.20260318.1
66 version: 7.0.0-dev.20260318.1
67 '@vitejs/plugin-react':
68 specifier: ^6.0.1
69 version: 6.0.1(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))
70 react:
71 specifier: ^19.2.4
72 version: 19.2.4
73 react-dom:
74 specifier: ^19.2.4
75 version: 19.2.4(react@19.2.4)
76 react-scan:
77 specifier: ^0.5.3
78 version: 0.5.3(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
79 streamdown:
80 specifier: ^2.5.0
81 version: 2.5.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
82 tailwindcss:
83 specifier: ^4.2.2
84 version: 4.2.2
85 vite-plus:
86 specifier: ^0.1.11
87 version: 0.1.12(@types/node@25.5.0)(happy-dom@20.8.4)(jiti@2.6.1)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))(yaml@2.8.2)
88
89packages:
90
91 '@antfu/install-pkg@1.1.0':
92 resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==}
93
94 '@babel/code-frame@7.29.0':
95 resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
96 engines: {node: '>=6.9.0'}
97
98 '@babel/compat-data@7.29.0':
99 resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
100 engines: {node: '>=6.9.0'}
101
102 '@babel/core@7.29.0':
103 resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
104 engines: {node: '>=6.9.0'}
105
106 '@babel/generator@7.29.1':
107 resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
108 engines: {node: '>=6.9.0'}
109
110 '@babel/helper-compilation-targets@7.28.6':
111 resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
112 engines: {node: '>=6.9.0'}
113
114 '@babel/helper-globals@7.28.0':
115 resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
116 engines: {node: '>=6.9.0'}
117
118 '@babel/helper-module-imports@7.28.6':
119 resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
120 engines: {node: '>=6.9.0'}
121
122 '@babel/helper-module-transforms@7.28.6':
123 resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
124 engines: {node: '>=6.9.0'}
125 peerDependencies:
126 '@babel/core': ^7.0.0
127
128 '@babel/helper-string-parser@7.27.1':
129 resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
130 engines: {node: '>=6.9.0'}
131
132 '@babel/helper-validator-identifier@7.28.5':
133 resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
134 engines: {node: '>=6.9.0'}
135
136 '@babel/helper-validator-option@7.27.1':
137 resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
138 engines: {node: '>=6.9.0'}
139
140 '@babel/helpers@7.29.2':
141 resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==}
142 engines: {node: '>=6.9.0'}
143
144 '@babel/parser@7.29.2':
145 resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==}
146 engines: {node: '>=6.0.0'}
147 hasBin: true
148
149 '@babel/template@7.28.6':
150 resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
151 engines: {node: '>=6.9.0'}
152
153 '@babel/traverse@7.29.0':
154 resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
155 engines: {node: '>=6.9.0'}
156
157 '@babel/types@7.29.0':
158 resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
159 engines: {node: '>=6.9.0'}
160
161 '@braintree/sanitize-url@7.1.2':
162 resolution: {integrity: sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==}
163
164 '@chevrotain/cst-dts-gen@11.1.2':
165 resolution: {integrity: sha512-XTsjvDVB5nDZBQB8o0o/0ozNelQtn2KrUVteIHSlPd2VAV2utEb6JzyCJaJ8tGxACR4RiBNWy5uYUHX2eji88Q==}
166
167 '@chevrotain/gast@11.1.2':
168 resolution: {integrity: sha512-Z9zfXR5jNZb1Hlsd/p+4XWeUFugrHirq36bKzPWDSIacV+GPSVXdk+ahVWZTwjhNwofAWg/sZg58fyucKSQx5g==}
169
170 '@chevrotain/regexp-to-ast@11.1.2':
171 resolution: {integrity: sha512-nMU3Uj8naWer7xpZTYJdxbAs6RIv/dxYzkYU8GSwgUtcAAlzjcPfX1w+RKRcYG8POlzMeayOQ/znfwxEGo5ulw==}
172
173 '@chevrotain/types@11.1.2':
174 resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==}
175
176 '@chevrotain/utils@11.1.2':
177 resolution: {integrity: sha512-4mudFAQ6H+MqBTfqLmU7G1ZwRzCLfJEooL/fsF6rCX5eePMbGhoy5n4g+G4vlh2muDcsCTJtL+uKbOzWxs5LHA==}
178
179 '@emnapi/core@1.9.0':
180 resolution: {integrity: sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==}
181
182 '@emnapi/runtime@1.9.0':
183 resolution: {integrity: sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==}
184
185 '@emnapi/wasi-threads@1.2.0':
186 resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==}
187
188 '@esbuild/aix-ppc64@0.25.12':
189 resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
190 engines: {node: '>=18'}
191 cpu: [ppc64]
192 os: [aix]
193
194 '@esbuild/android-arm64@0.25.12':
195 resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
196 engines: {node: '>=18'}
197 cpu: [arm64]
198 os: [android]
199
200 '@esbuild/android-arm@0.25.12':
201 resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
202 engines: {node: '>=18'}
203 cpu: [arm]
204 os: [android]
205
206 '@esbuild/android-x64@0.25.12':
207 resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
208 engines: {node: '>=18'}
209 cpu: [x64]
210 os: [android]
211
212 '@esbuild/darwin-arm64@0.25.12':
213 resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
214 engines: {node: '>=18'}
215 cpu: [arm64]
216 os: [darwin]
217
218 '@esbuild/darwin-x64@0.25.12':
219 resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
220 engines: {node: '>=18'}
221 cpu: [x64]
222 os: [darwin]
223
224 '@esbuild/freebsd-arm64@0.25.12':
225 resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
226 engines: {node: '>=18'}
227 cpu: [arm64]
228 os: [freebsd]
229
230 '@esbuild/freebsd-x64@0.25.12':
231 resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
232 engines: {node: '>=18'}
233 cpu: [x64]
234 os: [freebsd]
235
236 '@esbuild/linux-arm64@0.25.12':
237 resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
238 engines: {node: '>=18'}
239 cpu: [arm64]
240 os: [linux]
241
242 '@esbuild/linux-arm@0.25.12':
243 resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
244 engines: {node: '>=18'}
245 cpu: [arm]
246 os: [linux]
247
248 '@esbuild/linux-ia32@0.25.12':
249 resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
250 engines: {node: '>=18'}
251 cpu: [ia32]
252 os: [linux]
253
254 '@esbuild/linux-loong64@0.25.12':
255 resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
256 engines: {node: '>=18'}
257 cpu: [loong64]
258 os: [linux]
259
260 '@esbuild/linux-mips64el@0.25.12':
261 resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
262 engines: {node: '>=18'}
263 cpu: [mips64el]
264 os: [linux]
265
266 '@esbuild/linux-ppc64@0.25.12':
267 resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
268 engines: {node: '>=18'}
269 cpu: [ppc64]
270 os: [linux]
271
272 '@esbuild/linux-riscv64@0.25.12':
273 resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
274 engines: {node: '>=18'}
275 cpu: [riscv64]
276 os: [linux]
277
278 '@esbuild/linux-s390x@0.25.12':
279 resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
280 engines: {node: '>=18'}
281 cpu: [s390x]
282 os: [linux]
283
284 '@esbuild/linux-x64@0.25.12':
285 resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
286 engines: {node: '>=18'}
287 cpu: [x64]
288 os: [linux]
289
290 '@esbuild/netbsd-arm64@0.25.12':
291 resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
292 engines: {node: '>=18'}
293 cpu: [arm64]
294 os: [netbsd]
295
296 '@esbuild/netbsd-x64@0.25.12':
297 resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
298 engines: {node: '>=18'}
299 cpu: [x64]
300 os: [netbsd]
301
302 '@esbuild/openbsd-arm64@0.25.12':
303 resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
304 engines: {node: '>=18'}
305 cpu: [arm64]
306 os: [openbsd]
307
308 '@esbuild/openbsd-x64@0.25.12':
309 resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
310 engines: {node: '>=18'}
311 cpu: [x64]
312 os: [openbsd]
313
314 '@esbuild/openharmony-arm64@0.25.12':
315 resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
316 engines: {node: '>=18'}
317 cpu: [arm64]
318 os: [openharmony]
319
320 '@esbuild/sunos-x64@0.25.12':
321 resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
322 engines: {node: '>=18'}
323 cpu: [x64]
324 os: [sunos]
325
326 '@esbuild/win32-arm64@0.25.12':
327 resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
328 engines: {node: '>=18'}
329 cpu: [arm64]
330 os: [win32]
331
332 '@esbuild/win32-ia32@0.25.12':
333 resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
334 engines: {node: '>=18'}
335 cpu: [ia32]
336 os: [win32]
337
338 '@esbuild/win32-x64@0.25.12':
339 resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
340 engines: {node: '>=18'}
341 cpu: [x64]
342 os: [win32]
343
344 '@iconify/types@2.0.0':
345 resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
346
347 '@iconify/utils@3.1.0':
348 resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==}
349
350 '@jridgewell/gen-mapping@0.3.13':
351 resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
352
353 '@jridgewell/remapping@2.3.5':
354 resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
355
356 '@jridgewell/resolve-uri@3.1.2':
357 resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
358 engines: {node: '>=6.0.0'}
359
360 '@jridgewell/sourcemap-codec@1.5.5':
361 resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
362
363 '@jridgewell/trace-mapping@0.3.31':
364 resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==}
365
366 '@jsr/clo__lib@3.0.0':
367 resolution: {integrity: sha512-oseZwHCAcXNPbqnGZ37l7+wAoj6ikIXE1VM0s6eD6fz4DcgM030Slf0T7Lgtn7fIdas5hlfx4JF54TR+vo4THw==, tarball: https://npm.jsr.io/~/11/@jsr/clo__lib/3.0.0.tgz}
368
369 '@mermaid-js/parser@1.0.1':
370 resolution: {integrity: sha512-opmV19kN1JsK0T6HhhokHpcVkqKpF+x2pPDKKM2ThHtZAB5F4PROopk0amuVYK5qMrIA4erzpNm8gmPNJgMDxQ==}
371
372 '@napi-rs/wasm-runtime@1.1.1':
373 resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==}
374
375 '@oxc-project/runtime@0.115.0':
376 resolution: {integrity: sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==}
377 engines: {node: ^20.19.0 || >=22.12.0}
378
379 '@oxc-project/types@0.115.0':
380 resolution: {integrity: sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==}
381
382 '@oxfmt/binding-android-arm-eabi@0.40.0':
383 resolution: {integrity: sha512-S6zd5r1w/HmqR8t0CTnGjFTBLDq2QKORPwriCHxo4xFNuhmOTABGjPaNvCJJVnrKBLsohOeiDX3YqQfJPF+FXw==}
384 engines: {node: ^20.19.0 || >=22.12.0}
385 cpu: [arm]
386 os: [android]
387
388 '@oxfmt/binding-android-arm64@0.40.0':
389 resolution: {integrity: sha512-/mbS9UUP/5Vbl2D6osIdcYiP0oie63LKMoTyGj5hyMCK/SFkl3EhtyRAfdjPvuvHC0SXdW6ePaTKkBSq1SNcIw==}
390 engines: {node: ^20.19.0 || >=22.12.0}
391 cpu: [arm64]
392 os: [android]
393
394 '@oxfmt/binding-darwin-arm64@0.40.0':
395 resolution: {integrity: sha512-wRt8fRdfLiEhnRMBonlIbKrJWixoEmn6KCjKE9PElnrSDSXETGZfPb8ee+nQNTobXkCVvVLytp2o0obAsxl78Q==}
396 engines: {node: ^20.19.0 || >=22.12.0}
397 cpu: [arm64]
398 os: [darwin]
399
400 '@oxfmt/binding-darwin-x64@0.40.0':
401 resolution: {integrity: sha512-fzowhqbOE/NRy+AE5ob0+Y4X243WbWzDb00W+pKwD7d9tOqsAFbtWUwIyqqCoCLxj791m2xXIEeLH/3uz7zCCg==}
402 engines: {node: ^20.19.0 || >=22.12.0}
403 cpu: [x64]
404 os: [darwin]
405
406 '@oxfmt/binding-freebsd-x64@0.40.0':
407 resolution: {integrity: sha512-agZ9ITaqdBjcerRRFEHB8s0OyVcQW8F9ZxsszjxzeSthQ4fcN2MuOtQFWec1ed8/lDa50jSLHVE2/xPmTgtCfQ==}
408 engines: {node: ^20.19.0 || >=22.12.0}
409 cpu: [x64]
410 os: [freebsd]
411
412 '@oxfmt/binding-linux-arm-gnueabihf@0.40.0':
413 resolution: {integrity: sha512-ZM2oQ47p28TP1DVIp7HL1QoMUgqlBFHey0ksHct7tMXoU5BqjNvPWw7888azzMt25lnyPODVuye1wvNbvVUFOA==}
414 engines: {node: ^20.19.0 || >=22.12.0}
415 cpu: [arm]
416 os: [linux]
417
418 '@oxfmt/binding-linux-arm-musleabihf@0.40.0':
419 resolution: {integrity: sha512-RBFPAxRAIsMisKM47Oe6Lwdv6agZYLz02CUhVCD1sOv5ajAcRMrnwCFBPWwGXpazToW2mjnZxFos8TuFjTU15A==}
420 engines: {node: ^20.19.0 || >=22.12.0}
421 cpu: [arm]
422 os: [linux]
423
424 '@oxfmt/binding-linux-arm64-gnu@0.40.0':
425 resolution: {integrity: sha512-Nb2XbQ+wV3W2jSIihXdPj7k83eOxeSgYP3N/SRXvQ6ZYPIk6Q86qEh5Gl/7OitX3bQoQrESqm1yMLvZV8/J7dA==}
426 engines: {node: ^20.19.0 || >=22.12.0}
427 cpu: [arm64]
428 os: [linux]
429
430 '@oxfmt/binding-linux-arm64-musl@0.40.0':
431 resolution: {integrity: sha512-tGmWhLD/0YMotCdfezlT6tC/MJG/wKpo4vnQ3Cq+4eBk/BwNv7EmkD0VkD5F/dYkT3b8FNU01X2e8vvJuWoM1w==}
432 engines: {node: ^20.19.0 || >=22.12.0}
433 cpu: [arm64]
434 os: [linux]
435
436 '@oxfmt/binding-linux-ppc64-gnu@0.40.0':
437 resolution: {integrity: sha512-rVbFyM3e7YhkVnp0IVYjaSHfrBWcTRWb60LEcdNAJcE2mbhTpbqKufx0FrhWfoxOrW/+7UJonAOShoFFLigDqQ==}
438 engines: {node: ^20.19.0 || >=22.12.0}
439 cpu: [ppc64]
440 os: [linux]
441
442 '@oxfmt/binding-linux-riscv64-gnu@0.40.0':
443 resolution: {integrity: sha512-3ZqBw14JtWeEoLiioJcXSJz8RQyPE+3jLARnYM1HdPzZG4vk+Ua8CUupt2+d+vSAvMyaQBTN2dZK+kbBS/j5mA==}
444 engines: {node: ^20.19.0 || >=22.12.0}
445 cpu: [riscv64]
446 os: [linux]
447
448 '@oxfmt/binding-linux-riscv64-musl@0.40.0':
449 resolution: {integrity: sha512-JJ4PPSdcbGBjPvb+O7xYm2FmAsKCyuEMYhqatBAHMp/6TA6rVlf9Z/sYPa4/3Bommb+8nndm15SPFRHEPU5qFA==}
450 engines: {node: ^20.19.0 || >=22.12.0}
451 cpu: [riscv64]
452 os: [linux]
453
454 '@oxfmt/binding-linux-s390x-gnu@0.40.0':
455 resolution: {integrity: sha512-Kp0zNJoX9Ik77wUya2tpBY3W9f40VUoMQLWVaob5SgCrblH/t2xr/9B2bWHfs0WCefuGmqXcB+t0Lq77sbBmZw==}
456 engines: {node: ^20.19.0 || >=22.12.0}
457 cpu: [s390x]
458 os: [linux]
459
460 '@oxfmt/binding-linux-x64-gnu@0.40.0':
461 resolution: {integrity: sha512-7YTCNzleWTaQTqNGUNQ66qVjpoV6DjbCOea+RnpMBly2bpzrI/uu7Rr+2zcgRfNxyjXaFTVQKaRKjqVdeUfeVA==}
462 engines: {node: ^20.19.0 || >=22.12.0}
463 cpu: [x64]
464 os: [linux]
465
466 '@oxfmt/binding-linux-x64-musl@0.40.0':
467 resolution: {integrity: sha512-hWnSzJ0oegeOwfOEeejYXfBqmnRGHusgtHfCPzmvJvHTwy1s3Neo59UKc1CmpE3zxvrCzJoVHos0rr97GHMNPw==}
468 engines: {node: ^20.19.0 || >=22.12.0}
469 cpu: [x64]
470 os: [linux]
471
472 '@oxfmt/binding-openharmony-arm64@0.40.0':
473 resolution: {integrity: sha512-28sJC1lR4qtBJGzSRRbPnSW3GxU2+4YyQFE6rCmsUYqZ5XYH8jg0/w+CvEzQ8TuAQz5zLkcA25nFQGwoU0PT3Q==}
474 engines: {node: ^20.19.0 || >=22.12.0}
475 cpu: [arm64]
476 os: [openharmony]
477
478 '@oxfmt/binding-win32-arm64-msvc@0.40.0':
479 resolution: {integrity: sha512-cDkRnyT0dqwF5oIX1Cv59HKCeZQFbWWdUpXa3uvnHFT2iwYSSZspkhgjXjU6iDp5pFPaAEAe9FIbMoTgkTmKPg==}
480 engines: {node: ^20.19.0 || >=22.12.0}
481 cpu: [arm64]
482 os: [win32]
483
484 '@oxfmt/binding-win32-ia32-msvc@0.40.0':
485 resolution: {integrity: sha512-7rPemBJjqm5Gkv6ZRCPvK8lE6AqQ/2z31DRdWazyx2ZvaSgL7QGofHXHNouRpPvNsT9yxRNQJgigsWkc+0qg4w==}
486 engines: {node: ^20.19.0 || >=22.12.0}
487 cpu: [ia32]
488 os: [win32]
489
490 '@oxfmt/binding-win32-x64-msvc@0.40.0':
491 resolution: {integrity: sha512-/Zmj0yTYSvmha6TG1QnoLqVT7ZMRDqXvFXXBQpIjteEwx9qvUYMBH2xbiOFhDeMUJkGwC3D6fdKsFtaqUvkwNA==}
492 engines: {node: ^20.19.0 || >=22.12.0}
493 cpu: [x64]
494 os: [win32]
495
496 '@oxlint-tsgolint/darwin-arm64@0.17.0':
497 resolution: {integrity: sha512-z3XwCDuOAKgk7bO4y5tyH8Zogwr51G56R0XGKC3tlAbrAq8DecoxAd3qhRZqWBMG2Gzl5bWU3Ghu7lrxuLPzYw==}
498 cpu: [arm64]
499 os: [darwin]
500
501 '@oxlint-tsgolint/darwin-x64@0.17.0':
502 resolution: {integrity: sha512-TZgVXy0MtI8nt0MYiceuZhHPwHcwlIZ/YwzFTAKrgdHiTvVzFbqHVdXi5wbZfT/o1nHGw9fbGWPlb6qKZ4uZ9Q==}
503 cpu: [x64]
504 os: [darwin]
505
506 '@oxlint-tsgolint/linux-arm64@0.17.0':
507 resolution: {integrity: sha512-IDfhFl/Y8bjidCvAP6QAxVyBsl78TmfCHlfjtEv2XtJXgYmIwzv6muO18XMp74SZ2qAyD4y2n2dUedrmghGHeA==}
508 cpu: [arm64]
509 os: [linux]
510
511 '@oxlint-tsgolint/linux-x64@0.17.0':
512 resolution: {integrity: sha512-Bgdgqx/m8EnfjmmlRLEeYy9Yhdt1GdFrMr5mTu/NyLRGkB1C9VLAikdxB7U9QambAGTAmjMbHNFDFk8Vx69Huw==}
513 cpu: [x64]
514 os: [linux]
515
516 '@oxlint-tsgolint/win32-arm64@0.17.0':
517 resolution: {integrity: sha512-dO6wyKMDqFWh1vwr+zNZS7/ovlfGgl4S3P1LDy4CKjP6V6NGtdmEwWkWax8j/I8RzGZdfXKnoUfb/qhVg5bx0w==}
518 cpu: [arm64]
519 os: [win32]
520
521 '@oxlint-tsgolint/win32-x64@0.17.0':
522 resolution: {integrity: sha512-lPGYFp3yX2nh6hLTpIuMnJbZnt3Df42VkoA/fSkMYi2a/LXdDytQGpgZOrb5j47TICARd34RauKm0P3OA4Oxbw==}
523 cpu: [x64]
524 os: [win32]
525
526 '@oxlint/binding-android-arm-eabi@1.55.0':
527 resolution: {integrity: sha512-NhvgAhncTSOhRahQSCnkK/4YIGPjTmhPurQQ2dwt2IvwCMTvZRW5vF2K10UBOxFve4GZDMw6LtXZdC2qeuYIVQ==}
528 engines: {node: ^20.19.0 || >=22.12.0}
529 cpu: [arm]
530 os: [android]
531
532 '@oxlint/binding-android-arm64@1.55.0':
533 resolution: {integrity: sha512-P9iWRh+Ugqhg+D7rkc7boHX8o3H2h7YPcZHQIgvVBgnua5tk4LR2L+IBlreZs58/95cd2x3/004p5VsQM9z4SA==}
534 engines: {node: ^20.19.0 || >=22.12.0}
535 cpu: [arm64]
536 os: [android]
537
538 '@oxlint/binding-darwin-arm64@1.55.0':
539 resolution: {integrity: sha512-esakkJIt7WFAhT30P/Qzn96ehFpzdZ1mNuzpOb8SCW7lI4oB8VsyQnkSHREM671jfpuBb/o2ppzBCx5l0jpgMA==}
540 engines: {node: ^20.19.0 || >=22.12.0}
541 cpu: [arm64]
542 os: [darwin]
543
544 '@oxlint/binding-darwin-x64@1.55.0':
545 resolution: {integrity: sha512-xDMFRCCAEK9fOH6As2z8ELsC+VDGSFRHwIKVSilw+xhgLwTDFu37rtmRbmUlx8rRGS6cWKQPTc47AVxAZEVVPQ==}
546 engines: {node: ^20.19.0 || >=22.12.0}
547 cpu: [x64]
548 os: [darwin]
549
550 '@oxlint/binding-freebsd-x64@1.55.0':
551 resolution: {integrity: sha512-mYZqnwUD7ALCRxGenyLd1uuG+rHCL+OTT6S8FcAbVm/ZT2AZMGjvibp3F6k1SKOb2aeqFATmwRykrE41Q0GWVw==}
552 engines: {node: ^20.19.0 || >=22.12.0}
553 cpu: [x64]
554 os: [freebsd]
555
556 '@oxlint/binding-linux-arm-gnueabihf@1.55.0':
557 resolution: {integrity: sha512-LcX6RYcF9vL9ESGwJW3yyIZ/d/ouzdOKXxCdey1q0XJOW1asrHsIg5MmyKdEBR4plQx+shvYeQne7AzW5f3T1w==}
558 engines: {node: ^20.19.0 || >=22.12.0}
559 cpu: [arm]
560 os: [linux]
561
562 '@oxlint/binding-linux-arm-musleabihf@1.55.0':
563 resolution: {integrity: sha512-C+8GS1rPtK+dI7mJFkqoRBkDuqbrNihnyYQsJPS9ez+8zF9JzfvU19lawqt4l/Y23o5uQswE/DORa8aiXUih3w==}
564 engines: {node: ^20.19.0 || >=22.12.0}
565 cpu: [arm]
566 os: [linux]
567
568 '@oxlint/binding-linux-arm64-gnu@1.55.0':
569 resolution: {integrity: sha512-ErLE4XbmcCopA4/CIDiH6J1IAaDOMnf/KSx/aFObs4/OjAAM3sFKWGZ57pNOMxhhyBdcmcXwYymph9GwcpcqgQ==}
570 engines: {node: ^20.19.0 || >=22.12.0}
571 cpu: [arm64]
572 os: [linux]
573
574 '@oxlint/binding-linux-arm64-musl@1.55.0':
575 resolution: {integrity: sha512-/kp65avi6zZfqEng56TTuhiy3P/3pgklKIdf38yvYeJ9/PgEeRA2A2AqKAKbZBNAqUzrzHhz9jF6j/PZvhJzTQ==}
576 engines: {node: ^20.19.0 || >=22.12.0}
577 cpu: [arm64]
578 os: [linux]
579
580 '@oxlint/binding-linux-ppc64-gnu@1.55.0':
581 resolution: {integrity: sha512-A6pTdXwcEEwL/nmz0eUJ6WxmxcoIS+97GbH96gikAyre3s5deC7sts38ZVVowjS2QQFuSWkpA4ZmQC0jZSNvJQ==}
582 engines: {node: ^20.19.0 || >=22.12.0}
583 cpu: [ppc64]
584 os: [linux]
585
586 '@oxlint/binding-linux-riscv64-gnu@1.55.0':
587 resolution: {integrity: sha512-clj0lnIN+V52G9tdtZl0LbdTSurnZ1NZj92Je5X4lC7gP5jiCSW+Y/oiDiSauBAD4wrHt2S7nN3pA0zfKYK/6Q==}
588 engines: {node: ^20.19.0 || >=22.12.0}
589 cpu: [riscv64]
590 os: [linux]
591
592 '@oxlint/binding-linux-riscv64-musl@1.55.0':
593 resolution: {integrity: sha512-NNu08pllN5x/O94/sgR3DA8lbrGBnTHsINZZR0hcav1sj79ksTiKKm1mRzvZvacwQ0hUnGinFo+JO75ok2PxYg==}
594 engines: {node: ^20.19.0 || >=22.12.0}
595 cpu: [riscv64]
596 os: [linux]
597
598 '@oxlint/binding-linux-s390x-gnu@1.55.0':
599 resolution: {integrity: sha512-BvfQz3PRlWZRoEZ17dZCqgQsMRdpzGZomJkVATwCIGhHVVeHJMQdmdXPSjcT1DCNUrOjXnVyj1RGDj5+/Je2+Q==}
600 engines: {node: ^20.19.0 || >=22.12.0}
601 cpu: [s390x]
602 os: [linux]
603
604 '@oxlint/binding-linux-x64-gnu@1.55.0':
605 resolution: {integrity: sha512-ngSOoFCSBMKVQd24H8zkbcBNc7EHhjnF1sv3mC9NNXQ/4rRjI/4Dj9+9XoDZeFEkF1SX1COSBXF1b2Pr9rqdEw==}
606 engines: {node: ^20.19.0 || >=22.12.0}
607 cpu: [x64]
608 os: [linux]
609
610 '@oxlint/binding-linux-x64-musl@1.55.0':
611 resolution: {integrity: sha512-BDpP7W8GlaG7BR6QjGZAleYzxoyKc/D24spZIF2mB3XsfALQJJT/OBmP8YpeTb1rveFSBHzl8T7l0aqwkWNdGA==}
612 engines: {node: ^20.19.0 || >=22.12.0}
613 cpu: [x64]
614 os: [linux]
615
616 '@oxlint/binding-openharmony-arm64@1.55.0':
617 resolution: {integrity: sha512-PS6GFvmde/pc3fCA2Srt51glr8Lcxhpf6WIBFfLphndjRrD34NEcses4TSxQrEcxYo6qVywGfylM0ZhSCF2gGA==}
618 engines: {node: ^20.19.0 || >=22.12.0}
619 cpu: [arm64]
620 os: [openharmony]
621
622 '@oxlint/binding-win32-arm64-msvc@1.55.0':
623 resolution: {integrity: sha512-P6JcLJGs/q1UOvDLzN8otd9JsH4tsuuPDv+p7aHqHM3PrKmYdmUvkNj4K327PTd35AYcznOCN+l4ZOaq76QzSw==}
624 engines: {node: ^20.19.0 || >=22.12.0}
625 cpu: [arm64]
626 os: [win32]
627
628 '@oxlint/binding-win32-ia32-msvc@1.55.0':
629 resolution: {integrity: sha512-gzkk4zE2zsE+WmRxFOiAZHpCpUNDFytEakqNXoNHW+PnYEOTPKDdW6nrzgSeTbGKVPXNAKQnRnMgrh7+n3Xueg==}
630 engines: {node: ^20.19.0 || >=22.12.0}
631 cpu: [ia32]
632 os: [win32]
633
634 '@oxlint/binding-win32-x64-msvc@1.55.0':
635 resolution: {integrity: sha512-ZFALNow2/og75gvYzNP7qe+rREQ5xunktwA+lgykoozHZ6hw9bqg4fn5j2UvG4gIn1FXqrZHkOAXuPf5+GOYTQ==}
636 engines: {node: ^20.19.0 || >=22.12.0}
637 cpu: [x64]
638 os: [win32]
639
640 '@polka/url@1.0.0-next.29':
641 resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
642
643 '@preact/signals-core@1.14.0':
644 resolution: {integrity: sha512-AowtCcCU/33lFlh1zRFf/u+12rfrhtNakj7UpaGEsmMwUKpKWMVvcktOGcwBBNiB4lWrZWc01LhiyyzVklJyaQ==}
645
646 '@preact/signals@1.3.4':
647 resolution: {integrity: sha512-TPMkStdT0QpSc8FpB63aOwXoSiZyIrPsP9Uj347KopdS6olZdAYeeird/5FZv/M1Yc1ge5qstub2o8VDbvkT4g==}
648 peerDependencies:
649 preact: 10.x
650
651 '@rolldown/binding-android-arm64@1.0.0-rc.9':
652 resolution: {integrity: sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==}
653 engines: {node: ^20.19.0 || >=22.12.0}
654 cpu: [arm64]
655 os: [android]
656
657 '@rolldown/binding-darwin-arm64@1.0.0-rc.9':
658 resolution: {integrity: sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==}
659 engines: {node: ^20.19.0 || >=22.12.0}
660 cpu: [arm64]
661 os: [darwin]
662
663 '@rolldown/binding-darwin-x64@1.0.0-rc.9':
664 resolution: {integrity: sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==}
665 engines: {node: ^20.19.0 || >=22.12.0}
666 cpu: [x64]
667 os: [darwin]
668
669 '@rolldown/binding-freebsd-x64@1.0.0-rc.9':
670 resolution: {integrity: sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==}
671 engines: {node: ^20.19.0 || >=22.12.0}
672 cpu: [x64]
673 os: [freebsd]
674
675 '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9':
676 resolution: {integrity: sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==}
677 engines: {node: ^20.19.0 || >=22.12.0}
678 cpu: [arm]
679 os: [linux]
680
681 '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9':
682 resolution: {integrity: sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==}
683 engines: {node: ^20.19.0 || >=22.12.0}
684 cpu: [arm64]
685 os: [linux]
686
687 '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9':
688 resolution: {integrity: sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==}
689 engines: {node: ^20.19.0 || >=22.12.0}
690 cpu: [arm64]
691 os: [linux]
692
693 '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9':
694 resolution: {integrity: sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==}
695 engines: {node: ^20.19.0 || >=22.12.0}
696 cpu: [ppc64]
697 os: [linux]
698
699 '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9':
700 resolution: {integrity: sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==}
701 engines: {node: ^20.19.0 || >=22.12.0}
702 cpu: [s390x]
703 os: [linux]
704
705 '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9':
706 resolution: {integrity: sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==}
707 engines: {node: ^20.19.0 || >=22.12.0}
708 cpu: [x64]
709 os: [linux]
710
711 '@rolldown/binding-linux-x64-musl@1.0.0-rc.9':
712 resolution: {integrity: sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==}
713 engines: {node: ^20.19.0 || >=22.12.0}
714 cpu: [x64]
715 os: [linux]
716
717 '@rolldown/binding-openharmony-arm64@1.0.0-rc.9':
718 resolution: {integrity: sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==}
719 engines: {node: ^20.19.0 || >=22.12.0}
720 cpu: [arm64]
721 os: [openharmony]
722
723 '@rolldown/binding-wasm32-wasi@1.0.0-rc.9':
724 resolution: {integrity: sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==}
725 engines: {node: '>=14.0.0'}
726 cpu: [wasm32]
727
728 '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9':
729 resolution: {integrity: sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==}
730 engines: {node: ^20.19.0 || >=22.12.0}
731 cpu: [arm64]
732 os: [win32]
733
734 '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9':
735 resolution: {integrity: sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==}
736 engines: {node: ^20.19.0 || >=22.12.0}
737 cpu: [x64]
738 os: [win32]
739
740 '@rolldown/pluginutils@1.0.0-rc.7':
741 resolution: {integrity: sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==}
742
743 '@rolldown/pluginutils@1.0.0-rc.9':
744 resolution: {integrity: sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==}
745
746 '@rollup/pluginutils@5.3.0':
747 resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
748 engines: {node: '>=14.0.0'}
749 peerDependencies:
750 rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
751 peerDependenciesMeta:
752 rollup:
753 optional: true
754
755 '@standard-schema/spec@1.1.0':
756 resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
757
758 '@tailwindcss/node@4.2.2':
759 resolution: {integrity: sha512-pXS+wJ2gZpVXqFaUEjojq7jzMpTGf8rU6ipJz5ovJV6PUGmlJ+jvIwGrzdHdQ80Sg+wmQxUFuoW1UAAwHNEdFA==}
760
761 '@tailwindcss/oxide-android-arm64@4.2.2':
762 resolution: {integrity: sha512-dXGR1n+P3B6748jZO/SvHZq7qBOqqzQ+yFrXpoOWWALWndF9MoSKAT3Q0fYgAzYzGhxNYOoysRvYlpixRBBoDg==}
763 engines: {node: '>= 20'}
764 cpu: [arm64]
765 os: [android]
766
767 '@tailwindcss/oxide-darwin-arm64@4.2.2':
768 resolution: {integrity: sha512-iq9Qjr6knfMpZHj55/37ouZeykwbDqF21gPFtfnhCCKGDcPI/21FKC9XdMO/XyBM7qKORx6UIhGgg6jLl7BZlg==}
769 engines: {node: '>= 20'}
770 cpu: [arm64]
771 os: [darwin]
772
773 '@tailwindcss/oxide-darwin-x64@4.2.2':
774 resolution: {integrity: sha512-BlR+2c3nzc8f2G639LpL89YY4bdcIdUmiOOkv2GQv4/4M0vJlpXEa0JXNHhCHU7VWOKWT/CjqHdTP8aUuDJkuw==}
775 engines: {node: '>= 20'}
776 cpu: [x64]
777 os: [darwin]
778
779 '@tailwindcss/oxide-freebsd-x64@4.2.2':
780 resolution: {integrity: sha512-YUqUgrGMSu2CDO82hzlQ5qSb5xmx3RUrke/QgnoEx7KvmRJHQuZHZmZTLSuuHwFf0DJPybFMXMYf+WJdxHy/nQ==}
781 engines: {node: '>= 20'}
782 cpu: [x64]
783 os: [freebsd]
784
785 '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.2':
786 resolution: {integrity: sha512-FPdhvsW6g06T9BWT0qTwiVZYE2WIFo2dY5aCSpjG/S/u1tby+wXoslXS0kl3/KXnULlLr1E3NPRRw0g7t2kgaQ==}
787 engines: {node: '>= 20'}
788 cpu: [arm]
789 os: [linux]
790
791 '@tailwindcss/oxide-linux-arm64-gnu@4.2.2':
792 resolution: {integrity: sha512-4og1V+ftEPXGttOO7eCmW7VICmzzJWgMx+QXAJRAhjrSjumCwWqMfkDrNu1LXEQzNAwz28NCUpucgQPrR4S2yw==}
793 engines: {node: '>= 20'}
794 cpu: [arm64]
795 os: [linux]
796
797 '@tailwindcss/oxide-linux-arm64-musl@4.2.2':
798 resolution: {integrity: sha512-oCfG/mS+/+XRlwNjnsNLVwnMWYH7tn/kYPsNPh+JSOMlnt93mYNCKHYzylRhI51X+TbR+ufNhhKKzm6QkqX8ag==}
799 engines: {node: '>= 20'}
800 cpu: [arm64]
801 os: [linux]
802
803 '@tailwindcss/oxide-linux-x64-gnu@4.2.2':
804 resolution: {integrity: sha512-rTAGAkDgqbXHNp/xW0iugLVmX62wOp2PoE39BTCGKjv3Iocf6AFbRP/wZT/kuCxC9QBh9Pu8XPkv/zCZB2mcMg==}
805 engines: {node: '>= 20'}
806 cpu: [x64]
807 os: [linux]
808
809 '@tailwindcss/oxide-linux-x64-musl@4.2.2':
810 resolution: {integrity: sha512-XW3t3qwbIwiSyRCggeO2zxe3KWaEbM0/kW9e8+0XpBgyKU4ATYzcVSMKteZJ1iukJ3HgHBjbg9P5YPRCVUxlnQ==}
811 engines: {node: '>= 20'}
812 cpu: [x64]
813 os: [linux]
814
815 '@tailwindcss/oxide-wasm32-wasi@4.2.2':
816 resolution: {integrity: sha512-eKSztKsmEsn1O5lJ4ZAfyn41NfG7vzCg496YiGtMDV86jz1q/irhms5O0VrY6ZwTUkFy/EKG3RfWgxSI3VbZ8Q==}
817 engines: {node: '>=14.0.0'}
818 cpu: [wasm32]
819 bundledDependencies:
820 - '@napi-rs/wasm-runtime'
821 - '@emnapi/core'
822 - '@emnapi/runtime'
823 - '@tybys/wasm-util'
824 - '@emnapi/wasi-threads'
825 - tslib
826
827 '@tailwindcss/oxide-win32-arm64-msvc@4.2.2':
828 resolution: {integrity: sha512-qPmaQM4iKu5mxpsrWZMOZRgZv1tOZpUm+zdhhQP0VhJfyGGO3aUKdbh3gDZc/dPLQwW4eSqWGrrcWNBZWUWaXQ==}
829 engines: {node: '>= 20'}
830 cpu: [arm64]
831 os: [win32]
832
833 '@tailwindcss/oxide-win32-x64-msvc@4.2.2':
834 resolution: {integrity: sha512-1T/37VvI7WyH66b+vqHj/cLwnCxt7Qt3WFu5Q8hk65aOvlwAhs7rAp1VkulBJw/N4tMirXjVnylTR72uI0HGcA==}
835 engines: {node: '>= 20'}
836 cpu: [x64]
837 os: [win32]
838
839 '@tailwindcss/oxide@4.2.2':
840 resolution: {integrity: sha512-qEUA07+E5kehxYp9BVMpq9E8vnJuBHfJEC0vPC5e7iL/hw7HR61aDKoVoKzrG+QKp56vhNZe4qwkRmMC0zDLvg==}
841 engines: {node: '>= 20'}
842
843 '@tailwindcss/typography@0.5.19':
844 resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==}
845 peerDependencies:
846 tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
847
848 '@tailwindcss/vite@4.2.2':
849 resolution: {integrity: sha512-mEiF5HO1QqCLXoNEfXVA1Tzo+cYsrqV7w9Juj2wdUFyW07JRenqMG225MvPwr3ZD9N1bFQj46X7r33iHxLUW0w==}
850 peerDependencies:
851 vite: ^5.2.0 || ^6 || ^7 || ^8
852
853 '@tybys/wasm-util@0.10.1':
854 resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
855
856 '@types/chai@5.2.3':
857 resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==}
858
859 '@types/d3-array@3.2.2':
860 resolution: {integrity: sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==}
861
862 '@types/d3-axis@3.0.6':
863 resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==}
864
865 '@types/d3-brush@3.0.6':
866 resolution: {integrity: sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==}
867
868 '@types/d3-chord@3.0.6':
869 resolution: {integrity: sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==}
870
871 '@types/d3-color@3.1.3':
872 resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==}
873
874 '@types/d3-contour@3.0.6':
875 resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==}
876
877 '@types/d3-delaunay@6.0.4':
878 resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==}
879
880 '@types/d3-dispatch@3.0.7':
881 resolution: {integrity: sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==}
882
883 '@types/d3-drag@3.0.7':
884 resolution: {integrity: sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==}
885
886 '@types/d3-dsv@3.0.7':
887 resolution: {integrity: sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==}
888
889 '@types/d3-ease@3.0.2':
890 resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==}
891
892 '@types/d3-fetch@3.0.7':
893 resolution: {integrity: sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==}
894
895 '@types/d3-force@3.0.10':
896 resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==}
897
898 '@types/d3-format@3.0.4':
899 resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==}
900
901 '@types/d3-geo@3.1.0':
902 resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==}
903
904 '@types/d3-hierarchy@3.1.7':
905 resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==}
906
907 '@types/d3-interpolate@3.0.4':
908 resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==}
909
910 '@types/d3-path@3.1.1':
911 resolution: {integrity: sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==}
912
913 '@types/d3-polygon@3.0.2':
914 resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==}
915
916 '@types/d3-quadtree@3.0.6':
917 resolution: {integrity: sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==}
918
919 '@types/d3-random@3.0.3':
920 resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==}
921
922 '@types/d3-scale-chromatic@3.1.0':
923 resolution: {integrity: sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==}
924
925 '@types/d3-scale@4.0.9':
926 resolution: {integrity: sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==}
927
928 '@types/d3-selection@3.0.11':
929 resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==}
930
931 '@types/d3-shape@3.1.8':
932 resolution: {integrity: sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==}
933
934 '@types/d3-time-format@4.0.3':
935 resolution: {integrity: sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==}
936
937 '@types/d3-time@3.0.4':
938 resolution: {integrity: sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==}
939
940 '@types/d3-timer@3.0.2':
941 resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==}
942
943 '@types/d3-transition@3.0.9':
944 resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==}
945
946 '@types/d3-zoom@3.0.8':
947 resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==}
948
949 '@types/d3@7.4.3':
950 resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==}
951
952 '@types/debug@4.1.12':
953 resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
954
955 '@types/deep-eql@4.0.2':
956 resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
957
958 '@types/estree-jsx@1.0.5':
959 resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
960
961 '@types/estree@1.0.8':
962 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
963
964 '@types/geojson@7946.0.16':
965 resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
966
967 '@types/hast@3.0.4':
968 resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
969
970 '@types/mdast@4.0.4':
971 resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
972
973 '@types/ms@2.1.0':
974 resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
975
976 '@types/node@20.19.37':
977 resolution: {integrity: sha512-8kzdPJ3FsNsVIurqBs7oodNnCEVbni9yUEkaHbgptDACOPW04jimGagZ51E6+lXUwJjgnBw+hyko/lkFWCldqw==}
978
979 '@types/node@25.5.0':
980 resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==}
981
982 '@types/react-dom@19.2.3':
983 resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
984 peerDependencies:
985 '@types/react': ^19.2.0
986
987 '@types/react-reconciler@0.28.9':
988 resolution: {integrity: sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==}
989 peerDependencies:
990 '@types/react': '*'
991
992 '@types/react@19.2.14':
993 resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
994
995 '@types/trusted-types@2.0.7':
996 resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
997
998 '@types/unist@2.0.11':
999 resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
1000
1001 '@types/unist@3.0.3':
1002 resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
1003
1004 '@types/whatwg-mimetype@3.0.2':
1005 resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==}
1006
1007 '@types/ws@8.18.1':
1008 resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==}
1009
1010 '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260318.1':
1011 resolution: {integrity: sha512-hsXZC0M5N2F/KdX/wjRywZPovdGBgWw9ARy0GWCw1dAynqdfDcuceKbUw+QwMSdvvsFbUjSomTlyFdT09p1mcA==}
1012 cpu: [arm64]
1013 os: [darwin]
1014
1015 '@typescript/native-preview-darwin-x64@7.0.0-dev.20260318.1':
1016 resolution: {integrity: sha512-lQl7DQkROqPZrx4C1MpFP0WNxdqv+9r4lErhd+57M2Kmxx1BmX3K5VMLJT9FZQFRtgntnYbwQAQ774Z17fv8rA==}
1017 cpu: [x64]
1018 os: [darwin]
1019
1020 '@typescript/native-preview-linux-arm64@7.0.0-dev.20260318.1':
1021 resolution: {integrity: sha512-1wv0qpJW4okKadShemVi4s7zGuiIRI7zTInRYDV/FfyQVyKrkTOzMtZXB6CF3Reus1HmRpGp5ADyc4MI7CCeJg==}
1022 cpu: [arm64]
1023 os: [linux]
1024
1025 '@typescript/native-preview-linux-arm@7.0.0-dev.20260318.1':
1026 resolution: {integrity: sha512-tE7uN00Po/oBg5VYaYM0C/QXroo6gdIRmFVZl543o46ihl0YKEZBMnyStRKKgPCI9oeYXyCNT6WR4MxSMz6ndA==}
1027 cpu: [arm]
1028 os: [linux]
1029
1030 '@typescript/native-preview-linux-x64@7.0.0-dev.20260318.1':
1031 resolution: {integrity: sha512-aSE7xAKYTOrxsFrIgmcaHjgXSSOnWrZ6ozNBeNxpGzd/gl2Ho3FCIwQb0NCXrDwF9AhpFRtHMWPpAPaJk24+rg==}
1032 cpu: [x64]
1033 os: [linux]
1034
1035 '@typescript/native-preview-win32-arm64@7.0.0-dev.20260318.1':
1036 resolution: {integrity: sha512-TV/Tn8cgWamb+6mvY45X2wF0vrTkQmRFCiN1pRRehEwxslDkqLVlpGAFpZndLaPlMb/wzwVpz1e/926xdAoO1w==}
1037 cpu: [arm64]
1038 os: [win32]
1039
1040 '@typescript/native-preview-win32-x64@7.0.0-dev.20260318.1':
1041 resolution: {integrity: sha512-AgOZODSYeTlQWVTioRG3AxHzIBSLbZZhyK19WPzjHW0LtxCcFi59G/Gn1uIshVL3sp1ESRg9SZ5mSiFdgvfK4g==}
1042 cpu: [x64]
1043 os: [win32]
1044
1045 '@typescript/native-preview@7.0.0-dev.20260318.1':
1046 resolution: {integrity: sha512-/7LF/2x29K++k147445omxNixPANTmwJl9p/IIzK8NbOeqVOFv1Gj1GQyOQqRdT4j/X6YDwO/p400/JKE+cBOw==}
1047 hasBin: true
1048
1049 '@ungap/structured-clone@1.3.0':
1050 resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
1051
1052 '@upsetjs/venn.js@2.0.0':
1053 resolution: {integrity: sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==}
1054
1055 '@vitejs/plugin-react@6.0.1':
1056 resolution: {integrity: sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==}
1057 engines: {node: ^20.19.0 || >=22.12.0}
1058 peerDependencies:
1059 '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0
1060 babel-plugin-react-compiler: ^1.0.0
1061 vite: ^8.0.0
1062 peerDependenciesMeta:
1063 '@rolldown/plugin-babel':
1064 optional: true
1065 babel-plugin-react-compiler:
1066 optional: true
1067
1068 '@voidzero-dev/vite-plus-core@0.1.12':
1069 resolution: {integrity: sha512-j8YNe7A+8JcSoddztf5whvom/yJ7OKUO3Y5a3UoLIUmOL8YEKVv5nPANrxJ7eaFfHJoMnBEwzBpq1YVZ+H3uPA==}
1070 engines: {node: ^20.19.0 || >=22.12.0}
1071 peerDependencies:
1072 '@arethetypeswrong/core': ^0.18.1
1073 '@tsdown/css': 0.21.3
1074 '@tsdown/exe': 0.21.3
1075 '@types/node': ^20.19.0 || >=22.12.0
1076 '@vitejs/devtools': ^0.0.0-alpha.31
1077 esbuild: ^0.27.0
1078 jiti: '>=1.21.0'
1079 less: ^4.0.0
1080 publint: ^0.3.0
1081 sass: ^1.70.0
1082 sass-embedded: ^1.70.0
1083 stylus: '>=0.54.8'
1084 sugarss: ^5.0.0
1085 terser: ^5.16.0
1086 tsx: ^4.8.1
1087 typescript: ^5.0.0
1088 unplugin-unused: ^0.5.0
1089 yaml: ^2.4.2
1090 peerDependenciesMeta:
1091 '@arethetypeswrong/core':
1092 optional: true
1093 '@tsdown/css':
1094 optional: true
1095 '@tsdown/exe':
1096 optional: true
1097 '@types/node':
1098 optional: true
1099 '@vitejs/devtools':
1100 optional: true
1101 esbuild:
1102 optional: true
1103 jiti:
1104 optional: true
1105 less:
1106 optional: true
1107 publint:
1108 optional: true
1109 sass:
1110 optional: true
1111 sass-embedded:
1112 optional: true
1113 stylus:
1114 optional: true
1115 sugarss:
1116 optional: true
1117 terser:
1118 optional: true
1119 tsx:
1120 optional: true
1121 typescript:
1122 optional: true
1123 unplugin-unused:
1124 optional: true
1125 yaml:
1126 optional: true
1127
1128 '@voidzero-dev/vite-plus-darwin-arm64@0.1.12':
1129 resolution: {integrity: sha512-tYQrfmcLxIqqr/de00oN7ayu+rYobEOjyR9AxoeJoNUqRyNQCdT0A5vg78kJNPaQCyL6ctgRRvpEKr0WHVmduQ==}
1130 engines: {node: ^20.19.0 || >=22.12.0}
1131 cpu: [arm64]
1132 os: [darwin]
1133
1134 '@voidzero-dev/vite-plus-darwin-x64@0.1.12':
1135 resolution: {integrity: sha512-852hO/Onx9Z5u0tOYOVEUVzYJUmWdlHeqYnNT6pj0IClgVp0+KSabxr7A2paTWEFWp6XbKWvqw5Y5cVwUV3A6Q==}
1136 engines: {node: ^20.19.0 || >=22.12.0}
1137 cpu: [x64]
1138 os: [darwin]
1139
1140 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.1.12':
1141 resolution: {integrity: sha512-/gTh4tGyJKCNBn9SZUs3sq9QVRUmyuyseZefBgS223QRxdwFaxc7tIKaw91X59WXXYOzUYZOD5zsTcaIF4hc9A==}
1142 engines: {node: ^20.19.0 || >=22.12.0}
1143 cpu: [arm64]
1144 os: [linux]
1145
1146 '@voidzero-dev/vite-plus-linux-x64-gnu@0.1.12':
1147 resolution: {integrity: sha512-9oN9ITjK/Xq9Werx+6G6jnI3+F1S3g9lB36J1VAHyRlAEtuiCDV0E3YMoW2O7KzM/PlodZIZ8LStVkH7aA5ZCw==}
1148 engines: {node: ^20.19.0 || >=22.12.0}
1149 cpu: [x64]
1150 os: [linux]
1151
1152 '@voidzero-dev/vite-plus-test@0.1.12':
1153 resolution: {integrity: sha512-EE8Y2vQvqS4c/1qSa7qlhUY9koAG6wYev0NFAtDZsijQCHUqE7nYXGJYnyUInAE6GX4zlQDGg7tf2DAl+CISYw==}
1154 engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
1155 peerDependencies:
1156 '@edge-runtime/vm': '*'
1157 '@opentelemetry/api': ^1.9.0
1158 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
1159 '@vitest/ui': 4.1.0
1160 happy-dom: '*'
1161 jsdom: '*'
1162 vite: ^6.0.0 || ^7.0.0 || ^8.0.0-0
1163 peerDependenciesMeta:
1164 '@edge-runtime/vm':
1165 optional: true
1166 '@opentelemetry/api':
1167 optional: true
1168 '@types/node':
1169 optional: true
1170 '@vitest/ui':
1171 optional: true
1172 happy-dom:
1173 optional: true
1174 jsdom:
1175 optional: true
1176
1177 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.1.12':
1178 resolution: {integrity: sha512-JanAb6Y+6BmPhKNLvpZB/syeyY99bt7EPJCaLlbaCt3V0Y2Iw7c7dWBM4Sg4GZ7szGYdGw385fRz0n2M32f1rg==}
1179 engines: {node: ^20.19.0 || >=22.12.0}
1180 cpu: [arm64]
1181 os: [win32]
1182
1183 '@voidzero-dev/vite-plus-win32-x64-msvc@0.1.12':
1184 resolution: {integrity: sha512-Ei/UtTTp7UgeEGyV83jhDpSMXhwaZZzfS7Xiaj+zj80GGOwsBre0i+oHGZ7+TuVsZ7Im0sD8IZ9enCpKpV//AQ==}
1185 engines: {node: ^20.19.0 || >=22.12.0}
1186 cpu: [x64]
1187 os: [win32]
1188
1189 acorn@8.16.0:
1190 resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
1191 engines: {node: '>=0.4.0'}
1192 hasBin: true
1193
1194 assertion-error@2.0.1:
1195 resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
1196 engines: {node: '>=12'}
1197
1198 bail@2.0.2:
1199 resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
1200
1201 baseline-browser-mapping@2.10.8:
1202 resolution: {integrity: sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==}
1203 engines: {node: '>=6.0.0'}
1204 hasBin: true
1205
1206 bippy@0.5.32:
1207 resolution: {integrity: sha512-yt1mC8eReTxjfg41YBZdN4PvsDwHFWxltoiQX0Q+Htlbf41aSniopb7ECZits01HwNAvXEh69RGk/ImlswDTEw==}
1208 peerDependencies:
1209 react: '>=17.0.1'
1210
1211 browserslist@4.28.1:
1212 resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==}
1213 engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1214 hasBin: true
1215
1216 cac@6.7.14:
1217 resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
1218 engines: {node: '>=8'}
1219
1220 caniuse-lite@1.0.30001780:
1221 resolution: {integrity: sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==}
1222
1223 ccount@2.0.1:
1224 resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
1225
1226 character-entities-html4@2.1.0:
1227 resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
1228
1229 character-entities-legacy@3.0.0:
1230 resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
1231
1232 character-entities@2.0.2:
1233 resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
1234
1235 character-reference-invalid@2.0.1:
1236 resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
1237
1238 chevrotain-allstar@0.3.1:
1239 resolution: {integrity: sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==}
1240 peerDependencies:
1241 chevrotain: ^11.0.0
1242
1243 chevrotain@11.1.2:
1244 resolution: {integrity: sha512-opLQzEVriiH1uUQ4Kctsd49bRoFDXGGSC4GUqj7pGyxM3RehRhvTlZJc1FL/Flew2p5uwxa1tUDWKzI4wNM8pg==}
1245
1246 clsx@2.1.1:
1247 resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
1248 engines: {node: '>=6'}
1249
1250 comma-separated-tokens@2.0.3:
1251 resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
1252
1253 commander@14.0.3:
1254 resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
1255 engines: {node: '>=20'}
1256
1257 commander@7.2.0:
1258 resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
1259 engines: {node: '>= 10'}
1260
1261 commander@8.3.0:
1262 resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
1263 engines: {node: '>= 12'}
1264
1265 confbox@0.1.8:
1266 resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
1267
1268 convert-source-map@2.0.0:
1269 resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
1270
1271 cose-base@1.0.3:
1272 resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==}
1273
1274 cose-base@2.2.0:
1275 resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==}
1276
1277 cross-spawn@7.0.6:
1278 resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
1279 engines: {node: '>= 8'}
1280
1281 cssesc@3.0.0:
1282 resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1283 engines: {node: '>=4'}
1284 hasBin: true
1285
1286 csstype@3.2.3:
1287 resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==}
1288
1289 cytoscape-cose-bilkent@4.1.0:
1290 resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
1291 peerDependencies:
1292 cytoscape: ^3.2.0
1293
1294 cytoscape-fcose@2.2.0:
1295 resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==}
1296 peerDependencies:
1297 cytoscape: ^3.2.0
1298
1299 cytoscape@3.33.1:
1300 resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==}
1301 engines: {node: '>=0.10'}
1302
1303 d3-array@2.12.1:
1304 resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==}
1305
1306 d3-array@3.2.4:
1307 resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==}
1308 engines: {node: '>=12'}
1309
1310 d3-axis@3.0.0:
1311 resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==}
1312 engines: {node: '>=12'}
1313
1314 d3-brush@3.0.0:
1315 resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==}
1316 engines: {node: '>=12'}
1317
1318 d3-chord@3.0.1:
1319 resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==}
1320 engines: {node: '>=12'}
1321
1322 d3-color@3.1.0:
1323 resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==}
1324 engines: {node: '>=12'}
1325
1326 d3-contour@4.0.2:
1327 resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==}
1328 engines: {node: '>=12'}
1329
1330 d3-delaunay@6.0.4:
1331 resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==}
1332 engines: {node: '>=12'}
1333
1334 d3-dispatch@3.0.1:
1335 resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==}
1336 engines: {node: '>=12'}
1337
1338 d3-drag@3.0.0:
1339 resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==}
1340 engines: {node: '>=12'}
1341
1342 d3-dsv@3.0.1:
1343 resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
1344 engines: {node: '>=12'}
1345 hasBin: true
1346
1347 d3-ease@3.0.1:
1348 resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==}
1349 engines: {node: '>=12'}
1350
1351 d3-fetch@3.0.1:
1352 resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==}
1353 engines: {node: '>=12'}
1354
1355 d3-force@3.0.0:
1356 resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==}
1357 engines: {node: '>=12'}
1358
1359 d3-format@3.1.2:
1360 resolution: {integrity: sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==}
1361 engines: {node: '>=12'}
1362
1363 d3-geo@3.1.1:
1364 resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==}
1365 engines: {node: '>=12'}
1366
1367 d3-hierarchy@3.1.2:
1368 resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==}
1369 engines: {node: '>=12'}
1370
1371 d3-interpolate@3.0.1:
1372 resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==}
1373 engines: {node: '>=12'}
1374
1375 d3-path@1.0.9:
1376 resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==}
1377
1378 d3-path@3.1.0:
1379 resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==}
1380 engines: {node: '>=12'}
1381
1382 d3-polygon@3.0.1:
1383 resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==}
1384 engines: {node: '>=12'}
1385
1386 d3-quadtree@3.0.1:
1387 resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==}
1388 engines: {node: '>=12'}
1389
1390 d3-random@3.0.1:
1391 resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==}
1392 engines: {node: '>=12'}
1393
1394 d3-sankey@0.12.3:
1395 resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==}
1396
1397 d3-scale-chromatic@3.1.0:
1398 resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==}
1399 engines: {node: '>=12'}
1400
1401 d3-scale@4.0.2:
1402 resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==}
1403 engines: {node: '>=12'}
1404
1405 d3-selection@3.0.0:
1406 resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==}
1407 engines: {node: '>=12'}
1408
1409 d3-shape@1.3.7:
1410 resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==}
1411
1412 d3-shape@3.2.0:
1413 resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==}
1414 engines: {node: '>=12'}
1415
1416 d3-time-format@4.1.0:
1417 resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==}
1418 engines: {node: '>=12'}
1419
1420 d3-time@3.1.0:
1421 resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==}
1422 engines: {node: '>=12'}
1423
1424 d3-timer@3.0.1:
1425 resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==}
1426 engines: {node: '>=12'}
1427
1428 d3-transition@3.0.1:
1429 resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==}
1430 engines: {node: '>=12'}
1431 peerDependencies:
1432 d3-selection: 2 - 3
1433
1434 d3-zoom@3.0.0:
1435 resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==}
1436 engines: {node: '>=12'}
1437
1438 d3@7.9.0:
1439 resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==}
1440 engines: {node: '>=12'}
1441
1442 dagre-d3-es@7.0.14:
1443 resolution: {integrity: sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==}
1444
1445 dayjs@1.11.20:
1446 resolution: {integrity: sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==}
1447
1448 debug@4.4.3:
1449 resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
1450 engines: {node: '>=6.0'}
1451 peerDependencies:
1452 supports-color: '*'
1453 peerDependenciesMeta:
1454 supports-color:
1455 optional: true
1456
1457 decode-named-character-reference@1.3.0:
1458 resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
1459
1460 delaunator@5.0.1:
1461 resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
1462
1463 dequal@2.0.3:
1464 resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1465 engines: {node: '>=6'}
1466
1467 detect-libc@2.1.2:
1468 resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
1469 engines: {node: '>=8'}
1470
1471 devlop@1.1.0:
1472 resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
1473
1474 dompurify@3.3.3:
1475 resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==}
1476
1477 electron-to-chromium@1.5.321:
1478 resolution: {integrity: sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==}
1479
1480 enhanced-resolve@5.20.1:
1481 resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==}
1482 engines: {node: '>=10.13.0'}
1483
1484 entities@6.0.1:
1485 resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
1486 engines: {node: '>=0.12'}
1487
1488 entities@7.0.1:
1489 resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==}
1490 engines: {node: '>=0.12'}
1491
1492 es-module-lexer@1.7.0:
1493 resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
1494
1495 esbuild@0.25.12:
1496 resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
1497 engines: {node: '>=18'}
1498 hasBin: true
1499
1500 escalade@3.2.0:
1501 resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1502 engines: {node: '>=6'}
1503
1504 escape-string-regexp@5.0.0:
1505 resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
1506 engines: {node: '>=12'}
1507
1508 estree-util-is-identifier-name@3.0.0:
1509 resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
1510
1511 estree-walker@2.0.2:
1512 resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1513
1514 estree-walker@3.0.3:
1515 resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1516
1517 extend@3.0.2:
1518 resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
1519
1520 fdir@6.5.0:
1521 resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
1522 engines: {node: '>=12.0.0'}
1523 peerDependencies:
1524 picomatch: ^3 || ^4
1525 peerDependenciesMeta:
1526 picomatch:
1527 optional: true
1528
1529 fsevents@2.3.3:
1530 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1531 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1532 os: [darwin]
1533
1534 gensync@1.0.0-beta.2:
1535 resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1536 engines: {node: '>=6.9.0'}
1537
1538 graceful-fs@4.2.11:
1539 resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1540
1541 hachure-fill@0.5.2:
1542 resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
1543
1544 happy-dom@20.8.4:
1545 resolution: {integrity: sha512-GKhjq4OQCYB4VLFBzv8mmccUadwlAusOZOI7hC1D9xDIT5HhzkJK17c4el2f6R6C715P9xB4uiMxeKUa2nHMwQ==}
1546 engines: {node: '>=20.0.0'}
1547
1548 hast-util-from-parse5@8.0.3:
1549 resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
1550
1551 hast-util-parse-selector@4.0.0:
1552 resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
1553
1554 hast-util-raw@9.1.0:
1555 resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==}
1556
1557 hast-util-sanitize@5.0.2:
1558 resolution: {integrity: sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==}
1559
1560 hast-util-to-html@9.0.5:
1561 resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
1562
1563 hast-util-to-jsx-runtime@2.3.6:
1564 resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
1565
1566 hast-util-to-parse5@8.0.1:
1567 resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==}
1568
1569 hast-util-whitespace@3.0.0:
1570 resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
1571
1572 hastscript@9.0.1:
1573 resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
1574
1575 html-url-attributes@3.0.1:
1576 resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
1577
1578 html-void-elements@3.0.0:
1579 resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
1580
1581 iconv-lite@0.6.3:
1582 resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
1583 engines: {node: '>=0.10.0'}
1584
1585 inline-style-parser@0.2.7:
1586 resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==}
1587
1588 internmap@1.0.1:
1589 resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==}
1590
1591 internmap@2.0.3:
1592 resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
1593 engines: {node: '>=12'}
1594
1595 is-alphabetical@2.0.1:
1596 resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
1597
1598 is-alphanumerical@2.0.1:
1599 resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
1600
1601 is-decimal@2.0.1:
1602 resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
1603
1604 is-hexadecimal@2.0.1:
1605 resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
1606
1607 is-plain-obj@4.1.0:
1608 resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
1609 engines: {node: '>=12'}
1610
1611 isexe@2.0.0:
1612 resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1613
1614 jiti@2.6.1:
1615 resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
1616 hasBin: true
1617
1618 js-tokens@4.0.0:
1619 resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1620
1621 jsesc@3.1.0:
1622 resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
1623 engines: {node: '>=6'}
1624 hasBin: true
1625
1626 json5@2.2.3:
1627 resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1628 engines: {node: '>=6'}
1629 hasBin: true
1630
1631 katex@0.16.38:
1632 resolution: {integrity: sha512-cjHooZUmIAUmDsHBN+1n8LaZdpmbj03LtYeYPyuYB7OuloiaeaV6N4LcfjcnHVzGWjVQmKrxxTrpDcmSzEZQwQ==}
1633 hasBin: true
1634
1635 khroma@2.1.0:
1636 resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==}
1637
1638 kleur@3.0.3:
1639 resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
1640 engines: {node: '>=6'}
1641
1642 langium@4.2.1:
1643 resolution: {integrity: sha512-zu9QWmjpzJcomzdJQAHgDVhLGq5bLosVak1KVa40NzQHXfqr4eAHupvnPOVXEoLkg6Ocefvf/93d//SB7du4YQ==}
1644 engines: {node: '>=20.10.0', npm: '>=10.2.3'}
1645
1646 layout-base@1.0.2:
1647 resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==}
1648
1649 layout-base@2.0.1:
1650 resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==}
1651
1652 lightningcss-android-arm64@1.32.0:
1653 resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==}
1654 engines: {node: '>= 12.0.0'}
1655 cpu: [arm64]
1656 os: [android]
1657
1658 lightningcss-darwin-arm64@1.32.0:
1659 resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==}
1660 engines: {node: '>= 12.0.0'}
1661 cpu: [arm64]
1662 os: [darwin]
1663
1664 lightningcss-darwin-x64@1.32.0:
1665 resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==}
1666 engines: {node: '>= 12.0.0'}
1667 cpu: [x64]
1668 os: [darwin]
1669
1670 lightningcss-freebsd-x64@1.32.0:
1671 resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==}
1672 engines: {node: '>= 12.0.0'}
1673 cpu: [x64]
1674 os: [freebsd]
1675
1676 lightningcss-linux-arm-gnueabihf@1.32.0:
1677 resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==}
1678 engines: {node: '>= 12.0.0'}
1679 cpu: [arm]
1680 os: [linux]
1681
1682 lightningcss-linux-arm64-gnu@1.32.0:
1683 resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==}
1684 engines: {node: '>= 12.0.0'}
1685 cpu: [arm64]
1686 os: [linux]
1687
1688 lightningcss-linux-arm64-musl@1.32.0:
1689 resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==}
1690 engines: {node: '>= 12.0.0'}
1691 cpu: [arm64]
1692 os: [linux]
1693
1694 lightningcss-linux-x64-gnu@1.32.0:
1695 resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==}
1696 engines: {node: '>= 12.0.0'}
1697 cpu: [x64]
1698 os: [linux]
1699
1700 lightningcss-linux-x64-musl@1.32.0:
1701 resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==}
1702 engines: {node: '>= 12.0.0'}
1703 cpu: [x64]
1704 os: [linux]
1705
1706 lightningcss-win32-arm64-msvc@1.32.0:
1707 resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==}
1708 engines: {node: '>= 12.0.0'}
1709 cpu: [arm64]
1710 os: [win32]
1711
1712 lightningcss-win32-x64-msvc@1.32.0:
1713 resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==}
1714 engines: {node: '>= 12.0.0'}
1715 cpu: [x64]
1716 os: [win32]
1717
1718 lightningcss@1.32.0:
1719 resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==}
1720 engines: {node: '>= 12.0.0'}
1721
1722 lodash-es@4.17.23:
1723 resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==}
1724
1725 longest-streak@3.1.0:
1726 resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
1727
1728 lru-cache@5.1.1:
1729 resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1730
1731 magic-string@0.30.21:
1732 resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
1733
1734 markdown-table@3.0.4:
1735 resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
1736
1737 marked@16.4.2:
1738 resolution: {integrity: sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==}
1739 engines: {node: '>= 20'}
1740 hasBin: true
1741
1742 marked@17.0.4:
1743 resolution: {integrity: sha512-NOmVMM+KAokHMvjWmC5N/ZOvgmSWuqJB8FoYI019j4ogb/PeRMKoKIjReZ2w3376kkA8dSJIP8uD993Kxc0iRQ==}
1744 engines: {node: '>= 20'}
1745 hasBin: true
1746
1747 mdast-util-find-and-replace@3.0.2:
1748 resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
1749
1750 mdast-util-from-markdown@2.0.3:
1751 resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==}
1752
1753 mdast-util-gfm-autolink-literal@2.0.1:
1754 resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
1755
1756 mdast-util-gfm-footnote@2.1.0:
1757 resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
1758
1759 mdast-util-gfm-strikethrough@2.0.0:
1760 resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
1761
1762 mdast-util-gfm-table@2.0.0:
1763 resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
1764
1765 mdast-util-gfm-task-list-item@2.0.0:
1766 resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
1767
1768 mdast-util-gfm@3.1.0:
1769 resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
1770
1771 mdast-util-mdx-expression@2.0.1:
1772 resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
1773
1774 mdast-util-mdx-jsx@3.2.0:
1775 resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
1776
1777 mdast-util-mdxjs-esm@2.0.1:
1778 resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
1779
1780 mdast-util-phrasing@4.1.0:
1781 resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
1782
1783 mdast-util-to-hast@13.2.1:
1784 resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==}
1785
1786 mdast-util-to-markdown@2.1.2:
1787 resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
1788
1789 mdast-util-to-string@4.0.0:
1790 resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
1791
1792 mermaid@11.13.0:
1793 resolution: {integrity: sha512-fEnci+Immw6lKMFI8sqzjlATTyjLkRa6axrEgLV2yHTfv8r+h1wjFbV6xeRtd4rUV1cS4EpR9rwp3Rci7TRWDw==}
1794
1795 micromark-core-commonmark@2.0.3:
1796 resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
1797
1798 micromark-extension-gfm-autolink-literal@2.1.0:
1799 resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
1800
1801 micromark-extension-gfm-footnote@2.1.0:
1802 resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
1803
1804 micromark-extension-gfm-strikethrough@2.1.0:
1805 resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
1806
1807 micromark-extension-gfm-table@2.1.1:
1808 resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
1809
1810 micromark-extension-gfm-tagfilter@2.0.0:
1811 resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
1812
1813 micromark-extension-gfm-task-list-item@2.1.0:
1814 resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
1815
1816 micromark-extension-gfm@3.0.0:
1817 resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
1818
1819 micromark-factory-destination@2.0.1:
1820 resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
1821
1822 micromark-factory-label@2.0.1:
1823 resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
1824
1825 micromark-factory-space@2.0.1:
1826 resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
1827
1828 micromark-factory-title@2.0.1:
1829 resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
1830
1831 micromark-factory-whitespace@2.0.1:
1832 resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
1833
1834 micromark-util-character@2.1.1:
1835 resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
1836
1837 micromark-util-chunked@2.0.1:
1838 resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
1839
1840 micromark-util-classify-character@2.0.1:
1841 resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
1842
1843 micromark-util-combine-extensions@2.0.1:
1844 resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
1845
1846 micromark-util-decode-numeric-character-reference@2.0.2:
1847 resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
1848
1849 micromark-util-decode-string@2.0.1:
1850 resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
1851
1852 micromark-util-encode@2.0.1:
1853 resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
1854
1855 micromark-util-html-tag-name@2.0.1:
1856 resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
1857
1858 micromark-util-normalize-identifier@2.0.1:
1859 resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
1860
1861 micromark-util-resolve-all@2.0.1:
1862 resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
1863
1864 micromark-util-sanitize-uri@2.0.1:
1865 resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
1866
1867 micromark-util-subtokenize@2.1.0:
1868 resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
1869
1870 micromark-util-symbol@2.0.1:
1871 resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
1872
1873 micromark-util-types@2.0.2:
1874 resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
1875
1876 micromark@4.0.2:
1877 resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
1878
1879 mlly@1.8.1:
1880 resolution: {integrity: sha512-SnL6sNutTwRWWR/vcmCYHSADjiEesp5TGQQ0pXyLhW5IoeibRlF/CbSLailbB3CNqJUk9cVJ9dUDnbD7GrcHBQ==}
1881
1882 mrmime@2.0.1:
1883 resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
1884 engines: {node: '>=10'}
1885
1886 ms@2.1.3:
1887 resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1888
1889 nanoid@3.3.11:
1890 resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
1891 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1892 hasBin: true
1893
1894 node-releases@2.0.36:
1895 resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==}
1896
1897 obug@2.1.1:
1898 resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==}
1899
1900 oxfmt@0.40.0:
1901 resolution: {integrity: sha512-g0C3I7xUj4b4DcagevM9kgH6+pUHytikxUcn3/VUkvzTNaaXBeyZqb7IBsHwojeXm4mTBEC/aBjBTMVUkZwWUQ==}
1902 engines: {node: ^20.19.0 || >=22.12.0}
1903 hasBin: true
1904
1905 oxlint-tsgolint@0.17.0:
1906 resolution: {integrity: sha512-TdrKhDZCgEYqONFo/j+KvGan7/k3tP5Ouz88wCqpOvJtI2QmcLfGsm1fcMvDnTik48Jj6z83IJBqlkmK9DnY1A==}
1907 hasBin: true
1908
1909 oxlint@1.55.0:
1910 resolution: {integrity: sha512-T+FjepiyWpaZMhekqRpH8Z3I4vNM610p6w+Vjfqgj5TZUxHXl7N8N5IPvmOU8U4XdTRxqtNNTh9Y4hLtr7yvFg==}
1911 engines: {node: ^20.19.0 || >=22.12.0}
1912 hasBin: true
1913 peerDependencies:
1914 oxlint-tsgolint: '>=0.15.0'
1915 peerDependenciesMeta:
1916 oxlint-tsgolint:
1917 optional: true
1918
1919 package-manager-detector@1.6.0:
1920 resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==}
1921
1922 parse-entities@4.0.2:
1923 resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
1924
1925 parse5@7.3.0:
1926 resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
1927
1928 path-data-parser@0.1.0:
1929 resolution: {integrity: sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==}
1930
1931 path-key@3.1.1:
1932 resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1933 engines: {node: '>=8'}
1934
1935 pathe@2.0.3:
1936 resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
1937
1938 picocolors@1.1.1:
1939 resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1940
1941 picomatch@4.0.3:
1942 resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
1943 engines: {node: '>=12'}
1944
1945 pixelmatch@7.1.0:
1946 resolution: {integrity: sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==}
1947 hasBin: true
1948
1949 pkg-types@1.3.1:
1950 resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
1951
1952 pngjs@7.0.0:
1953 resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==}
1954 engines: {node: '>=14.19.0'}
1955
1956 points-on-curve@0.2.0:
1957 resolution: {integrity: sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==}
1958
1959 points-on-path@0.2.1:
1960 resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==}
1961
1962 postcss-selector-parser@6.0.10:
1963 resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
1964 engines: {node: '>=4'}
1965
1966 postcss@8.5.8:
1967 resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==}
1968 engines: {node: ^10 || ^12 || >=14}
1969
1970 preact@10.29.0:
1971 resolution: {integrity: sha512-wSAGyk2bYR1c7t3SZ3jHcM6xy0lcBcDel6lODcs9ME6Th++Dx2KU+6D3HD8wMMKGA8Wpw7OMd3/4RGzYRpzwRg==}
1972
1973 prompts@2.4.2:
1974 resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
1975 engines: {node: '>= 6'}
1976
1977 property-information@7.1.0:
1978 resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
1979
1980 react-dom@19.2.4:
1981 resolution: {integrity: sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==}
1982 peerDependencies:
1983 react: ^19.2.4
1984
1985 react-scan@0.5.3:
1986 resolution: {integrity: sha512-qde9PupmUf0L3MU1H6bjmoukZNbCXdMyTEwP4Gh8RQ4rZPd2GGNBgEKWszwLm96E8k+sGtMpc0B9P0KyFDP6Bw==}
1987 hasBin: true
1988 peerDependencies:
1989 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1990 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
1991
1992 react@19.2.4:
1993 resolution: {integrity: sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==}
1994 engines: {node: '>=0.10.0'}
1995
1996 rehype-harden@1.1.8:
1997 resolution: {integrity: sha512-Qn7vR1xrf6fZCrkm9TDWi/AB4ylrHy+jqsNm1EHOAmbARYA6gsnVJBq/sdBh6kmT4NEZxH5vgIjrscefJAOXcw==}
1998
1999 rehype-raw@7.0.0:
2000 resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==}
2001
2002 rehype-react@8.0.0:
2003 resolution: {integrity: sha512-vzo0YxYbB2HE+36+9HWXVdxNoNDubx63r5LBzpxBGVWM8s9mdnMdbmuJBAX6TTyuGdZjZix6qU3GcSuKCIWivw==}
2004
2005 rehype-sanitize@6.0.0:
2006 resolution: {integrity: sha512-CsnhKNsyI8Tub6L4sm5ZFsme4puGfc6pYylvXo1AeqaGbjOYyzNv3qZPwvs0oMJ39eryyeOdmxwUIo94IpEhqg==}
2007
2008 rehype-stringify@10.0.1:
2009 resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
2010
2011 remark-gfm@4.0.1:
2012 resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
2013
2014 remark-parse@11.0.0:
2015 resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
2016
2017 remark-rehype@11.1.2:
2018 resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
2019
2020 remark-stringify@11.0.0:
2021 resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
2022
2023 remend@1.3.0:
2024 resolution: {integrity: sha512-iIhggPkhW3hFImKtB10w0dz4EZbs28mV/dmbcYVonWEJ6UGHHpP+bFZnTh6GNWJONg5m+U56JrL+8IxZRdgWjw==}
2025
2026 robust-predicates@3.0.2:
2027 resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
2028
2029 rolldown@1.0.0-rc.9:
2030 resolution: {integrity: sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==}
2031 engines: {node: ^20.19.0 || >=22.12.0}
2032 hasBin: true
2033
2034 roughjs@4.6.6:
2035 resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==}
2036
2037 rw@1.3.3:
2038 resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
2039
2040 safer-buffer@2.1.2:
2041 resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
2042
2043 scheduler@0.27.0:
2044 resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==}
2045
2046 semver@6.3.1:
2047 resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2048 hasBin: true
2049
2050 shebang-command@2.0.0:
2051 resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2052 engines: {node: '>=8'}
2053
2054 shebang-regex@3.0.0:
2055 resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2056 engines: {node: '>=8'}
2057
2058 sirv@3.0.2:
2059 resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
2060 engines: {node: '>=18'}
2061
2062 sisteransi@1.0.5:
2063 resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
2064
2065 source-map-js@1.2.1:
2066 resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
2067 engines: {node: '>=0.10.0'}
2068
2069 space-separated-tokens@2.0.2:
2070 resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
2071
2072 std-env@4.0.0:
2073 resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==}
2074
2075 streamdown@2.5.0:
2076 resolution: {integrity: sha512-/tTnURfIOxZK/pqJAxsfCvETG/XCJHoWnk3jq9xLcuz6CSpnjjuxSRBTTL4PKGhxiZQf0lqPxGhImdpwcZ2XwA==}
2077 peerDependencies:
2078 react: ^18.0.0 || ^19.0.0
2079 react-dom: ^18.0.0 || ^19.0.0
2080
2081 stringify-entities@4.0.4:
2082 resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
2083
2084 style-to-js@1.1.21:
2085 resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==}
2086
2087 style-to-object@1.0.14:
2088 resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==}
2089
2090 stylis@4.3.6:
2091 resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==}
2092
2093 tailwind-merge@3.5.0:
2094 resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==}
2095
2096 tailwindcss@4.2.2:
2097 resolution: {integrity: sha512-KWBIxs1Xb6NoLdMVqhbhgwZf2PGBpPEiwOqgI4pFIYbNTfBXiKYyWoTsXgBQ9WFg/OlhnvHaY+AEpW7wSmFo2Q==}
2098
2099 tapable@2.3.0:
2100 resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==}
2101 engines: {node: '>=6'}
2102
2103 tinybench@2.9.0:
2104 resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
2105
2106 tinyexec@1.0.4:
2107 resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==}
2108 engines: {node: '>=18'}
2109
2110 tinyglobby@0.2.15:
2111 resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
2112 engines: {node: '>=12.0.0'}
2113
2114 tinypool@2.1.0:
2115 resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==}
2116 engines: {node: ^20.0.0 || >=22.0.0}
2117
2118 totalist@3.0.1:
2119 resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
2120 engines: {node: '>=6'}
2121
2122 trim-lines@3.0.1:
2123 resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
2124
2125 trough@2.2.0:
2126 resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
2127
2128 ts-dedent@2.2.0:
2129 resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
2130 engines: {node: '>=6.10'}
2131
2132 tslib@2.8.1:
2133 resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
2134
2135 typescript@5.9.3:
2136 resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==}
2137 engines: {node: '>=14.17'}
2138 hasBin: true
2139
2140 ufo@1.6.3:
2141 resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
2142
2143 undici-types@6.21.0:
2144 resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
2145
2146 undici-types@7.18.2:
2147 resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
2148
2149 unified@11.0.5:
2150 resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
2151
2152 unist-util-is@6.0.1:
2153 resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==}
2154
2155 unist-util-position@5.0.0:
2156 resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
2157
2158 unist-util-stringify-position@4.0.0:
2159 resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
2160
2161 unist-util-visit-parents@6.0.2:
2162 resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==}
2163
2164 unist-util-visit@5.1.0:
2165 resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==}
2166
2167 unplugin@2.1.0:
2168 resolution: {integrity: sha512-us4j03/499KhbGP8BU7Hrzrgseo+KdfJYWcbcajCOqsAyb8Gk0Yn2kiUIcZISYCb1JFaZfIuG3b42HmguVOKCQ==}
2169 engines: {node: '>=18.12.0'}
2170
2171 update-browserslist-db@1.2.3:
2172 resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==}
2173 hasBin: true
2174 peerDependencies:
2175 browserslist: '>= 4.21.0'
2176
2177 util-deprecate@1.0.2:
2178 resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2179
2180 uuid@11.1.0:
2181 resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
2182 hasBin: true
2183
2184 vfile-location@5.0.3:
2185 resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
2186
2187 vfile-message@4.0.3:
2188 resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
2189
2190 vfile@6.0.3:
2191 resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
2192
2193 vite-plus@0.1.12:
2194 resolution: {integrity: sha512-8s1RzomZkgrJRiwiYWGq3R0txFPYfBBJGp73XNHQnme0KTTVH5dNm/E2GNyBSMFJbeeF7eh1OSgqWVc2FpR6eA==}
2195 engines: {node: ^20.19.0 || >=22.12.0}
2196 hasBin: true
2197
2198 vite@8.0.0:
2199 resolution: {integrity: sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==}
2200 engines: {node: ^20.19.0 || >=22.12.0}
2201 hasBin: true
2202 peerDependencies:
2203 '@types/node': ^20.19.0 || >=22.12.0
2204 '@vitejs/devtools': ^0.0.0-alpha.31
2205 esbuild: ^0.27.0
2206 jiti: '>=1.21.0'
2207 less: ^4.0.0
2208 sass: ^1.70.0
2209 sass-embedded: ^1.70.0
2210 stylus: '>=0.54.8'
2211 sugarss: ^5.0.0
2212 terser: ^5.16.0
2213 tsx: ^4.8.1
2214 yaml: ^2.4.2
2215 peerDependenciesMeta:
2216 '@types/node':
2217 optional: true
2218 '@vitejs/devtools':
2219 optional: true
2220 esbuild:
2221 optional: true
2222 jiti:
2223 optional: true
2224 less:
2225 optional: true
2226 sass:
2227 optional: true
2228 sass-embedded:
2229 optional: true
2230 stylus:
2231 optional: true
2232 sugarss:
2233 optional: true
2234 terser:
2235 optional: true
2236 tsx:
2237 optional: true
2238 yaml:
2239 optional: true
2240
2241 vscode-jsonrpc@8.2.0:
2242 resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
2243 engines: {node: '>=14.0.0'}
2244
2245 vscode-languageserver-protocol@3.17.5:
2246 resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==}
2247
2248 vscode-languageserver-textdocument@1.0.12:
2249 resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==}
2250
2251 vscode-languageserver-types@3.17.5:
2252 resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==}
2253
2254 vscode-languageserver@9.0.1:
2255 resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==}
2256 hasBin: true
2257
2258 vscode-uri@3.1.0:
2259 resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==}
2260
2261 web-namespaces@2.0.1:
2262 resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
2263
2264 webpack-virtual-modules@0.6.2:
2265 resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
2266
2267 whatwg-mimetype@3.0.0:
2268 resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
2269 engines: {node: '>=12'}
2270
2271 which@2.0.2:
2272 resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2273 engines: {node: '>= 8'}
2274 hasBin: true
2275
2276 ws@8.19.0:
2277 resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==}
2278 engines: {node: '>=10.0.0'}
2279 peerDependencies:
2280 bufferutil: ^4.0.1
2281 utf-8-validate: '>=5.0.2'
2282 peerDependenciesMeta:
2283 bufferutil:
2284 optional: true
2285 utf-8-validate:
2286 optional: true
2287
2288 yallist@3.1.1:
2289 resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2290
2291 yaml@2.8.2:
2292 resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==}
2293 engines: {node: '>= 14.6'}
2294 hasBin: true
2295
2296 zwitch@2.0.4:
2297 resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
2298
2299snapshots:
2300
2301 '@antfu/install-pkg@1.1.0':
2302 dependencies:
2303 package-manager-detector: 1.6.0
2304 tinyexec: 1.0.4
2305
2306 '@babel/code-frame@7.29.0':
2307 dependencies:
2308 '@babel/helper-validator-identifier': 7.28.5
2309 js-tokens: 4.0.0
2310 picocolors: 1.1.1
2311
2312 '@babel/compat-data@7.29.0': {}
2313
2314 '@babel/core@7.29.0':
2315 dependencies:
2316 '@babel/code-frame': 7.29.0
2317 '@babel/generator': 7.29.1
2318 '@babel/helper-compilation-targets': 7.28.6
2319 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
2320 '@babel/helpers': 7.29.2
2321 '@babel/parser': 7.29.2
2322 '@babel/template': 7.28.6
2323 '@babel/traverse': 7.29.0
2324 '@babel/types': 7.29.0
2325 '@jridgewell/remapping': 2.3.5
2326 convert-source-map: 2.0.0
2327 debug: 4.4.3
2328 gensync: 1.0.0-beta.2
2329 json5: 2.2.3
2330 semver: 6.3.1
2331 transitivePeerDependencies:
2332 - supports-color
2333
2334 '@babel/generator@7.29.1':
2335 dependencies:
2336 '@babel/parser': 7.29.2
2337 '@babel/types': 7.29.0
2338 '@jridgewell/gen-mapping': 0.3.13
2339 '@jridgewell/trace-mapping': 0.3.31
2340 jsesc: 3.1.0
2341
2342 '@babel/helper-compilation-targets@7.28.6':
2343 dependencies:
2344 '@babel/compat-data': 7.29.0
2345 '@babel/helper-validator-option': 7.27.1
2346 browserslist: 4.28.1
2347 lru-cache: 5.1.1
2348 semver: 6.3.1
2349
2350 '@babel/helper-globals@7.28.0': {}
2351
2352 '@babel/helper-module-imports@7.28.6':
2353 dependencies:
2354 '@babel/traverse': 7.29.0
2355 '@babel/types': 7.29.0
2356 transitivePeerDependencies:
2357 - supports-color
2358
2359 '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
2360 dependencies:
2361 '@babel/core': 7.29.0
2362 '@babel/helper-module-imports': 7.28.6
2363 '@babel/helper-validator-identifier': 7.28.5
2364 '@babel/traverse': 7.29.0
2365 transitivePeerDependencies:
2366 - supports-color
2367
2368 '@babel/helper-string-parser@7.27.1': {}
2369
2370 '@babel/helper-validator-identifier@7.28.5': {}
2371
2372 '@babel/helper-validator-option@7.27.1': {}
2373
2374 '@babel/helpers@7.29.2':
2375 dependencies:
2376 '@babel/template': 7.28.6
2377 '@babel/types': 7.29.0
2378
2379 '@babel/parser@7.29.2':
2380 dependencies:
2381 '@babel/types': 7.29.0
2382
2383 '@babel/template@7.28.6':
2384 dependencies:
2385 '@babel/code-frame': 7.29.0
2386 '@babel/parser': 7.29.2
2387 '@babel/types': 7.29.0
2388
2389 '@babel/traverse@7.29.0':
2390 dependencies:
2391 '@babel/code-frame': 7.29.0
2392 '@babel/generator': 7.29.1
2393 '@babel/helper-globals': 7.28.0
2394 '@babel/parser': 7.29.2
2395 '@babel/template': 7.28.6
2396 '@babel/types': 7.29.0
2397 debug: 4.4.3
2398 transitivePeerDependencies:
2399 - supports-color
2400
2401 '@babel/types@7.29.0':
2402 dependencies:
2403 '@babel/helper-string-parser': 7.27.1
2404 '@babel/helper-validator-identifier': 7.28.5
2405
2406 '@braintree/sanitize-url@7.1.2': {}
2407
2408 '@chevrotain/cst-dts-gen@11.1.2':
2409 dependencies:
2410 '@chevrotain/gast': 11.1.2
2411 '@chevrotain/types': 11.1.2
2412 lodash-es: 4.17.23
2413
2414 '@chevrotain/gast@11.1.2':
2415 dependencies:
2416 '@chevrotain/types': 11.1.2
2417 lodash-es: 4.17.23
2418
2419 '@chevrotain/regexp-to-ast@11.1.2': {}
2420
2421 '@chevrotain/types@11.1.2': {}
2422
2423 '@chevrotain/utils@11.1.2': {}
2424
2425 '@emnapi/core@1.9.0':
2426 dependencies:
2427 '@emnapi/wasi-threads': 1.2.0
2428 tslib: 2.8.1
2429 optional: true
2430
2431 '@emnapi/runtime@1.9.0':
2432 dependencies:
2433 tslib: 2.8.1
2434 optional: true
2435
2436 '@emnapi/wasi-threads@1.2.0':
2437 dependencies:
2438 tslib: 2.8.1
2439 optional: true
2440
2441 '@esbuild/aix-ppc64@0.25.12':
2442 optional: true
2443
2444 '@esbuild/android-arm64@0.25.12':
2445 optional: true
2446
2447 '@esbuild/android-arm@0.25.12':
2448 optional: true
2449
2450 '@esbuild/android-x64@0.25.12':
2451 optional: true
2452
2453 '@esbuild/darwin-arm64@0.25.12':
2454 optional: true
2455
2456 '@esbuild/darwin-x64@0.25.12':
2457 optional: true
2458
2459 '@esbuild/freebsd-arm64@0.25.12':
2460 optional: true
2461
2462 '@esbuild/freebsd-x64@0.25.12':
2463 optional: true
2464
2465 '@esbuild/linux-arm64@0.25.12':
2466 optional: true
2467
2468 '@esbuild/linux-arm@0.25.12':
2469 optional: true
2470
2471 '@esbuild/linux-ia32@0.25.12':
2472 optional: true
2473
2474 '@esbuild/linux-loong64@0.25.12':
2475 optional: true
2476
2477 '@esbuild/linux-mips64el@0.25.12':
2478 optional: true
2479
2480 '@esbuild/linux-ppc64@0.25.12':
2481 optional: true
2482
2483 '@esbuild/linux-riscv64@0.25.12':
2484 optional: true
2485
2486 '@esbuild/linux-s390x@0.25.12':
2487 optional: true
2488
2489 '@esbuild/linux-x64@0.25.12':
2490 optional: true
2491
2492 '@esbuild/netbsd-arm64@0.25.12':
2493 optional: true
2494
2495 '@esbuild/netbsd-x64@0.25.12':
2496 optional: true
2497
2498 '@esbuild/openbsd-arm64@0.25.12':
2499 optional: true
2500
2501 '@esbuild/openbsd-x64@0.25.12':
2502 optional: true
2503
2504 '@esbuild/openharmony-arm64@0.25.12':
2505 optional: true
2506
2507 '@esbuild/sunos-x64@0.25.12':
2508 optional: true
2509
2510 '@esbuild/win32-arm64@0.25.12':
2511 optional: true
2512
2513 '@esbuild/win32-ia32@0.25.12':
2514 optional: true
2515
2516 '@esbuild/win32-x64@0.25.12':
2517 optional: true
2518
2519 '@iconify/types@2.0.0': {}
2520
2521 '@iconify/utils@3.1.0':
2522 dependencies:
2523 '@antfu/install-pkg': 1.1.0
2524 '@iconify/types': 2.0.0
2525 mlly: 1.8.1
2526
2527 '@jridgewell/gen-mapping@0.3.13':
2528 dependencies:
2529 '@jridgewell/sourcemap-codec': 1.5.5
2530 '@jridgewell/trace-mapping': 0.3.31
2531
2532 '@jridgewell/remapping@2.3.5':
2533 dependencies:
2534 '@jridgewell/gen-mapping': 0.3.13
2535 '@jridgewell/trace-mapping': 0.3.31
2536
2537 '@jridgewell/resolve-uri@3.1.2': {}
2538
2539 '@jridgewell/sourcemap-codec@1.5.5': {}
2540
2541 '@jridgewell/trace-mapping@0.3.31':
2542 dependencies:
2543 '@jridgewell/resolve-uri': 3.1.2
2544 '@jridgewell/sourcemap-codec': 1.5.5
2545
2546 '@jsr/clo__lib@3.0.0': {}
2547
2548 '@mermaid-js/parser@1.0.1':
2549 dependencies:
2550 langium: 4.2.1
2551
2552 '@napi-rs/wasm-runtime@1.1.1':
2553 dependencies:
2554 '@emnapi/core': 1.9.0
2555 '@emnapi/runtime': 1.9.0
2556 '@tybys/wasm-util': 0.10.1
2557 optional: true
2558
2559 '@oxc-project/runtime@0.115.0': {}
2560
2561 '@oxc-project/types@0.115.0': {}
2562
2563 '@oxfmt/binding-android-arm-eabi@0.40.0':
2564 optional: true
2565
2566 '@oxfmt/binding-android-arm64@0.40.0':
2567 optional: true
2568
2569 '@oxfmt/binding-darwin-arm64@0.40.0':
2570 optional: true
2571
2572 '@oxfmt/binding-darwin-x64@0.40.0':
2573 optional: true
2574
2575 '@oxfmt/binding-freebsd-x64@0.40.0':
2576 optional: true
2577
2578 '@oxfmt/binding-linux-arm-gnueabihf@0.40.0':
2579 optional: true
2580
2581 '@oxfmt/binding-linux-arm-musleabihf@0.40.0':
2582 optional: true
2583
2584 '@oxfmt/binding-linux-arm64-gnu@0.40.0':
2585 optional: true
2586
2587 '@oxfmt/binding-linux-arm64-musl@0.40.0':
2588 optional: true
2589
2590 '@oxfmt/binding-linux-ppc64-gnu@0.40.0':
2591 optional: true
2592
2593 '@oxfmt/binding-linux-riscv64-gnu@0.40.0':
2594 optional: true
2595
2596 '@oxfmt/binding-linux-riscv64-musl@0.40.0':
2597 optional: true
2598
2599 '@oxfmt/binding-linux-s390x-gnu@0.40.0':
2600 optional: true
2601
2602 '@oxfmt/binding-linux-x64-gnu@0.40.0':
2603 optional: true
2604
2605 '@oxfmt/binding-linux-x64-musl@0.40.0':
2606 optional: true
2607
2608 '@oxfmt/binding-openharmony-arm64@0.40.0':
2609 optional: true
2610
2611 '@oxfmt/binding-win32-arm64-msvc@0.40.0':
2612 optional: true
2613
2614 '@oxfmt/binding-win32-ia32-msvc@0.40.0':
2615 optional: true
2616
2617 '@oxfmt/binding-win32-x64-msvc@0.40.0':
2618 optional: true
2619
2620 '@oxlint-tsgolint/darwin-arm64@0.17.0':
2621 optional: true
2622
2623 '@oxlint-tsgolint/darwin-x64@0.17.0':
2624 optional: true
2625
2626 '@oxlint-tsgolint/linux-arm64@0.17.0':
2627 optional: true
2628
2629 '@oxlint-tsgolint/linux-x64@0.17.0':
2630 optional: true
2631
2632 '@oxlint-tsgolint/win32-arm64@0.17.0':
2633 optional: true
2634
2635 '@oxlint-tsgolint/win32-x64@0.17.0':
2636 optional: true
2637
2638 '@oxlint/binding-android-arm-eabi@1.55.0':
2639 optional: true
2640
2641 '@oxlint/binding-android-arm64@1.55.0':
2642 optional: true
2643
2644 '@oxlint/binding-darwin-arm64@1.55.0':
2645 optional: true
2646
2647 '@oxlint/binding-darwin-x64@1.55.0':
2648 optional: true
2649
2650 '@oxlint/binding-freebsd-x64@1.55.0':
2651 optional: true
2652
2653 '@oxlint/binding-linux-arm-gnueabihf@1.55.0':
2654 optional: true
2655
2656 '@oxlint/binding-linux-arm-musleabihf@1.55.0':
2657 optional: true
2658
2659 '@oxlint/binding-linux-arm64-gnu@1.55.0':
2660 optional: true
2661
2662 '@oxlint/binding-linux-arm64-musl@1.55.0':
2663 optional: true
2664
2665 '@oxlint/binding-linux-ppc64-gnu@1.55.0':
2666 optional: true
2667
2668 '@oxlint/binding-linux-riscv64-gnu@1.55.0':
2669 optional: true
2670
2671 '@oxlint/binding-linux-riscv64-musl@1.55.0':
2672 optional: true
2673
2674 '@oxlint/binding-linux-s390x-gnu@1.55.0':
2675 optional: true
2676
2677 '@oxlint/binding-linux-x64-gnu@1.55.0':
2678 optional: true
2679
2680 '@oxlint/binding-linux-x64-musl@1.55.0':
2681 optional: true
2682
2683 '@oxlint/binding-openharmony-arm64@1.55.0':
2684 optional: true
2685
2686 '@oxlint/binding-win32-arm64-msvc@1.55.0':
2687 optional: true
2688
2689 '@oxlint/binding-win32-ia32-msvc@1.55.0':
2690 optional: true
2691
2692 '@oxlint/binding-win32-x64-msvc@1.55.0':
2693 optional: true
2694
2695 '@polka/url@1.0.0-next.29': {}
2696
2697 '@preact/signals-core@1.14.0': {}
2698
2699 '@preact/signals@1.3.4(preact@10.29.0)':
2700 dependencies:
2701 '@preact/signals-core': 1.14.0
2702 preact: 10.29.0
2703
2704 '@rolldown/binding-android-arm64@1.0.0-rc.9':
2705 optional: true
2706
2707 '@rolldown/binding-darwin-arm64@1.0.0-rc.9':
2708 optional: true
2709
2710 '@rolldown/binding-darwin-x64@1.0.0-rc.9':
2711 optional: true
2712
2713 '@rolldown/binding-freebsd-x64@1.0.0-rc.9':
2714 optional: true
2715
2716 '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.9':
2717 optional: true
2718
2719 '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.9':
2720 optional: true
2721
2722 '@rolldown/binding-linux-arm64-musl@1.0.0-rc.9':
2723 optional: true
2724
2725 '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.9':
2726 optional: true
2727
2728 '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.9':
2729 optional: true
2730
2731 '@rolldown/binding-linux-x64-gnu@1.0.0-rc.9':
2732 optional: true
2733
2734 '@rolldown/binding-linux-x64-musl@1.0.0-rc.9':
2735 optional: true
2736
2737 '@rolldown/binding-openharmony-arm64@1.0.0-rc.9':
2738 optional: true
2739
2740 '@rolldown/binding-wasm32-wasi@1.0.0-rc.9':
2741 dependencies:
2742 '@napi-rs/wasm-runtime': 1.1.1
2743 optional: true
2744
2745 '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.9':
2746 optional: true
2747
2748 '@rolldown/binding-win32-x64-msvc@1.0.0-rc.9':
2749 optional: true
2750
2751 '@rolldown/pluginutils@1.0.0-rc.7': {}
2752
2753 '@rolldown/pluginutils@1.0.0-rc.9': {}
2754
2755 '@rollup/pluginutils@5.3.0':
2756 dependencies:
2757 '@types/estree': 1.0.8
2758 estree-walker: 2.0.2
2759 picomatch: 4.0.3
2760
2761 '@standard-schema/spec@1.1.0': {}
2762
2763 '@tailwindcss/node@4.2.2':
2764 dependencies:
2765 '@jridgewell/remapping': 2.3.5
2766 enhanced-resolve: 5.20.1
2767 jiti: 2.6.1
2768 lightningcss: 1.32.0
2769 magic-string: 0.30.21
2770 source-map-js: 1.2.1
2771 tailwindcss: 4.2.2
2772
2773 '@tailwindcss/oxide-android-arm64@4.2.2':
2774 optional: true
2775
2776 '@tailwindcss/oxide-darwin-arm64@4.2.2':
2777 optional: true
2778
2779 '@tailwindcss/oxide-darwin-x64@4.2.2':
2780 optional: true
2781
2782 '@tailwindcss/oxide-freebsd-x64@4.2.2':
2783 optional: true
2784
2785 '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.2':
2786 optional: true
2787
2788 '@tailwindcss/oxide-linux-arm64-gnu@4.2.2':
2789 optional: true
2790
2791 '@tailwindcss/oxide-linux-arm64-musl@4.2.2':
2792 optional: true
2793
2794 '@tailwindcss/oxide-linux-x64-gnu@4.2.2':
2795 optional: true
2796
2797 '@tailwindcss/oxide-linux-x64-musl@4.2.2':
2798 optional: true
2799
2800 '@tailwindcss/oxide-wasm32-wasi@4.2.2':
2801 optional: true
2802
2803 '@tailwindcss/oxide-win32-arm64-msvc@4.2.2':
2804 optional: true
2805
2806 '@tailwindcss/oxide-win32-x64-msvc@4.2.2':
2807 optional: true
2808
2809 '@tailwindcss/oxide@4.2.2':
2810 optionalDependencies:
2811 '@tailwindcss/oxide-android-arm64': 4.2.2
2812 '@tailwindcss/oxide-darwin-arm64': 4.2.2
2813 '@tailwindcss/oxide-darwin-x64': 4.2.2
2814 '@tailwindcss/oxide-freebsd-x64': 4.2.2
2815 '@tailwindcss/oxide-linux-arm-gnueabihf': 4.2.2
2816 '@tailwindcss/oxide-linux-arm64-gnu': 4.2.2
2817 '@tailwindcss/oxide-linux-arm64-musl': 4.2.2
2818 '@tailwindcss/oxide-linux-x64-gnu': 4.2.2
2819 '@tailwindcss/oxide-linux-x64-musl': 4.2.2
2820 '@tailwindcss/oxide-wasm32-wasi': 4.2.2
2821 '@tailwindcss/oxide-win32-arm64-msvc': 4.2.2
2822 '@tailwindcss/oxide-win32-x64-msvc': 4.2.2
2823
2824 '@tailwindcss/typography@0.5.19(tailwindcss@4.2.2)':
2825 dependencies:
2826 postcss-selector-parser: 6.0.10
2827 tailwindcss: 4.2.2
2828
2829 '@tailwindcss/vite@4.2.2(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))':
2830 dependencies:
2831 '@tailwindcss/node': 4.2.2
2832 '@tailwindcss/oxide': 4.2.2
2833 tailwindcss: 4.2.2
2834 vite: 8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2)
2835
2836 '@tybys/wasm-util@0.10.1':
2837 dependencies:
2838 tslib: 2.8.1
2839 optional: true
2840
2841 '@types/chai@5.2.3':
2842 dependencies:
2843 '@types/deep-eql': 4.0.2
2844 assertion-error: 2.0.1
2845
2846 '@types/d3-array@3.2.2': {}
2847
2848 '@types/d3-axis@3.0.6':
2849 dependencies:
2850 '@types/d3-selection': 3.0.11
2851
2852 '@types/d3-brush@3.0.6':
2853 dependencies:
2854 '@types/d3-selection': 3.0.11
2855
2856 '@types/d3-chord@3.0.6': {}
2857
2858 '@types/d3-color@3.1.3': {}
2859
2860 '@types/d3-contour@3.0.6':
2861 dependencies:
2862 '@types/d3-array': 3.2.2
2863 '@types/geojson': 7946.0.16
2864
2865 '@types/d3-delaunay@6.0.4': {}
2866
2867 '@types/d3-dispatch@3.0.7': {}
2868
2869 '@types/d3-drag@3.0.7':
2870 dependencies:
2871 '@types/d3-selection': 3.0.11
2872
2873 '@types/d3-dsv@3.0.7': {}
2874
2875 '@types/d3-ease@3.0.2': {}
2876
2877 '@types/d3-fetch@3.0.7':
2878 dependencies:
2879 '@types/d3-dsv': 3.0.7
2880
2881 '@types/d3-force@3.0.10': {}
2882
2883 '@types/d3-format@3.0.4': {}
2884
2885 '@types/d3-geo@3.1.0':
2886 dependencies:
2887 '@types/geojson': 7946.0.16
2888
2889 '@types/d3-hierarchy@3.1.7': {}
2890
2891 '@types/d3-interpolate@3.0.4':
2892 dependencies:
2893 '@types/d3-color': 3.1.3
2894
2895 '@types/d3-path@3.1.1': {}
2896
2897 '@types/d3-polygon@3.0.2': {}
2898
2899 '@types/d3-quadtree@3.0.6': {}
2900
2901 '@types/d3-random@3.0.3': {}
2902
2903 '@types/d3-scale-chromatic@3.1.0': {}
2904
2905 '@types/d3-scale@4.0.9':
2906 dependencies:
2907 '@types/d3-time': 3.0.4
2908
2909 '@types/d3-selection@3.0.11': {}
2910
2911 '@types/d3-shape@3.1.8':
2912 dependencies:
2913 '@types/d3-path': 3.1.1
2914
2915 '@types/d3-time-format@4.0.3': {}
2916
2917 '@types/d3-time@3.0.4': {}
2918
2919 '@types/d3-timer@3.0.2': {}
2920
2921 '@types/d3-transition@3.0.9':
2922 dependencies:
2923 '@types/d3-selection': 3.0.11
2924
2925 '@types/d3-zoom@3.0.8':
2926 dependencies:
2927 '@types/d3-interpolate': 3.0.4
2928 '@types/d3-selection': 3.0.11
2929
2930 '@types/d3@7.4.3':
2931 dependencies:
2932 '@types/d3-array': 3.2.2
2933 '@types/d3-axis': 3.0.6
2934 '@types/d3-brush': 3.0.6
2935 '@types/d3-chord': 3.0.6
2936 '@types/d3-color': 3.1.3
2937 '@types/d3-contour': 3.0.6
2938 '@types/d3-delaunay': 6.0.4
2939 '@types/d3-dispatch': 3.0.7
2940 '@types/d3-drag': 3.0.7
2941 '@types/d3-dsv': 3.0.7
2942 '@types/d3-ease': 3.0.2
2943 '@types/d3-fetch': 3.0.7
2944 '@types/d3-force': 3.0.10
2945 '@types/d3-format': 3.0.4
2946 '@types/d3-geo': 3.1.0
2947 '@types/d3-hierarchy': 3.1.7
2948 '@types/d3-interpolate': 3.0.4
2949 '@types/d3-path': 3.1.1
2950 '@types/d3-polygon': 3.0.2
2951 '@types/d3-quadtree': 3.0.6
2952 '@types/d3-random': 3.0.3
2953 '@types/d3-scale': 4.0.9
2954 '@types/d3-scale-chromatic': 3.1.0
2955 '@types/d3-selection': 3.0.11
2956 '@types/d3-shape': 3.1.8
2957 '@types/d3-time': 3.0.4
2958 '@types/d3-time-format': 4.0.3
2959 '@types/d3-timer': 3.0.2
2960 '@types/d3-transition': 3.0.9
2961 '@types/d3-zoom': 3.0.8
2962
2963 '@types/debug@4.1.12':
2964 dependencies:
2965 '@types/ms': 2.1.0
2966
2967 '@types/deep-eql@4.0.2': {}
2968
2969 '@types/estree-jsx@1.0.5':
2970 dependencies:
2971 '@types/estree': 1.0.8
2972
2973 '@types/estree@1.0.8': {}
2974
2975 '@types/geojson@7946.0.16': {}
2976
2977 '@types/hast@3.0.4':
2978 dependencies:
2979 '@types/unist': 3.0.3
2980
2981 '@types/mdast@4.0.4':
2982 dependencies:
2983 '@types/unist': 3.0.3
2984
2985 '@types/ms@2.1.0': {}
2986
2987 '@types/node@20.19.37':
2988 dependencies:
2989 undici-types: 6.21.0
2990
2991 '@types/node@25.5.0':
2992 dependencies:
2993 undici-types: 7.18.2
2994
2995 '@types/react-dom@19.2.3(@types/react@19.2.14)':
2996 dependencies:
2997 '@types/react': 19.2.14
2998
2999 '@types/react-reconciler@0.28.9(@types/react@19.2.14)':
3000 dependencies:
3001 '@types/react': 19.2.14
3002
3003 '@types/react@19.2.14':
3004 dependencies:
3005 csstype: 3.2.3
3006
3007 '@types/trusted-types@2.0.7':
3008 optional: true
3009
3010 '@types/unist@2.0.11': {}
3011
3012 '@types/unist@3.0.3': {}
3013
3014 '@types/whatwg-mimetype@3.0.2':
3015 optional: true
3016
3017 '@types/ws@8.18.1':
3018 dependencies:
3019 '@types/node': 25.5.0
3020 optional: true
3021
3022 '@typescript/native-preview-darwin-arm64@7.0.0-dev.20260318.1':
3023 optional: true
3024
3025 '@typescript/native-preview-darwin-x64@7.0.0-dev.20260318.1':
3026 optional: true
3027
3028 '@typescript/native-preview-linux-arm64@7.0.0-dev.20260318.1':
3029 optional: true
3030
3031 '@typescript/native-preview-linux-arm@7.0.0-dev.20260318.1':
3032 optional: true
3033
3034 '@typescript/native-preview-linux-x64@7.0.0-dev.20260318.1':
3035 optional: true
3036
3037 '@typescript/native-preview-win32-arm64@7.0.0-dev.20260318.1':
3038 optional: true
3039
3040 '@typescript/native-preview-win32-x64@7.0.0-dev.20260318.1':
3041 optional: true
3042
3043 '@typescript/native-preview@7.0.0-dev.20260318.1':
3044 optionalDependencies:
3045 '@typescript/native-preview-darwin-arm64': 7.0.0-dev.20260318.1
3046 '@typescript/native-preview-darwin-x64': 7.0.0-dev.20260318.1
3047 '@typescript/native-preview-linux-arm': 7.0.0-dev.20260318.1
3048 '@typescript/native-preview-linux-arm64': 7.0.0-dev.20260318.1
3049 '@typescript/native-preview-linux-x64': 7.0.0-dev.20260318.1
3050 '@typescript/native-preview-win32-arm64': 7.0.0-dev.20260318.1
3051 '@typescript/native-preview-win32-x64': 7.0.0-dev.20260318.1
3052
3053 '@ungap/structured-clone@1.3.0': {}
3054
3055 '@upsetjs/venn.js@2.0.0':
3056 optionalDependencies:
3057 d3-selection: 3.0.0
3058 d3-transition: 3.0.1(d3-selection@3.0.0)
3059
3060 '@vitejs/plugin-react@6.0.1(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))':
3061 dependencies:
3062 '@rolldown/pluginutils': 1.0.0-rc.7
3063 vite: 8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2)
3064
3065 '@voidzero-dev/vite-plus-core@0.1.12(@types/node@25.5.0)(jiti@2.6.1)(typescript@5.9.3)(yaml@2.8.2)':
3066 dependencies:
3067 '@oxc-project/runtime': 0.115.0
3068 '@oxc-project/types': 0.115.0
3069 lightningcss: 1.32.0
3070 postcss: 8.5.8
3071 optionalDependencies:
3072 '@types/node': 25.5.0
3073 fsevents: 2.3.3
3074 jiti: 2.6.1
3075 typescript: 5.9.3
3076 yaml: 2.8.2
3077
3078 '@voidzero-dev/vite-plus-darwin-arm64@0.1.12':
3079 optional: true
3080
3081 '@voidzero-dev/vite-plus-darwin-x64@0.1.12':
3082 optional: true
3083
3084 '@voidzero-dev/vite-plus-linux-arm64-gnu@0.1.12':
3085 optional: true
3086
3087 '@voidzero-dev/vite-plus-linux-x64-gnu@0.1.12':
3088 optional: true
3089
3090 '@voidzero-dev/vite-plus-test@0.1.12(@types/node@25.5.0)(happy-dom@20.8.4)(jiti@2.6.1)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))(yaml@2.8.2)':
3091 dependencies:
3092 '@standard-schema/spec': 1.1.0
3093 '@types/chai': 5.2.3
3094 '@voidzero-dev/vite-plus-core': 0.1.12(@types/node@25.5.0)(jiti@2.6.1)(typescript@5.9.3)(yaml@2.8.2)
3095 es-module-lexer: 1.7.0
3096 obug: 2.1.1
3097 pixelmatch: 7.1.0
3098 pngjs: 7.0.0
3099 sirv: 3.0.2
3100 std-env: 4.0.0
3101 tinybench: 2.9.0
3102 tinyexec: 1.0.4
3103 tinyglobby: 0.2.15
3104 vite: 8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2)
3105 ws: 8.19.0
3106 optionalDependencies:
3107 '@types/node': 25.5.0
3108 happy-dom: 20.8.4
3109 transitivePeerDependencies:
3110 - '@arethetypeswrong/core'
3111 - '@tsdown/css'
3112 - '@tsdown/exe'
3113 - '@vitejs/devtools'
3114 - bufferutil
3115 - esbuild
3116 - jiti
3117 - less
3118 - publint
3119 - sass
3120 - sass-embedded
3121 - stylus
3122 - sugarss
3123 - terser
3124 - tsx
3125 - typescript
3126 - unplugin-unused
3127 - utf-8-validate
3128 - yaml
3129
3130 '@voidzero-dev/vite-plus-win32-arm64-msvc@0.1.12':
3131 optional: true
3132
3133 '@voidzero-dev/vite-plus-win32-x64-msvc@0.1.12':
3134 optional: true
3135
3136 acorn@8.16.0: {}
3137
3138 assertion-error@2.0.1: {}
3139
3140 bail@2.0.2: {}
3141
3142 baseline-browser-mapping@2.10.8: {}
3143
3144 bippy@0.5.32(@types/react@19.2.14)(react@19.2.4):
3145 dependencies:
3146 '@types/react-reconciler': 0.28.9(@types/react@19.2.14)
3147 react: 19.2.4
3148 transitivePeerDependencies:
3149 - '@types/react'
3150
3151 browserslist@4.28.1:
3152 dependencies:
3153 baseline-browser-mapping: 2.10.8
3154 caniuse-lite: 1.0.30001780
3155 electron-to-chromium: 1.5.321
3156 node-releases: 2.0.36
3157 update-browserslist-db: 1.2.3(browserslist@4.28.1)
3158
3159 cac@6.7.14: {}
3160
3161 caniuse-lite@1.0.30001780: {}
3162
3163 ccount@2.0.1: {}
3164
3165 character-entities-html4@2.1.0: {}
3166
3167 character-entities-legacy@3.0.0: {}
3168
3169 character-entities@2.0.2: {}
3170
3171 character-reference-invalid@2.0.1: {}
3172
3173 chevrotain-allstar@0.3.1(chevrotain@11.1.2):
3174 dependencies:
3175 chevrotain: 11.1.2
3176 lodash-es: 4.17.23
3177
3178 chevrotain@11.1.2:
3179 dependencies:
3180 '@chevrotain/cst-dts-gen': 11.1.2
3181 '@chevrotain/gast': 11.1.2
3182 '@chevrotain/regexp-to-ast': 11.1.2
3183 '@chevrotain/types': 11.1.2
3184 '@chevrotain/utils': 11.1.2
3185 lodash-es: 4.17.23
3186
3187 clsx@2.1.1: {}
3188
3189 comma-separated-tokens@2.0.3: {}
3190
3191 commander@14.0.3: {}
3192
3193 commander@7.2.0: {}
3194
3195 commander@8.3.0: {}
3196
3197 confbox@0.1.8: {}
3198
3199 convert-source-map@2.0.0: {}
3200
3201 cose-base@1.0.3:
3202 dependencies:
3203 layout-base: 1.0.2
3204
3205 cose-base@2.2.0:
3206 dependencies:
3207 layout-base: 2.0.1
3208
3209 cross-spawn@7.0.6:
3210 dependencies:
3211 path-key: 3.1.1
3212 shebang-command: 2.0.0
3213 which: 2.0.2
3214
3215 cssesc@3.0.0: {}
3216
3217 csstype@3.2.3: {}
3218
3219 cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1):
3220 dependencies:
3221 cose-base: 1.0.3
3222 cytoscape: 3.33.1
3223
3224 cytoscape-fcose@2.2.0(cytoscape@3.33.1):
3225 dependencies:
3226 cose-base: 2.2.0
3227 cytoscape: 3.33.1
3228
3229 cytoscape@3.33.1: {}
3230
3231 d3-array@2.12.1:
3232 dependencies:
3233 internmap: 1.0.1
3234
3235 d3-array@3.2.4:
3236 dependencies:
3237 internmap: 2.0.3
3238
3239 d3-axis@3.0.0: {}
3240
3241 d3-brush@3.0.0:
3242 dependencies:
3243 d3-dispatch: 3.0.1
3244 d3-drag: 3.0.0
3245 d3-interpolate: 3.0.1
3246 d3-selection: 3.0.0
3247 d3-transition: 3.0.1(d3-selection@3.0.0)
3248
3249 d3-chord@3.0.1:
3250 dependencies:
3251 d3-path: 3.1.0
3252
3253 d3-color@3.1.0: {}
3254
3255 d3-contour@4.0.2:
3256 dependencies:
3257 d3-array: 3.2.4
3258
3259 d3-delaunay@6.0.4:
3260 dependencies:
3261 delaunator: 5.0.1
3262
3263 d3-dispatch@3.0.1: {}
3264
3265 d3-drag@3.0.0:
3266 dependencies:
3267 d3-dispatch: 3.0.1
3268 d3-selection: 3.0.0
3269
3270 d3-dsv@3.0.1:
3271 dependencies:
3272 commander: 7.2.0
3273 iconv-lite: 0.6.3
3274 rw: 1.3.3
3275
3276 d3-ease@3.0.1: {}
3277
3278 d3-fetch@3.0.1:
3279 dependencies:
3280 d3-dsv: 3.0.1
3281
3282 d3-force@3.0.0:
3283 dependencies:
3284 d3-dispatch: 3.0.1
3285 d3-quadtree: 3.0.1
3286 d3-timer: 3.0.1
3287
3288 d3-format@3.1.2: {}
3289
3290 d3-geo@3.1.1:
3291 dependencies:
3292 d3-array: 3.2.4
3293
3294 d3-hierarchy@3.1.2: {}
3295
3296 d3-interpolate@3.0.1:
3297 dependencies:
3298 d3-color: 3.1.0
3299
3300 d3-path@1.0.9: {}
3301
3302 d3-path@3.1.0: {}
3303
3304 d3-polygon@3.0.1: {}
3305
3306 d3-quadtree@3.0.1: {}
3307
3308 d3-random@3.0.1: {}
3309
3310 d3-sankey@0.12.3:
3311 dependencies:
3312 d3-array: 2.12.1
3313 d3-shape: 1.3.7
3314
3315 d3-scale-chromatic@3.1.0:
3316 dependencies:
3317 d3-color: 3.1.0
3318 d3-interpolate: 3.0.1
3319
3320 d3-scale@4.0.2:
3321 dependencies:
3322 d3-array: 3.2.4
3323 d3-format: 3.1.2
3324 d3-interpolate: 3.0.1
3325 d3-time: 3.1.0
3326 d3-time-format: 4.1.0
3327
3328 d3-selection@3.0.0: {}
3329
3330 d3-shape@1.3.7:
3331 dependencies:
3332 d3-path: 1.0.9
3333
3334 d3-shape@3.2.0:
3335 dependencies:
3336 d3-path: 3.1.0
3337
3338 d3-time-format@4.1.0:
3339 dependencies:
3340 d3-time: 3.1.0
3341
3342 d3-time@3.1.0:
3343 dependencies:
3344 d3-array: 3.2.4
3345
3346 d3-timer@3.0.1: {}
3347
3348 d3-transition@3.0.1(d3-selection@3.0.0):
3349 dependencies:
3350 d3-color: 3.1.0
3351 d3-dispatch: 3.0.1
3352 d3-ease: 3.0.1
3353 d3-interpolate: 3.0.1
3354 d3-selection: 3.0.0
3355 d3-timer: 3.0.1
3356
3357 d3-zoom@3.0.0:
3358 dependencies:
3359 d3-dispatch: 3.0.1
3360 d3-drag: 3.0.0
3361 d3-interpolate: 3.0.1
3362 d3-selection: 3.0.0
3363 d3-transition: 3.0.1(d3-selection@3.0.0)
3364
3365 d3@7.9.0:
3366 dependencies:
3367 d3-array: 3.2.4
3368 d3-axis: 3.0.0
3369 d3-brush: 3.0.0
3370 d3-chord: 3.0.1
3371 d3-color: 3.1.0
3372 d3-contour: 4.0.2
3373 d3-delaunay: 6.0.4
3374 d3-dispatch: 3.0.1
3375 d3-drag: 3.0.0
3376 d3-dsv: 3.0.1
3377 d3-ease: 3.0.1
3378 d3-fetch: 3.0.1
3379 d3-force: 3.0.0
3380 d3-format: 3.1.2
3381 d3-geo: 3.1.1
3382 d3-hierarchy: 3.1.2
3383 d3-interpolate: 3.0.1
3384 d3-path: 3.1.0
3385 d3-polygon: 3.0.1
3386 d3-quadtree: 3.0.1
3387 d3-random: 3.0.1
3388 d3-scale: 4.0.2
3389 d3-scale-chromatic: 3.1.0
3390 d3-selection: 3.0.0
3391 d3-shape: 3.2.0
3392 d3-time: 3.1.0
3393 d3-time-format: 4.1.0
3394 d3-timer: 3.0.1
3395 d3-transition: 3.0.1(d3-selection@3.0.0)
3396 d3-zoom: 3.0.0
3397
3398 dagre-d3-es@7.0.14:
3399 dependencies:
3400 d3: 7.9.0
3401 lodash-es: 4.17.23
3402
3403 dayjs@1.11.20: {}
3404
3405 debug@4.4.3:
3406 dependencies:
3407 ms: 2.1.3
3408
3409 decode-named-character-reference@1.3.0:
3410 dependencies:
3411 character-entities: 2.0.2
3412
3413 delaunator@5.0.1:
3414 dependencies:
3415 robust-predicates: 3.0.2
3416
3417 dequal@2.0.3: {}
3418
3419 detect-libc@2.1.2: {}
3420
3421 devlop@1.1.0:
3422 dependencies:
3423 dequal: 2.0.3
3424
3425 dompurify@3.3.3:
3426 optionalDependencies:
3427 '@types/trusted-types': 2.0.7
3428
3429 electron-to-chromium@1.5.321: {}
3430
3431 enhanced-resolve@5.20.1:
3432 dependencies:
3433 graceful-fs: 4.2.11
3434 tapable: 2.3.0
3435
3436 entities@6.0.1: {}
3437
3438 entities@7.0.1:
3439 optional: true
3440
3441 es-module-lexer@1.7.0: {}
3442
3443 esbuild@0.25.12:
3444 optionalDependencies:
3445 '@esbuild/aix-ppc64': 0.25.12
3446 '@esbuild/android-arm': 0.25.12
3447 '@esbuild/android-arm64': 0.25.12
3448 '@esbuild/android-x64': 0.25.12
3449 '@esbuild/darwin-arm64': 0.25.12
3450 '@esbuild/darwin-x64': 0.25.12
3451 '@esbuild/freebsd-arm64': 0.25.12
3452 '@esbuild/freebsd-x64': 0.25.12
3453 '@esbuild/linux-arm': 0.25.12
3454 '@esbuild/linux-arm64': 0.25.12
3455 '@esbuild/linux-ia32': 0.25.12
3456 '@esbuild/linux-loong64': 0.25.12
3457 '@esbuild/linux-mips64el': 0.25.12
3458 '@esbuild/linux-ppc64': 0.25.12
3459 '@esbuild/linux-riscv64': 0.25.12
3460 '@esbuild/linux-s390x': 0.25.12
3461 '@esbuild/linux-x64': 0.25.12
3462 '@esbuild/netbsd-arm64': 0.25.12
3463 '@esbuild/netbsd-x64': 0.25.12
3464 '@esbuild/openbsd-arm64': 0.25.12
3465 '@esbuild/openbsd-x64': 0.25.12
3466 '@esbuild/openharmony-arm64': 0.25.12
3467 '@esbuild/sunos-x64': 0.25.12
3468 '@esbuild/win32-arm64': 0.25.12
3469 '@esbuild/win32-ia32': 0.25.12
3470 '@esbuild/win32-x64': 0.25.12
3471
3472 escalade@3.2.0: {}
3473
3474 escape-string-regexp@5.0.0: {}
3475
3476 estree-util-is-identifier-name@3.0.0: {}
3477
3478 estree-walker@2.0.2: {}
3479
3480 estree-walker@3.0.3:
3481 dependencies:
3482 '@types/estree': 1.0.8
3483
3484 extend@3.0.2: {}
3485
3486 fdir@6.5.0(picomatch@4.0.3):
3487 optionalDependencies:
3488 picomatch: 4.0.3
3489
3490 fsevents@2.3.3:
3491 optional: true
3492
3493 gensync@1.0.0-beta.2: {}
3494
3495 graceful-fs@4.2.11: {}
3496
3497 hachure-fill@0.5.2: {}
3498
3499 happy-dom@20.8.4:
3500 dependencies:
3501 '@types/node': 25.5.0
3502 '@types/whatwg-mimetype': 3.0.2
3503 '@types/ws': 8.18.1
3504 entities: 7.0.1
3505 whatwg-mimetype: 3.0.0
3506 ws: 8.19.0
3507 transitivePeerDependencies:
3508 - bufferutil
3509 - utf-8-validate
3510 optional: true
3511
3512 hast-util-from-parse5@8.0.3:
3513 dependencies:
3514 '@types/hast': 3.0.4
3515 '@types/unist': 3.0.3
3516 devlop: 1.1.0
3517 hastscript: 9.0.1
3518 property-information: 7.1.0
3519 vfile: 6.0.3
3520 vfile-location: 5.0.3
3521 web-namespaces: 2.0.1
3522
3523 hast-util-parse-selector@4.0.0:
3524 dependencies:
3525 '@types/hast': 3.0.4
3526
3527 hast-util-raw@9.1.0:
3528 dependencies:
3529 '@types/hast': 3.0.4
3530 '@types/unist': 3.0.3
3531 '@ungap/structured-clone': 1.3.0
3532 hast-util-from-parse5: 8.0.3
3533 hast-util-to-parse5: 8.0.1
3534 html-void-elements: 3.0.0
3535 mdast-util-to-hast: 13.2.1
3536 parse5: 7.3.0
3537 unist-util-position: 5.0.0
3538 unist-util-visit: 5.1.0
3539 vfile: 6.0.3
3540 web-namespaces: 2.0.1
3541 zwitch: 2.0.4
3542
3543 hast-util-sanitize@5.0.2:
3544 dependencies:
3545 '@types/hast': 3.0.4
3546 '@ungap/structured-clone': 1.3.0
3547 unist-util-position: 5.0.0
3548
3549 hast-util-to-html@9.0.5:
3550 dependencies:
3551 '@types/hast': 3.0.4
3552 '@types/unist': 3.0.3
3553 ccount: 2.0.1
3554 comma-separated-tokens: 2.0.3
3555 hast-util-whitespace: 3.0.0
3556 html-void-elements: 3.0.0
3557 mdast-util-to-hast: 13.2.1
3558 property-information: 7.1.0
3559 space-separated-tokens: 2.0.2
3560 stringify-entities: 4.0.4
3561 zwitch: 2.0.4
3562
3563 hast-util-to-jsx-runtime@2.3.6:
3564 dependencies:
3565 '@types/estree': 1.0.8
3566 '@types/hast': 3.0.4
3567 '@types/unist': 3.0.3
3568 comma-separated-tokens: 2.0.3
3569 devlop: 1.1.0
3570 estree-util-is-identifier-name: 3.0.0
3571 hast-util-whitespace: 3.0.0
3572 mdast-util-mdx-expression: 2.0.1
3573 mdast-util-mdx-jsx: 3.2.0
3574 mdast-util-mdxjs-esm: 2.0.1
3575 property-information: 7.1.0
3576 space-separated-tokens: 2.0.2
3577 style-to-js: 1.1.21
3578 unist-util-position: 5.0.0
3579 vfile-message: 4.0.3
3580 transitivePeerDependencies:
3581 - supports-color
3582
3583 hast-util-to-parse5@8.0.1:
3584 dependencies:
3585 '@types/hast': 3.0.4
3586 comma-separated-tokens: 2.0.3
3587 devlop: 1.1.0
3588 property-information: 7.1.0
3589 space-separated-tokens: 2.0.2
3590 web-namespaces: 2.0.1
3591 zwitch: 2.0.4
3592
3593 hast-util-whitespace@3.0.0:
3594 dependencies:
3595 '@types/hast': 3.0.4
3596
3597 hastscript@9.0.1:
3598 dependencies:
3599 '@types/hast': 3.0.4
3600 comma-separated-tokens: 2.0.3
3601 hast-util-parse-selector: 4.0.0
3602 property-information: 7.1.0
3603 space-separated-tokens: 2.0.2
3604
3605 html-url-attributes@3.0.1: {}
3606
3607 html-void-elements@3.0.0: {}
3608
3609 iconv-lite@0.6.3:
3610 dependencies:
3611 safer-buffer: 2.1.2
3612
3613 inline-style-parser@0.2.7: {}
3614
3615 internmap@1.0.1: {}
3616
3617 internmap@2.0.3: {}
3618
3619 is-alphabetical@2.0.1: {}
3620
3621 is-alphanumerical@2.0.1:
3622 dependencies:
3623 is-alphabetical: 2.0.1
3624 is-decimal: 2.0.1
3625
3626 is-decimal@2.0.1: {}
3627
3628 is-hexadecimal@2.0.1: {}
3629
3630 is-plain-obj@4.1.0: {}
3631
3632 isexe@2.0.0: {}
3633
3634 jiti@2.6.1: {}
3635
3636 js-tokens@4.0.0: {}
3637
3638 jsesc@3.1.0: {}
3639
3640 json5@2.2.3: {}
3641
3642 katex@0.16.38:
3643 dependencies:
3644 commander: 8.3.0
3645
3646 khroma@2.1.0: {}
3647
3648 kleur@3.0.3: {}
3649
3650 langium@4.2.1:
3651 dependencies:
3652 chevrotain: 11.1.2
3653 chevrotain-allstar: 0.3.1(chevrotain@11.1.2)
3654 vscode-languageserver: 9.0.1
3655 vscode-languageserver-textdocument: 1.0.12
3656 vscode-uri: 3.1.0
3657
3658 layout-base@1.0.2: {}
3659
3660 layout-base@2.0.1: {}
3661
3662 lightningcss-android-arm64@1.32.0:
3663 optional: true
3664
3665 lightningcss-darwin-arm64@1.32.0:
3666 optional: true
3667
3668 lightningcss-darwin-x64@1.32.0:
3669 optional: true
3670
3671 lightningcss-freebsd-x64@1.32.0:
3672 optional: true
3673
3674 lightningcss-linux-arm-gnueabihf@1.32.0:
3675 optional: true
3676
3677 lightningcss-linux-arm64-gnu@1.32.0:
3678 optional: true
3679
3680 lightningcss-linux-arm64-musl@1.32.0:
3681 optional: true
3682
3683 lightningcss-linux-x64-gnu@1.32.0:
3684 optional: true
3685
3686 lightningcss-linux-x64-musl@1.32.0:
3687 optional: true
3688
3689 lightningcss-win32-arm64-msvc@1.32.0:
3690 optional: true
3691
3692 lightningcss-win32-x64-msvc@1.32.0:
3693 optional: true
3694
3695 lightningcss@1.32.0:
3696 dependencies:
3697 detect-libc: 2.1.2
3698 optionalDependencies:
3699 lightningcss-android-arm64: 1.32.0
3700 lightningcss-darwin-arm64: 1.32.0
3701 lightningcss-darwin-x64: 1.32.0
3702 lightningcss-freebsd-x64: 1.32.0
3703 lightningcss-linux-arm-gnueabihf: 1.32.0
3704 lightningcss-linux-arm64-gnu: 1.32.0
3705 lightningcss-linux-arm64-musl: 1.32.0
3706 lightningcss-linux-x64-gnu: 1.32.0
3707 lightningcss-linux-x64-musl: 1.32.0
3708 lightningcss-win32-arm64-msvc: 1.32.0
3709 lightningcss-win32-x64-msvc: 1.32.0
3710
3711 lodash-es@4.17.23: {}
3712
3713 longest-streak@3.1.0: {}
3714
3715 lru-cache@5.1.1:
3716 dependencies:
3717 yallist: 3.1.1
3718
3719 magic-string@0.30.21:
3720 dependencies:
3721 '@jridgewell/sourcemap-codec': 1.5.5
3722
3723 markdown-table@3.0.4: {}
3724
3725 marked@16.4.2: {}
3726
3727 marked@17.0.4: {}
3728
3729 mdast-util-find-and-replace@3.0.2:
3730 dependencies:
3731 '@types/mdast': 4.0.4
3732 escape-string-regexp: 5.0.0
3733 unist-util-is: 6.0.1
3734 unist-util-visit-parents: 6.0.2
3735
3736 mdast-util-from-markdown@2.0.3:
3737 dependencies:
3738 '@types/mdast': 4.0.4
3739 '@types/unist': 3.0.3
3740 decode-named-character-reference: 1.3.0
3741 devlop: 1.1.0
3742 mdast-util-to-string: 4.0.0
3743 micromark: 4.0.2
3744 micromark-util-decode-numeric-character-reference: 2.0.2
3745 micromark-util-decode-string: 2.0.1
3746 micromark-util-normalize-identifier: 2.0.1
3747 micromark-util-symbol: 2.0.1
3748 micromark-util-types: 2.0.2
3749 unist-util-stringify-position: 4.0.0
3750 transitivePeerDependencies:
3751 - supports-color
3752
3753 mdast-util-gfm-autolink-literal@2.0.1:
3754 dependencies:
3755 '@types/mdast': 4.0.4
3756 ccount: 2.0.1
3757 devlop: 1.1.0
3758 mdast-util-find-and-replace: 3.0.2
3759 micromark-util-character: 2.1.1
3760
3761 mdast-util-gfm-footnote@2.1.0:
3762 dependencies:
3763 '@types/mdast': 4.0.4
3764 devlop: 1.1.0
3765 mdast-util-from-markdown: 2.0.3
3766 mdast-util-to-markdown: 2.1.2
3767 micromark-util-normalize-identifier: 2.0.1
3768 transitivePeerDependencies:
3769 - supports-color
3770
3771 mdast-util-gfm-strikethrough@2.0.0:
3772 dependencies:
3773 '@types/mdast': 4.0.4
3774 mdast-util-from-markdown: 2.0.3
3775 mdast-util-to-markdown: 2.1.2
3776 transitivePeerDependencies:
3777 - supports-color
3778
3779 mdast-util-gfm-table@2.0.0:
3780 dependencies:
3781 '@types/mdast': 4.0.4
3782 devlop: 1.1.0
3783 markdown-table: 3.0.4
3784 mdast-util-from-markdown: 2.0.3
3785 mdast-util-to-markdown: 2.1.2
3786 transitivePeerDependencies:
3787 - supports-color
3788
3789 mdast-util-gfm-task-list-item@2.0.0:
3790 dependencies:
3791 '@types/mdast': 4.0.4
3792 devlop: 1.1.0
3793 mdast-util-from-markdown: 2.0.3
3794 mdast-util-to-markdown: 2.1.2
3795 transitivePeerDependencies:
3796 - supports-color
3797
3798 mdast-util-gfm@3.1.0:
3799 dependencies:
3800 mdast-util-from-markdown: 2.0.3
3801 mdast-util-gfm-autolink-literal: 2.0.1
3802 mdast-util-gfm-footnote: 2.1.0
3803 mdast-util-gfm-strikethrough: 2.0.0
3804 mdast-util-gfm-table: 2.0.0
3805 mdast-util-gfm-task-list-item: 2.0.0
3806 mdast-util-to-markdown: 2.1.2
3807 transitivePeerDependencies:
3808 - supports-color
3809
3810 mdast-util-mdx-expression@2.0.1:
3811 dependencies:
3812 '@types/estree-jsx': 1.0.5
3813 '@types/hast': 3.0.4
3814 '@types/mdast': 4.0.4
3815 devlop: 1.1.0
3816 mdast-util-from-markdown: 2.0.3
3817 mdast-util-to-markdown: 2.1.2
3818 transitivePeerDependencies:
3819 - supports-color
3820
3821 mdast-util-mdx-jsx@3.2.0:
3822 dependencies:
3823 '@types/estree-jsx': 1.0.5
3824 '@types/hast': 3.0.4
3825 '@types/mdast': 4.0.4
3826 '@types/unist': 3.0.3
3827 ccount: 2.0.1
3828 devlop: 1.1.0
3829 mdast-util-from-markdown: 2.0.3
3830 mdast-util-to-markdown: 2.1.2
3831 parse-entities: 4.0.2
3832 stringify-entities: 4.0.4
3833 unist-util-stringify-position: 4.0.0
3834 vfile-message: 4.0.3
3835 transitivePeerDependencies:
3836 - supports-color
3837
3838 mdast-util-mdxjs-esm@2.0.1:
3839 dependencies:
3840 '@types/estree-jsx': 1.0.5
3841 '@types/hast': 3.0.4
3842 '@types/mdast': 4.0.4
3843 devlop: 1.1.0
3844 mdast-util-from-markdown: 2.0.3
3845 mdast-util-to-markdown: 2.1.2
3846 transitivePeerDependencies:
3847 - supports-color
3848
3849 mdast-util-phrasing@4.1.0:
3850 dependencies:
3851 '@types/mdast': 4.0.4
3852 unist-util-is: 6.0.1
3853
3854 mdast-util-to-hast@13.2.1:
3855 dependencies:
3856 '@types/hast': 3.0.4
3857 '@types/mdast': 4.0.4
3858 '@ungap/structured-clone': 1.3.0
3859 devlop: 1.1.0
3860 micromark-util-sanitize-uri: 2.0.1
3861 trim-lines: 3.0.1
3862 unist-util-position: 5.0.0
3863 unist-util-visit: 5.1.0
3864 vfile: 6.0.3
3865
3866 mdast-util-to-markdown@2.1.2:
3867 dependencies:
3868 '@types/mdast': 4.0.4
3869 '@types/unist': 3.0.3
3870 longest-streak: 3.1.0
3871 mdast-util-phrasing: 4.1.0
3872 mdast-util-to-string: 4.0.0
3873 micromark-util-classify-character: 2.0.1
3874 micromark-util-decode-string: 2.0.1
3875 unist-util-visit: 5.1.0
3876 zwitch: 2.0.4
3877
3878 mdast-util-to-string@4.0.0:
3879 dependencies:
3880 '@types/mdast': 4.0.4
3881
3882 mermaid@11.13.0:
3883 dependencies:
3884 '@braintree/sanitize-url': 7.1.2
3885 '@iconify/utils': 3.1.0
3886 '@mermaid-js/parser': 1.0.1
3887 '@types/d3': 7.4.3
3888 '@upsetjs/venn.js': 2.0.0
3889 cytoscape: 3.33.1
3890 cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1)
3891 cytoscape-fcose: 2.2.0(cytoscape@3.33.1)
3892 d3: 7.9.0
3893 d3-sankey: 0.12.3
3894 dagre-d3-es: 7.0.14
3895 dayjs: 1.11.20
3896 dompurify: 3.3.3
3897 katex: 0.16.38
3898 khroma: 2.1.0
3899 lodash-es: 4.17.23
3900 marked: 16.4.2
3901 roughjs: 4.6.6
3902 stylis: 4.3.6
3903 ts-dedent: 2.2.0
3904 uuid: 11.1.0
3905
3906 micromark-core-commonmark@2.0.3:
3907 dependencies:
3908 decode-named-character-reference: 1.3.0
3909 devlop: 1.1.0
3910 micromark-factory-destination: 2.0.1
3911 micromark-factory-label: 2.0.1
3912 micromark-factory-space: 2.0.1
3913 micromark-factory-title: 2.0.1
3914 micromark-factory-whitespace: 2.0.1
3915 micromark-util-character: 2.1.1
3916 micromark-util-chunked: 2.0.1
3917 micromark-util-classify-character: 2.0.1
3918 micromark-util-html-tag-name: 2.0.1
3919 micromark-util-normalize-identifier: 2.0.1
3920 micromark-util-resolve-all: 2.0.1
3921 micromark-util-subtokenize: 2.1.0
3922 micromark-util-symbol: 2.0.1
3923 micromark-util-types: 2.0.2
3924
3925 micromark-extension-gfm-autolink-literal@2.1.0:
3926 dependencies:
3927 micromark-util-character: 2.1.1
3928 micromark-util-sanitize-uri: 2.0.1
3929 micromark-util-symbol: 2.0.1
3930 micromark-util-types: 2.0.2
3931
3932 micromark-extension-gfm-footnote@2.1.0:
3933 dependencies:
3934 devlop: 1.1.0
3935 micromark-core-commonmark: 2.0.3
3936 micromark-factory-space: 2.0.1
3937 micromark-util-character: 2.1.1
3938 micromark-util-normalize-identifier: 2.0.1
3939 micromark-util-sanitize-uri: 2.0.1
3940 micromark-util-symbol: 2.0.1
3941 micromark-util-types: 2.0.2
3942
3943 micromark-extension-gfm-strikethrough@2.1.0:
3944 dependencies:
3945 devlop: 1.1.0
3946 micromark-util-chunked: 2.0.1
3947 micromark-util-classify-character: 2.0.1
3948 micromark-util-resolve-all: 2.0.1
3949 micromark-util-symbol: 2.0.1
3950 micromark-util-types: 2.0.2
3951
3952 micromark-extension-gfm-table@2.1.1:
3953 dependencies:
3954 devlop: 1.1.0
3955 micromark-factory-space: 2.0.1
3956 micromark-util-character: 2.1.1
3957 micromark-util-symbol: 2.0.1
3958 micromark-util-types: 2.0.2
3959
3960 micromark-extension-gfm-tagfilter@2.0.0:
3961 dependencies:
3962 micromark-util-types: 2.0.2
3963
3964 micromark-extension-gfm-task-list-item@2.1.0:
3965 dependencies:
3966 devlop: 1.1.0
3967 micromark-factory-space: 2.0.1
3968 micromark-util-character: 2.1.1
3969 micromark-util-symbol: 2.0.1
3970 micromark-util-types: 2.0.2
3971
3972 micromark-extension-gfm@3.0.0:
3973 dependencies:
3974 micromark-extension-gfm-autolink-literal: 2.1.0
3975 micromark-extension-gfm-footnote: 2.1.0
3976 micromark-extension-gfm-strikethrough: 2.1.0
3977 micromark-extension-gfm-table: 2.1.1
3978 micromark-extension-gfm-tagfilter: 2.0.0
3979 micromark-extension-gfm-task-list-item: 2.1.0
3980 micromark-util-combine-extensions: 2.0.1
3981 micromark-util-types: 2.0.2
3982
3983 micromark-factory-destination@2.0.1:
3984 dependencies:
3985 micromark-util-character: 2.1.1
3986 micromark-util-symbol: 2.0.1
3987 micromark-util-types: 2.0.2
3988
3989 micromark-factory-label@2.0.1:
3990 dependencies:
3991 devlop: 1.1.0
3992 micromark-util-character: 2.1.1
3993 micromark-util-symbol: 2.0.1
3994 micromark-util-types: 2.0.2
3995
3996 micromark-factory-space@2.0.1:
3997 dependencies:
3998 micromark-util-character: 2.1.1
3999 micromark-util-types: 2.0.2
4000
4001 micromark-factory-title@2.0.1:
4002 dependencies:
4003 micromark-factory-space: 2.0.1
4004 micromark-util-character: 2.1.1
4005 micromark-util-symbol: 2.0.1
4006 micromark-util-types: 2.0.2
4007
4008 micromark-factory-whitespace@2.0.1:
4009 dependencies:
4010 micromark-factory-space: 2.0.1
4011 micromark-util-character: 2.1.1
4012 micromark-util-symbol: 2.0.1
4013 micromark-util-types: 2.0.2
4014
4015 micromark-util-character@2.1.1:
4016 dependencies:
4017 micromark-util-symbol: 2.0.1
4018 micromark-util-types: 2.0.2
4019
4020 micromark-util-chunked@2.0.1:
4021 dependencies:
4022 micromark-util-symbol: 2.0.1
4023
4024 micromark-util-classify-character@2.0.1:
4025 dependencies:
4026 micromark-util-character: 2.1.1
4027 micromark-util-symbol: 2.0.1
4028 micromark-util-types: 2.0.2
4029
4030 micromark-util-combine-extensions@2.0.1:
4031 dependencies:
4032 micromark-util-chunked: 2.0.1
4033 micromark-util-types: 2.0.2
4034
4035 micromark-util-decode-numeric-character-reference@2.0.2:
4036 dependencies:
4037 micromark-util-symbol: 2.0.1
4038
4039 micromark-util-decode-string@2.0.1:
4040 dependencies:
4041 decode-named-character-reference: 1.3.0
4042 micromark-util-character: 2.1.1
4043 micromark-util-decode-numeric-character-reference: 2.0.2
4044 micromark-util-symbol: 2.0.1
4045
4046 micromark-util-encode@2.0.1: {}
4047
4048 micromark-util-html-tag-name@2.0.1: {}
4049
4050 micromark-util-normalize-identifier@2.0.1:
4051 dependencies:
4052 micromark-util-symbol: 2.0.1
4053
4054 micromark-util-resolve-all@2.0.1:
4055 dependencies:
4056 micromark-util-types: 2.0.2
4057
4058 micromark-util-sanitize-uri@2.0.1:
4059 dependencies:
4060 micromark-util-character: 2.1.1
4061 micromark-util-encode: 2.0.1
4062 micromark-util-symbol: 2.0.1
4063
4064 micromark-util-subtokenize@2.1.0:
4065 dependencies:
4066 devlop: 1.1.0
4067 micromark-util-chunked: 2.0.1
4068 micromark-util-symbol: 2.0.1
4069 micromark-util-types: 2.0.2
4070
4071 micromark-util-symbol@2.0.1: {}
4072
4073 micromark-util-types@2.0.2: {}
4074
4075 micromark@4.0.2:
4076 dependencies:
4077 '@types/debug': 4.1.12
4078 debug: 4.4.3
4079 decode-named-character-reference: 1.3.0
4080 devlop: 1.1.0
4081 micromark-core-commonmark: 2.0.3
4082 micromark-factory-space: 2.0.1
4083 micromark-util-character: 2.1.1
4084 micromark-util-chunked: 2.0.1
4085 micromark-util-combine-extensions: 2.0.1
4086 micromark-util-decode-numeric-character-reference: 2.0.2
4087 micromark-util-encode: 2.0.1
4088 micromark-util-normalize-identifier: 2.0.1
4089 micromark-util-resolve-all: 2.0.1
4090 micromark-util-sanitize-uri: 2.0.1
4091 micromark-util-subtokenize: 2.1.0
4092 micromark-util-symbol: 2.0.1
4093 micromark-util-types: 2.0.2
4094 transitivePeerDependencies:
4095 - supports-color
4096
4097 mlly@1.8.1:
4098 dependencies:
4099 acorn: 8.16.0
4100 pathe: 2.0.3
4101 pkg-types: 1.3.1
4102 ufo: 1.6.3
4103
4104 mrmime@2.0.1: {}
4105
4106 ms@2.1.3: {}
4107
4108 nanoid@3.3.11: {}
4109
4110 node-releases@2.0.36: {}
4111
4112 obug@2.1.1: {}
4113
4114 oxfmt@0.40.0:
4115 dependencies:
4116 tinypool: 2.1.0
4117 optionalDependencies:
4118 '@oxfmt/binding-android-arm-eabi': 0.40.0
4119 '@oxfmt/binding-android-arm64': 0.40.0
4120 '@oxfmt/binding-darwin-arm64': 0.40.0
4121 '@oxfmt/binding-darwin-x64': 0.40.0
4122 '@oxfmt/binding-freebsd-x64': 0.40.0
4123 '@oxfmt/binding-linux-arm-gnueabihf': 0.40.0
4124 '@oxfmt/binding-linux-arm-musleabihf': 0.40.0
4125 '@oxfmt/binding-linux-arm64-gnu': 0.40.0
4126 '@oxfmt/binding-linux-arm64-musl': 0.40.0
4127 '@oxfmt/binding-linux-ppc64-gnu': 0.40.0
4128 '@oxfmt/binding-linux-riscv64-gnu': 0.40.0
4129 '@oxfmt/binding-linux-riscv64-musl': 0.40.0
4130 '@oxfmt/binding-linux-s390x-gnu': 0.40.0
4131 '@oxfmt/binding-linux-x64-gnu': 0.40.0
4132 '@oxfmt/binding-linux-x64-musl': 0.40.0
4133 '@oxfmt/binding-openharmony-arm64': 0.40.0
4134 '@oxfmt/binding-win32-arm64-msvc': 0.40.0
4135 '@oxfmt/binding-win32-ia32-msvc': 0.40.0
4136 '@oxfmt/binding-win32-x64-msvc': 0.40.0
4137
4138 oxlint-tsgolint@0.17.0:
4139 optionalDependencies:
4140 '@oxlint-tsgolint/darwin-arm64': 0.17.0
4141 '@oxlint-tsgolint/darwin-x64': 0.17.0
4142 '@oxlint-tsgolint/linux-arm64': 0.17.0
4143 '@oxlint-tsgolint/linux-x64': 0.17.0
4144 '@oxlint-tsgolint/win32-arm64': 0.17.0
4145 '@oxlint-tsgolint/win32-x64': 0.17.0
4146
4147 oxlint@1.55.0(oxlint-tsgolint@0.17.0):
4148 optionalDependencies:
4149 '@oxlint/binding-android-arm-eabi': 1.55.0
4150 '@oxlint/binding-android-arm64': 1.55.0
4151 '@oxlint/binding-darwin-arm64': 1.55.0
4152 '@oxlint/binding-darwin-x64': 1.55.0
4153 '@oxlint/binding-freebsd-x64': 1.55.0
4154 '@oxlint/binding-linux-arm-gnueabihf': 1.55.0
4155 '@oxlint/binding-linux-arm-musleabihf': 1.55.0
4156 '@oxlint/binding-linux-arm64-gnu': 1.55.0
4157 '@oxlint/binding-linux-arm64-musl': 1.55.0
4158 '@oxlint/binding-linux-ppc64-gnu': 1.55.0
4159 '@oxlint/binding-linux-riscv64-gnu': 1.55.0
4160 '@oxlint/binding-linux-riscv64-musl': 1.55.0
4161 '@oxlint/binding-linux-s390x-gnu': 1.55.0
4162 '@oxlint/binding-linux-x64-gnu': 1.55.0
4163 '@oxlint/binding-linux-x64-musl': 1.55.0
4164 '@oxlint/binding-openharmony-arm64': 1.55.0
4165 '@oxlint/binding-win32-arm64-msvc': 1.55.0
4166 '@oxlint/binding-win32-ia32-msvc': 1.55.0
4167 '@oxlint/binding-win32-x64-msvc': 1.55.0
4168 oxlint-tsgolint: 0.17.0
4169
4170 package-manager-detector@1.6.0: {}
4171
4172 parse-entities@4.0.2:
4173 dependencies:
4174 '@types/unist': 2.0.11
4175 character-entities-legacy: 3.0.0
4176 character-reference-invalid: 2.0.1
4177 decode-named-character-reference: 1.3.0
4178 is-alphanumerical: 2.0.1
4179 is-decimal: 2.0.1
4180 is-hexadecimal: 2.0.1
4181
4182 parse5@7.3.0:
4183 dependencies:
4184 entities: 6.0.1
4185
4186 path-data-parser@0.1.0: {}
4187
4188 path-key@3.1.1: {}
4189
4190 pathe@2.0.3: {}
4191
4192 picocolors@1.1.1: {}
4193
4194 picomatch@4.0.3: {}
4195
4196 pixelmatch@7.1.0:
4197 dependencies:
4198 pngjs: 7.0.0
4199
4200 pkg-types@1.3.1:
4201 dependencies:
4202 confbox: 0.1.8
4203 mlly: 1.8.1
4204 pathe: 2.0.3
4205
4206 pngjs@7.0.0: {}
4207
4208 points-on-curve@0.2.0: {}
4209
4210 points-on-path@0.2.1:
4211 dependencies:
4212 path-data-parser: 0.1.0
4213 points-on-curve: 0.2.0
4214
4215 postcss-selector-parser@6.0.10:
4216 dependencies:
4217 cssesc: 3.0.0
4218 util-deprecate: 1.0.2
4219
4220 postcss@8.5.8:
4221 dependencies:
4222 nanoid: 3.3.11
4223 picocolors: 1.1.1
4224 source-map-js: 1.2.1
4225
4226 preact@10.29.0: {}
4227
4228 prompts@2.4.2:
4229 dependencies:
4230 kleur: 3.0.3
4231 sisteransi: 1.0.5
4232
4233 property-information@7.1.0: {}
4234
4235 react-dom@19.2.4(react@19.2.4):
4236 dependencies:
4237 react: 19.2.4
4238 scheduler: 0.27.0
4239
4240 react-scan@0.5.3(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
4241 dependencies:
4242 '@babel/core': 7.29.0
4243 '@babel/generator': 7.29.1
4244 '@babel/types': 7.29.0
4245 '@preact/signals': 1.3.4(preact@10.29.0)
4246 '@rollup/pluginutils': 5.3.0
4247 '@types/node': 20.19.37
4248 bippy: 0.5.32(@types/react@19.2.14)(react@19.2.4)
4249 commander: 14.0.3
4250 esbuild: 0.25.12
4251 estree-walker: 3.0.3
4252 picocolors: 1.1.1
4253 preact: 10.29.0
4254 prompts: 2.4.2
4255 react: 19.2.4
4256 react-dom: 19.2.4(react@19.2.4)
4257 optionalDependencies:
4258 unplugin: 2.1.0
4259 transitivePeerDependencies:
4260 - '@types/react'
4261 - rollup
4262 - supports-color
4263
4264 react@19.2.4: {}
4265
4266 rehype-harden@1.1.8:
4267 dependencies:
4268 unist-util-visit: 5.1.0
4269
4270 rehype-raw@7.0.0:
4271 dependencies:
4272 '@types/hast': 3.0.4
4273 hast-util-raw: 9.1.0
4274 vfile: 6.0.3
4275
4276 rehype-react@8.0.0:
4277 dependencies:
4278 '@types/hast': 3.0.4
4279 hast-util-to-jsx-runtime: 2.3.6
4280 unified: 11.0.5
4281 transitivePeerDependencies:
4282 - supports-color
4283
4284 rehype-sanitize@6.0.0:
4285 dependencies:
4286 '@types/hast': 3.0.4
4287 hast-util-sanitize: 5.0.2
4288
4289 rehype-stringify@10.0.1:
4290 dependencies:
4291 '@types/hast': 3.0.4
4292 hast-util-to-html: 9.0.5
4293 unified: 11.0.5
4294
4295 remark-gfm@4.0.1:
4296 dependencies:
4297 '@types/mdast': 4.0.4
4298 mdast-util-gfm: 3.1.0
4299 micromark-extension-gfm: 3.0.0
4300 remark-parse: 11.0.0
4301 remark-stringify: 11.0.0
4302 unified: 11.0.5
4303 transitivePeerDependencies:
4304 - supports-color
4305
4306 remark-parse@11.0.0:
4307 dependencies:
4308 '@types/mdast': 4.0.4
4309 mdast-util-from-markdown: 2.0.3
4310 micromark-util-types: 2.0.2
4311 unified: 11.0.5
4312 transitivePeerDependencies:
4313 - supports-color
4314
4315 remark-rehype@11.1.2:
4316 dependencies:
4317 '@types/hast': 3.0.4
4318 '@types/mdast': 4.0.4
4319 mdast-util-to-hast: 13.2.1
4320 unified: 11.0.5
4321 vfile: 6.0.3
4322
4323 remark-stringify@11.0.0:
4324 dependencies:
4325 '@types/mdast': 4.0.4
4326 mdast-util-to-markdown: 2.1.2
4327 unified: 11.0.5
4328
4329 remend@1.3.0: {}
4330
4331 robust-predicates@3.0.2: {}
4332
4333 rolldown@1.0.0-rc.9:
4334 dependencies:
4335 '@oxc-project/types': 0.115.0
4336 '@rolldown/pluginutils': 1.0.0-rc.9
4337 optionalDependencies:
4338 '@rolldown/binding-android-arm64': 1.0.0-rc.9
4339 '@rolldown/binding-darwin-arm64': 1.0.0-rc.9
4340 '@rolldown/binding-darwin-x64': 1.0.0-rc.9
4341 '@rolldown/binding-freebsd-x64': 1.0.0-rc.9
4342 '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.9
4343 '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.9
4344 '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.9
4345 '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.9
4346 '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.9
4347 '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.9
4348 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.9
4349 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.9
4350 '@rolldown/binding-wasm32-wasi': 1.0.0-rc.9
4351 '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.9
4352 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.9
4353
4354 roughjs@4.6.6:
4355 dependencies:
4356 hachure-fill: 0.5.2
4357 path-data-parser: 0.1.0
4358 points-on-curve: 0.2.0
4359 points-on-path: 0.2.1
4360
4361 rw@1.3.3: {}
4362
4363 safer-buffer@2.1.2: {}
4364
4365 scheduler@0.27.0: {}
4366
4367 semver@6.3.1: {}
4368
4369 shebang-command@2.0.0:
4370 dependencies:
4371 shebang-regex: 3.0.0
4372
4373 shebang-regex@3.0.0: {}
4374
4375 sirv@3.0.2:
4376 dependencies:
4377 '@polka/url': 1.0.0-next.29
4378 mrmime: 2.0.1
4379 totalist: 3.0.1
4380
4381 sisteransi@1.0.5: {}
4382
4383 source-map-js@1.2.1: {}
4384
4385 space-separated-tokens@2.0.2: {}
4386
4387 std-env@4.0.0: {}
4388
4389 streamdown@2.5.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4):
4390 dependencies:
4391 clsx: 2.1.1
4392 hast-util-to-jsx-runtime: 2.3.6
4393 html-url-attributes: 3.0.1
4394 marked: 17.0.4
4395 mermaid: 11.13.0
4396 react: 19.2.4
4397 react-dom: 19.2.4(react@19.2.4)
4398 rehype-harden: 1.1.8
4399 rehype-raw: 7.0.0
4400 rehype-sanitize: 6.0.0
4401 remark-gfm: 4.0.1
4402 remark-parse: 11.0.0
4403 remark-rehype: 11.1.2
4404 remend: 1.3.0
4405 tailwind-merge: 3.5.0
4406 unified: 11.0.5
4407 unist-util-visit: 5.1.0
4408 unist-util-visit-parents: 6.0.2
4409 transitivePeerDependencies:
4410 - supports-color
4411
4412 stringify-entities@4.0.4:
4413 dependencies:
4414 character-entities-html4: 2.1.0
4415 character-entities-legacy: 3.0.0
4416
4417 style-to-js@1.1.21:
4418 dependencies:
4419 style-to-object: 1.0.14
4420
4421 style-to-object@1.0.14:
4422 dependencies:
4423 inline-style-parser: 0.2.7
4424
4425 stylis@4.3.6: {}
4426
4427 tailwind-merge@3.5.0: {}
4428
4429 tailwindcss@4.2.2: {}
4430
4431 tapable@2.3.0: {}
4432
4433 tinybench@2.9.0: {}
4434
4435 tinyexec@1.0.4: {}
4436
4437 tinyglobby@0.2.15:
4438 dependencies:
4439 fdir: 6.5.0(picomatch@4.0.3)
4440 picomatch: 4.0.3
4441
4442 tinypool@2.1.0: {}
4443
4444 totalist@3.0.1: {}
4445
4446 trim-lines@3.0.1: {}
4447
4448 trough@2.2.0: {}
4449
4450 ts-dedent@2.2.0: {}
4451
4452 tslib@2.8.1:
4453 optional: true
4454
4455 typescript@5.9.3: {}
4456
4457 ufo@1.6.3: {}
4458
4459 undici-types@6.21.0: {}
4460
4461 undici-types@7.18.2: {}
4462
4463 unified@11.0.5:
4464 dependencies:
4465 '@types/unist': 3.0.3
4466 bail: 2.0.2
4467 devlop: 1.1.0
4468 extend: 3.0.2
4469 is-plain-obj: 4.1.0
4470 trough: 2.2.0
4471 vfile: 6.0.3
4472
4473 unist-util-is@6.0.1:
4474 dependencies:
4475 '@types/unist': 3.0.3
4476
4477 unist-util-position@5.0.0:
4478 dependencies:
4479 '@types/unist': 3.0.3
4480
4481 unist-util-stringify-position@4.0.0:
4482 dependencies:
4483 '@types/unist': 3.0.3
4484
4485 unist-util-visit-parents@6.0.2:
4486 dependencies:
4487 '@types/unist': 3.0.3
4488 unist-util-is: 6.0.1
4489
4490 unist-util-visit@5.1.0:
4491 dependencies:
4492 '@types/unist': 3.0.3
4493 unist-util-is: 6.0.1
4494 unist-util-visit-parents: 6.0.2
4495
4496 unplugin@2.1.0:
4497 dependencies:
4498 acorn: 8.16.0
4499 webpack-virtual-modules: 0.6.2
4500 optional: true
4501
4502 update-browserslist-db@1.2.3(browserslist@4.28.1):
4503 dependencies:
4504 browserslist: 4.28.1
4505 escalade: 3.2.0
4506 picocolors: 1.1.1
4507
4508 util-deprecate@1.0.2: {}
4509
4510 uuid@11.1.0: {}
4511
4512 vfile-location@5.0.3:
4513 dependencies:
4514 '@types/unist': 3.0.3
4515 vfile: 6.0.3
4516
4517 vfile-message@4.0.3:
4518 dependencies:
4519 '@types/unist': 3.0.3
4520 unist-util-stringify-position: 4.0.0
4521
4522 vfile@6.0.3:
4523 dependencies:
4524 '@types/unist': 3.0.3
4525 vfile-message: 4.0.3
4526
4527 vite-plus@0.1.12(@types/node@25.5.0)(happy-dom@20.8.4)(jiti@2.6.1)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))(yaml@2.8.2):
4528 dependencies:
4529 '@oxc-project/types': 0.115.0
4530 '@voidzero-dev/vite-plus-core': 0.1.12(@types/node@25.5.0)(jiti@2.6.1)(typescript@5.9.3)(yaml@2.8.2)
4531 '@voidzero-dev/vite-plus-test': 0.1.12(@types/node@25.5.0)(happy-dom@20.8.4)(jiti@2.6.1)(typescript@5.9.3)(vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2))(yaml@2.8.2)
4532 cac: 6.7.14
4533 cross-spawn: 7.0.6
4534 oxfmt: 0.40.0
4535 oxlint: 1.55.0(oxlint-tsgolint@0.17.0)
4536 oxlint-tsgolint: 0.17.0
4537 picocolors: 1.1.1
4538 optionalDependencies:
4539 '@voidzero-dev/vite-plus-darwin-arm64': 0.1.12
4540 '@voidzero-dev/vite-plus-darwin-x64': 0.1.12
4541 '@voidzero-dev/vite-plus-linux-arm64-gnu': 0.1.12
4542 '@voidzero-dev/vite-plus-linux-x64-gnu': 0.1.12
4543 '@voidzero-dev/vite-plus-win32-arm64-msvc': 0.1.12
4544 '@voidzero-dev/vite-plus-win32-x64-msvc': 0.1.12
4545 transitivePeerDependencies:
4546 - '@arethetypeswrong/core'
4547 - '@edge-runtime/vm'
4548 - '@opentelemetry/api'
4549 - '@tsdown/css'
4550 - '@tsdown/exe'
4551 - '@types/node'
4552 - '@vitejs/devtools'
4553 - '@vitest/ui'
4554 - bufferutil
4555 - esbuild
4556 - happy-dom
4557 - jiti
4558 - jsdom
4559 - less
4560 - publint
4561 - sass
4562 - sass-embedded
4563 - stylus
4564 - sugarss
4565 - terser
4566 - tsx
4567 - typescript
4568 - unplugin-unused
4569 - utf-8-validate
4570 - vite
4571 - yaml
4572
4573 vite@8.0.0(@types/node@25.5.0)(jiti@2.6.1)(yaml@2.8.2):
4574 dependencies:
4575 '@oxc-project/runtime': 0.115.0
4576 lightningcss: 1.32.0
4577 picomatch: 4.0.3
4578 postcss: 8.5.8
4579 rolldown: 1.0.0-rc.9
4580 tinyglobby: 0.2.15
4581 optionalDependencies:
4582 '@types/node': 25.5.0
4583 fsevents: 2.3.3
4584 jiti: 2.6.1
4585 yaml: 2.8.2
4586
4587 vscode-jsonrpc@8.2.0: {}
4588
4589 vscode-languageserver-protocol@3.17.5:
4590 dependencies:
4591 vscode-jsonrpc: 8.2.0
4592 vscode-languageserver-types: 3.17.5
4593
4594 vscode-languageserver-textdocument@1.0.12: {}
4595
4596 vscode-languageserver-types@3.17.5: {}
4597
4598 vscode-languageserver@9.0.1:
4599 dependencies:
4600 vscode-languageserver-protocol: 3.17.5
4601
4602 vscode-uri@3.1.0: {}
4603
4604 web-namespaces@2.0.1: {}
4605
4606 webpack-virtual-modules@0.6.2:
4607 optional: true
4608
4609 whatwg-mimetype@3.0.0:
4610 optional: true
4611
4612 which@2.0.2:
4613 dependencies:
4614 isexe: 2.0.0
4615
4616 ws@8.19.0: {}
4617
4618 yallist@3.1.1: {}
4619
4620 yaml@2.8.2:
4621 optional: true
4622
4623 zwitch@2.0.4: {}
src/Markdown.d.ts created+15
...@@ -0,0 +1,15 @@
1import { type PropsWithChildren } from "react";
2import { type Processor } from "unified";
3import { type Components } from "rehype-react";
4export interface MarkdownOptions {
5 content: string;
6 /** Add any other markdown processors */
7 processor?: Processor<import("unist").Node> | null | undefined;
8 /** Customize component rendering */
9 components?: Partial<Components> | null | undefined;
10}
11export declare const Markdown: import("react").MemoExoticComponent<({ content, processor, components }: MarkdownOptions) => import("react").ReactNode[]>;
12type Context = Omit<MarkdownOptions, "content">;
13declare const Context: import("react").Context<Context>;
14export declare function MarkdownOptionsProvider({ processor, components, children, }: PropsWithChildren<Context>): import("react/jsx-runtime").JSX.Element;
15export {};
src/Markdown.tsx created+46
...@@ -0,0 +1,46 @@
1import { createContext, memo, useContext, useMemo, useRef, type PropsWithChildren } from "react";
2import { defaultProcessor, Memoizer } from "./Memoizer";
3import { type Processor } from "unified";
4import { type Components } from "rehype-react";
5
6export interface MarkdownOptions {
7 content: string;
8 /** Add any other markdown processors */
9 processor?: Processor<import("unist").Node> | null | undefined;
10 /** Customize component rendering */
11 components?: Partial<Components> | null | undefined;
12}
13
14const Renderer = function Markdown({ content, processor, components }: MarkdownOptions) {
15 const context = useContext(Context);
16 const ref = useRef<Memoizer | null>(null);
17 const memoizer = (ref.current ??= new Memoizer());
18 memoizer.reconfigure(processor ?? context.processor ?? defaultProcessor, {
19 ...components,
20 ...context.components,
21 });
22 return memoizer.update(content);
23};
24
25export const Markdown = memo(Renderer, propsAreEqual);
26Markdown.displayName = "Markdown";
27
28function propsAreEqual(prev: MarkdownOptions, next: MarkdownOptions) {
29 if (prev.content !== next.content) return false;
30 if (prev.processor !== next.processor) return false;
31 if (prev.components === next.components) return true;
32 // TODO:
33 return true;
34}
35
36type Context = Omit<MarkdownOptions, "content">;
37const Context = createContext<Context>({});
38
39export function MarkdownOptionsProvider({
40 processor,
41 components,
42 children,
43}: PropsWithChildren<Context>) {
44 const value = useMemo(() => ({ processor, components }), [processor, components]);
45 return <Context.Provider value={value}>{children}</Context.Provider>;
46}
src/Memoizer.d.ts created+12
...@@ -0,0 +1,12 @@
1import { type JSX, type ReactNode } from "react";
2import { type Components } from "rehype-react";
3import { type Processor } from "unified";
4import type { Node } from "unist";
5export declare const defaultProcessor: Processor<import("mdast").Root, undefined, undefined, undefined, undefined>;
6export type BaseProcessor = Processor<Node, undefined, undefined, undefined, undefined | JSX.Element>;
7export declare class Memoizer {
8 #private;
9 reset(): void;
10 reconfigure(processor: Processor<Node, undefined, undefined, undefined, undefined | JSX.Element>, components: Partial<Components>): void;
11 update(content: string): ReactNode[];
12}
src/Memoizer.ts created+188
...@@ -0,0 +1,188 @@
1import { ASSERT, UNWRAP } from "@clo/lib/assert.ts";
2import { fromMarkdown } from "mdast-util-from-markdown";
3import { indexOfDiff } from "./strings.ts";
4import { memo, type JSX, type Key, type ReactNode } from "react";
5import rehypeReact, { type Components } from "rehype-react";
6import remarkRehype from "remark-rehype";
7import { jsx, jsxs, Fragment } from "react/jsx-runtime";
8import { unified, type Processor } from "unified";
9import type { Node } from "unist";
10import remarkParse from "remark-parse";
11
12export const defaultProcessor = unified().use(remarkParse);
13const extractBlockOptions = {
14 extensions: [
15 {
16 disable: {
17 null: [
18 "attention",
19 "autolink",
20 "characterEscape",
21 "characterReference",
22 "codeText",
23 "hardBreakEscape",
24 "htmlText",
25 "labelStartImage",
26 "labelStartLink",
27 "labelEnd",
28 ],
29 },
30 },
31 ],
32};
33
34function extractBlockPositions(source: string, offset: number) {
35 const tree = fromMarkdown(source, extractBlockOptions);
36 return tree.children.map((child) => UNWRAP(UNWRAP(child.position).start.offset) + offset);
37}
38
39export type BaseProcessor = Processor<
40 Node,
41 undefined,
42 undefined,
43 undefined,
44 undefined | JSX.Element
45>;
46export type ReactProcessor = Processor<Node, undefined, undefined, undefined, JSX.Element>;
47
48function componentsAreEqual(left: Partial<Components>, right: Partial<Components>) {
49 const leftRecord = left as Record<string, unknown>;
50 const rightRecord = right as Record<string, unknown>;
51 const leftKeys = Object.keys(leftRecord);
52 if (leftKeys.length !== Object.keys(rightRecord).length) return false;
53 for (const key of leftKeys) {
54 if (leftRecord[key] !== rightRecord[key]) return false;
55 }
56 return true;
57}
58
59function setReactKey(element: JSX.Element, key: Key) {
60 const { ...props } = element.props;
61 return jsx(element.type, props, key);
62}
63
64export class Memoizer {
65 #baseProcessor: BaseProcessor = defaultProcessor;
66 #processor: ReactProcessor | null = null;
67 #previousComponents: Partial<Components> = {};
68 #previous: string = "";
69 #blockPositions: number[] = [];
70 #blockSources: string[] = [];
71 /** Immutable array to follow React's rules */
72 #reactNodes: ReactNode[] = [];
73
74 reset() {
75 this.#previous = "";
76 this.#blockPositions = [];
77 this.#reactNodes = [];
78 }
79
80 reconfigure(
81 processor: Processor<Node, undefined, undefined, undefined, undefined | JSX.Element>,
82 components: Partial<Components>,
83 ) {
84 if (
85 this.#processor !== null &&
86 this.#baseProcessor === processor &&
87 componentsAreEqual(this.#previousComponents, components)
88 )
89 return;
90
91 this.#baseProcessor = processor;
92 if (!processor.attachers.some((plugin) => plugin[0] === rehypeReact)) {
93 processor = processor();
94 if (!processor.attachers.some((plugin) => plugin[0] === remarkRehype)) {
95 processor.use(remarkRehype);
96 }
97 processor.use(rehypeReact, {
98 jsx,
99 jsxs,
100 Fragment,
101 // Memoize every component. We want to ensure that React doesn't
102 // re-render components for no reason. Just because the parent renders
103 // doesn't mean the children should.
104 components: Object.fromEntries(
105 Object.entries(components).map(([k, v]) => [k, typeof v === "function" ? memo(v) : v]),
106 ),
107 });
108 processor.freeze();
109 } else {
110 // TODO: troll and force memoize all components
111 }
112 this.#previousComponents = components;
113 this.#processor = processor as ReactProcessor;
114 this.reset();
115 }
116
117 update(content: string): ReactNode[] {
118 const previous = this.#previous;
119 if (content === previous) return this.#reactNodes;
120
121 // Locate the last block that has changed content. This is done quickly by
122 // finding the first changed character, and locking to the nearest cached
123 // block.
124 const blockPositions = this.#blockPositions;
125 const firstCharDifference = indexOfDiff(content, previous);
126 let blockIndexToReplace = blockPositions.length - 1;
127 for (; blockIndexToReplace >= 0; blockIndexToReplace -= 1)
128 if (firstCharDifference >= blockPositions[blockIndexToReplace]!) break;
129 const preservedLength = blockPositions[blockIndexToReplace] ?? 0;
130 if (blockIndexToReplace === -1) blockIndexToReplace = 0;
131
132 // Compute and replace changed block regions. This behavior relys on the
133 // fact that this block extraction process can be isolated across blocks.
134 // For the basic set of syntax extensions, this is true, for example an
135 // unclosed code fence is parsed as a code fence. Anything that isn't
136 // compatible will break very loudly since `Memoizer` never re-joins the
137 // blocks for rendering.
138 const newBlocks = extractBlockPositions(content.slice(preservedLength), preservedLength);
139 blockPositions.splice(
140 blockIndexToReplace,
141 blockPositions.length - blockIndexToReplace,
142 ...newBlocks,
143 );
144 this.#previous = content;
145
146 // For all touched blocks (newBlocks), find which ones have actually changed
147 // their contents and run them through the full pipeline.
148 const processor = UNWRAP(this.#processor);
149 const blockSources = this.#blockSources;
150 let reactNodes: ReactNode[] | null = null;
151 // If items are removed, the array must be resliced.
152 if (this.#reactNodes.length !== blockPositions.length) {
153 reactNodes = this.#reactNodes.slice(0, blockPositions.length);
154 blockSources.length = blockPositions.length;
155 }
156 for (let i = blockIndexToReplace, len = blockPositions.length; i < len; i += 1) {
157 const source = content
158 .slice(UNWRAP(blockPositions[i]), blockPositions[i + 1] ?? content.length)
159 .replace(/\s+$/, "");
160 // If the previous parse is identical, skip it
161 if (blockSources[i] === source) {
162 ASSERT(this.#reactNodes[i]);
163 continue;
164 }
165 blockSources[i] = source;
166
167 // Render the block using all plugins.
168 let { result } = processor.processSync(source);
169
170 // Do a little trolling and unwrap the fragment
171 const key = String("m" + i);
172 const children = result.props.children;
173 if (result.type === Fragment && children?.type) {
174 result = setReactKey(children as JSX.Element, key);
175 } else {
176 // At least assign the key
177 result = setReactKey(result, key);
178 }
179
180 // If anything in the array changes, the array must be sliced.
181 reactNodes ??= this.#reactNodes.slice();
182 reactNodes[i] = result;
183 }
184
185 if (reactNodes) return (this.#reactNodes = reactNodes);
186 return this.#reactNodes;
187 }
188}
src/mod.d.ts created+1
...@@ -0,0 +1 @@
1export { Markdown, MarkdownOptionsProvider, type MarkdownOptions } from "./Markdown";
src/mod.ts created+1
...@@ -0,0 +1 @@
1export { Markdown, MarkdownOptionsProvider, type MarkdownOptions } from "./Markdown";
src/strings.d.ts created+1
...@@ -0,0 +1 @@
1export declare function indexOfDiff(a: string, b: string): number;
src/strings.ts created+5
...@@ -0,0 +1,5 @@
1export function indexOfDiff(a: string, b: string) {
2 var i = 0;
3 while (a[i] === b[i]) i++;
4 return i;
5}
tests/index.test.ts created+76
...@@ -0,0 +1,76 @@
1import { act, createElement } from "react";
2import { createRoot } from "react-dom/client";
3import { expect, test } from "vite-plus/test";
4import { Markdown } from "../src/mod.ts";
5
6Object.assign(globalThis, { IS_REACT_ACT_ENVIRONMENT: true });
7
8function getParagraphs(container: HTMLElement) {
9 return Array.from(container.querySelectorAll("p"));
10}
11
12test("Markdown reuses rendered nodes across rerenders and preserves them when a paragraph is appended", async () => {
13 const container = document.createElement("div");
14 document.body.append(container);
15
16 const root = createRoot(container);
17 const firstContent = "hello **world**";
18 const secondContent = `${firstContent}\n\nthis is *the* second \`paragraph\`.`;
19
20 try {
21 await act(async () => {
22 root.render(createElement(Markdown, { content: firstContent }));
23 });
24
25 const firstParagraph = container.querySelector("p");
26 const firstStrong = container.querySelector("strong");
27 const firstParagraphLeadingText = firstParagraph?.firstChild;
28 const firstStrongText = firstStrong?.firstChild;
29
30 expect(getParagraphs(container)).toHaveLength(1);
31 expect(firstParagraph?.textContent).toBe("hello world");
32 expect(firstStrong?.textContent).toBe("world");
33
34 await act(async () => {
35 root.render(createElement(Markdown, { content: firstContent }));
36 });
37
38 const sameParagraph = container.querySelector("p");
39 const sameStrong = container.querySelector("strong");
40
41 expect(getParagraphs(container)).toHaveLength(1);
42 expect(sameParagraph).toBe(firstParagraph);
43 expect(sameParagraph?.firstChild).toBe(firstParagraphLeadingText);
44 expect(sameStrong).toBe(firstStrong);
45 expect(sameStrong?.firstChild).toBe(firstStrongText);
46 expect(sameParagraph?.textContent).toBe("hello world");
47
48 await act(async () => {
49 root.render(createElement(Markdown, { content: secondContent }));
50 });
51
52 const paragraphs = getParagraphs(container);
53 const firstParagraphAfterAppend = paragraphs[0];
54 const secondParagraph = paragraphs[1];
55 const strongAfterAppend = firstParagraphAfterAppend?.querySelector("strong");
56 const emphasisInSecondParagraph = secondParagraph?.querySelector("em");
57 const codeInSecondParagraph = secondParagraph?.querySelector("code");
58
59 expect(paragraphs).toHaveLength(2);
60 expect(firstParagraphAfterAppend).toBe(firstParagraph);
61 expect(firstParagraphAfterAppend?.firstChild).toBe(firstParagraphLeadingText);
62 expect(strongAfterAppend).toBe(firstStrong);
63 expect(strongAfterAppend?.firstChild).toBe(firstStrongText);
64 expect(secondParagraph).not.toBe(firstParagraph);
65 expect(firstParagraphAfterAppend?.textContent).toBe("hello world");
66 expect(secondParagraph?.textContent).toBe("this is the second paragraph.");
67 expect(emphasisInSecondParagraph?.textContent).toBe("the");
68 expect(codeInSecondParagraph?.textContent).toBe("paragraph");
69 } finally {
70 await act(async () => {
71 root.unmount();
72 });
73
74 container.remove();
75 }
76});
tsconfig.json created+24
...@@ -0,0 +1,24 @@
1{
2 "compilerOptions": {
3 "target": "esnext",
4 "lib": ["dom", "es2023"],
5 "moduleDetection": "force",
6 "module": "preserve",
7 "moduleResolution": "bundler",
8 "resolveJsonModule": true,
9 "types": ["node", "react"],
10 "strict": true,
11 "noErrorTruncation": true,
12 "allowImportingTsExtensions": true,
13 "noUncheckedIndexedAccess": true,
14 "noUnusedLocals": true,
15 "declaration": true,
16 "emitDeclarationOnly": true,
17 "esModuleInterop": true,
18 "isolatedModules": true,
19 "verbatimModuleSyntax": true,
20 "skipLibCheck": true,
21 "jsx": "react-jsx"
22 },
23 "include": ["src"]
24}
vite.config.ts created+23
...@@ -0,0 +1,23 @@
1import react from "@vitejs/plugin-react";
2import tailwindcss from "@tailwindcss/vite";
3import { defineConfig } from "vite-plus";
4
5export default defineConfig({
6 plugins: [react(), tailwindcss()],
7 pack: {
8 dts: {
9 tsgo: true,
10 },
11 exports: true,
12 },
13 lint: {
14 options: {
15 typeAware: true,
16 typeCheck: true,
17 },
18 },
19 test: {
20 environment: "happy-dom",
21 },
22 fmt: {},
23});