├── .gitignore ├── README.md ├── docs ├── app │ ├── icon.svg │ ├── languages │ │ ├── css.ts │ │ ├── html.ts │ │ ├── javascript.ts │ │ ├── python.ts │ │ └── rust.ts │ ├── layout.tsx │ ├── markdown.ts │ ├── page.tsx │ └── style.css ├── next-env.d.ts └── tsconfig.json ├── package.json ├── pnpm-lock.yaml ├── src └── index.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .next 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # remark-sugar-high 2 | 3 | Remark plugin for [Sugar High](https://sugar-high.vercel.app) syntax highlighter. 4 | 5 | [Website](https://remark-sugar-high.vercel.app/) 6 | 7 | 8 | ## Installation 9 | 10 | ```bash 11 | $ npm i -S remark-sugar-high 12 | ``` 13 | 14 | ## Usage 15 | 16 | Input markdown file: 17 | 18 | ``` 19 | \`\`\`javascript {2,5} 20 | // Here is a simple function 21 | async function hello() { 22 | console.log('Hello, world from JavaScript!') 23 | return 123 // return a number 24 | } 25 | 26 | await hello() 27 | \`\`\` 28 | ``` 29 | 30 | Using [remark](https://github.com/remarkjs/remark): 31 | 32 | ```js 33 | const { highlight } = require('remark-sugar-high'); 34 | 35 | await remark() 36 | .use(highlight) 37 | .use(require('remark-html')) 38 | .process(file, (err, file) => console.log(String(file))); 39 | ``` 40 | 41 |
42 | Output HTML 43 |

44 | 45 | ```html 46 |

// Here is a simple function
49 | async function hello() {
50 |     console.log('Hello, world from JavaScript!')
51 |     return 123 // return a number
52 | }
53 | 
54 | await hello()
55 | 
56 | ``` 57 |

58 | 59 |
60 | 61 | Customize the color theme with sugar-high CSS variables. Check [sugar-high highlight-with-css section](https://github.com/huozhi/sugar-high#highlight-with-css) for more details. 62 | 63 | 64 | ## License 65 | 66 | MIT 67 | -------------------------------------------------------------------------------- /docs/app/icon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/app/languages/css.ts: -------------------------------------------------------------------------------- 1 | export const code = `\ 2 | \`\`\`css 3 | body { 4 | font-family: 'Geist Sans', sans-serif; 5 | background-color: #f0f0f0; 6 | color: #333; /* text color */ 7 | } 8 | 9 | h1 { 10 | color: #0070f3; 11 | } 12 | 13 | @media (max-width: 600px) { 14 | body { 15 | font-size: 14px; 16 | } 17 | } 18 | \`\`\` 19 | ` 20 | -------------------------------------------------------------------------------- /docs/app/languages/html.ts: -------------------------------------------------------------------------------- 1 | export const code = `\ 2 | \`\`\`html 3 | 4 | 5 | 6 | 7 | 8 | Document 9 | 10 | 11 |

Hello, world!

12 | 13 | 14 | \`\`\` 15 | ` 16 | -------------------------------------------------------------------------------- /docs/app/languages/javascript.ts: -------------------------------------------------------------------------------- 1 | export const code = `\ 2 | \`\`\`javascript {2,5} 3 | // Here is a simple function 4 | async function hello() { 5 | console.log('Hello, world from JavaScript!') 6 | return 123 // return a number 7 | } 8 | 9 | await hello() 10 | \`\`\` 11 | ` 12 | -------------------------------------------------------------------------------- /docs/app/languages/python.ts: -------------------------------------------------------------------------------- 1 | export const code = `\ 2 | \`\`\`python 3 | """ 4 | This is a multi-line comment. 5 | Demonstrating functions, loops, and type hints. 6 | """ 7 | 8 | def factorial(n: int) -> int: 9 | """Compute the factorial of a number.""" 10 | result = 1 11 | for i in range(2, n + 1): 12 | result *= i 13 | return result 14 | 15 | print(factorial(5)) # Output: 120 16 | \`\`\` 17 | ` 18 | -------------------------------------------------------------------------------- /docs/app/languages/rust.ts: -------------------------------------------------------------------------------- 1 | export const code = `\ 2 | \`\`\`rust 3 | 4 | use std::fs; // Import file system utilities 5 | use std::io::{self, Write}; // Import I/O utilities 6 | 7 | /* Read file content into a string */ 8 | fn read_file(path: &str) -> io::Result { 9 | fs::read_to_string(path) // Read file content into a String 10 | } 11 | 12 | fn main() { 13 | match read_file("example.txt") { 14 | Ok(content) => println!("File content:\n{}", content), 15 | Err(e) => eprintln!("Error reading file: {}", e), 16 | } 17 | } 18 | \`\`\` 19 | ` 20 | -------------------------------------------------------------------------------- /docs/app/layout.tsx: -------------------------------------------------------------------------------- 1 | import { GeistSans } from 'geist/font/sans' 2 | import { GeistMono } from 'geist/font/mono' 3 | import './style.css' 4 | 5 | export const metadata = { 6 | title: 'Remark Sugar High', 7 | description: 'A remark plugin for sugar-high syntax highlighters', 8 | } 9 | 10 | export default function RootLayout({ children }) { 11 | return ( 12 | 13 | 14 |

Remark Sugar High

15 | 16 | {children} 17 | 30 | 31 | 32 | ) 33 | } 34 | -------------------------------------------------------------------------------- /docs/app/markdown.ts: -------------------------------------------------------------------------------- 1 | import { remark } from 'remark' 2 | import { highlight } from 'remark-sugar-high' 3 | import html from 'remark-html' 4 | import gfm from 'remark-gfm' 5 | 6 | export async function renderMarkdown(input: string) { 7 | const markdown = await remark() 8 | .use(gfm) 9 | .use(highlight) 10 | // @ts-expect-error ignore ts checking 11 | .use(html, { sanitize: false }) 12 | .process(input) 13 | 14 | return markdown.toString() 15 | } 16 | -------------------------------------------------------------------------------- /docs/app/page.tsx: -------------------------------------------------------------------------------- 1 | import { renderMarkdown } from './markdown' 2 | import { code as jsCode } from './languages/javascript' 3 | import { code as cssCode } from './languages/css' 4 | import { code as htmlCode } from './languages/html' 5 | import { code as pythonCode } from './languages/python' 6 | import { code as rustCode } from './languages/rust' 7 | import { Code } from 'codice' 8 | 9 | const usageCode = `\ 10 | \`\`\`javascript {2,9} 11 | import { remark } from 'remark' 12 | import { highlight } from 'remark-sugar-high' 13 | import html from 'remark-html' 14 | import gfm from 'remark-gfm' 15 | 16 | async function renderMarkdown(input) { 17 | const markdown = await remark() 18 | .use(gfm) 19 | .use(highlight) 20 | .use(html, { sanitize: false }) 21 | .process(input) 22 | 23 | return markdown.toString() 24 | } 25 | 26 | export default async Preview({ markdown }) { 27 | const html = await renderMarkdown(markdown) 28 | return ( 29 |
30 | ) 31 | } 32 | \`\`\` 33 | ` 34 | 35 | async function CodeExample({ 36 | filename, 37 | code, 38 | }: { 39 | filename: string 40 | code: string 41 | }) { 42 | const html = await renderMarkdown(code) 43 | return ( 44 | 45 | {html} 46 | 47 | ) 48 | } 49 | 50 | export default async function Post() { 51 | return ( 52 |
53 |

54 | Use{' '} 55 | 56 | Sugar High Syntax Highlighting 57 | with Remark Plugin.{' '} 58 | 59 | Source Code ↗ 60 | 61 |

62 |

Usage

63 |

Install

64 |
65 |         {`npm install remark remark-html remark-gfm remark-sugar-high`}
66 |       
67 | 68 |

API

69 | 70 | 71 | 72 |

Examples

73 | 74 | 75 | 76 | 77 | 78 | 79 |
80 | ) 81 | } 82 | -------------------------------------------------------------------------------- /docs/app/style.css: -------------------------------------------------------------------------------- 1 | /** CSS Reset from https://www.joshwcomeau.com/css/custom-css-reset <3 */ 2 | *, 3 | *::before, 4 | *::after { 5 | box-sizing: border-box; 6 | } 7 | 8 | * { 9 | margin: 0; 10 | } 11 | 12 | body { 13 | line-height: 1.5; 14 | -webkit-font-smoothing: antialiased; 15 | width: 600px; 16 | } 17 | 18 | img, 19 | picture, 20 | video, 21 | canvas, 22 | svg { 23 | display: block; 24 | max-width: 100%; 25 | } 26 | 27 | input, 28 | button, 29 | textarea, 30 | select { 31 | font: inherit; 32 | } 33 | 34 | p, 35 | h1, 36 | h2, 37 | h3, 38 | h4, 39 | h5, 40 | h6 { 41 | overflow-wrap: break-word; 42 | } 43 | 44 | /** Styles */ 45 | body { 46 | font-family: var(--font-geist-sans), system-ui, -apple-system, 47 | BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, 48 | sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, 49 | Noto Color Emoji; 50 | font-feature-settings: 'liga', 'clig', 'calt'; 51 | font-variant: common-ligatures contextual; 52 | letter-spacing: -0.01em; 53 | font-size: 15px; 54 | color: #111; 55 | background-color: #f9f9f9; 56 | padding: 2rem; 57 | line-height: 1.5; 58 | } 59 | 60 | h1 { 61 | font-size: 1.5rem; 62 | margin-bottom: 1rem; 63 | } 64 | 65 | h2 { 66 | font-size: 1.15rem; 67 | margin-top: 1.5rem; 68 | margin-bottom: 1rem; 69 | } 70 | 71 | p, 72 | pre { 73 | margin-bottom: 0.75rem; 74 | max-width: 100%; 75 | } 76 | 77 | a { 78 | color: #888; 79 | text-decoration: underline solid currentColor; 80 | text-underline-position: from-font; 81 | text-decoration-thickness: from-font; 82 | } 83 | 84 | a:hover { 85 | color: #333; 86 | } 87 | 88 | code { 89 | font-family: var(--font-geist-mono), menlo, 'Courier New', Courier, monospace; 90 | letter-spacing: 0; 91 | font-size: 0.95em; 92 | } 93 | 94 | pre { 95 | display: inline-block; 96 | background-color: #f4f4f4; 97 | border-radius: 3px; 98 | padding: 0.3em 0; 99 | max-width: 100%; 100 | white-space: pre-wrap; 101 | } 102 | 103 | pre code { 104 | padding: 0; 105 | background: none; 106 | border-radius: 0; 107 | } 108 | 109 | footer { 110 | margin-top: 2rem; 111 | padding-top: 1rem; 112 | border-top: 1px solid #ddd; 113 | max-width: 100%; 114 | } 115 | 116 | ul { 117 | padding-left: 1rem; 118 | } 119 | 120 | li { 121 | list-style: '• '; 122 | } 123 | 124 | :root { 125 | --sh-class: #2d5e9d; 126 | --sh-identifier: #354150; 127 | --sh-sign: #8996a3; 128 | --sh-property: #0550ae; 129 | --sh-entity: #9eb8d6; 130 | --sh-jsxliterals: #6266d1; 131 | --sh-string: #73747c; 132 | --sh-keyword: #2876db; 133 | --sh-comment: #a19595; 134 | } 135 | 136 | .code { 137 | margin-top: 1rem; 138 | margin-bottom: 1rem; 139 | width: 100%; 140 | } 141 | div[data-codice-editor-header="true"] { 142 | background-color: #d6e1eb; 143 | padding: 4px 6px; 144 | color: #507a99; 145 | margin: 0; 146 | } 147 | /* Override */ 148 | [data-codice-code] pre, 149 | [data-codice-code] code { 150 | width: 100%; 151 | } 152 | .code[data-codice-code="true"] pre { 153 | padding: 8px 0; 154 | } 155 | .sh__line { 156 | display: block; 157 | padding: 0 0.5em; 158 | } 159 | .sh__line--highlighted { 160 | background-color: #dff1ff; 161 | } -------------------------------------------------------------------------------- /docs/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. 6 | -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": [ 5 | "dom", 6 | "dom.iterable", 7 | "esnext" 8 | ], 9 | "allowJs": true, 10 | "skipLibCheck": true, 11 | "strict": false, 12 | "noEmit": true, 13 | "incremental": true, 14 | "module": "esnext", 15 | "esModuleInterop": true, 16 | "moduleResolution": "node", 17 | "resolveJsonModule": true, 18 | "isolatedModules": true, 19 | "jsx": "preserve", 20 | "plugins": [ 21 | { 22 | "name": "next" 23 | } 24 | ] 25 | }, 26 | "include": [ 27 | "next-env.d.ts", 28 | ".next/types/**/*.ts", 29 | "**/*.ts", 30 | "**/*.tsx" 31 | ], 32 | "exclude": [ 33 | "node_modules" 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "remark-sugar-high", 3 | "version": "0.6.0", 4 | "description": "remark plugin of sugar high syntax highlighter", 5 | "type": "module", 6 | "main": "./dist/index.js", 7 | "types": "./dist/index.d.ts", 8 | "scripts": { 9 | "build": "bunchee", 10 | "prepublishOnly": "pnpm build" 11 | }, 12 | "files": [ 13 | "dist" 14 | ], 15 | "keywords": [ 16 | "remark-plugin" 17 | ], 18 | "author": "huozhi", 19 | "license": "MIT", 20 | "packageManager": "pnpm@9.12.2", 21 | "dependencies": { 22 | "parse-numeric-range": "^1.3.0", 23 | "sugar-high": "^0.9.1", 24 | "unist-util-map": "^4.0.0" 25 | }, 26 | "resolutions": { 27 | "sugar-high": "^0.9.1" 28 | }, 29 | "devDependencies": { 30 | "@types/node": "^22.10.5", 31 | "@types/react": "19.0.2", 32 | "bunchee": "^6.3.1", 33 | "codice": "1.0.0", 34 | "geist": "^1.3.1", 35 | "next": "15.1.5", 36 | "react": "19.0.0", 37 | "react-dom": "19.0.0", 38 | "remark": "^15.0.1", 39 | "remark-gfm": "^4.0.0", 40 | "remark-html": "^16.0.1", 41 | "remark-sugar-high": "link:./", 42 | "typescript": "^5.7.2" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | overrides: 8 | sugar-high: ^0.9.1 9 | 10 | importers: 11 | 12 | .: 13 | dependencies: 14 | parse-numeric-range: 15 | specifier: ^1.3.0 16 | version: 1.3.0 17 | sugar-high: 18 | specifier: ^0.9.1 19 | version: 0.9.1 20 | unist-util-map: 21 | specifier: ^4.0.0 22 | version: 4.0.0 23 | devDependencies: 24 | '@types/node': 25 | specifier: ^22.10.5 26 | version: 22.10.5 27 | '@types/react': 28 | specifier: 19.0.2 29 | version: 19.0.2 30 | bunchee: 31 | specifier: ^6.3.1 32 | version: 6.3.2(typescript@5.7.2) 33 | codice: 34 | specifier: 1.0.0 35 | version: 1.0.0(react@19.0.0) 36 | geist: 37 | specifier: ^1.3.1 38 | version: 1.3.1(next@15.1.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) 39 | next: 40 | specifier: 15.1.5 41 | version: 15.1.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 42 | react: 43 | specifier: 19.0.0 44 | version: 19.0.0 45 | react-dom: 46 | specifier: 19.0.0 47 | version: 19.0.0(react@19.0.0) 48 | remark: 49 | specifier: ^15.0.1 50 | version: 15.0.1 51 | remark-gfm: 52 | specifier: ^4.0.0 53 | version: 4.0.0 54 | remark-html: 55 | specifier: ^16.0.1 56 | version: 16.0.1 57 | remark-sugar-high: 58 | specifier: link:./ 59 | version: 'link:' 60 | typescript: 61 | specifier: ^5.7.2 62 | version: 5.7.2 63 | 64 | packages: 65 | 66 | '@babel/code-frame@7.26.0': 67 | resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==} 68 | engines: {node: '>=6.9.0'} 69 | 70 | '@babel/helper-validator-identifier@7.25.9': 71 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 72 | engines: {node: '>=6.9.0'} 73 | 74 | '@emnapi/runtime@1.3.1': 75 | resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} 76 | 77 | '@fastify/deepmerge@1.3.0': 78 | resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} 79 | 80 | '@img/sharp-darwin-arm64@0.33.5': 81 | resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} 82 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 83 | cpu: [arm64] 84 | os: [darwin] 85 | 86 | '@img/sharp-darwin-x64@0.33.5': 87 | resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} 88 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 89 | cpu: [x64] 90 | os: [darwin] 91 | 92 | '@img/sharp-libvips-darwin-arm64@1.0.4': 93 | resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} 94 | cpu: [arm64] 95 | os: [darwin] 96 | 97 | '@img/sharp-libvips-darwin-x64@1.0.4': 98 | resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} 99 | cpu: [x64] 100 | os: [darwin] 101 | 102 | '@img/sharp-libvips-linux-arm64@1.0.4': 103 | resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} 104 | cpu: [arm64] 105 | os: [linux] 106 | 107 | '@img/sharp-libvips-linux-arm@1.0.5': 108 | resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} 109 | cpu: [arm] 110 | os: [linux] 111 | 112 | '@img/sharp-libvips-linux-s390x@1.0.4': 113 | resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} 114 | cpu: [s390x] 115 | os: [linux] 116 | 117 | '@img/sharp-libvips-linux-x64@1.0.4': 118 | resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} 119 | cpu: [x64] 120 | os: [linux] 121 | 122 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 123 | resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} 124 | cpu: [arm64] 125 | os: [linux] 126 | 127 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 128 | resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} 129 | cpu: [x64] 130 | os: [linux] 131 | 132 | '@img/sharp-linux-arm64@0.33.5': 133 | resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} 134 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 135 | cpu: [arm64] 136 | os: [linux] 137 | 138 | '@img/sharp-linux-arm@0.33.5': 139 | resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} 140 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 141 | cpu: [arm] 142 | os: [linux] 143 | 144 | '@img/sharp-linux-s390x@0.33.5': 145 | resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} 146 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 147 | cpu: [s390x] 148 | os: [linux] 149 | 150 | '@img/sharp-linux-x64@0.33.5': 151 | resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} 152 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 153 | cpu: [x64] 154 | os: [linux] 155 | 156 | '@img/sharp-linuxmusl-arm64@0.33.5': 157 | resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} 158 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 159 | cpu: [arm64] 160 | os: [linux] 161 | 162 | '@img/sharp-linuxmusl-x64@0.33.5': 163 | resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} 164 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 165 | cpu: [x64] 166 | os: [linux] 167 | 168 | '@img/sharp-wasm32@0.33.5': 169 | resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} 170 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 171 | cpu: [wasm32] 172 | 173 | '@img/sharp-win32-ia32@0.33.5': 174 | resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} 175 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 176 | cpu: [ia32] 177 | os: [win32] 178 | 179 | '@img/sharp-win32-x64@0.33.5': 180 | resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} 181 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 182 | cpu: [x64] 183 | os: [win32] 184 | 185 | '@jridgewell/sourcemap-codec@1.5.0': 186 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 187 | 188 | '@next/env@15.1.5': 189 | resolution: {integrity: sha512-jg8ygVq99W3/XXb9Y6UQsritwhjc+qeiO7QrGZRYOfviyr/HcdnhdBQu4gbp2rBIh2ZyBYTBMWbPw3JSCb0GHw==} 190 | 191 | '@next/swc-darwin-arm64@15.1.5': 192 | resolution: {integrity: sha512-5ttHGE75Nw9/l5S8zR2xEwR8OHEqcpPym3idIMAZ2yo+Edk0W/Vf46jGqPOZDk+m/SJ+vYZDSuztzhVha8rcdA==} 193 | engines: {node: '>= 10'} 194 | cpu: [arm64] 195 | os: [darwin] 196 | 197 | '@next/swc-darwin-x64@15.1.5': 198 | resolution: {integrity: sha512-8YnZn7vDURUUTInfOcU5l0UWplZGBqUlzvqKKUFceM11SzfNEz7E28E1Arn4/FsOf90b1Nopboy7i7ufc4jXag==} 199 | engines: {node: '>= 10'} 200 | cpu: [x64] 201 | os: [darwin] 202 | 203 | '@next/swc-linux-arm64-gnu@15.1.5': 204 | resolution: {integrity: sha512-rDJC4ctlYbK27tCyFUhgIv8o7miHNlpCjb2XXfTLQszwAUOSbcMN9q2y3urSrrRCyGVOd9ZR9a4S45dRh6JF3A==} 205 | engines: {node: '>= 10'} 206 | cpu: [arm64] 207 | os: [linux] 208 | 209 | '@next/swc-linux-arm64-musl@15.1.5': 210 | resolution: {integrity: sha512-FG5RApf4Gu+J+pHUQxXPM81oORZrKBYKUaBTylEIQ6Lz17hKVDsLbSXInfXM0giclvXbyiLXjTv42sQMATmZ0A==} 211 | engines: {node: '>= 10'} 212 | cpu: [arm64] 213 | os: [linux] 214 | 215 | '@next/swc-linux-x64-gnu@15.1.5': 216 | resolution: {integrity: sha512-NX2Ar3BCquAOYpnoYNcKz14eH03XuF7SmSlPzTSSU4PJe7+gelAjxo3Y7F2m8+hLT8ZkkqElawBp7SWBdzwqQw==} 217 | engines: {node: '>= 10'} 218 | cpu: [x64] 219 | os: [linux] 220 | 221 | '@next/swc-linux-x64-musl@15.1.5': 222 | resolution: {integrity: sha512-EQgqMiNu3mrV5eQHOIgeuh6GB5UU57tu17iFnLfBEhYfiOfyK+vleYKh2dkRVkV6ayx3eSqbIYgE7J7na4hhcA==} 223 | engines: {node: '>= 10'} 224 | cpu: [x64] 225 | os: [linux] 226 | 227 | '@next/swc-win32-arm64-msvc@15.1.5': 228 | resolution: {integrity: sha512-HPULzqR/VqryQZbZME8HJE3jNFmTGcp+uRMHabFbQl63TtDPm+oCXAz3q8XyGv2AoihwNApVlur9Up7rXWRcjg==} 229 | engines: {node: '>= 10'} 230 | cpu: [arm64] 231 | os: [win32] 232 | 233 | '@next/swc-win32-x64-msvc@15.1.5': 234 | resolution: {integrity: sha512-n74fUb/Ka1dZSVYfjwQ+nSJ+ifUff7jGurFcTuJNKZmI62FFOxQXUYit/uZXPTj2cirm1rvGWHG2GhbSol5Ikw==} 235 | engines: {node: '>= 10'} 236 | cpu: [x64] 237 | os: [win32] 238 | 239 | '@nodelib/fs.scandir@2.1.5': 240 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 241 | engines: {node: '>= 8'} 242 | 243 | '@nodelib/fs.stat@2.0.5': 244 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 245 | engines: {node: '>= 8'} 246 | 247 | '@nodelib/fs.walk@1.2.8': 248 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 249 | engines: {node: '>= 8'} 250 | 251 | '@rollup/plugin-commonjs@28.0.2': 252 | resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==} 253 | engines: {node: '>=16.0.0 || 14 >= 14.17'} 254 | peerDependencies: 255 | rollup: ^2.68.0||^3.0.0||^4.0.0 256 | peerDependenciesMeta: 257 | rollup: 258 | optional: true 259 | 260 | '@rollup/plugin-json@6.1.0': 261 | resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} 262 | engines: {node: '>=14.0.0'} 263 | peerDependencies: 264 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 265 | peerDependenciesMeta: 266 | rollup: 267 | optional: true 268 | 269 | '@rollup/plugin-node-resolve@16.0.0': 270 | resolution: {integrity: sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==} 271 | engines: {node: '>=14.0.0'} 272 | peerDependencies: 273 | rollup: ^2.78.0||^3.0.0||^4.0.0 274 | peerDependenciesMeta: 275 | rollup: 276 | optional: true 277 | 278 | '@rollup/plugin-replace@6.0.2': 279 | resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} 280 | engines: {node: '>=14.0.0'} 281 | peerDependencies: 282 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 283 | peerDependenciesMeta: 284 | rollup: 285 | optional: true 286 | 287 | '@rollup/plugin-wasm@6.2.2': 288 | resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} 289 | engines: {node: '>=14.0.0'} 290 | peerDependencies: 291 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 292 | peerDependenciesMeta: 293 | rollup: 294 | optional: true 295 | 296 | '@rollup/pluginutils@5.1.3': 297 | resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} 298 | engines: {node: '>=14.0.0'} 299 | peerDependencies: 300 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 301 | peerDependenciesMeta: 302 | rollup: 303 | optional: true 304 | 305 | '@rollup/rollup-android-arm-eabi@4.30.1': 306 | resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} 307 | cpu: [arm] 308 | os: [android] 309 | 310 | '@rollup/rollup-android-arm64@4.30.1': 311 | resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} 312 | cpu: [arm64] 313 | os: [android] 314 | 315 | '@rollup/rollup-darwin-arm64@4.30.1': 316 | resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} 317 | cpu: [arm64] 318 | os: [darwin] 319 | 320 | '@rollup/rollup-darwin-x64@4.30.1': 321 | resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} 322 | cpu: [x64] 323 | os: [darwin] 324 | 325 | '@rollup/rollup-freebsd-arm64@4.30.1': 326 | resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==} 327 | cpu: [arm64] 328 | os: [freebsd] 329 | 330 | '@rollup/rollup-freebsd-x64@4.30.1': 331 | resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==} 332 | cpu: [x64] 333 | os: [freebsd] 334 | 335 | '@rollup/rollup-linux-arm-gnueabihf@4.30.1': 336 | resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} 337 | cpu: [arm] 338 | os: [linux] 339 | 340 | '@rollup/rollup-linux-arm-musleabihf@4.30.1': 341 | resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} 342 | cpu: [arm] 343 | os: [linux] 344 | 345 | '@rollup/rollup-linux-arm64-gnu@4.30.1': 346 | resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} 347 | cpu: [arm64] 348 | os: [linux] 349 | 350 | '@rollup/rollup-linux-arm64-musl@4.30.1': 351 | resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} 352 | cpu: [arm64] 353 | os: [linux] 354 | 355 | '@rollup/rollup-linux-loongarch64-gnu@4.30.1': 356 | resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==} 357 | cpu: [loong64] 358 | os: [linux] 359 | 360 | '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': 361 | resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} 362 | cpu: [ppc64] 363 | os: [linux] 364 | 365 | '@rollup/rollup-linux-riscv64-gnu@4.30.1': 366 | resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} 367 | cpu: [riscv64] 368 | os: [linux] 369 | 370 | '@rollup/rollup-linux-s390x-gnu@4.30.1': 371 | resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} 372 | cpu: [s390x] 373 | os: [linux] 374 | 375 | '@rollup/rollup-linux-x64-gnu@4.30.1': 376 | resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} 377 | cpu: [x64] 378 | os: [linux] 379 | 380 | '@rollup/rollup-linux-x64-musl@4.30.1': 381 | resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==} 382 | cpu: [x64] 383 | os: [linux] 384 | 385 | '@rollup/rollup-win32-arm64-msvc@4.30.1': 386 | resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} 387 | cpu: [arm64] 388 | os: [win32] 389 | 390 | '@rollup/rollup-win32-ia32-msvc@4.30.1': 391 | resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} 392 | cpu: [ia32] 393 | os: [win32] 394 | 395 | '@rollup/rollup-win32-x64-msvc@4.30.1': 396 | resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} 397 | cpu: [x64] 398 | os: [win32] 399 | 400 | '@swc/core-darwin-arm64@1.10.7': 401 | resolution: {integrity: sha512-SI0OFg987P6hcyT0Dbng3YRISPS9uhLX1dzW4qRrfqQdb0i75lPJ2YWe9CN47HBazrIA5COuTzrD2Dc0TcVsSQ==} 402 | engines: {node: '>=10'} 403 | cpu: [arm64] 404 | os: [darwin] 405 | 406 | '@swc/core-darwin-x64@1.10.7': 407 | resolution: {integrity: sha512-RFIAmWVicD/l3RzxgHW0R/G1ya/6nyMspE2cAeDcTbjHi0I5qgdhBWd6ieXOaqwEwiCd0Mot1g2VZrLGoBLsjQ==} 408 | engines: {node: '>=10'} 409 | cpu: [x64] 410 | os: [darwin] 411 | 412 | '@swc/core-linux-arm-gnueabihf@1.10.7': 413 | resolution: {integrity: sha512-QP8vz7yELWfop5mM5foN6KkLylVO7ZUgWSF2cA0owwIaziactB2hCPZY5QU690coJouk9KmdFsPWDnaCFUP8tg==} 414 | engines: {node: '>=10'} 415 | cpu: [arm] 416 | os: [linux] 417 | 418 | '@swc/core-linux-arm64-gnu@1.10.7': 419 | resolution: {integrity: sha512-NgUDBGQcOeLNR+EOpmUvSDIP/F7i/OVOKxst4wOvT5FTxhnkWrW+StJGKj+DcUVSK5eWOYboSXr1y+Hlywwokw==} 420 | engines: {node: '>=10'} 421 | cpu: [arm64] 422 | os: [linux] 423 | 424 | '@swc/core-linux-arm64-musl@1.10.7': 425 | resolution: {integrity: sha512-gp5Un3EbeSThBIh6oac5ZArV/CsSmTKj5jNuuUAuEsML3VF9vqPO+25VuxCvsRf/z3py+xOWRaN2HY/rjMeZog==} 426 | engines: {node: '>=10'} 427 | cpu: [arm64] 428 | os: [linux] 429 | 430 | '@swc/core-linux-x64-gnu@1.10.7': 431 | resolution: {integrity: sha512-k/OxLLMl/edYqbZyUNg6/bqEHTXJT15l9WGqsl/2QaIGwWGvles8YjruQYQ9d4h/thSXLT9gd8bExU2D0N+bUA==} 432 | engines: {node: '>=10'} 433 | cpu: [x64] 434 | os: [linux] 435 | 436 | '@swc/core-linux-x64-musl@1.10.7': 437 | resolution: {integrity: sha512-XeDoURdWt/ybYmXLCEE8aSiTOzEn0o3Dx5l9hgt0IZEmTts7HgHHVeRgzGXbR4yDo0MfRuX5nE1dYpTmCz0uyA==} 438 | engines: {node: '>=10'} 439 | cpu: [x64] 440 | os: [linux] 441 | 442 | '@swc/core-win32-arm64-msvc@1.10.7': 443 | resolution: {integrity: sha512-nYAbi/uLS+CU0wFtBx8TquJw2uIMKBnl04LBmiVoFrsIhqSl+0MklaA9FVMGA35NcxSJfcm92Prl2W2LfSnTqQ==} 444 | engines: {node: '>=10'} 445 | cpu: [arm64] 446 | os: [win32] 447 | 448 | '@swc/core-win32-ia32-msvc@1.10.7': 449 | resolution: {integrity: sha512-+aGAbsDsIxeLxw0IzyQLtvtAcI1ctlXVvVcXZMNXIXtTURM876yNrufRo4ngoXB3jnb1MLjIIjgXfFs/eZTUSw==} 450 | engines: {node: '>=10'} 451 | cpu: [ia32] 452 | os: [win32] 453 | 454 | '@swc/core-win32-x64-msvc@1.10.7': 455 | resolution: {integrity: sha512-TBf4clpDBjF/UUnkKrT0/th76/zwvudk5wwobiTFqDywMApHip5O0VpBgZ+4raY2TM8k5+ujoy7bfHb22zu17Q==} 456 | engines: {node: '>=10'} 457 | cpu: [x64] 458 | os: [win32] 459 | 460 | '@swc/core@1.10.7': 461 | resolution: {integrity: sha512-py91kjI1jV5D5W/Q+PurBdGsdU5TFbrzamP7zSCqLdMcHkKi3rQEM5jkQcZr0MXXSJTaayLxS3MWYTBIkzPDrg==} 462 | engines: {node: '>=10'} 463 | peerDependencies: 464 | '@swc/helpers': '*' 465 | peerDependenciesMeta: 466 | '@swc/helpers': 467 | optional: true 468 | 469 | '@swc/counter@0.1.3': 470 | resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} 471 | 472 | '@swc/helpers@0.5.15': 473 | resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} 474 | 475 | '@swc/types@0.1.17': 476 | resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==} 477 | 478 | '@types/debug@4.1.12': 479 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 480 | 481 | '@types/estree@1.0.6': 482 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 483 | 484 | '@types/hast@3.0.4': 485 | resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} 486 | 487 | '@types/mdast@4.0.4': 488 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} 489 | 490 | '@types/ms@0.7.34': 491 | resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} 492 | 493 | '@types/node@22.10.5': 494 | resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} 495 | 496 | '@types/react@19.0.2': 497 | resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} 498 | 499 | '@types/resolve@1.20.2': 500 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 501 | 502 | '@types/unist@3.0.3': 503 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 504 | 505 | '@ungap/structured-clone@1.2.1': 506 | resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} 507 | 508 | ansi-regex@5.0.1: 509 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 510 | engines: {node: '>=8'} 511 | 512 | ansi-regex@6.1.0: 513 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 514 | engines: {node: '>=12'} 515 | 516 | ansi-styles@4.3.0: 517 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 518 | engines: {node: '>=8'} 519 | 520 | bail@2.0.2: 521 | resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} 522 | 523 | braces@3.0.3: 524 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 525 | engines: {node: '>=8'} 526 | 527 | bunchee@6.3.2: 528 | resolution: {integrity: sha512-f7EIySdCuzCsT4TLKQSH9OgH57R8HqEwToebt60P3b1sW4UYID8lRZ+wvZPoR01CW0jNzNuRGKGzY5ZNAMtZVQ==} 529 | engines: {node: '>= 18.0.0'} 530 | hasBin: true 531 | peerDependencies: 532 | typescript: ^4.1 || ^5.0 533 | peerDependenciesMeta: 534 | typescript: 535 | optional: true 536 | 537 | busboy@1.6.0: 538 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} 539 | engines: {node: '>=10.16.0'} 540 | 541 | caniuse-lite@1.0.30001690: 542 | resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} 543 | 544 | ccount@2.0.1: 545 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 546 | 547 | chalk@5.3.0: 548 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 549 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 550 | 551 | character-entities-html4@2.1.0: 552 | resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} 553 | 554 | character-entities-legacy@3.0.0: 555 | resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} 556 | 557 | character-entities@2.0.2: 558 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 559 | 560 | clean-css@5.3.3: 561 | resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} 562 | engines: {node: '>= 10.0'} 563 | 564 | cli-cursor@5.0.0: 565 | resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} 566 | engines: {node: '>=18'} 567 | 568 | cli-spinners@2.9.2: 569 | resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} 570 | engines: {node: '>=6'} 571 | 572 | client-only@0.0.1: 573 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} 574 | 575 | cliui@8.0.1: 576 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 577 | engines: {node: '>=12'} 578 | 579 | codice@1.0.0: 580 | resolution: {integrity: sha512-jaaDR+b80oA61IJ6WR2VurWiYCM9fgEYSPak722YJE+UW9P3veIRJwWDEgdn8Dm9GL+HJDV3VJ2BfN1PpikdbQ==} 581 | peerDependencies: 582 | react: ^17.0.0 || ^18.0.0 || ^19.0.0 583 | 584 | color-convert@2.0.1: 585 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 586 | engines: {node: '>=7.0.0'} 587 | 588 | color-name@1.1.4: 589 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 590 | 591 | color-string@1.9.1: 592 | resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} 593 | 594 | color@4.2.3: 595 | resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} 596 | engines: {node: '>=12.5.0'} 597 | 598 | comma-separated-tokens@2.0.3: 599 | resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} 600 | 601 | commondir@1.0.1: 602 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 603 | 604 | csstype@3.1.3: 605 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 606 | 607 | debug@4.4.0: 608 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 609 | engines: {node: '>=6.0'} 610 | peerDependencies: 611 | supports-color: '*' 612 | peerDependenciesMeta: 613 | supports-color: 614 | optional: true 615 | 616 | decode-named-character-reference@1.0.2: 617 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} 618 | 619 | deepmerge@4.3.1: 620 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 621 | engines: {node: '>=0.10.0'} 622 | 623 | dequal@2.0.3: 624 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 625 | engines: {node: '>=6'} 626 | 627 | detect-libc@2.0.3: 628 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 629 | engines: {node: '>=8'} 630 | 631 | devlop@1.1.0: 632 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 633 | 634 | emoji-regex@10.4.0: 635 | resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} 636 | 637 | emoji-regex@8.0.0: 638 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 639 | 640 | escalade@3.2.0: 641 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 642 | engines: {node: '>=6'} 643 | 644 | escape-string-regexp@5.0.0: 645 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 646 | engines: {node: '>=12'} 647 | 648 | estree-walker@2.0.2: 649 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 650 | 651 | extend@3.0.2: 652 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} 653 | 654 | fast-glob@3.3.3: 655 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 656 | engines: {node: '>=8.6.0'} 657 | 658 | fastq@1.18.0: 659 | resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} 660 | 661 | fdir@6.4.2: 662 | resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} 663 | peerDependencies: 664 | picomatch: ^3 || ^4 665 | peerDependenciesMeta: 666 | picomatch: 667 | optional: true 668 | 669 | fill-range@7.1.1: 670 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 671 | engines: {node: '>=8'} 672 | 673 | fsevents@2.3.3: 674 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 675 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 676 | os: [darwin] 677 | 678 | function-bind@1.1.2: 679 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 680 | 681 | geist@1.3.1: 682 | resolution: {integrity: sha512-Q4gC1pBVPN+D579pBaz0TRRnGA4p9UK6elDY/xizXdFk/g4EKR5g0I+4p/Kj6gM0SajDBZ/0FvDV9ey9ud7BWw==} 683 | peerDependencies: 684 | next: '>=13.2.0' 685 | 686 | get-caller-file@2.0.5: 687 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 688 | engines: {node: 6.* || 8.* || >= 10.*} 689 | 690 | get-east-asian-width@1.3.0: 691 | resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} 692 | engines: {node: '>=18'} 693 | 694 | get-tsconfig@4.8.1: 695 | resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} 696 | 697 | glob-parent@5.1.2: 698 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 699 | engines: {node: '>= 6'} 700 | 701 | hasown@2.0.2: 702 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 703 | engines: {node: '>= 0.4'} 704 | 705 | hast-util-sanitize@5.0.2: 706 | resolution: {integrity: sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==} 707 | 708 | hast-util-to-html@9.0.4: 709 | resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} 710 | 711 | hast-util-whitespace@3.0.0: 712 | resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} 713 | 714 | html-void-elements@3.0.0: 715 | resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} 716 | 717 | is-arrayish@0.3.2: 718 | resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} 719 | 720 | is-core-module@2.15.1: 721 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 722 | engines: {node: '>= 0.4'} 723 | 724 | is-extglob@2.1.1: 725 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 726 | engines: {node: '>=0.10.0'} 727 | 728 | is-fullwidth-code-point@3.0.0: 729 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 730 | engines: {node: '>=8'} 731 | 732 | is-glob@4.0.3: 733 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 734 | engines: {node: '>=0.10.0'} 735 | 736 | is-interactive@2.0.0: 737 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 738 | engines: {node: '>=12'} 739 | 740 | is-module@1.0.0: 741 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 742 | 743 | is-number@7.0.0: 744 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 745 | engines: {node: '>=0.12.0'} 746 | 747 | is-plain-obj@4.1.0: 748 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 749 | engines: {node: '>=12'} 750 | 751 | is-reference@1.2.1: 752 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 753 | 754 | is-unicode-supported@1.3.0: 755 | resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} 756 | engines: {node: '>=12'} 757 | 758 | is-unicode-supported@2.1.0: 759 | resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 760 | engines: {node: '>=18'} 761 | 762 | js-tokens@4.0.0: 763 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 764 | 765 | log-symbols@6.0.0: 766 | resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} 767 | engines: {node: '>=18'} 768 | 769 | longest-streak@3.1.0: 770 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 771 | 772 | magic-string@0.30.17: 773 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 774 | 775 | markdown-table@3.0.4: 776 | resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} 777 | 778 | mdast-util-find-and-replace@3.0.2: 779 | resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} 780 | 781 | mdast-util-from-markdown@2.0.2: 782 | resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} 783 | 784 | mdast-util-gfm-autolink-literal@2.0.1: 785 | resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 786 | 787 | mdast-util-gfm-footnote@2.0.0: 788 | resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} 789 | 790 | mdast-util-gfm-strikethrough@2.0.0: 791 | resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 792 | 793 | mdast-util-gfm-table@2.0.0: 794 | resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 795 | 796 | mdast-util-gfm-task-list-item@2.0.0: 797 | resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 798 | 799 | mdast-util-gfm@3.0.0: 800 | resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} 801 | 802 | mdast-util-phrasing@4.1.0: 803 | resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 804 | 805 | mdast-util-to-hast@13.2.0: 806 | resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} 807 | 808 | mdast-util-to-markdown@2.1.2: 809 | resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} 810 | 811 | mdast-util-to-string@4.0.0: 812 | resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 813 | 814 | merge2@1.4.1: 815 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 816 | engines: {node: '>= 8'} 817 | 818 | micromark-core-commonmark@2.0.2: 819 | resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==} 820 | 821 | micromark-extension-gfm-autolink-literal@2.1.0: 822 | resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 823 | 824 | micromark-extension-gfm-footnote@2.1.0: 825 | resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 826 | 827 | micromark-extension-gfm-strikethrough@2.1.0: 828 | resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 829 | 830 | micromark-extension-gfm-table@2.1.0: 831 | resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} 832 | 833 | micromark-extension-gfm-tagfilter@2.0.0: 834 | resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 835 | 836 | micromark-extension-gfm-task-list-item@2.1.0: 837 | resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 838 | 839 | micromark-extension-gfm@3.0.0: 840 | resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 841 | 842 | micromark-factory-destination@2.0.1: 843 | resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} 844 | 845 | micromark-factory-label@2.0.1: 846 | resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} 847 | 848 | micromark-factory-space@2.0.1: 849 | resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} 850 | 851 | micromark-factory-title@2.0.1: 852 | resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} 853 | 854 | micromark-factory-whitespace@2.0.1: 855 | resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} 856 | 857 | micromark-util-character@2.1.1: 858 | resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} 859 | 860 | micromark-util-chunked@2.0.1: 861 | resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} 862 | 863 | micromark-util-classify-character@2.0.1: 864 | resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} 865 | 866 | micromark-util-combine-extensions@2.0.1: 867 | resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} 868 | 869 | micromark-util-decode-numeric-character-reference@2.0.2: 870 | resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} 871 | 872 | micromark-util-decode-string@2.0.1: 873 | resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} 874 | 875 | micromark-util-encode@2.0.1: 876 | resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} 877 | 878 | micromark-util-html-tag-name@2.0.1: 879 | resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} 880 | 881 | micromark-util-normalize-identifier@2.0.1: 882 | resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} 883 | 884 | micromark-util-resolve-all@2.0.1: 885 | resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} 886 | 887 | micromark-util-sanitize-uri@2.0.1: 888 | resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} 889 | 890 | micromark-util-subtokenize@2.0.3: 891 | resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} 892 | 893 | micromark-util-symbol@2.0.1: 894 | resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} 895 | 896 | micromark-util-types@2.0.1: 897 | resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==} 898 | 899 | micromark@4.0.1: 900 | resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==} 901 | 902 | micromatch@4.0.8: 903 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 904 | engines: {node: '>=8.6'} 905 | 906 | mimic-function@5.0.1: 907 | resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} 908 | engines: {node: '>=18'} 909 | 910 | ms@2.1.3: 911 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 912 | 913 | nanoid@3.3.8: 914 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 915 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 916 | hasBin: true 917 | 918 | next@15.1.5: 919 | resolution: {integrity: sha512-Cf/TEegnt01hn3Hoywh6N8fvkhbOuChO4wFje24+a86wKOubgVaWkDqxGVgoWlz2Hp9luMJ9zw3epftujdnUOg==} 920 | engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} 921 | hasBin: true 922 | peerDependencies: 923 | '@opentelemetry/api': ^1.1.0 924 | '@playwright/test': ^1.41.2 925 | babel-plugin-react-compiler: '*' 926 | react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 927 | react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 928 | sass: ^1.3.0 929 | peerDependenciesMeta: 930 | '@opentelemetry/api': 931 | optional: true 932 | '@playwright/test': 933 | optional: true 934 | babel-plugin-react-compiler: 935 | optional: true 936 | sass: 937 | optional: true 938 | 939 | onetime@7.0.0: 940 | resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} 941 | engines: {node: '>=18'} 942 | 943 | ora@8.1.0: 944 | resolution: {integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==} 945 | engines: {node: '>=18'} 946 | 947 | parse-numeric-range@1.3.0: 948 | resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} 949 | 950 | path-parse@1.0.7: 951 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 952 | 953 | picocolors@1.1.1: 954 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 955 | 956 | picomatch@2.3.1: 957 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 958 | engines: {node: '>=8.6'} 959 | 960 | picomatch@4.0.2: 961 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 962 | engines: {node: '>=12'} 963 | 964 | postcss@8.4.31: 965 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} 966 | engines: {node: ^10 || ^12 || >=14} 967 | 968 | pretty-bytes@5.6.0: 969 | resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} 970 | engines: {node: '>=6'} 971 | 972 | property-information@6.5.0: 973 | resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} 974 | 975 | queue-microtask@1.2.3: 976 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 977 | 978 | react-dom@19.0.0: 979 | resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} 980 | peerDependencies: 981 | react: ^19.0.0 982 | 983 | react@19.0.0: 984 | resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} 985 | engines: {node: '>=0.10.0'} 986 | 987 | remark-gfm@4.0.0: 988 | resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} 989 | 990 | remark-html@16.0.1: 991 | resolution: {integrity: sha512-B9JqA5i0qZe0Nsf49q3OXyGvyXuZFDzAP2iOFLEumymuYJITVpiH1IgsTEwTpdptDmZlMDMWeDmSawdaJIGCXQ==} 992 | 993 | remark-parse@11.0.0: 994 | resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} 995 | 996 | remark-stringify@11.0.0: 997 | resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} 998 | 999 | remark@15.0.1: 1000 | resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} 1001 | 1002 | require-directory@2.1.1: 1003 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1004 | engines: {node: '>=0.10.0'} 1005 | 1006 | resolve-pkg-maps@1.0.0: 1007 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1008 | 1009 | resolve@1.22.8: 1010 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1011 | hasBin: true 1012 | 1013 | restore-cursor@5.1.0: 1014 | resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} 1015 | engines: {node: '>=18'} 1016 | 1017 | reusify@1.0.4: 1018 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1019 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1020 | 1021 | rollup-plugin-dts@6.1.1: 1022 | resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} 1023 | engines: {node: '>=16'} 1024 | peerDependencies: 1025 | rollup: ^3.29.4 || ^4 1026 | typescript: ^4.5 || ^5.0 1027 | 1028 | rollup-plugin-swc3@0.11.2: 1029 | resolution: {integrity: sha512-o1ih9B806fV2wBSNk46T0cYfTF2eiiKmYXRpWw3K4j/Cp3tCAt10UCVsTqvUhGP58pcB3/GZcAVl5e7TCSKN6Q==} 1030 | engines: {node: '>=12'} 1031 | peerDependencies: 1032 | '@swc/core': '>=1.2.165' 1033 | rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 1034 | 1035 | rollup-preserve-directives@1.1.3: 1036 | resolution: {integrity: sha512-oXqxd6ZzkoQej8Qt0k+S/yvO2+S4CEVEVv2g85oL15o0cjAKTKEuo2MzyA8FcsBBXbtytBzBMFAbhvQg4YyPUQ==} 1037 | peerDependencies: 1038 | rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 1039 | 1040 | rollup@4.30.1: 1041 | resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} 1042 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1043 | hasBin: true 1044 | 1045 | run-parallel@1.2.0: 1046 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1047 | 1048 | scheduler@0.25.0: 1049 | resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} 1050 | 1051 | semver@7.6.3: 1052 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1053 | engines: {node: '>=10'} 1054 | hasBin: true 1055 | 1056 | sharp@0.33.5: 1057 | resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} 1058 | engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} 1059 | 1060 | signal-exit@4.1.0: 1061 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1062 | engines: {node: '>=14'} 1063 | 1064 | simple-swizzle@0.2.2: 1065 | resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} 1066 | 1067 | source-map-js@1.2.1: 1068 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1069 | engines: {node: '>=0.10.0'} 1070 | 1071 | source-map@0.6.1: 1072 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1073 | engines: {node: '>=0.10.0'} 1074 | 1075 | space-separated-tokens@2.0.2: 1076 | resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} 1077 | 1078 | stdin-discarder@0.2.2: 1079 | resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} 1080 | engines: {node: '>=18'} 1081 | 1082 | streamsearch@1.1.0: 1083 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} 1084 | engines: {node: '>=10.0.0'} 1085 | 1086 | string-width@4.2.3: 1087 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1088 | engines: {node: '>=8'} 1089 | 1090 | string-width@7.2.0: 1091 | resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 1092 | engines: {node: '>=18'} 1093 | 1094 | stringify-entities@4.0.4: 1095 | resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} 1096 | 1097 | strip-ansi@6.0.1: 1098 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1099 | engines: {node: '>=8'} 1100 | 1101 | strip-ansi@7.1.0: 1102 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1103 | engines: {node: '>=12'} 1104 | 1105 | styled-jsx@5.1.6: 1106 | resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} 1107 | engines: {node: '>= 12.0.0'} 1108 | peerDependencies: 1109 | '@babel/core': '*' 1110 | babel-plugin-macros: '*' 1111 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' 1112 | peerDependenciesMeta: 1113 | '@babel/core': 1114 | optional: true 1115 | babel-plugin-macros: 1116 | optional: true 1117 | 1118 | sugar-high@0.9.1: 1119 | resolution: {integrity: sha512-VMnYWVIfOEz33pgW3sTHf65Lg+8vDcNDhnPytBU+uEQsto10Kizs4muESA9XOEXXO/qGLbsatLdSRv8IrA06Tg==} 1120 | 1121 | supports-preserve-symlinks-flag@1.0.0: 1122 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1123 | engines: {node: '>= 0.4'} 1124 | 1125 | to-regex-range@5.0.1: 1126 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1127 | engines: {node: '>=8.0'} 1128 | 1129 | trim-lines@3.0.1: 1130 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} 1131 | 1132 | trough@2.2.0: 1133 | resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} 1134 | 1135 | tslib@2.8.0: 1136 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==} 1137 | 1138 | tslib@2.8.1: 1139 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1140 | 1141 | typescript@5.7.2: 1142 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 1143 | engines: {node: '>=14.17'} 1144 | hasBin: true 1145 | 1146 | undici-types@6.20.0: 1147 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 1148 | 1149 | unified@11.0.5: 1150 | resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} 1151 | 1152 | unist-util-is@6.0.0: 1153 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 1154 | 1155 | unist-util-map@4.0.0: 1156 | resolution: {integrity: sha512-HJs1tpkSmRJUzj6fskQrS5oYhBYlmtcvy4SepdDEEsL04FjBrgF0Mgggvxc1/qGBGgW7hRh9+UBK1aqTEnBpIA==} 1157 | 1158 | unist-util-position@5.0.0: 1159 | resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} 1160 | 1161 | unist-util-stringify-position@4.0.0: 1162 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 1163 | 1164 | unist-util-visit-parents@6.0.1: 1165 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 1166 | 1167 | unist-util-visit@5.0.0: 1168 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 1169 | 1170 | vfile-message@4.0.2: 1171 | resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} 1172 | 1173 | vfile@6.0.3: 1174 | resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} 1175 | 1176 | wrap-ansi@7.0.0: 1177 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1178 | engines: {node: '>=10'} 1179 | 1180 | y18n@5.0.8: 1181 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1182 | engines: {node: '>=10'} 1183 | 1184 | yargs-parser@21.1.1: 1185 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1186 | engines: {node: '>=12'} 1187 | 1188 | yargs@17.7.2: 1189 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1190 | engines: {node: '>=12'} 1191 | 1192 | zwitch@2.0.4: 1193 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 1194 | 1195 | snapshots: 1196 | 1197 | '@babel/code-frame@7.26.0': 1198 | dependencies: 1199 | '@babel/helper-validator-identifier': 7.25.9 1200 | js-tokens: 4.0.0 1201 | picocolors: 1.1.1 1202 | optional: true 1203 | 1204 | '@babel/helper-validator-identifier@7.25.9': 1205 | optional: true 1206 | 1207 | '@emnapi/runtime@1.3.1': 1208 | dependencies: 1209 | tslib: 2.8.0 1210 | optional: true 1211 | 1212 | '@fastify/deepmerge@1.3.0': {} 1213 | 1214 | '@img/sharp-darwin-arm64@0.33.5': 1215 | optionalDependencies: 1216 | '@img/sharp-libvips-darwin-arm64': 1.0.4 1217 | optional: true 1218 | 1219 | '@img/sharp-darwin-x64@0.33.5': 1220 | optionalDependencies: 1221 | '@img/sharp-libvips-darwin-x64': 1.0.4 1222 | optional: true 1223 | 1224 | '@img/sharp-libvips-darwin-arm64@1.0.4': 1225 | optional: true 1226 | 1227 | '@img/sharp-libvips-darwin-x64@1.0.4': 1228 | optional: true 1229 | 1230 | '@img/sharp-libvips-linux-arm64@1.0.4': 1231 | optional: true 1232 | 1233 | '@img/sharp-libvips-linux-arm@1.0.5': 1234 | optional: true 1235 | 1236 | '@img/sharp-libvips-linux-s390x@1.0.4': 1237 | optional: true 1238 | 1239 | '@img/sharp-libvips-linux-x64@1.0.4': 1240 | optional: true 1241 | 1242 | '@img/sharp-libvips-linuxmusl-arm64@1.0.4': 1243 | optional: true 1244 | 1245 | '@img/sharp-libvips-linuxmusl-x64@1.0.4': 1246 | optional: true 1247 | 1248 | '@img/sharp-linux-arm64@0.33.5': 1249 | optionalDependencies: 1250 | '@img/sharp-libvips-linux-arm64': 1.0.4 1251 | optional: true 1252 | 1253 | '@img/sharp-linux-arm@0.33.5': 1254 | optionalDependencies: 1255 | '@img/sharp-libvips-linux-arm': 1.0.5 1256 | optional: true 1257 | 1258 | '@img/sharp-linux-s390x@0.33.5': 1259 | optionalDependencies: 1260 | '@img/sharp-libvips-linux-s390x': 1.0.4 1261 | optional: true 1262 | 1263 | '@img/sharp-linux-x64@0.33.5': 1264 | optionalDependencies: 1265 | '@img/sharp-libvips-linux-x64': 1.0.4 1266 | optional: true 1267 | 1268 | '@img/sharp-linuxmusl-arm64@0.33.5': 1269 | optionalDependencies: 1270 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 1271 | optional: true 1272 | 1273 | '@img/sharp-linuxmusl-x64@0.33.5': 1274 | optionalDependencies: 1275 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 1276 | optional: true 1277 | 1278 | '@img/sharp-wasm32@0.33.5': 1279 | dependencies: 1280 | '@emnapi/runtime': 1.3.1 1281 | optional: true 1282 | 1283 | '@img/sharp-win32-ia32@0.33.5': 1284 | optional: true 1285 | 1286 | '@img/sharp-win32-x64@0.33.5': 1287 | optional: true 1288 | 1289 | '@jridgewell/sourcemap-codec@1.5.0': {} 1290 | 1291 | '@next/env@15.1.5': {} 1292 | 1293 | '@next/swc-darwin-arm64@15.1.5': 1294 | optional: true 1295 | 1296 | '@next/swc-darwin-x64@15.1.5': 1297 | optional: true 1298 | 1299 | '@next/swc-linux-arm64-gnu@15.1.5': 1300 | optional: true 1301 | 1302 | '@next/swc-linux-arm64-musl@15.1.5': 1303 | optional: true 1304 | 1305 | '@next/swc-linux-x64-gnu@15.1.5': 1306 | optional: true 1307 | 1308 | '@next/swc-linux-x64-musl@15.1.5': 1309 | optional: true 1310 | 1311 | '@next/swc-win32-arm64-msvc@15.1.5': 1312 | optional: true 1313 | 1314 | '@next/swc-win32-x64-msvc@15.1.5': 1315 | optional: true 1316 | 1317 | '@nodelib/fs.scandir@2.1.5': 1318 | dependencies: 1319 | '@nodelib/fs.stat': 2.0.5 1320 | run-parallel: 1.2.0 1321 | 1322 | '@nodelib/fs.stat@2.0.5': {} 1323 | 1324 | '@nodelib/fs.walk@1.2.8': 1325 | dependencies: 1326 | '@nodelib/fs.scandir': 2.1.5 1327 | fastq: 1.18.0 1328 | 1329 | '@rollup/plugin-commonjs@28.0.2(rollup@4.30.1)': 1330 | dependencies: 1331 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 1332 | commondir: 1.0.1 1333 | estree-walker: 2.0.2 1334 | fdir: 6.4.2(picomatch@4.0.2) 1335 | is-reference: 1.2.1 1336 | magic-string: 0.30.17 1337 | picomatch: 4.0.2 1338 | optionalDependencies: 1339 | rollup: 4.30.1 1340 | 1341 | '@rollup/plugin-json@6.1.0(rollup@4.30.1)': 1342 | dependencies: 1343 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 1344 | optionalDependencies: 1345 | rollup: 4.30.1 1346 | 1347 | '@rollup/plugin-node-resolve@16.0.0(rollup@4.30.1)': 1348 | dependencies: 1349 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 1350 | '@types/resolve': 1.20.2 1351 | deepmerge: 4.3.1 1352 | is-module: 1.0.0 1353 | resolve: 1.22.8 1354 | optionalDependencies: 1355 | rollup: 4.30.1 1356 | 1357 | '@rollup/plugin-replace@6.0.2(rollup@4.30.1)': 1358 | dependencies: 1359 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 1360 | magic-string: 0.30.17 1361 | optionalDependencies: 1362 | rollup: 4.30.1 1363 | 1364 | '@rollup/plugin-wasm@6.2.2(rollup@4.30.1)': 1365 | dependencies: 1366 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 1367 | optionalDependencies: 1368 | rollup: 4.30.1 1369 | 1370 | '@rollup/pluginutils@5.1.3(rollup@4.30.1)': 1371 | dependencies: 1372 | '@types/estree': 1.0.6 1373 | estree-walker: 2.0.2 1374 | picomatch: 4.0.2 1375 | optionalDependencies: 1376 | rollup: 4.30.1 1377 | 1378 | '@rollup/rollup-android-arm-eabi@4.30.1': 1379 | optional: true 1380 | 1381 | '@rollup/rollup-android-arm64@4.30.1': 1382 | optional: true 1383 | 1384 | '@rollup/rollup-darwin-arm64@4.30.1': 1385 | optional: true 1386 | 1387 | '@rollup/rollup-darwin-x64@4.30.1': 1388 | optional: true 1389 | 1390 | '@rollup/rollup-freebsd-arm64@4.30.1': 1391 | optional: true 1392 | 1393 | '@rollup/rollup-freebsd-x64@4.30.1': 1394 | optional: true 1395 | 1396 | '@rollup/rollup-linux-arm-gnueabihf@4.30.1': 1397 | optional: true 1398 | 1399 | '@rollup/rollup-linux-arm-musleabihf@4.30.1': 1400 | optional: true 1401 | 1402 | '@rollup/rollup-linux-arm64-gnu@4.30.1': 1403 | optional: true 1404 | 1405 | '@rollup/rollup-linux-arm64-musl@4.30.1': 1406 | optional: true 1407 | 1408 | '@rollup/rollup-linux-loongarch64-gnu@4.30.1': 1409 | optional: true 1410 | 1411 | '@rollup/rollup-linux-powerpc64le-gnu@4.30.1': 1412 | optional: true 1413 | 1414 | '@rollup/rollup-linux-riscv64-gnu@4.30.1': 1415 | optional: true 1416 | 1417 | '@rollup/rollup-linux-s390x-gnu@4.30.1': 1418 | optional: true 1419 | 1420 | '@rollup/rollup-linux-x64-gnu@4.30.1': 1421 | optional: true 1422 | 1423 | '@rollup/rollup-linux-x64-musl@4.30.1': 1424 | optional: true 1425 | 1426 | '@rollup/rollup-win32-arm64-msvc@4.30.1': 1427 | optional: true 1428 | 1429 | '@rollup/rollup-win32-ia32-msvc@4.30.1': 1430 | optional: true 1431 | 1432 | '@rollup/rollup-win32-x64-msvc@4.30.1': 1433 | optional: true 1434 | 1435 | '@swc/core-darwin-arm64@1.10.7': 1436 | optional: true 1437 | 1438 | '@swc/core-darwin-x64@1.10.7': 1439 | optional: true 1440 | 1441 | '@swc/core-linux-arm-gnueabihf@1.10.7': 1442 | optional: true 1443 | 1444 | '@swc/core-linux-arm64-gnu@1.10.7': 1445 | optional: true 1446 | 1447 | '@swc/core-linux-arm64-musl@1.10.7': 1448 | optional: true 1449 | 1450 | '@swc/core-linux-x64-gnu@1.10.7': 1451 | optional: true 1452 | 1453 | '@swc/core-linux-x64-musl@1.10.7': 1454 | optional: true 1455 | 1456 | '@swc/core-win32-arm64-msvc@1.10.7': 1457 | optional: true 1458 | 1459 | '@swc/core-win32-ia32-msvc@1.10.7': 1460 | optional: true 1461 | 1462 | '@swc/core-win32-x64-msvc@1.10.7': 1463 | optional: true 1464 | 1465 | '@swc/core@1.10.7(@swc/helpers@0.5.15)': 1466 | dependencies: 1467 | '@swc/counter': 0.1.3 1468 | '@swc/types': 0.1.17 1469 | optionalDependencies: 1470 | '@swc/core-darwin-arm64': 1.10.7 1471 | '@swc/core-darwin-x64': 1.10.7 1472 | '@swc/core-linux-arm-gnueabihf': 1.10.7 1473 | '@swc/core-linux-arm64-gnu': 1.10.7 1474 | '@swc/core-linux-arm64-musl': 1.10.7 1475 | '@swc/core-linux-x64-gnu': 1.10.7 1476 | '@swc/core-linux-x64-musl': 1.10.7 1477 | '@swc/core-win32-arm64-msvc': 1.10.7 1478 | '@swc/core-win32-ia32-msvc': 1.10.7 1479 | '@swc/core-win32-x64-msvc': 1.10.7 1480 | '@swc/helpers': 0.5.15 1481 | 1482 | '@swc/counter@0.1.3': {} 1483 | 1484 | '@swc/helpers@0.5.15': 1485 | dependencies: 1486 | tslib: 2.8.0 1487 | 1488 | '@swc/types@0.1.17': 1489 | dependencies: 1490 | '@swc/counter': 0.1.3 1491 | 1492 | '@types/debug@4.1.12': 1493 | dependencies: 1494 | '@types/ms': 0.7.34 1495 | 1496 | '@types/estree@1.0.6': {} 1497 | 1498 | '@types/hast@3.0.4': 1499 | dependencies: 1500 | '@types/unist': 3.0.3 1501 | 1502 | '@types/mdast@4.0.4': 1503 | dependencies: 1504 | '@types/unist': 3.0.3 1505 | 1506 | '@types/ms@0.7.34': {} 1507 | 1508 | '@types/node@22.10.5': 1509 | dependencies: 1510 | undici-types: 6.20.0 1511 | 1512 | '@types/react@19.0.2': 1513 | dependencies: 1514 | csstype: 3.1.3 1515 | 1516 | '@types/resolve@1.20.2': {} 1517 | 1518 | '@types/unist@3.0.3': {} 1519 | 1520 | '@ungap/structured-clone@1.2.1': {} 1521 | 1522 | ansi-regex@5.0.1: {} 1523 | 1524 | ansi-regex@6.1.0: {} 1525 | 1526 | ansi-styles@4.3.0: 1527 | dependencies: 1528 | color-convert: 2.0.1 1529 | 1530 | bail@2.0.2: {} 1531 | 1532 | braces@3.0.3: 1533 | dependencies: 1534 | fill-range: 7.1.1 1535 | 1536 | bunchee@6.3.2(typescript@5.7.2): 1537 | dependencies: 1538 | '@rollup/plugin-commonjs': 28.0.2(rollup@4.30.1) 1539 | '@rollup/plugin-json': 6.1.0(rollup@4.30.1) 1540 | '@rollup/plugin-node-resolve': 16.0.0(rollup@4.30.1) 1541 | '@rollup/plugin-replace': 6.0.2(rollup@4.30.1) 1542 | '@rollup/plugin-wasm': 6.2.2(rollup@4.30.1) 1543 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 1544 | '@swc/core': 1.10.7(@swc/helpers@0.5.15) 1545 | '@swc/helpers': 0.5.15 1546 | clean-css: 5.3.3 1547 | fast-glob: 3.3.3 1548 | magic-string: 0.30.17 1549 | ora: 8.1.0 1550 | picomatch: 4.0.2 1551 | pretty-bytes: 5.6.0 1552 | rollup: 4.30.1 1553 | rollup-plugin-dts: 6.1.1(rollup@4.30.1)(typescript@5.7.2) 1554 | rollup-plugin-swc3: 0.11.2(@swc/core@1.10.7(@swc/helpers@0.5.15))(rollup@4.30.1) 1555 | rollup-preserve-directives: 1.1.3(rollup@4.30.1) 1556 | tslib: 2.8.1 1557 | yargs: 17.7.2 1558 | optionalDependencies: 1559 | typescript: 5.7.2 1560 | 1561 | busboy@1.6.0: 1562 | dependencies: 1563 | streamsearch: 1.1.0 1564 | 1565 | caniuse-lite@1.0.30001690: {} 1566 | 1567 | ccount@2.0.1: {} 1568 | 1569 | chalk@5.3.0: {} 1570 | 1571 | character-entities-html4@2.1.0: {} 1572 | 1573 | character-entities-legacy@3.0.0: {} 1574 | 1575 | character-entities@2.0.2: {} 1576 | 1577 | clean-css@5.3.3: 1578 | dependencies: 1579 | source-map: 0.6.1 1580 | 1581 | cli-cursor@5.0.0: 1582 | dependencies: 1583 | restore-cursor: 5.1.0 1584 | 1585 | cli-spinners@2.9.2: {} 1586 | 1587 | client-only@0.0.1: {} 1588 | 1589 | cliui@8.0.1: 1590 | dependencies: 1591 | string-width: 4.2.3 1592 | strip-ansi: 6.0.1 1593 | wrap-ansi: 7.0.0 1594 | 1595 | codice@1.0.0(react@19.0.0): 1596 | dependencies: 1597 | react: 19.0.0 1598 | sugar-high: 0.9.1 1599 | 1600 | color-convert@2.0.1: 1601 | dependencies: 1602 | color-name: 1.1.4 1603 | 1604 | color-name@1.1.4: {} 1605 | 1606 | color-string@1.9.1: 1607 | dependencies: 1608 | color-name: 1.1.4 1609 | simple-swizzle: 0.2.2 1610 | optional: true 1611 | 1612 | color@4.2.3: 1613 | dependencies: 1614 | color-convert: 2.0.1 1615 | color-string: 1.9.1 1616 | optional: true 1617 | 1618 | comma-separated-tokens@2.0.3: {} 1619 | 1620 | commondir@1.0.1: {} 1621 | 1622 | csstype@3.1.3: {} 1623 | 1624 | debug@4.4.0: 1625 | dependencies: 1626 | ms: 2.1.3 1627 | 1628 | decode-named-character-reference@1.0.2: 1629 | dependencies: 1630 | character-entities: 2.0.2 1631 | 1632 | deepmerge@4.3.1: {} 1633 | 1634 | dequal@2.0.3: {} 1635 | 1636 | detect-libc@2.0.3: 1637 | optional: true 1638 | 1639 | devlop@1.1.0: 1640 | dependencies: 1641 | dequal: 2.0.3 1642 | 1643 | emoji-regex@10.4.0: {} 1644 | 1645 | emoji-regex@8.0.0: {} 1646 | 1647 | escalade@3.2.0: {} 1648 | 1649 | escape-string-regexp@5.0.0: {} 1650 | 1651 | estree-walker@2.0.2: {} 1652 | 1653 | extend@3.0.2: {} 1654 | 1655 | fast-glob@3.3.3: 1656 | dependencies: 1657 | '@nodelib/fs.stat': 2.0.5 1658 | '@nodelib/fs.walk': 1.2.8 1659 | glob-parent: 5.1.2 1660 | merge2: 1.4.1 1661 | micromatch: 4.0.8 1662 | 1663 | fastq@1.18.0: 1664 | dependencies: 1665 | reusify: 1.0.4 1666 | 1667 | fdir@6.4.2(picomatch@4.0.2): 1668 | optionalDependencies: 1669 | picomatch: 4.0.2 1670 | 1671 | fill-range@7.1.1: 1672 | dependencies: 1673 | to-regex-range: 5.0.1 1674 | 1675 | fsevents@2.3.3: 1676 | optional: true 1677 | 1678 | function-bind@1.1.2: {} 1679 | 1680 | geist@1.3.1(next@15.1.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): 1681 | dependencies: 1682 | next: 15.1.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0) 1683 | 1684 | get-caller-file@2.0.5: {} 1685 | 1686 | get-east-asian-width@1.3.0: {} 1687 | 1688 | get-tsconfig@4.8.1: 1689 | dependencies: 1690 | resolve-pkg-maps: 1.0.0 1691 | 1692 | glob-parent@5.1.2: 1693 | dependencies: 1694 | is-glob: 4.0.3 1695 | 1696 | hasown@2.0.2: 1697 | dependencies: 1698 | function-bind: 1.1.2 1699 | 1700 | hast-util-sanitize@5.0.2: 1701 | dependencies: 1702 | '@types/hast': 3.0.4 1703 | '@ungap/structured-clone': 1.2.1 1704 | unist-util-position: 5.0.0 1705 | 1706 | hast-util-to-html@9.0.4: 1707 | dependencies: 1708 | '@types/hast': 3.0.4 1709 | '@types/unist': 3.0.3 1710 | ccount: 2.0.1 1711 | comma-separated-tokens: 2.0.3 1712 | hast-util-whitespace: 3.0.0 1713 | html-void-elements: 3.0.0 1714 | mdast-util-to-hast: 13.2.0 1715 | property-information: 6.5.0 1716 | space-separated-tokens: 2.0.2 1717 | stringify-entities: 4.0.4 1718 | zwitch: 2.0.4 1719 | 1720 | hast-util-whitespace@3.0.0: 1721 | dependencies: 1722 | '@types/hast': 3.0.4 1723 | 1724 | html-void-elements@3.0.0: {} 1725 | 1726 | is-arrayish@0.3.2: 1727 | optional: true 1728 | 1729 | is-core-module@2.15.1: 1730 | dependencies: 1731 | hasown: 2.0.2 1732 | 1733 | is-extglob@2.1.1: {} 1734 | 1735 | is-fullwidth-code-point@3.0.0: {} 1736 | 1737 | is-glob@4.0.3: 1738 | dependencies: 1739 | is-extglob: 2.1.1 1740 | 1741 | is-interactive@2.0.0: {} 1742 | 1743 | is-module@1.0.0: {} 1744 | 1745 | is-number@7.0.0: {} 1746 | 1747 | is-plain-obj@4.1.0: {} 1748 | 1749 | is-reference@1.2.1: 1750 | dependencies: 1751 | '@types/estree': 1.0.6 1752 | 1753 | is-unicode-supported@1.3.0: {} 1754 | 1755 | is-unicode-supported@2.1.0: {} 1756 | 1757 | js-tokens@4.0.0: 1758 | optional: true 1759 | 1760 | log-symbols@6.0.0: 1761 | dependencies: 1762 | chalk: 5.3.0 1763 | is-unicode-supported: 1.3.0 1764 | 1765 | longest-streak@3.1.0: {} 1766 | 1767 | magic-string@0.30.17: 1768 | dependencies: 1769 | '@jridgewell/sourcemap-codec': 1.5.0 1770 | 1771 | markdown-table@3.0.4: {} 1772 | 1773 | mdast-util-find-and-replace@3.0.2: 1774 | dependencies: 1775 | '@types/mdast': 4.0.4 1776 | escape-string-regexp: 5.0.0 1777 | unist-util-is: 6.0.0 1778 | unist-util-visit-parents: 6.0.1 1779 | 1780 | mdast-util-from-markdown@2.0.2: 1781 | dependencies: 1782 | '@types/mdast': 4.0.4 1783 | '@types/unist': 3.0.3 1784 | decode-named-character-reference: 1.0.2 1785 | devlop: 1.1.0 1786 | mdast-util-to-string: 4.0.0 1787 | micromark: 4.0.1 1788 | micromark-util-decode-numeric-character-reference: 2.0.2 1789 | micromark-util-decode-string: 2.0.1 1790 | micromark-util-normalize-identifier: 2.0.1 1791 | micromark-util-symbol: 2.0.1 1792 | micromark-util-types: 2.0.1 1793 | unist-util-stringify-position: 4.0.0 1794 | transitivePeerDependencies: 1795 | - supports-color 1796 | 1797 | mdast-util-gfm-autolink-literal@2.0.1: 1798 | dependencies: 1799 | '@types/mdast': 4.0.4 1800 | ccount: 2.0.1 1801 | devlop: 1.1.0 1802 | mdast-util-find-and-replace: 3.0.2 1803 | micromark-util-character: 2.1.1 1804 | 1805 | mdast-util-gfm-footnote@2.0.0: 1806 | dependencies: 1807 | '@types/mdast': 4.0.4 1808 | devlop: 1.1.0 1809 | mdast-util-from-markdown: 2.0.2 1810 | mdast-util-to-markdown: 2.1.2 1811 | micromark-util-normalize-identifier: 2.0.1 1812 | transitivePeerDependencies: 1813 | - supports-color 1814 | 1815 | mdast-util-gfm-strikethrough@2.0.0: 1816 | dependencies: 1817 | '@types/mdast': 4.0.4 1818 | mdast-util-from-markdown: 2.0.2 1819 | mdast-util-to-markdown: 2.1.2 1820 | transitivePeerDependencies: 1821 | - supports-color 1822 | 1823 | mdast-util-gfm-table@2.0.0: 1824 | dependencies: 1825 | '@types/mdast': 4.0.4 1826 | devlop: 1.1.0 1827 | markdown-table: 3.0.4 1828 | mdast-util-from-markdown: 2.0.2 1829 | mdast-util-to-markdown: 2.1.2 1830 | transitivePeerDependencies: 1831 | - supports-color 1832 | 1833 | mdast-util-gfm-task-list-item@2.0.0: 1834 | dependencies: 1835 | '@types/mdast': 4.0.4 1836 | devlop: 1.1.0 1837 | mdast-util-from-markdown: 2.0.2 1838 | mdast-util-to-markdown: 2.1.2 1839 | transitivePeerDependencies: 1840 | - supports-color 1841 | 1842 | mdast-util-gfm@3.0.0: 1843 | dependencies: 1844 | mdast-util-from-markdown: 2.0.2 1845 | mdast-util-gfm-autolink-literal: 2.0.1 1846 | mdast-util-gfm-footnote: 2.0.0 1847 | mdast-util-gfm-strikethrough: 2.0.0 1848 | mdast-util-gfm-table: 2.0.0 1849 | mdast-util-gfm-task-list-item: 2.0.0 1850 | mdast-util-to-markdown: 2.1.2 1851 | transitivePeerDependencies: 1852 | - supports-color 1853 | 1854 | mdast-util-phrasing@4.1.0: 1855 | dependencies: 1856 | '@types/mdast': 4.0.4 1857 | unist-util-is: 6.0.0 1858 | 1859 | mdast-util-to-hast@13.2.0: 1860 | dependencies: 1861 | '@types/hast': 3.0.4 1862 | '@types/mdast': 4.0.4 1863 | '@ungap/structured-clone': 1.2.1 1864 | devlop: 1.1.0 1865 | micromark-util-sanitize-uri: 2.0.1 1866 | trim-lines: 3.0.1 1867 | unist-util-position: 5.0.0 1868 | unist-util-visit: 5.0.0 1869 | vfile: 6.0.3 1870 | 1871 | mdast-util-to-markdown@2.1.2: 1872 | dependencies: 1873 | '@types/mdast': 4.0.4 1874 | '@types/unist': 3.0.3 1875 | longest-streak: 3.1.0 1876 | mdast-util-phrasing: 4.1.0 1877 | mdast-util-to-string: 4.0.0 1878 | micromark-util-classify-character: 2.0.1 1879 | micromark-util-decode-string: 2.0.1 1880 | unist-util-visit: 5.0.0 1881 | zwitch: 2.0.4 1882 | 1883 | mdast-util-to-string@4.0.0: 1884 | dependencies: 1885 | '@types/mdast': 4.0.4 1886 | 1887 | merge2@1.4.1: {} 1888 | 1889 | micromark-core-commonmark@2.0.2: 1890 | dependencies: 1891 | decode-named-character-reference: 1.0.2 1892 | devlop: 1.1.0 1893 | micromark-factory-destination: 2.0.1 1894 | micromark-factory-label: 2.0.1 1895 | micromark-factory-space: 2.0.1 1896 | micromark-factory-title: 2.0.1 1897 | micromark-factory-whitespace: 2.0.1 1898 | micromark-util-character: 2.1.1 1899 | micromark-util-chunked: 2.0.1 1900 | micromark-util-classify-character: 2.0.1 1901 | micromark-util-html-tag-name: 2.0.1 1902 | micromark-util-normalize-identifier: 2.0.1 1903 | micromark-util-resolve-all: 2.0.1 1904 | micromark-util-subtokenize: 2.0.3 1905 | micromark-util-symbol: 2.0.1 1906 | micromark-util-types: 2.0.1 1907 | 1908 | micromark-extension-gfm-autolink-literal@2.1.0: 1909 | dependencies: 1910 | micromark-util-character: 2.1.1 1911 | micromark-util-sanitize-uri: 2.0.1 1912 | micromark-util-symbol: 2.0.1 1913 | micromark-util-types: 2.0.1 1914 | 1915 | micromark-extension-gfm-footnote@2.1.0: 1916 | dependencies: 1917 | devlop: 1.1.0 1918 | micromark-core-commonmark: 2.0.2 1919 | micromark-factory-space: 2.0.1 1920 | micromark-util-character: 2.1.1 1921 | micromark-util-normalize-identifier: 2.0.1 1922 | micromark-util-sanitize-uri: 2.0.1 1923 | micromark-util-symbol: 2.0.1 1924 | micromark-util-types: 2.0.1 1925 | 1926 | micromark-extension-gfm-strikethrough@2.1.0: 1927 | dependencies: 1928 | devlop: 1.1.0 1929 | micromark-util-chunked: 2.0.1 1930 | micromark-util-classify-character: 2.0.1 1931 | micromark-util-resolve-all: 2.0.1 1932 | micromark-util-symbol: 2.0.1 1933 | micromark-util-types: 2.0.1 1934 | 1935 | micromark-extension-gfm-table@2.1.0: 1936 | dependencies: 1937 | devlop: 1.1.0 1938 | micromark-factory-space: 2.0.1 1939 | micromark-util-character: 2.1.1 1940 | micromark-util-symbol: 2.0.1 1941 | micromark-util-types: 2.0.1 1942 | 1943 | micromark-extension-gfm-tagfilter@2.0.0: 1944 | dependencies: 1945 | micromark-util-types: 2.0.1 1946 | 1947 | micromark-extension-gfm-task-list-item@2.1.0: 1948 | dependencies: 1949 | devlop: 1.1.0 1950 | micromark-factory-space: 2.0.1 1951 | micromark-util-character: 2.1.1 1952 | micromark-util-symbol: 2.0.1 1953 | micromark-util-types: 2.0.1 1954 | 1955 | micromark-extension-gfm@3.0.0: 1956 | dependencies: 1957 | micromark-extension-gfm-autolink-literal: 2.1.0 1958 | micromark-extension-gfm-footnote: 2.1.0 1959 | micromark-extension-gfm-strikethrough: 2.1.0 1960 | micromark-extension-gfm-table: 2.1.0 1961 | micromark-extension-gfm-tagfilter: 2.0.0 1962 | micromark-extension-gfm-task-list-item: 2.1.0 1963 | micromark-util-combine-extensions: 2.0.1 1964 | micromark-util-types: 2.0.1 1965 | 1966 | micromark-factory-destination@2.0.1: 1967 | dependencies: 1968 | micromark-util-character: 2.1.1 1969 | micromark-util-symbol: 2.0.1 1970 | micromark-util-types: 2.0.1 1971 | 1972 | micromark-factory-label@2.0.1: 1973 | dependencies: 1974 | devlop: 1.1.0 1975 | micromark-util-character: 2.1.1 1976 | micromark-util-symbol: 2.0.1 1977 | micromark-util-types: 2.0.1 1978 | 1979 | micromark-factory-space@2.0.1: 1980 | dependencies: 1981 | micromark-util-character: 2.1.1 1982 | micromark-util-types: 2.0.1 1983 | 1984 | micromark-factory-title@2.0.1: 1985 | dependencies: 1986 | micromark-factory-space: 2.0.1 1987 | micromark-util-character: 2.1.1 1988 | micromark-util-symbol: 2.0.1 1989 | micromark-util-types: 2.0.1 1990 | 1991 | micromark-factory-whitespace@2.0.1: 1992 | dependencies: 1993 | micromark-factory-space: 2.0.1 1994 | micromark-util-character: 2.1.1 1995 | micromark-util-symbol: 2.0.1 1996 | micromark-util-types: 2.0.1 1997 | 1998 | micromark-util-character@2.1.1: 1999 | dependencies: 2000 | micromark-util-symbol: 2.0.1 2001 | micromark-util-types: 2.0.1 2002 | 2003 | micromark-util-chunked@2.0.1: 2004 | dependencies: 2005 | micromark-util-symbol: 2.0.1 2006 | 2007 | micromark-util-classify-character@2.0.1: 2008 | dependencies: 2009 | micromark-util-character: 2.1.1 2010 | micromark-util-symbol: 2.0.1 2011 | micromark-util-types: 2.0.1 2012 | 2013 | micromark-util-combine-extensions@2.0.1: 2014 | dependencies: 2015 | micromark-util-chunked: 2.0.1 2016 | micromark-util-types: 2.0.1 2017 | 2018 | micromark-util-decode-numeric-character-reference@2.0.2: 2019 | dependencies: 2020 | micromark-util-symbol: 2.0.1 2021 | 2022 | micromark-util-decode-string@2.0.1: 2023 | dependencies: 2024 | decode-named-character-reference: 1.0.2 2025 | micromark-util-character: 2.1.1 2026 | micromark-util-decode-numeric-character-reference: 2.0.2 2027 | micromark-util-symbol: 2.0.1 2028 | 2029 | micromark-util-encode@2.0.1: {} 2030 | 2031 | micromark-util-html-tag-name@2.0.1: {} 2032 | 2033 | micromark-util-normalize-identifier@2.0.1: 2034 | dependencies: 2035 | micromark-util-symbol: 2.0.1 2036 | 2037 | micromark-util-resolve-all@2.0.1: 2038 | dependencies: 2039 | micromark-util-types: 2.0.1 2040 | 2041 | micromark-util-sanitize-uri@2.0.1: 2042 | dependencies: 2043 | micromark-util-character: 2.1.1 2044 | micromark-util-encode: 2.0.1 2045 | micromark-util-symbol: 2.0.1 2046 | 2047 | micromark-util-subtokenize@2.0.3: 2048 | dependencies: 2049 | devlop: 1.1.0 2050 | micromark-util-chunked: 2.0.1 2051 | micromark-util-symbol: 2.0.1 2052 | micromark-util-types: 2.0.1 2053 | 2054 | micromark-util-symbol@2.0.1: {} 2055 | 2056 | micromark-util-types@2.0.1: {} 2057 | 2058 | micromark@4.0.1: 2059 | dependencies: 2060 | '@types/debug': 4.1.12 2061 | debug: 4.4.0 2062 | decode-named-character-reference: 1.0.2 2063 | devlop: 1.1.0 2064 | micromark-core-commonmark: 2.0.2 2065 | micromark-factory-space: 2.0.1 2066 | micromark-util-character: 2.1.1 2067 | micromark-util-chunked: 2.0.1 2068 | micromark-util-combine-extensions: 2.0.1 2069 | micromark-util-decode-numeric-character-reference: 2.0.2 2070 | micromark-util-encode: 2.0.1 2071 | micromark-util-normalize-identifier: 2.0.1 2072 | micromark-util-resolve-all: 2.0.1 2073 | micromark-util-sanitize-uri: 2.0.1 2074 | micromark-util-subtokenize: 2.0.3 2075 | micromark-util-symbol: 2.0.1 2076 | micromark-util-types: 2.0.1 2077 | transitivePeerDependencies: 2078 | - supports-color 2079 | 2080 | micromatch@4.0.8: 2081 | dependencies: 2082 | braces: 3.0.3 2083 | picomatch: 2.3.1 2084 | 2085 | mimic-function@5.0.1: {} 2086 | 2087 | ms@2.1.3: {} 2088 | 2089 | nanoid@3.3.8: {} 2090 | 2091 | next@15.1.5(react-dom@19.0.0(react@19.0.0))(react@19.0.0): 2092 | dependencies: 2093 | '@next/env': 15.1.5 2094 | '@swc/counter': 0.1.3 2095 | '@swc/helpers': 0.5.15 2096 | busboy: 1.6.0 2097 | caniuse-lite: 1.0.30001690 2098 | postcss: 8.4.31 2099 | react: 19.0.0 2100 | react-dom: 19.0.0(react@19.0.0) 2101 | styled-jsx: 5.1.6(react@19.0.0) 2102 | optionalDependencies: 2103 | '@next/swc-darwin-arm64': 15.1.5 2104 | '@next/swc-darwin-x64': 15.1.5 2105 | '@next/swc-linux-arm64-gnu': 15.1.5 2106 | '@next/swc-linux-arm64-musl': 15.1.5 2107 | '@next/swc-linux-x64-gnu': 15.1.5 2108 | '@next/swc-linux-x64-musl': 15.1.5 2109 | '@next/swc-win32-arm64-msvc': 15.1.5 2110 | '@next/swc-win32-x64-msvc': 15.1.5 2111 | sharp: 0.33.5 2112 | transitivePeerDependencies: 2113 | - '@babel/core' 2114 | - babel-plugin-macros 2115 | 2116 | onetime@7.0.0: 2117 | dependencies: 2118 | mimic-function: 5.0.1 2119 | 2120 | ora@8.1.0: 2121 | dependencies: 2122 | chalk: 5.3.0 2123 | cli-cursor: 5.0.0 2124 | cli-spinners: 2.9.2 2125 | is-interactive: 2.0.0 2126 | is-unicode-supported: 2.1.0 2127 | log-symbols: 6.0.0 2128 | stdin-discarder: 0.2.2 2129 | string-width: 7.2.0 2130 | strip-ansi: 7.1.0 2131 | 2132 | parse-numeric-range@1.3.0: {} 2133 | 2134 | path-parse@1.0.7: {} 2135 | 2136 | picocolors@1.1.1: {} 2137 | 2138 | picomatch@2.3.1: {} 2139 | 2140 | picomatch@4.0.2: {} 2141 | 2142 | postcss@8.4.31: 2143 | dependencies: 2144 | nanoid: 3.3.8 2145 | picocolors: 1.1.1 2146 | source-map-js: 1.2.1 2147 | 2148 | pretty-bytes@5.6.0: {} 2149 | 2150 | property-information@6.5.0: {} 2151 | 2152 | queue-microtask@1.2.3: {} 2153 | 2154 | react-dom@19.0.0(react@19.0.0): 2155 | dependencies: 2156 | react: 19.0.0 2157 | scheduler: 0.25.0 2158 | 2159 | react@19.0.0: {} 2160 | 2161 | remark-gfm@4.0.0: 2162 | dependencies: 2163 | '@types/mdast': 4.0.4 2164 | mdast-util-gfm: 3.0.0 2165 | micromark-extension-gfm: 3.0.0 2166 | remark-parse: 11.0.0 2167 | remark-stringify: 11.0.0 2168 | unified: 11.0.5 2169 | transitivePeerDependencies: 2170 | - supports-color 2171 | 2172 | remark-html@16.0.1: 2173 | dependencies: 2174 | '@types/mdast': 4.0.4 2175 | hast-util-sanitize: 5.0.2 2176 | hast-util-to-html: 9.0.4 2177 | mdast-util-to-hast: 13.2.0 2178 | unified: 11.0.5 2179 | 2180 | remark-parse@11.0.0: 2181 | dependencies: 2182 | '@types/mdast': 4.0.4 2183 | mdast-util-from-markdown: 2.0.2 2184 | micromark-util-types: 2.0.1 2185 | unified: 11.0.5 2186 | transitivePeerDependencies: 2187 | - supports-color 2188 | 2189 | remark-stringify@11.0.0: 2190 | dependencies: 2191 | '@types/mdast': 4.0.4 2192 | mdast-util-to-markdown: 2.1.2 2193 | unified: 11.0.5 2194 | 2195 | remark@15.0.1: 2196 | dependencies: 2197 | '@types/mdast': 4.0.4 2198 | remark-parse: 11.0.0 2199 | remark-stringify: 11.0.0 2200 | unified: 11.0.5 2201 | transitivePeerDependencies: 2202 | - supports-color 2203 | 2204 | require-directory@2.1.1: {} 2205 | 2206 | resolve-pkg-maps@1.0.0: {} 2207 | 2208 | resolve@1.22.8: 2209 | dependencies: 2210 | is-core-module: 2.15.1 2211 | path-parse: 1.0.7 2212 | supports-preserve-symlinks-flag: 1.0.0 2213 | 2214 | restore-cursor@5.1.0: 2215 | dependencies: 2216 | onetime: 7.0.0 2217 | signal-exit: 4.1.0 2218 | 2219 | reusify@1.0.4: {} 2220 | 2221 | rollup-plugin-dts@6.1.1(rollup@4.30.1)(typescript@5.7.2): 2222 | dependencies: 2223 | magic-string: 0.30.17 2224 | rollup: 4.30.1 2225 | typescript: 5.7.2 2226 | optionalDependencies: 2227 | '@babel/code-frame': 7.26.0 2228 | 2229 | rollup-plugin-swc3@0.11.2(@swc/core@1.10.7(@swc/helpers@0.5.15))(rollup@4.30.1): 2230 | dependencies: 2231 | '@fastify/deepmerge': 1.3.0 2232 | '@rollup/pluginutils': 5.1.3(rollup@4.30.1) 2233 | '@swc/core': 1.10.7(@swc/helpers@0.5.15) 2234 | get-tsconfig: 4.8.1 2235 | rollup: 4.30.1 2236 | rollup-preserve-directives: 1.1.3(rollup@4.30.1) 2237 | 2238 | rollup-preserve-directives@1.1.3(rollup@4.30.1): 2239 | dependencies: 2240 | magic-string: 0.30.17 2241 | rollup: 4.30.1 2242 | 2243 | rollup@4.30.1: 2244 | dependencies: 2245 | '@types/estree': 1.0.6 2246 | optionalDependencies: 2247 | '@rollup/rollup-android-arm-eabi': 4.30.1 2248 | '@rollup/rollup-android-arm64': 4.30.1 2249 | '@rollup/rollup-darwin-arm64': 4.30.1 2250 | '@rollup/rollup-darwin-x64': 4.30.1 2251 | '@rollup/rollup-freebsd-arm64': 4.30.1 2252 | '@rollup/rollup-freebsd-x64': 4.30.1 2253 | '@rollup/rollup-linux-arm-gnueabihf': 4.30.1 2254 | '@rollup/rollup-linux-arm-musleabihf': 4.30.1 2255 | '@rollup/rollup-linux-arm64-gnu': 4.30.1 2256 | '@rollup/rollup-linux-arm64-musl': 4.30.1 2257 | '@rollup/rollup-linux-loongarch64-gnu': 4.30.1 2258 | '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1 2259 | '@rollup/rollup-linux-riscv64-gnu': 4.30.1 2260 | '@rollup/rollup-linux-s390x-gnu': 4.30.1 2261 | '@rollup/rollup-linux-x64-gnu': 4.30.1 2262 | '@rollup/rollup-linux-x64-musl': 4.30.1 2263 | '@rollup/rollup-win32-arm64-msvc': 4.30.1 2264 | '@rollup/rollup-win32-ia32-msvc': 4.30.1 2265 | '@rollup/rollup-win32-x64-msvc': 4.30.1 2266 | fsevents: 2.3.3 2267 | 2268 | run-parallel@1.2.0: 2269 | dependencies: 2270 | queue-microtask: 1.2.3 2271 | 2272 | scheduler@0.25.0: {} 2273 | 2274 | semver@7.6.3: 2275 | optional: true 2276 | 2277 | sharp@0.33.5: 2278 | dependencies: 2279 | color: 4.2.3 2280 | detect-libc: 2.0.3 2281 | semver: 7.6.3 2282 | optionalDependencies: 2283 | '@img/sharp-darwin-arm64': 0.33.5 2284 | '@img/sharp-darwin-x64': 0.33.5 2285 | '@img/sharp-libvips-darwin-arm64': 1.0.4 2286 | '@img/sharp-libvips-darwin-x64': 1.0.4 2287 | '@img/sharp-libvips-linux-arm': 1.0.5 2288 | '@img/sharp-libvips-linux-arm64': 1.0.4 2289 | '@img/sharp-libvips-linux-s390x': 1.0.4 2290 | '@img/sharp-libvips-linux-x64': 1.0.4 2291 | '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 2292 | '@img/sharp-libvips-linuxmusl-x64': 1.0.4 2293 | '@img/sharp-linux-arm': 0.33.5 2294 | '@img/sharp-linux-arm64': 0.33.5 2295 | '@img/sharp-linux-s390x': 0.33.5 2296 | '@img/sharp-linux-x64': 0.33.5 2297 | '@img/sharp-linuxmusl-arm64': 0.33.5 2298 | '@img/sharp-linuxmusl-x64': 0.33.5 2299 | '@img/sharp-wasm32': 0.33.5 2300 | '@img/sharp-win32-ia32': 0.33.5 2301 | '@img/sharp-win32-x64': 0.33.5 2302 | optional: true 2303 | 2304 | signal-exit@4.1.0: {} 2305 | 2306 | simple-swizzle@0.2.2: 2307 | dependencies: 2308 | is-arrayish: 0.3.2 2309 | optional: true 2310 | 2311 | source-map-js@1.2.1: {} 2312 | 2313 | source-map@0.6.1: {} 2314 | 2315 | space-separated-tokens@2.0.2: {} 2316 | 2317 | stdin-discarder@0.2.2: {} 2318 | 2319 | streamsearch@1.1.0: {} 2320 | 2321 | string-width@4.2.3: 2322 | dependencies: 2323 | emoji-regex: 8.0.0 2324 | is-fullwidth-code-point: 3.0.0 2325 | strip-ansi: 6.0.1 2326 | 2327 | string-width@7.2.0: 2328 | dependencies: 2329 | emoji-regex: 10.4.0 2330 | get-east-asian-width: 1.3.0 2331 | strip-ansi: 7.1.0 2332 | 2333 | stringify-entities@4.0.4: 2334 | dependencies: 2335 | character-entities-html4: 2.1.0 2336 | character-entities-legacy: 3.0.0 2337 | 2338 | strip-ansi@6.0.1: 2339 | dependencies: 2340 | ansi-regex: 5.0.1 2341 | 2342 | strip-ansi@7.1.0: 2343 | dependencies: 2344 | ansi-regex: 6.1.0 2345 | 2346 | styled-jsx@5.1.6(react@19.0.0): 2347 | dependencies: 2348 | client-only: 0.0.1 2349 | react: 19.0.0 2350 | 2351 | sugar-high@0.9.1: {} 2352 | 2353 | supports-preserve-symlinks-flag@1.0.0: {} 2354 | 2355 | to-regex-range@5.0.1: 2356 | dependencies: 2357 | is-number: 7.0.0 2358 | 2359 | trim-lines@3.0.1: {} 2360 | 2361 | trough@2.2.0: {} 2362 | 2363 | tslib@2.8.0: {} 2364 | 2365 | tslib@2.8.1: {} 2366 | 2367 | typescript@5.7.2: {} 2368 | 2369 | undici-types@6.20.0: {} 2370 | 2371 | unified@11.0.5: 2372 | dependencies: 2373 | '@types/unist': 3.0.3 2374 | bail: 2.0.2 2375 | devlop: 1.1.0 2376 | extend: 3.0.2 2377 | is-plain-obj: 4.1.0 2378 | trough: 2.2.0 2379 | vfile: 6.0.3 2380 | 2381 | unist-util-is@6.0.0: 2382 | dependencies: 2383 | '@types/unist': 3.0.3 2384 | 2385 | unist-util-map@4.0.0: 2386 | dependencies: 2387 | '@types/unist': 3.0.3 2388 | 2389 | unist-util-position@5.0.0: 2390 | dependencies: 2391 | '@types/unist': 3.0.3 2392 | 2393 | unist-util-stringify-position@4.0.0: 2394 | dependencies: 2395 | '@types/unist': 3.0.3 2396 | 2397 | unist-util-visit-parents@6.0.1: 2398 | dependencies: 2399 | '@types/unist': 3.0.3 2400 | unist-util-is: 6.0.0 2401 | 2402 | unist-util-visit@5.0.0: 2403 | dependencies: 2404 | '@types/unist': 3.0.3 2405 | unist-util-is: 6.0.0 2406 | unist-util-visit-parents: 6.0.1 2407 | 2408 | vfile-message@4.0.2: 2409 | dependencies: 2410 | '@types/unist': 3.0.3 2411 | unist-util-stringify-position: 4.0.0 2412 | 2413 | vfile@6.0.3: 2414 | dependencies: 2415 | '@types/unist': 3.0.3 2416 | vfile-message: 4.0.2 2417 | 2418 | wrap-ansi@7.0.0: 2419 | dependencies: 2420 | ansi-styles: 4.3.0 2421 | string-width: 4.2.3 2422 | strip-ansi: 6.0.1 2423 | 2424 | y18n@5.0.8: {} 2425 | 2426 | yargs-parser@21.1.1: {} 2427 | 2428 | yargs@17.7.2: 2429 | dependencies: 2430 | cliui: 8.0.1 2431 | escalade: 3.2.0 2432 | get-caller-file: 2.0.5 2433 | require-directory: 2.1.1 2434 | string-width: 4.2.3 2435 | y18n: 5.0.8 2436 | yargs-parser: 21.1.1 2437 | 2438 | zwitch@2.0.4: {} 2439 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { tokenize, generate, type HighlightOptions } from 'sugar-high' 2 | import * as languagePresets from 'sugar-high/presets' 3 | import { map as unistMap } from 'unist-util-map' 4 | import rangeParser from 'parse-numeric-range' 5 | 6 | function cx(...args: any[]): string { 7 | return args.filter(Boolean).join(' ') 8 | } 9 | 10 | type HighlightRange = number | [number, number] 11 | 12 | /** 13 | * Parses highlight information from the `meta` field of a Remark code block node. 14 | * @param meta The `meta` string containing highlight information, e.g., "{1,3-5}". 15 | * @returns An array of highlight ranges. Single numbers represent single lines, and tuples represent ranges. 16 | */ 17 | function parseHighlightMeta(meta?: string): HighlightRange[] { 18 | if (!meta) return [] 19 | 20 | const highlightRegex = /{([\d,-]+)}/ // Matches {1,3-5} 21 | const match = meta.match(highlightRegex) 22 | 23 | if (!match) return [] 24 | 25 | const ranges = match[1].split(',').map((range) => { 26 | if (range.includes('-')) { 27 | const [start, end] = range.split('-').map(Number) 28 | return [start, end] as [number, number] 29 | } 30 | return Number(range) 31 | }) 32 | 33 | return ranges 34 | } 35 | 36 | const parseLang = (str) => { 37 | const match = (regexp) => { 38 | const m = (str || '').match(regexp) 39 | return Array.isArray(m) ? m.filter(Boolean) : [] 40 | } 41 | 42 | const [lang = 'unknown'] = match(/^[a-zA-Z\d-]*/g) 43 | 44 | const range = rangeParser( 45 | match(/\{(.*?)\}$/g) 46 | .join(',') 47 | .replace(/^\{/, '') 48 | .replace(/\}$/, '') 49 | ) 50 | 51 | return { 52 | lang, 53 | range, 54 | } 55 | } 56 | 57 | const h = (type, attrs, children) => { 58 | return { 59 | type: 'element', 60 | tagName: type, 61 | data: { 62 | hName: type, 63 | hProperties: attrs, 64 | hChildren: children, 65 | }, 66 | properties: attrs, 67 | children, 68 | } 69 | } 70 | 71 | const highlight = () => (tree) => { 72 | return unistMap(tree, (node) => { 73 | const { type, tagName } = node 74 | if (tagName !== 'code' && type !== 'code') return node 75 | 76 | const { lang } = parseLang(node.lang) 77 | 78 | const highlightRanges = parseHighlightMeta(node.meta) 79 | const highlightLineNumbers = new Set() 80 | highlightRanges.forEach((range) => { 81 | if (Array.isArray(range)) { 82 | for (let i = range[0]; i <= range[1]; i++) { 83 | highlightLineNumbers.add(i) 84 | } 85 | } else { 86 | highlightLineNumbers.add(range) 87 | } 88 | }) 89 | 90 | let options: HighlightOptions | undefined = undefined 91 | 92 | if (lang in languagePresets) { 93 | options = languagePresets[lang] 94 | } 95 | 96 | const codeText = 97 | node.value || 98 | node.children 99 | .filter(({ type }) => type === 'text') 100 | .map(({ value }) => value) 101 | .pop() 102 | 103 | const childrenLines = generate(tokenize(codeText, options)) 104 | 105 | let lineIndex = 1 106 | for (let i = 0; i < childrenLines.length; i++) { 107 | const line = childrenLines[i] 108 | // if it's highlighted lines, add a classname `sh__line--highlighted` 109 | let highLightClassName = '' 110 | let isCurrentLineHighlighted = highlightLineNumbers.has(lineIndex) 111 | 112 | if (isCurrentLineHighlighted) { 113 | highLightClassName = 'sh__line--highlighted' 114 | } 115 | 116 | for (let j = 0; j < line.children.length; j++) { 117 | const token = line.children[j] 118 | // normalize token's style object to string 119 | if (token.properties && typeof token.properties.style === 'object') { 120 | let styleString = '' 121 | for (const [key, value] of Object.entries(token.properties.style)) { 122 | styleString += `${key}:${value};` 123 | } 124 | if (styleString) { 125 | token.properties.style = styleString 126 | } 127 | } 128 | } 129 | 130 | // add line break 131 | line.children.push( 132 | h( 133 | 'span', 134 | { 135 | className: `sh__token--line`, 136 | }, 137 | [{ type: 'text', value: '\n' }] 138 | ) 139 | ) 140 | 141 | // add class to line 142 | line.properties.className = cx( 143 | line.properties.className, 144 | highLightClassName 145 | ) 146 | 147 | lineIndex++ 148 | } 149 | 150 | const code = h( 151 | 'code', 152 | { 153 | className: `sh-lang--${lang}`, 154 | ['data-sh-language']: `${lang}`, 155 | }, 156 | childrenLines 157 | ) 158 | 159 | const pre = h( 160 | 'pre', 161 | { 162 | className: `sh-lang--${lang}`, 163 | }, 164 | [code] 165 | ) 166 | 167 | return pre 168 | }) 169 | } 170 | 171 | export { highlight } 172 | export default highlight 173 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "ESNext", 4 | "jsx": "preserve", 5 | "lib": ["ESNext"], 6 | "moduleResolution": "bundler" 7 | } 8 | } --------------------------------------------------------------------------------